Σε αυτήν την ανάρτηση, δείχνουμε πώς να χρησιμοποιήσετε το δομικό κλάδεμα με βάση την αναζήτηση νευρικής αρχιτεκτονικής (NAS) για τη συμπίεση ενός βελτιστοποιημένου μοντέλου BERT για τη βελτίωση της απόδοσης του μοντέλου και τη μείωση των χρόνων συμπερασμάτων. Τα προεκπαιδευμένα γλωσσικά μοντέλα (PLM) υπόκεινται σε ταχεία εμπορική και επιχειρηματική υιοθέτηση στους τομείς των εργαλείων παραγωγικότητας, της εξυπηρέτησης πελατών, της αναζήτησης και των συστάσεων, της αυτοματοποίησης επιχειρηματικών διαδικασιών και της δημιουργίας περιεχομένου. Η ανάπτυξη τελικών σημείων συμπερασμάτων PLM συνήθως σχετίζεται με υψηλότερο λανθάνοντα χρόνο και υψηλότερο κόστος υποδομής λόγω των υπολογιστικών απαιτήσεων και μειωμένη υπολογιστική απόδοση λόγω του μεγάλου αριθμού παραμέτρων. Το κλάδεμα ενός PLM μειώνει το μέγεθος και την πολυπλοκότητα του μοντέλου, διατηρώντας παράλληλα τις προγνωστικές του ικανότητες. Τα κλαδεμένα PLM επιτυγχάνουν μικρότερο αποτύπωμα μνήμης και χαμηλότερο λανθάνοντα χρόνο. Αποδεικνύουμε ότι κλαδεύοντας ένα PLM και ανταλλάσσοντας το πλήθος παραμέτρων και το σφάλμα επικύρωσης για μια συγκεκριμένη εργασία στόχο, και είμαστε σε θέση να επιτύχουμε ταχύτερους χρόνους απόκρισης σε σύγκριση με το βασικό μοντέλο PLM.
Η βελτιστοποίηση πολλαπλών στόχων είναι ένας τομέας λήψης αποφάσεων που βελτιστοποιεί περισσότερες από μία αντικειμενικές συναρτήσεις, όπως η κατανάλωση μνήμης, ο χρόνος εκπαίδευσης και οι υπολογιστικοί πόροι, που πρέπει να βελτιστοποιούνται ταυτόχρονα. Το δομικό κλάδεμα είναι μια τεχνική για τη μείωση του μεγέθους και των υπολογιστικών απαιτήσεων του PLM με κλάδεμα στρωμάτων ή νευρώνων/κόμβων, ενώ προσπαθείτε να διατηρήσετε την ακρίβεια του μοντέλου. Με την αφαίρεση στρώσεων, το δομικό κλάδεμα επιτυγχάνει υψηλότερους ρυθμούς συμπίεσης, γεγονός που οδηγεί σε δομημένη αραιότητα φιλική προς το υλικό που μειώνει τους χρόνους εκτέλεσης και τους χρόνους απόκρισης. Η εφαρμογή μιας τεχνικής δομικού κλαδέματος σε ένα μοντέλο PLM έχει ως αποτέλεσμα ένα μοντέλο ελαφρύτερου βάρους με χαμηλότερο αποτύπωμα μνήμης που, όταν φιλοξενείται ως τελικό σημείο συμπερασμάτων στο SageMaker, προσφέρει βελτιωμένη απόδοση πόρων και μειωμένο κόστος σε σύγκριση με το αρχικό λεπτομερώς συντονισμένο PLM.
Οι έννοιες που παρουσιάζονται σε αυτήν την ανάρτηση μπορούν να εφαρμοστούν σε εφαρμογές που χρησιμοποιούν λειτουργίες PLM, όπως συστήματα συστάσεων, ανάλυση συναισθήματος και μηχανές αναζήτησης. Συγκεκριμένα, μπορείτε να χρησιμοποιήσετε αυτήν την προσέγγιση εάν διαθέτετε ειδικές ομάδες μηχανικής εκμάθησης (ML) και επιστήμης δεδομένων που προσαρμόζουν τα δικά τους μοντέλα PLM χρησιμοποιώντας σύνολα δεδομένων για συγκεκριμένο τομέα και αναπτύσσουν μεγάλο αριθμό τελικών σημείων συμπερασμάτων χρησιμοποιώντας Amazon Sage Maker. Ένα παράδειγμα είναι ένας διαδικτυακός πωλητής λιανικής που αναπτύσσει μεγάλο αριθμό τελικών σημείων συμπερασμάτων για σύνοψη κειμένου, ταξινόμηση καταλόγου προϊόντων και ταξινόμηση συναισθημάτων ανατροφοδότησης προϊόντων. Ένα άλλο παράδειγμα μπορεί να είναι ένας πάροχος υγειονομικής περίθαλψης που χρησιμοποιεί τελικά σημεία συμπερασμάτων PLM για ταξινόμηση κλινικών εγγράφων, αναγνώριση οντοτήτων από ιατρικές αναφορές, ιατρικά chatbot και διαστρωμάτωση κινδύνου ασθενών.
Επισκόπηση λύσεων
Σε αυτήν την ενότητα, παρουσιάζουμε τη συνολική ροή εργασίας και εξηγούμε την προσέγγιση. Αρχικά, χρησιμοποιούμε ένα Στούντιο Amazon SageMaker σημειωματάριο για να τελειοποιήσετε ένα προεκπαιδευμένο μοντέλο BERT σε μια εργασία στόχο χρησιμοποιώντας ένα σύνολο δεδομένων συγκεκριμένου τομέα. ΜΠΕΡΤ (Αμφίδρομες αναπαραστάσεις κωδικοποιητή από μετασχηματιστές) είναι ένα προεκπαιδευμένο μοντέλο γλώσσας που βασίζεται στην αρχιτεκτονική μετασχηματιστή χρησιμοποιείται για εργασίες επεξεργασίας φυσικής γλώσσας (NLP). Η αναζήτηση νευρωνικής αρχιτεκτονικής (NAS) είναι μια προσέγγιση για την αυτοματοποίηση του σχεδιασμού τεχνητών νευρωνικών δικτύων και σχετίζεται στενά με τη βελτιστοποίηση υπερπαραμέτρων, μια ευρέως χρησιμοποιούμενη προσέγγιση στον τομέα της μηχανικής μάθησης. Ο στόχος του NAS είναι να βρει τη βέλτιστη αρχιτεκτονική για ένα δεδομένο πρόβλημα αναζητώντας ένα μεγάλο σύνολο υποψήφιων αρχιτεκτονικών χρησιμοποιώντας τεχνικές όπως η βελτιστοποίηση χωρίς κλίση ή βελτιστοποιώντας τις επιθυμητές μετρήσεις. Η απόδοση της αρχιτεκτονικής συνήθως μετριέται χρησιμοποιώντας μετρήσεις όπως η απώλεια επικύρωσης. Αυτόματος συντονισμός μοντέλων SageMaker (AMT) αυτοματοποιεί την επίπονη και πολύπλοκη διαδικασία εύρεσης των βέλτιστων συνδυασμών υπερπαραμέτρων του μοντέλου ML που αποδίδουν την καλύτερη απόδοση μοντέλου. Το AMT χρησιμοποιεί έξυπνους αλγόριθμους αναζήτησης και επαναληπτικές αξιολογήσεις χρησιμοποιώντας μια σειρά υπερπαραμέτρων που καθορίζετε. Επιλέγει τις τιμές υπερπαραμέτρων που δημιουργούν ένα μοντέλο που έχει την καλύτερη απόδοση, όπως μετράται με μετρήσεις απόδοσης όπως η ακρίβεια και η βαθμολογία F-1.
Η προσέγγιση λεπτομέρειας που περιγράφεται σε αυτήν την ανάρτηση είναι γενική και μπορεί να εφαρμοστεί σε οποιοδήποτε σύνολο δεδομένων που βασίζεται σε κείμενο. Η εργασία που ανατίθεται στο BERT PLM μπορεί να είναι μια εργασία που βασίζεται σε κείμενο, όπως ανάλυση συναισθήματος, ταξινόμηση κειμένου ή Q&A. Σε αυτήν την επίδειξη, η εργασία στόχος είναι ένα πρόβλημα δυαδικής ταξινόμησης όπου το BERT χρησιμοποιείται για να προσδιορίσει, από ένα σύνολο δεδομένων που αποτελείται από μια συλλογή ζευγών θραυσμάτων κειμένου, εάν η σημασία ενός τμήματος κειμένου μπορεί να συναχθεί από το άλλο τμήμα. Χρησιμοποιούμε το Αναγνώριση δεδομένων συνεπειών κειμένου από τη σουίτα συγκριτικής αξιολόγησης GLUE. Πραγματοποιούμε μια αναζήτηση πολλαπλών στόχων χρησιμοποιώντας το SageMaker AMT για να εντοπίσουμε τα υποδίκτυα που προσφέρουν βέλτιστες αντισταθμίσεις μεταξύ του πλήθους παραμέτρων και της ακρίβειας πρόβλεψης για την εργασία-στόχο. Κατά την εκτέλεση μιας αναζήτησης πολλαπλών στόχων, ξεκινάμε με τον ορισμό της ακρίβειας και του πλήθους παραμέτρων ως τους στόχους που στοχεύουμε να βελτιστοποιήσουμε.
Εντός του δικτύου BERT PLM, μπορούν να υπάρχουν αρθρωτά, αυτόνομα υποδίκτυα που επιτρέπουν στο μοντέλο να έχει εξειδικευμένες δυνατότητες, όπως κατανόηση γλώσσας και αναπαράσταση γνώσης. Το BERT PLM χρησιμοποιεί ένα υποδίκτυο αυτο-προσοχής πολλαπλών κεφαλών και ένα υποδίκτυο προώθησης τροφοδοσίας. Ένα στρώμα πολλαπλών κεφαλών, αυτοπροσοχής επιτρέπει στο BERT να συσχετίσει διαφορετικές θέσεις μιας μεμονωμένης ακολουθίας προκειμένου να υπολογίσει μια αναπαράσταση της ακολουθίας επιτρέποντας σε πολλαπλές κεφαλές να παρακολουθούν πολλαπλά σήματα περιβάλλοντος. Η είσοδος χωρίζεται σε πολλαπλούς υποχώρους και η αυτοπροσοχή εφαρμόζεται σε κάθε έναν από τους υποχώρους ξεχωριστά. Πολλαπλές κεφαλές σε ένα μετασχηματιστή PLM επιτρέπουν στο μοντέλο να παρακολουθεί από κοινού πληροφορίες από διαφορετικούς υποχώρους αναπαράστασης. Ένα υποδίκτυο προώθησης τροφοδοσίας είναι ένα απλό νευρωνικό δίκτυο που λαμβάνει την έξοδο από το υποδίκτυο αυτο-προσοχής πολλαπλών κεφαλών, επεξεργάζεται τα δεδομένα και επιστρέφει τις τελικές αναπαραστάσεις του κωδικοποιητή.
Ο στόχος της τυχαίας δειγματοληψίας υποδικτύου είναι να εκπαιδεύσει μικρότερα μοντέλα BERT που μπορούν να αποδώσουν αρκετά καλά σε στοχευόμενες εργασίες. Δείγουμε 100 τυχαία υποδίκτυα από το βελτιστοποιημένο βασικό μοντέλο BERT και αξιολογούμε 10 δίκτυα ταυτόχρονα. Τα εκπαιδευμένα υποδίκτυα αξιολογούνται για τις αντικειμενικές μετρήσεις και το τελικό μοντέλο επιλέγεται με βάση τους συμβιβασμούς που βρέθηκαν μεταξύ των αντικειμενικών μετρήσεων. Οραματιζόμαστε το Παρέτο μπροστά για τα υποδίκτυα του δείγματος, το οποίο περιέχει το κλαδευμένο μοντέλο που προσφέρει τη βέλτιστη αντιστάθμιση μεταξύ της ακρίβειας και του μεγέθους του μοντέλου. Επιλέγουμε το υποψήφιο υποδίκτυο (μοντέλο BERT με κλαδευμένο NAS) με βάση το μέγεθος του μοντέλου και την ακρίβεια του μοντέλου που είμαστε διατεθειμένοι να ανταλλάξουμε. Στη συνέχεια, φιλοξενούμε τα τελικά σημεία, το προεκπαιδευμένο βασικό μοντέλο BERT και το μοντέλο BERT που έχει κλαδευτεί με NAS χρησιμοποιώντας το SageMaker. Για να εκτελέσουμε δοκιμή φορτίου, χρησιμοποιούμε Ακρίδα, ένα εργαλείο δοκιμής φόρτωσης ανοιχτού κώδικα που μπορείτε να εφαρμόσετε χρησιμοποιώντας την Python. Εκτελούμε δοκιμές φόρτωσης και στα δύο τελικά σημεία χρησιμοποιώντας το Locust και οπτικοποιούμε τα αποτελέσματα χρησιμοποιώντας την πρόσοψη Pareto για να απεικονίσουμε την αντιστάθμιση μεταξύ των χρόνων απόκρισης και της ακρίβειας και για τα δύο μοντέλα. Το παρακάτω διάγραμμα παρέχει μια επισκόπηση της ροής εργασίας που εξηγείται σε αυτήν την ανάρτηση.
Προϋποθέσεις
Για τη θέση αυτή απαιτούνται οι ακόλουθες προϋποθέσεις:
Πρέπει επίσης να αυξήσετε το ποσόστωση υπηρεσιών για πρόσβαση σε τουλάχιστον τρεις παρουσίες ml.g4dn.xlarge παρουσιών στο SageMaker. Ο τύπος στιγμιότυπου ml.g4dn.xlarge είναι η οικονομικά αποδοτική παρουσία GPU που σας επιτρέπει να εκτελείτε το PyTorch εγγενώς. Για να αυξήσετε το όριο της υπηρεσίας, ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα, μεταβείτε στο Service Quotas.
- Για Διαχείριση ποσοστώσεων, επιλέξτε Amazon Sage Maker, κατόπιν επιλέξτε Προβολή ποσοστώσεων.
- Αναζητήστε το "ml-g4dn.xlarge for training job use" και επιλέξτε το στοιχείο όριο.
- Επιλέξτε Ζητήστε αύξηση σε επίπεδο λογαριασμού.
- Για Αύξηση της ποσόστωσης, εισαγάγετε μια τιμή 5 ή μεγαλύτερη.
- Επιλέξτε Αίτημα.
Η αιτούμενη έγκριση ορίου ενδέχεται να χρειαστεί λίγο χρόνο για να ολοκληρωθεί, ανάλογα με τα δικαιώματα του λογαριασμού.
- Ανοίξτε το SageMaker Studio από την κονσόλα SageMaker.
- Επιλέξτε Τερματικό συστήματος υπό Βοηθητικά προγράμματα και αρχεία.
- Εκτελέστε την ακόλουθη εντολή για να κλωνοποιήσετε το GitHub repo στην παρουσία του SageMaker Studio:
- Πλοηγηθείτε στο
amazon-sagemaker-examples/hyperparameter_tuning/neural_architecture_search_llm
. - Ανοίξτε το αρχείο
nas_for_llm_with_amt.ipynb
. - Ρυθμίστε το περιβάλλον με ένα
ml.g4dn.xlarge
παράδειγμα και επιλέξτε Αγορά.
Ρυθμίστε το προεκπαιδευμένο μοντέλο BERT
Σε αυτήν την ενότητα, εισάγουμε το σύνολο δεδομένων Recognizing Textual Entailment από τη βιβλιοθήκη δεδομένων και χωρίζουμε το σύνολο δεδομένων σε σύνολα εκπαίδευσης και επικύρωσης. Αυτό το σύνολο δεδομένων αποτελείται από ζεύγη προτάσεων. Η αποστολή του BERT PLM είναι να αναγνωρίσει, με δεδομένο δύο θραύσματα κειμένου, εάν η σημασία ενός τμήματος κειμένου μπορεί να συναχθεί από το άλλο τμήμα. Στο παρακάτω παράδειγμα, μπορούμε να συμπεράνουμε τη σημασία της πρώτης φράσης από τη δεύτερη φράση:
Φορτώνουμε το σύνολο δεδομένων συνεπειών αναγνώρισης κειμένου από το ΚΟΛΛΑ σουίτα συγκριτικής αξιολόγησης μέσω του βιβλιοθήκη δεδομένων από το Hugging Face στο σενάριο προπόνησής μας (./training.py
). Διαχωρίσαμε το αρχικό σύνολο δεδομένων εκπαίδευσης από το GLUE σε ένα σύνολο εκπαίδευσης και επικύρωσης. Στην προσέγγισή μας, προσαρμόζουμε το βασικό μοντέλο BERT χρησιμοποιώντας το σύνολο δεδομένων εκπαίδευσης και, στη συνέχεια, εκτελούμε μια αναζήτηση πολλαπλών στόχων για να εντοπίσουμε το σύνολο των υποδικτύων που ισορροπούν βέλτιστα μεταξύ των αντικειμενικών μετρήσεων. Χρησιμοποιούμε το σύνολο δεδομένων εκπαίδευσης αποκλειστικά για την τελειοποίηση του μοντέλου BERT. Ωστόσο, χρησιμοποιούμε δεδομένα επικύρωσης για την αναζήτηση πολλαπλών στόχων μετρώντας την ακρίβεια στο σύνολο δεδομένων επικύρωσης κράτησης.
Βελτιστοποιήστε το BERT PLM χρησιμοποιώντας ένα σύνολο δεδομένων συγκεκριμένου τομέα
Οι τυπικές περιπτώσεις χρήσης για ένα ακατέργαστο μοντέλο BERT περιλαμβάνουν πρόβλεψη επόμενης πρότασης ή μοντελοποίηση γλώσσας με μάσκα. Για να χρησιμοποιήσουμε το βασικό μοντέλο BERT για μεταγενέστερες εργασίες, όπως η συνεπεία αναγνώρισης κειμένου, πρέπει να βελτιστοποιήσουμε περαιτέρω το μοντέλο χρησιμοποιώντας ένα σύνολο δεδομένων συγκεκριμένου τομέα. Μπορείτε να χρησιμοποιήσετε ένα βελτιστοποιημένο μοντέλο BERT για εργασίες όπως ταξινόμηση ακολουθίας, απάντηση ερωτήσεων και ταξινόμηση διακριτικών. Ωστόσο, για τους σκοπούς αυτής της επίδειξης, χρησιμοποιούμε το βελτιωμένο μοντέλο για δυαδική ταξινόμηση. Προσαρμόζουμε το προεκπαιδευμένο μοντέλο BERT με το σύνολο δεδομένων εκπαίδευσης που ετοιμάσαμε προηγουμένως, χρησιμοποιώντας τις ακόλουθες υπερπαραμέτρους:
Αποθηκεύουμε το σημείο ελέγχου του μοντέλου εκπαίδευσης σε ένα Απλή υπηρεσία αποθήκευσης Amazon κάδος (Amazon S3), ώστε το μοντέλο να μπορεί να φορτωθεί κατά την αναζήτηση πολλαπλών στόχων που βασίζεται σε NAS. Πριν εκπαιδεύσουμε το μοντέλο, ορίζουμε τις μετρήσεις όπως η εποχή, η απώλεια εκπαίδευσης, ο αριθμός των παραμέτρων και το σφάλμα επικύρωσης:
Αφού ξεκινήσει η διαδικασία λεπτομέρειας, η εργασία εκπαίδευσης διαρκεί περίπου 15 λεπτά για να ολοκληρωθεί.
Εκτελέστε μια αναζήτηση πολλαπλών στόχων για να επιλέξετε υποδίκτυα και να οπτικοποιήσετε τα αποτελέσματα
Στο επόμενο βήμα, εκτελούμε μια αναζήτηση πολλαπλών στόχων στο βελτιστοποιημένο βασικό μοντέλο BERT δειγματίζοντας τυχαία υποδίκτυα χρησιμοποιώντας το SageMaker AMT. Για να αποκτήσετε πρόσβαση σε ένα υποδίκτυο μέσα στο υπερ-δίκτυο (το βελτιωμένο μοντέλο BERT), αποκρύπτουμε όλα τα στοιχεία του PLM που δεν αποτελούν μέρος του υποδικτύου. Η κάλυψη ενός υπερδικτύου για την εύρεση υποδικτύων σε ένα PLM είναι μια τεχνική που χρησιμοποιείται για την απομόνωση και τον εντοπισμό προτύπων συμπεριφοράς του μοντέλου. Σημειώστε ότι οι μετασχηματιστές Hugging Face χρειάζονται το κρυφό μέγεθος να είναι πολλαπλάσιο του αριθμού των κεφαλών. Το κρυφό μέγεθος σε έναν μετασχηματιστή PLM ελέγχει το μέγεθος του διανυσματικού χώρου κρυφής κατάστασης, το οποίο επηρεάζει την ικανότητα του μοντέλου να μαθαίνει περίπλοκες αναπαραστάσεις και μοτίβα στα δεδομένα. Σε ένα BERT PLM, το διάνυσμα κρυφής κατάστασης είναι σταθερού μεγέθους (768). Δεν μπορούμε να αλλάξουμε το κρυφό μέγεθος και επομένως ο αριθμός των κεφαλών πρέπει να είναι σε [1, 3, 6, 12].
Σε αντίθεση με τη βελτιστοποίηση ενός στόχου, στη ρύθμιση πολλών στόχων, συνήθως δεν έχουμε μια ενιαία λύση που να βελτιστοποιεί ταυτόχρονα όλους τους στόχους. Αντίθετα, στοχεύουμε να συλλέξουμε ένα σύνολο λύσεων που κυριαρχούν σε όλες τις άλλες λύσεις σε τουλάχιστον έναν στόχο (όπως το σφάλμα επικύρωσης). Τώρα μπορούμε να ξεκινήσουμε την αναζήτηση πολλαπλών στόχων μέσω AMT ορίζοντας τις μετρήσεις που θέλουμε να μειώσουμε (σφάλμα επικύρωσης και αριθμός παραμέτρων). Τα τυχαία υποδίκτυα ορίζονται από την παράμετρο max_jobs
και ο αριθμός των ταυτόχρονων εργασιών ορίζεται από την παράμετρο max_parallel_jobs
. Ο κωδικός για τη φόρτωση του σημείου ελέγχου μοντέλου και την αξιολόγηση του υποδικτύου είναι διαθέσιμος στο evaluate_subnetwork.py
γραφή.
Η εργασία συντονισμού AMT διαρκεί περίπου 2 ώρες και 20 λεπτά για να εκτελεστεί. Μετά την επιτυχή εκτέλεση της εργασίας συντονισμού AMT, αναλύουμε το ιστορικό της εργασίας και συλλέγουμε τις διαμορφώσεις του υποδικτύου, όπως τον αριθμό των κεφαλών, τον αριθμό των επιπέδων, τον αριθμό των μονάδων και τις αντίστοιχες μετρήσεις, όπως το σφάλμα επικύρωσης και τον αριθμό των παραμέτρων. Το ακόλουθο στιγμιότυπο οθόνης δείχνει τη σύνοψη μιας επιτυχημένης εργασίας δέκτη AMT.
Στη συνέχεια, οπτικοποιούμε τα αποτελέσματα χρησιμοποιώντας ένα σύνολο Pareto (γνωστό επίσης ως σύνορο Pareto ή βέλτιστο σύνολο Pareto), το οποίο μας βοηθά να εντοπίσουμε τα βέλτιστα σύνολα υποδικτύων που κυριαρχούν σε όλα τα άλλα υποδίκτυα στη μέτρηση στόχου (σφάλμα επικύρωσης):
Αρχικά, συλλέγουμε τα δεδομένα από την εργασία συντονισμού AMT. Στη συνέχεια σχεδιάζουμε το σύνολο Pareto χρησιμοποιώντας matplotlob.pyplot
με αριθμό παραμέτρων στον άξονα x και σφάλμα επικύρωσης στον άξονα y. Αυτό σημαίνει ότι όταν μετακινούμαστε από ένα υποδίκτυο του συνόλου Pareto σε ένα άλλο, πρέπει είτε να θυσιάσουμε την απόδοση ή το μέγεθος του μοντέλου αλλά να βελτιώσουμε το άλλο. Τελικά, το σετ Pareto μας παρέχει την ευελιξία να επιλέξουμε το υποδίκτυο που ταιριάζει καλύτερα στις προτιμήσεις μας. Μπορούμε να αποφασίσουμε πόσο θέλουμε να μειώσουμε το μέγεθος του δικτύου μας και πόση απόδοση είμαστε διατεθειμένοι να θυσιάσουμε.
Αναπτύξτε το βελτιστοποιημένο μοντέλο BERT και το βελτιστοποιημένο μοντέλο υποδικτύου NAS χρησιμοποιώντας το SageMaker
Στη συνέχεια, αναπτύσσουμε το μεγαλύτερο μοντέλο στο σύνολο Pareto μας που οδηγεί στον μικρότερο βαθμό εκφυλισμού της απόδοσης σε Το τελικό σημείο του SageMaker. Το καλύτερο μοντέλο είναι αυτό που παρέχει μια βέλτιστη αντιστάθμιση μεταξύ του σφάλματος επικύρωσης και του αριθμού των παραμέτρων για την περίπτωση χρήσης μας.
Σύγκριση μοντέλων
Πήραμε ένα προεκπαιδευμένο βασικό μοντέλο BERT, το βελτιστοποιήσαμε χρησιμοποιώντας ένα σύνολο δεδομένων συγκεκριμένου τομέα, εκτελέσαμε μια αναζήτηση NAS για να εντοπίσουμε κυρίαρχα υποδίκτυα με βάση τις αντικειμενικές μετρήσεις και αναπτύξαμε το κλαδευμένο μοντέλο σε ένα τελικό σημείο του SageMaker. Επιπλέον, πήραμε το προεκπαιδευμένο βασικό μοντέλο BERT και αναπτύξαμε το βασικό μοντέλο σε ένα δεύτερο τελικό σημείο του SageMaker. Στη συνέχεια, τρέξαμε δοκιμή φορτίου χρησιμοποιώντας το Locust και στα δύο τελικά σημεία συμπερασμάτων και αξιολόγησε την απόδοση ως προς τον χρόνο απόκρισης.
Αρχικά, εισάγουμε τις απαραίτητες βιβλιοθήκες Locust και Boto3. Στη συνέχεια κατασκευάζουμε μεταδεδομένα αιτήματος και καταγράφουμε την ώρα έναρξης που θα χρησιμοποιηθεί για τη δοκιμή φορτίου. Στη συνέχεια, το ωφέλιμο φορτίο μεταβιβάζεται στο API κλήσεων τελικού σημείου SageMaker μέσω του BotoClient για προσομοίωση πραγματικών αιτημάτων χρηστών. Χρησιμοποιούμε το Locust για τη δημιουργία πολλαπλών εικονικών χρηστών για την αποστολή αιτημάτων παράλληλα και τη μέτρηση της απόδοσης του τελικού σημείου κάτω από το φορτίο. Οι δοκιμές εκτελούνται αυξάνοντας τον αριθμό των χρηστών για καθένα από τα δύο τελικά σημεία, αντίστοιχα. Μετά την ολοκλήρωση των δοκιμών, το Locust βγάζει ένα αρχείο CSV στατιστικών αιτημάτων για καθένα από τα αναπτυγμένα μοντέλα.
Στη συνέχεια, δημιουργούμε τα διαγράμματα χρόνου απόκρισης από τα αρχεία CSV που έχουν ληφθεί μετά την εκτέλεση των δοκιμών με το Locust. Ο σκοπός της γραφικής παράστασης του χρόνου απόκρισης σε σχέση με τον αριθμό των χρηστών είναι η ανάλυση των αποτελεσμάτων της δοκιμής φόρτωσης οπτικοποιώντας την επίδραση του χρόνου απόκρισης των τελικών σημείων του μοντέλου. Στο παρακάτω διάγραμμα, μπορούμε να δούμε ότι το τελικό σημείο του μοντέλου που έχει κλαδευτεί με NAS επιτυγχάνει χαμηλότερο χρόνο απόκρισης σε σύγκριση με το τελικό σημείο του βασικού μοντέλου BERT.
Στο δεύτερο γράφημα, το οποίο είναι επέκταση του πρώτου γραφήματος, παρατηρούμε ότι μετά από περίπου 70 χρήστες, το SageMaker αρχίζει να περιορίζει το τελικό σημείο του βασικού μοντέλου BERT και κάνει μια εξαίρεση. Ωστόσο, για το τελικό σημείο του μοντέλου που έχει κλαδευτεί με NAS, ο στραγγαλισμός συμβαίνει μεταξύ 90-100 χρηστών και με χαμηλότερο χρόνο απόκρισης.
Από τα δύο γραφήματα, παρατηρούμε ότι το κλαδευμένο μοντέλο έχει ταχύτερο χρόνο απόκρισης και κλιμακώνεται καλύτερα σε σύγκριση με το μη κλαδευμένο μοντέλο. Καθώς κλιμακώνουμε τον αριθμό των τελικών σημείων συμπερασμάτων, όπως συμβαίνει με τους χρήστες που αναπτύσσουν μεγάλο αριθμό τελικών σημείων συμπερασμάτων για τις εφαρμογές τους PLM, τα οφέλη κόστους και η βελτίωση της απόδοσης αρχίζουν να γίνονται αρκετά σημαντικά.
εκκαθάριση
Για να διαγράψετε τα τελικά σημεία του SageMaker για το βελτιστοποιημένο βασικό μοντέλο BERT και το μοντέλο με κλάδεμα NAS, ολοκληρώστε τα ακόλουθα βήματα:
- Στην κονσόλα SageMaker, επιλέξτε Συμπέρασμα και Τελικά σημεία στο παράθυρο πλοήγησης.
- Επιλέξτε το τελικό σημείο και διαγράψτε το.
Εναλλακτικά, από το σημειωματάριο SageMaker Studio, εκτελέστε τις ακόλουθες εντολές παρέχοντας τα ονόματα τελικών σημείων:
Συμπέρασμα
Σε αυτήν την ανάρτηση, συζητήσαμε πώς να χρησιμοποιήσετε το NAS για να κλαδέψετε ένα βελτιωμένο μοντέλο BERT. Αρχικά εκπαιδεύσαμε ένα βασικό μοντέλο BERT χρησιμοποιώντας δεδομένα για συγκεκριμένο τομέα και το αναπτύξαμε σε ένα τελικό σημείο του SageMaker. Πραγματοποιήσαμε μια αναζήτηση πολλαπλών στόχων στο βελτιστοποιημένο βασικό μοντέλο BERT χρησιμοποιώντας το SageMaker AMT για μια εργασία στόχο. Οπτικοποιήσαμε το μπροστινό μέρος Pareto και επιλέξαμε το μοντέλο BERT με βέλτιστο κλάδεμα Pareto και αναπτύξαμε το μοντέλο σε ένα δεύτερο τελικό σημείο του SageMaker. Πραγματοποιήσαμε δοκιμή φόρτωσης χρησιμοποιώντας το Locust για να προσομοιώσουμε τους χρήστες που ρωτούν και τα δύο τελικά σημεία και μετρήσαμε και καταγράψαμε τους χρόνους απόκρισης σε ένα αρχείο CSV. Σχεδιάσαμε το χρόνο απόκρισης σε σχέση με τον αριθμό των χρηστών και για τα δύο μοντέλα.
Παρατηρήσαμε ότι το κλαδευμένο μοντέλο BERT απέδωσε σημαντικά καλύτερα τόσο στο χρόνο απόκρισης όσο και στο όριο στραγγαλισμού. Καταλήξαμε στο συμπέρασμα ότι το μοντέλο που κλαδεύτηκε με NAS ήταν πιο ανθεκτικό σε αυξημένο φορτίο στο τελικό σημείο, διατηρώντας χαμηλότερο χρόνο απόκρισης ακόμη και όταν περισσότεροι χρήστες πίεζαν το σύστημα σε σύγκριση με το βασικό μοντέλο BERT. Μπορείτε να εφαρμόσετε την τεχνική NAS που περιγράφεται σε αυτήν την ανάρτηση σε οποιοδήποτε μοντέλο μεγάλης γλώσσας για να βρείτε ένα κλαδευμένο μοντέλο που μπορεί να εκτελέσει την εργασία στόχο με σημαντικά χαμηλότερο χρόνο απόκρισης. Μπορείτε να βελτιστοποιήσετε περαιτέρω την προσέγγιση χρησιμοποιώντας τον λανθάνοντα χρόνο ως παράμετρο εκτός από την απώλεια επικύρωσης.
Αν και χρησιμοποιούμε NAS σε αυτήν την ανάρτηση, η κβαντοποίηση είναι μια άλλη κοινή προσέγγιση που χρησιμοποιείται για τη βελτιστοποίηση και τη συμπίεση μοντέλων PLM. Η κβαντοποίηση μειώνει την ακρίβεια των βαρών και των ενεργοποιήσεων σε ένα εκπαιδευμένο δίκτυο από κινητή υποδιαστολή 32-bit σε χαμηλότερα πλάτη bit όπως ακέραιοι αριθμοί 8-bit ή 16-bit, γεγονός που οδηγεί σε ένα συμπιεσμένο μοντέλο που παράγει ταχύτερα συμπεράσματα. Η κβαντοποίηση δεν μειώνει τον αριθμό των παραμέτρων. Αντίθετα, μειώνει την ακρίβεια των υπαρχουσών παραμέτρων για να ληφθεί ένα συμπιεσμένο μοντέλο. Το κλάδεμα NAS αφαιρεί τα περιττά δίκτυα σε ένα PLM, το οποίο δημιουργεί ένα αραιό μοντέλο με λιγότερες παραμέτρους. Συνήθως, το κλάδεμα και η κβαντοποίηση NAS χρησιμοποιούνται μαζί για τη συμπίεση μεγάλων PLM για τη διατήρηση της ακρίβειας του μοντέλου, τη μείωση των απωλειών επικύρωσης βελτιώνοντας παράλληλα την απόδοση και τη μείωση του μεγέθους του μοντέλου. Οι άλλες κοινώς χρησιμοποιούμενες τεχνικές για τη μείωση του μεγέθους των PLM περιλαμβάνουν απόσταξη γνώσης, παραγοντοποίηση μήτρας, να καταρράκτες απόσταξης.
Η προσέγγιση που προτείνεται στο blogpost είναι κατάλληλη για ομάδες που χρησιμοποιούν το SageMaker για να εκπαιδεύσουν και να τελειοποιήσουν τα μοντέλα χρησιμοποιώντας δεδομένα συγκεκριμένου τομέα και να αναπτύξουν τα τελικά σημεία για να δημιουργήσουν συμπεράσματα. Αν ψάχνετε για μια πλήρως διαχειριζόμενη υπηρεσία που προσφέρει μια επιλογή από μοντέλα θεμελίωσης υψηλής απόδοσης που απαιτούνται για τη δημιουργία παραγωγικών εφαρμογών AI, σκεφτείτε να χρησιμοποιήσετε Θεμέλιο του Αμαζονίου. Αν ψάχνετε για προεκπαιδευμένα μοντέλα ανοιχτού κώδικα για ένα ευρύ φάσμα περιπτώσεων επαγγελματικής χρήσης και θέλετε να αποκτήσετε πρόσβαση σε πρότυπα λύσεων και παραδείγματα σημειωματάρια, σκεφτείτε να χρησιμοποιήσετε Amazon SageMaker JumpStart. Μια προεκπαιδευμένη έκδοση του μοντέλου με βάση το Hugging Face BERT που χρησιμοποιήσαμε σε αυτήν την ανάρτηση είναι επίσης διαθέσιμη από το SageMaker JumpStart.
Σχετικά με τους Συγγραφείς
Aparajithan Vaidyanathan είναι Κύριος Αρχιτέκτονας Επιχειρηματικών Λύσεων στην AWS. Είναι Αρχιτέκτονας Cloud με 24+ χρόνια εμπειρίας στο σχεδιασμό και την ανάπτυξη εταιρικών, μεγάλης κλίμακας και κατανεμημένων συστημάτων λογισμικού. Ειδικεύεται στη Generative AI και Machine Learning Data Engineering. Είναι επίδοξος μαραθωνοδρόμος και τα χόμπι του περιλαμβάνουν πεζοπορία, ποδηλασία και να περνά χρόνο με τη γυναίκα του και τα δύο αγόρια του.
Άαρον Κλέιν είναι Sr Applied Scientist στο AWS που εργάζεται σε μεθόδους αυτοματοποιημένης μηχανικής εκμάθησης για βαθιά νευρωνικά δίκτυα.
Γιάτσεκ Γκολεμπιόφσκι είναι Sr Applied Scientist στο AWS.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/reduce-inference-time-for-bert-models-using-neural-architecture-search-and-sagemaker-automated-model-tuning/
- :έχει
- :είναι
- :δεν
- :που
- ][Π
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 15%
- 17
- 19
- 20
- 26%
- 30
- 31
- 320
- 7
- 70
- 72
- 8
- 9
- a
- ικανότητα
- Ικανός
- πρόσβαση
- Λογαριασμός
- ακρίβεια
- Κατορθώνω
- Επιτυγχάνει
- ενεργοποιήσεις
- Επιπλέον
- Υιοθεσία
- Μετά το
- AI
- στοχεύουν
- Στοχεύω
- αλγόριθμοι
- Όλα
- επιτρέπουν
- Επιτρέποντας
- επιτρέπει
- Επίσης
- Amazon
- Amazon υπηρεσίες Web
- ποσό
- an
- ανάλυση
- analytics
- αναλύσει
- και
- Άλλος
- απάντηση
- κάθε
- api
- εφαρμογές
- εφαρμοσμένος
- Εφαρμογή
- εφαρμόζοντας
- πλησιάζω
- έγκριση
- περίπου
- αρχιτεκτονική
- ΕΙΝΑΙ
- ΠΕΡΙΟΧΗ
- περιοχές
- επιχειρήματα
- γύρω
- τεχνητός
- AS
- επιδιώκοντας
- ανατεθεί
- συσχετισμένη
- At
- προσπάθεια
- παραβρίσκομαι
- Αυτοματοποιημένη
- αυτοκίνητα
- Αυτόματο
- αυτοματοποίηση
- Αυτοματοποίηση
- διαθέσιμος
- AWS
- Άξονας
- Υπόλοιπο
- βάση
- βασίζονται
- BE
- γίνονται
- πριν
- συμπεριφορά
- συγκριτικής αξιολόγησης
- οφέλη
- ΚΑΛΎΤΕΡΟΣ
- Καλύτερα
- μεταξύ
- Κομμάτι
- σώμα
- και οι δύο
- χτίζω
- επιχείρηση
- Επιχειρηματική διαδικασία
- αλλά
- by
- CAN
- υποψήφιος
- δυνατότητες
- περίπτωση
- περιπτώσεις
- κατάλογος
- αλλαγή
- Διάγραμμα
- Διαγράμματα
- chatbots
- επιλογή
- Επιλέξτε
- επιλέγονται
- τάξη
- ταξινόμηση
- Κλινικός
- στενά
- Backup
- κωδικός
- συλλέγουν
- συλλογή
- συνδυασμοί
- εμπορικός
- Κοινός
- συνήθως
- σύγκριση
- πλήρης
- Ολοκληρώθηκε το
- συγκρότημα
- περίπλοκο
- εξαρτήματα
- υπολογιστική
- Υπολογίστε
- έννοιες
- Κατέληξε στο συμπέρασμα
- Εξετάστε
- αποτελείται
- πρόξενος
- περιορισμούς
- κατασκευάσει
- κατανάλωση
- Περιέχει
- περιεχόμενο
- δημιουργία περιεχομένου
- συμφραζόμενα
- ΣΥΝΕΧΕΙΑ
- αντίθεση
- ελέγχους
- Αντίστοιχος
- Κόστος
- Δικαστικά έξοδα
- μετράνε
- δημιουργία
- δημιουργεί
- δημιουργία
- πελάτης
- Εξυπηρέτηση πελατών
- ημερομηνία
- επιστημονικά δεδομένα
- σύνολα δεδομένων
- ημερομηνία
- αποφασίζει
- Λήψη Αποφάσεων
- αφιερωμένο
- βαθύς
- ορίζεται
- ορίζεται
- καθορίζοντας
- διαδήλωση
- αποδεικνύουν
- Σε συνάρτηση
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- αναπτύσσεται
- περιγράφεται
- Υπηρεσίες
- σχέδιο
- επιθυμητή
- ανάπτυξη
- διαφορετικές
- συζήτηση
- διανέμονται
- έγγραφο
- Όχι
- κυρίαρχο
- Επικρατώ
- Μην
- δυο
- κατά την διάρκεια
- e
- κάθε
- αποδοτικότητα
- αποτελεσματικός
- είτε
- Τελικό σημείο
- Μηχανική
- Κινητήρες
- αρκετά
- εισάγετε
- Εταιρεία
- υιοθέτηση επιχειρήσεων
- οντότητα
- καταχώριση
- Περιβάλλον
- εποχή
- σφάλμα
- αξιολογήσει
- αξιολόγηση
- αξιολογήσεις
- Even
- εκδηλώσεις
- παράδειγμα
- Εκτός
- εξαίρεση
- αποκλειστικά
- υφιστάμενα
- εμπειρία
- Εξηγήστε
- εξήγησε
- επέκταση
- Πρόσωπο
- ψευδής
- γρηγορότερα
- Χαρακτηριστικά
- ανατροφοδότηση
- λιγότερα
- πεδίο
- Αρχεία
- Αρχεία
- τελικός
- Εύρεση
- εύρεση
- Όνομα
- καθορίζεται
- Ευελιξία
- επιπλέων
- Εξής
- Ίχνος
- Για
- Βρέθηκαν
- Θεμέλιο
- από
- εμπρός
- Σύνορο
- πλήρως
- λειτουργία
- περαιτέρω
- παράγουν
- δημιουργεί
- γενετική
- Παραγωγική τεχνητή νοημοσύνη
- παίρνω
- δεδομένου
- γκολ
- GPU
- γκρί
- συμβαίνει
- Έχω
- he
- κεφάλι
- κεφαλές
- υγειονομική περίθαλψη
- βοηθά
- κρυμμένο
- υψηλή απόδοση
- υψηλότερο
- του
- ιστορία
- οικοδεσπότης
- φιλοξενείται
- ΩΡΕΣ
- Πως
- Πώς να
- Ωστόσο
- HTML
- http
- HTTPS
- Πρόσωπο αγκαλιάς
- Βελτιστοποίηση υπερπαραμέτρων
- Ρύθμιση υπερπαραμέτρων
- i
- προσδιορίσει
- IDX
- if
- εικονογραφώ
- Επίπτωση
- Επιπτώσεις
- εφαρμογή
- εισαγωγή
- βελτίωση
- βελτιωθεί
- βελτίωση
- βελτίωση
- in
- περιλαμβάνουν
- Αυξάνουν
- αυξημένη
- αύξηση
- πληροφορίες
- Υποδομή
- εισαγωγή
- παράδειγμα
- αντί
- Έξυπνος
- σε
- IT
- ΤΟΥ
- Δουλειά
- Θέσεις εργασίας
- jpg
- json
- γνώση
- γνωστός
- Γλώσσα
- large
- μεγάλης κλίμακας
- μεγαλύτερη
- Αφάνεια
- στρώμα
- στρώματα
- Οδηγεί
- ΜΑΘΑΊΝΩ
- μάθηση
- ελάχιστα
- ας
- βιβλιοθήκες
- Βιβλιοθήκη
- γραμμή
- φορτίο
- κούτσουρο
- ξύλευση
- κοιτάζοντας
- off
- απώλειες
- χαμηλότερα
- μηχανή
- μάθηση μηχανής
- διατηρήσουν
- Η διατήρηση
- άνδρας
- διαχειρίζεται
- Μαραθώνιος
- μάσκα
- matplotlib
- ανώτατο όριο
- Ενδέχεται..
- νόημα
- μέτρο
- μέτρησης
- ιατρικών
- Γνωρίστε
- Μνήμη
- Μεταδεδομένα
- μέθοδοι
- μετρικός
- Metrics
- ενδέχεται να
- Λεπτ.
- ML
- μοντέλο
- μοντελοποίηση
- μοντέλα
- σπονδυλωτή
- περισσότερο
- μετακινήσετε
- πολύ
- πολλαπλούς
- πρέπει
- όνομα
- Ονομάστηκε
- ονόματα
- κατά τη
- Φυσικό
- Επεξεργασία φυσικής γλώσσας
- Πλοηγηθείτε
- Πλοήγηση
- απαραίτητος
- Ανάγκη
- που απαιτούνται
- ανάγκες
- δίκτυο
- δίκτυα
- νευρικός
- νευρικό σύστημα
- νευρωνικά δίκτυα
- επόμενη
- nlp
- Ν/Α
- σημείωση
- σημειωματάριο
- τώρα
- αριθμός
- αντικείμενο
- σκοπός
- στόχοι
- παρατηρούμε
- of
- off
- προσφορά
- προσφορές
- on
- ONE
- διαδικτυακά (online)
- σε απευθείας σύνδεση λιανοπωλητής
- αποκλειστικά
- ανοίξτε
- ανοικτού κώδικα
- βέλτιστη
- βελτιστοποίηση
- Βελτιστοποίηση
- βελτιστοποιημένη
- Βελτιστοποιεί
- βελτιστοποίηση
- or
- τάξη
- πρωτότυπο
- ΑΛΛΑ
- δικός μας
- έξω
- παραγωγή
- εξόδους
- επί
- φόρμες
- επισκόπηση
- δική
- ζεύγη
- παράθυρο
- Παράλληλο
- παράμετρος
- παράμετροι
- Pareto
- μέρος
- πέρασε
- μονοπάτι
- ασθενής
- πρότυπα
- Εκτελέστε
- επίδοση
- εκτελούνται
- εκτέλεση
- εκτελεί
- δικαιώματα
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- σημεία
- θέσεις
- Θέση
- Ακρίβεια
- πρόβλεψη
- Predictor
- προτιμήσεις
- έτοιμος
- προαπαιτούμενα
- παρόν
- προηγουμένως
- Κύριος
- Πρόβλημα
- διαδικασια μας
- Αυτοματοποίηση διαδικασιών
- Διεργασίες
- μεταποίηση
- Προϊόν
- παραγωγικότητα
- προτείνεται
- προμηθευτής
- παρέχει
- χορήγηση
- τραβώντας
- Τραβά
- σκοπός
- σκοποί
- Python
- pytorch
- Ερωτήσεις και απαντήσεις
- ερώτηση
- αρκετά
- τυχαίος
- σειρά
- γρήγορα
- Τιμές
- Ακατέργαστος
- πραγματικός
- αναγνώριση
- αναγνωρίζω
- αναγνωρίζοντας
- Σύσταση
- συστάσεις
- ρεκόρ
- καταγράφονται
- Red
- μείωση
- Μειωμένος
- μειώνει
- ρεγεξ
- σχετίζεται με
- Αφαιρεί
- αφαίρεση
- Εκθέσεις
- αντιπροσώπευση
- ζητήσει
- αιτήματα
- απαιτείται
- απαιτήσεις
- ελαστικός
- πόρος
- Υποστηρικτικό υλικό
- αντίστοιχα
- απάντησης
- Αποτελέσματα
- έμπορος λιανικής
- συγκράτησης
- Επιστροφές
- ιππασία
- Κίνδυνος
- ΣΕΙΡΑ
- τρέξιμο
- δρομέας
- τρέξιμο
- τρέχει
- s
- θυσία
- σοφός
- Συμπεράσματα SageMaker
- Αποθήκευση
- Κλίμακα
- Ζυγός
- Επιστήμη
- Επιστήμονας
- σκορ
- γραφή
- Αναζήτηση
- Οι μηχανές αναζήτησης
- αναζήτηση
- Δεύτερος
- Τμήμα
- δείτε
- επιλέξτε
- επιλέγονται
- ΕΑΥΤΟΣ
- στείλετε
- ποινή
- συναίσθημα
- Ακολουθία
- υπηρεσία
- Υπηρεσίες
- Συνεδρίαση
- σειρά
- Σέτς
- τον καθορισμό
- Δείχνει
- σήματα
- σημαντικά
- Απλούς
- ταυτοχρόνως
- ενιαίας
- Μέγεθος
- μικρότερος
- So
- λογισμικό
- λύση
- Λύσεις
- μερικοί
- Πηγή
- Χώρος
- ειδικευμένος
- ειδικεύεται
- συγκεκριμένες
- ειδικά
- Δαπάνες
- διαίρεση
- Εκκίνηση
- ξεκινά
- Κατάσταση
- στατιστική
- Βήμα
- Βήματα
- χώρος στο δίσκο
- κατασκευαστικός
- δομημένος
- στούντιο
- ουσιώδης
- επιτυχής
- Επιτυχώς
- τέτοιος
- κατάλληλος
- σουίτα
- ΠΕΡΙΛΗΨΗ
- σύστημα
- συστήματα
- Πάρτε
- παίρνει
- στόχος
- Έργο
- εργασίες
- ομάδες
- τεχνική
- τεχνικές
- πρότυπα
- όροι
- Δοκιμές
- δοκιμές
- κείμενο
- Ταξινόμηση κειμένου
- κείμενο
- από
- ότι
- Η
- τους
- τότε
- Εκεί.
- επομένως
- Αυτοί
- αυτό
- τρία
- κατώφλι
- Μέσω
- ώρα
- φορές
- προς την
- μαζι
- ένδειξη
- πήρε
- εργαλείο
- εργαλεία
- εμπόριο
- Διαπραγμάτευσης
- Τρένο
- εκπαιδευμένο
- Εκπαίδευση
- μετασχηματιστής
- μετασχηματιστές
- αληθής
- προσπαθώ
- βραχυχρόνιων διακυμάνσεων της ρευστότητας
- δύο
- τύπος
- τύποι
- τυπικός
- συνήθως
- τελικά
- υπό
- υποβάλλονται
- κατανόηση
- μονάδες
- us
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- Χρήστες
- Χρήστες
- χρησιμοποιεί
- χρησιμοποιώντας
- επικύρωση
- αξία
- Αξίες
- εκδοχή
- μέσω
- Πραγματικός
- φαντάζομαι
- vs
- θέλω
- ήταν
- we
- ιστός
- διαδικτυακές υπηρεσίες
- ΛΟΙΠΌΝ
- πότε
- αν
- Ποιό
- ενώ
- Ο ΟΠΟΊΟΣ
- ευρύς
- Ευρύ φάσμα
- ευρέως
- γυναίκα
- Wikipedia
- θα
- πρόθυμος
- με
- εντός
- Εργασία
- ροής εργασίας
- εργαζόμενος
- X
- χρόνια
- Βελτιστοποίηση
- Εσείς
- Σας
- zephyrnet