LLM Training
Last updated
Last updated
Αυτές είναι οι σημειώσεις μου από το πολύ προτεινόμενο βιβλίο https://www.manning.com/books/build-a-large-language-model-from-scratch με κάποιες επιπλέον πληροφορίες.
Πρέπει να ξεκινήσετε διαβάζοντας αυτή την ανάρτηση για κάποιες βασικές έννοιες που πρέπει να γνωρίζετε:
Ο στόχος αυτής της αρχικής φάσης είναι πολύ απλός: Διαχωρίστε την είσοδο σε tokens (ids) με κάποιον τρόπο που έχει νόημα.
Ο στόχος αυτής της δεύτερης φάσης είναι πολύ απλός: Δειγματοληψία των δεδομένων εισόδου και προετοιμασία τους για τη φάση εκπαίδευσης, συνήθως διαχωρίζοντας το σύνολο δεδομένων σε προτάσεις συγκεκριμένου μήκους και δημιουργώντας επίσης την αναμενόμενη απάντηση.
Ο στόχος αυτής της τρίτης φάσης είναι πολύ απλός: Αναθέστε σε κάθε από τα προηγούμενα tokens στο λεξιλόγιο έναν διανύσμα των επιθυμητών διαστάσεων για να εκπαιδεύσετε το μοντέλο. Κάθε λέξη στο λεξιλόγιο θα είναι ένα σημείο σε έναν χώρο X διαστάσεων. Σημειώστε ότι αρχικά η θέση κάθε λέξης στο χώρο είναι απλώς αρχικοποιημένη "τυχαία" και αυτές οι θέσεις είναι εκπαιδεύσιμες παράμετροι (θα βελτιωθούν κατά τη διάρκεια της εκπαίδευσης).
Επιπλέον, κατά τη διάρκεια της ενσωμάτωσης tokens δημιουργείται ένα άλλο επίπεδο ενσωματώσεων που αντιπροσωπεύει (σε αυτή την περίπτωση) τη απόλυτη θέση της λέξης στην προτεινόμενη πρόταση εκπαίδευσης. Με αυτόν τον τρόπο, μια λέξη σε διαφορετικές θέσεις στην πρόταση θα έχει διαφορετική αναπαράσταση (νόημα).
Ο στόχος αυτής της τέταρτης φάσης είναι πολύ απλός: Εφαρμόστε κάποιους μηχανισμούς προσοχής. Αυτοί θα είναι πολλά επανειλημμένα επίπεδα που θα καταγράφουν τη σχέση μιας λέξης στο λεξιλόγιο με τους γείτονές της στην τρέχουσα πρόταση που χρησιμοποιείται για την εκπαίδευση του LLM. Χρησιμοποιούνται πολλά επίπεδα γι' αυτό, οπότε πολλές εκπαιδεύσιμες παράμετροι θα καταγράφουν αυτές τις πληροφορίες.
Ο στόχος αυτής της πέμπτης φάσης είναι πολύ απλός: Αναπτύξτε την αρχιτεκτονική του πλήρους LLM. Συνδυάστε τα πάντα, εφαρμόστε όλα τα επίπεδα και δημιουργήστε όλες τις λειτουργίες για να παράγετε κείμενο ή να μετατρέπετε κείμενο σε IDs και αντίστροφα.
Αυτή η αρχιτεκτονική θα χρησιμοποιηθεί και για την εκπαίδευση και για την πρόβλεψη κειμένου μετά την εκπαίδευση.
Ο στόχος αυτής της έκτης φάσης είναι πολύ απλός: Εκπαιδεύστε το μοντέλο από την αρχή. Για αυτό θα χρησιμοποιηθεί η προηγούμενη αρχιτεκτονική LLM με κάποιους βρόχους που θα διατρέχουν τα σύνολα δεδομένων χρησιμοποιώντας τις καθορισμένες συναρτήσεις απώλειας και τον βελτιστοποιητή για να εκπαιδεύσουν όλες τις παραμέτρους του μοντέλου.
Η χρήση του LoRA μειώνει πολύ την υπολογιστική ισχύ που απαιτείται για να βελτιώσετε ήδη εκπαιδευμένα μοντέλα.
Ο στόχος αυτής της ενότητας είναι να δείξει πώς να βελτιώσετε ένα ήδη προεκπαιδευμένο μοντέλο έτσι ώστε αντί να παράγει νέο κείμενο, το LLM θα επιλέγει να δώσει τις πιθανότητες του δεδομένου κειμένου να κατηγοριοποιηθεί σε κάθε μία από τις δεδομένες κατηγορίες (όπως αν ένα κείμενο είναι spam ή όχι).
Ο στόχος αυτής της ενότητας είναι να δείξει πώς να βελτιώσετε ένα ήδη προεκπαιδευμένο μοντέλο για να ακολουθεί οδηγίες αντί να παράγει απλώς κείμενο, για παράδειγμα, απαντώντας σε εργασίες ως chatbot.