Από base model σε βοηθό: SFT, RLHF, DPO και GRPO
Ζητήστε από ένα base model ένα χαϊκού και δείτε πώς ένα reward model μαθαίνει να προτιμά το μήκος από την ορθότητα.
Σε αυτή τη σελίδα
Ζητήστε από το GPT-2 — ένα επαρκώς pretrained γλωσσικό μοντέλο — να γράψει ένα χαϊκού για τη θάλασσα:
prompt: Write a haiku about the sea.
The sea is a beautiful place.
The sea is a beautiful place.
The sea is a beautiful place.
The sea is a beautiful place.
The sea is a beautiful place.Δεν έχει μπερδευτεί και δεν έχει αποτύχει στη δουλειά του. Κάνει ακριβώς αυτό για το οποίο το εκπαίδευσε το Κεφάλαιο 10: δεδομένου κάποιου κειμένου, να παράγει πειστικό συνεχόμενο κείμενο. Στο διαδίκτυο, μια γραμμή όπως Write a haiku about the sea. συχνά ακολουθείται από πρόζα για τη θάλασσα, και μια πρόταση που μόλις εμφανίστηκε είναι ασυνήθιστα πιθανό να εμφανιστεί ξανά. Το μοντέλο είναι ένας εξαιρετικός next-token predictor και ένας άχρηστος βοηθός.
Τώρα το ίδιο αίτημα σε ένα μοντέλο φτιαγμένο με τον ίδιο τρόπο — Qwen2.5, μισό δισεκατομμύριο παραμέτρους, τέσσερις φορές το μέγεθος του GPT-2 παραπάνω και ακόμη μικροσκοπικό με οποιοδήποτε πρότυπο του 2026 — μετά τα στάδια εκπαίδευσης για τα οποία μιλά αυτό το κεφάλαιο:
Whispers of the ocean,
Silent depths where waves meet,
Mysteries in the vast blue.Οι τετραπλάσιες παράμετροι δεν μαθαίνουν σε ένα μοντέλο να σταματά να μιλά. Το χάσμα ανάμεσα σε αυτές τις δύο εξόδους δεν είναι η κλίμακα, δεν είναι η αρχιτεκτονική και δεν είναι ο όγκος δεδομένων. Είναι η μετα-εκπαίδευση: μια δεύτερη φάση, τάξεις μεγέθους μικρότερη από το pretraining, που παίρνει έναν predictor κειμένου και τον μετατρέπει σε κάτι που απαντά.
Στάδιο ένα: να του δείξουμε πώς μοιάζει μια απάντηση
Σύνδεσμος στην ενότητα: Στάδιο ένα: να του δείξουμε πώς μοιάζει μια απάντησηΤο πρώτο βήμα είναι το λιγότερο εντυπωσιακό και κάνει το μεγαλύτερο μέρος της δουλειάς. Συλλέγετε παραδείγματα οδηγιών ζευγαρωμένων με καλές απαντήσεις και συνεχίζετε την εκπαίδευση πάνω τους με ακριβώς το loss από το Κεφάλαιο 8 — πρόβλεψη του επόμενου token — αλλά μόνο στο τμήμα της απάντησης. Αυτό είναι supervised fine-tuning, ή SFT.
Δεν διδάσκεται κάτι νέο για τη γλώσσα. Αυτό που διδάσκεται είναι ένα format: ότι κείμενο αυτού του σχήματος ακολουθείται από κείμενο εκείνου του σχήματος, και έπειτα σταματά. Κοιτάξτε ξανά την αποτυχία του base model. Απάντησε στην ερώτηση στην πρώτη πρόταση και μετά δεν μπορούσε να σταματήσει, επειδή τίποτα στην εκπαίδευσή του δεν είχε σηματοδοτήσει ποτέ το τέλος μιας απάντησης. Το σταμάτημα είναι μαθημένη συμπεριφορά.
Γι’ αυτό επίσης το μοντέλο χρειάζεται να του λέμε πού βρίσκονται τα όρια, και αυτό είναι ένα chat template:
<|im_start|>system
You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>
<|im_start|>user
What is the capital of France?<|im_end|>
<|im_start|>assistantΑυτοί οι δείκτες <|im_start|> και <|im_end|> είναι πραγματικά tokens στο λεξιλόγιο, προστέθηκαν πριν από το fine-tuning, και το μοντέλο είδε εκατομμύρια από αυτούς ακριβώς σε αυτές τις θέσεις. Έτσι ξέρει ποιανού σειρά είναι και πού τελειώνει ένας γύρος.
Παραλείψτε το template και δώστε στο μοντέλο μια σκέτη ερώτηση, και του δίνετε μια ακολουθία που δεν έχει δει στην εκπαίδευση. Μετρημένο, ίδιο μοντέλο, ίδια ερώτηση, ίδιο greedy decoding:
Χωρίς το template — το ακατέργαστο string What is the capital of France?:
The capital of France is Paris.
To verify this, I will use a simple
Python code snippet to confirm that
Paris is indeed the capital city of
France.
[...and then it starts writing a
Python script to check its own answer]Με το template:
The capital of France is Paris.Η απάντηση είναι σωστή και στις δύο περιπτώσεις, αλλά χωρίς τους δείκτες το μοντέλο παρασύρεται στο να γράψει Python για να ελέγξει τον εαυτό του, επειδή το prompt που έλαβε δεν μοιάζει με τίποτα πάνω στο οποίο έγινε fine-tuning. Αυτή είναι η πιο συνηθισμένη αιτία του «το μοντέλο έγινε πιο χαζό όταν το κάλεσα απευθείας»: το template δεν είναι διακόσμηση γύρω από το μοντέλο, είναι μέρος του μοντέλου, και ένα λάθος template είναι μια σιωπηλή υποβάθμιση χωρίς συνημμένο σφάλμα.
Στάδιο δύο, και το πρόβλημα που υπάρχει για να λύσει
Σύνδεσμος στην ενότητα: Στάδιο δύο, και το πρόβλημα που υπάρχει για να λύσειΤο SFT έχει ένα ταβάνι, και το ταβάνι είναι τα δεδομένα. Για να κάνετε fine-tune πάνω σε μια επίδειξη χρειάζεστε κάποιον να γράψει την ιδανική απάντηση — και για τις περισσότερες ενδιαφέρουσες ερωτήσεις, το να γράψεις μια καλή απάντηση είναι δύσκολο, αργό, ακριβό, και παράγει ακριβώς μία απάντηση της οποίας την ποιότητα δεν μπορείτε να επαληθεύσετε.
Αυτό στο οποίο οι άνθρωποι είναι καλοί είναι η σύγκριση. Αν τους δείξετε δύο απαντήσεις, ένας annotator μπορεί αξιόπιστα να πει ποια είναι καλύτερη μέσα σε λίγα δευτερόλεπτα, χωρίς να μπορεί να παράγει καμία από τις δύο. Αυτό είναι το γεγονός πάνω στο οποίο χτίζεται ολόκληρο το δεύτερο στάδιο, και είναι το μέρος που οι περισσότερες εξηγήσεις παρουσιάζουν ανάποδα:
Οι άνθρωποι δεν γράφουν τις απαντήσεις. Κατατάσσουν ζεύγη.
Άρα τα δεδομένα είναι ζεύγη — ένα prompt, δύο απαντήσεις, και ποια κέρδισε. Αυτό δεν μπορεί να μπει σε next-token loss, επειδή δεν υπάρχει ακολουθία-στόχος. Χρειάζεται μια διαφορετική μηχανή.
Το reward model, και τι πραγματικά μαθαίνει
Σύνδεσμος στην ενότητα: Το reward model, και τι πραγματικά μαθαίνειΔεν μπορείτε να ζητάτε από έναν άνθρωπο να βαθμολογεί κάθε απάντηση κατά την εκπαίδευση — αυτό είναι εκατομμύρια κρίσεις. Οπότε εκπαιδεύετε ένα μοντέλο να μιμείται τους ανθρώπους: ένα reward model που παίρνει μια απάντηση και επιστρέφει ένα scalar.
Η εκπαίδευσή του από συγκρίσεις χρησιμοποιεί ένα αποτέλεσμα από το 1952. Το μοντέλο Bradley–Terry2 λέει ότι αν δύο αντικείμενα έχουν λανθάνουσες ισχύες, η πιθανότητα το ένα να νικήσει το άλλο είναι η logistic function της διαφοράς τους. Αν το γυρίσετε ανάποδα, γίνεται loss: δεδομένου ότι ένας άνθρωπος προτίμησε το έναντι του , μεγιστοποιήστε
που σε κώδικα είναι ολόκληρος ο βρόχος εκπαίδευσης:
loss = -F.logsigmoid(reward(chosen) - reward(rejected)).mean() Προσέξτε τι δεν βλέπει ποτέ το μοντέλο: μια απόλυτη βαθμολογία. Μαθαίνει μόνο διαφορές, που είναι ακριβώς αυτό που περιέχουν τα δεδομένα.
Τώρα το μέρος που αξίζει να μετρηθεί. Ένα reward model μαθαίνει τι επιβράβευσαν οι annotators, και οι annotators είναι άνθρωποι. Εδώ είναι μια προσομοίωση όπου η πραγματική ποιότητα μιας απάντησης εξαρτάται μόνο από το αν είναι χρήσιμη και σωστή — το μήκος δεν αξίζει τίποτα — αλλά ο προσομοιωμένος annotator έχει μια ήπια προτίμηση για μεγαλύτερες απαντήσεις όταν όλα τα άλλα είναι κοντά, κάτι που είναι καλά τεκμηριωμένη ανθρώπινη προκατάληψη. Εκπαιδεύστε το reward model σε 2000 συγκρίσεις και διαβάστε τα βάρη του:
| προκατάληψη μήκους του annotator | μαθημένο βάρος στο χρήσιμο | στο σωστό | στο μήκος |
|---|---|---|---|
| 0.0 | +1.00 | +1.00 | +0.01 |
| 0.3 | +0.98 | +1.00 | +0.15 |
| 0.6 | +0.97 | +1.00 | +0.27 |
| 1.2 | +1.00 | +0.99 | +0.59 |
Το reward model λειτουργεί τέλεια. Έχει μάθει πιστά τις προτιμήσεις που του δείχθηκαν — συμπεριλαμβανομένου του μέρους αυτών των προτιμήσεων που δεν έχει καμία σχέση με την ποιότητα. Ένα reward model δεν είναι μέτρο του καλού· είναι μέτρο του τι επέλεξαν οι annotators, και κάθε bias στο σύνολο annotation είναι τώρα ένας συντελεστής σε μια διαφορίσιμη συνάρτηση απέναντι στην οποία ένα πολύ μεγαλύτερο μοντέλο πρόκειται να κάνει optimize.
Reward hacking, μετρημένο
Σύνδεσμος στην ενότητα: Reward hacking, μετρημένοΠου μας φέρνει στο τι συμβαίνει όταν κάνετε optimize πάνω του. Δώστε στην policy έναν σταθερό προϋπολογισμό προσπάθειας για να τον δαπανήσει στις ιδιότητες της απάντησης, με μια ρεαλιστική ασυμμετρία: το να είναι χρήσιμη και σωστή είναι ακριβό, και το να είναι μεγαλύτερη είναι φθηνό — απλώς συνεχίζετε να γράφετε.
Reward ανά μονάδα προσπάθειας, για το μοντέλο που εκπαιδεύτηκε παραπάνω: χρήσιμο 8,26, σωστό 8,31, μήκος 31,70. Το μήκος αποδίδει σχεδόν τέσσερις φορές καλύτερα από την ορθότητα, όχι επειδή το reward model είναι χαλασμένο, αλλά επειδή είναι φθηνό.
Κάντε optimize απέναντι σε αυτό το reward και παρακολουθήστε και τους δύο αριθμούς:
| βαθμολογία του reward model | πραγματική ποιότητα | παραγόμενο μήκος | |
|---|---|---|---|
| αρχική policy | 12.588 | 0.974 | 3.365 |
| μετά το optimisation | 31.696 | 0.000 | 12.497 |
Το reward ανέβηκε κατά συντελεστή 2,5. Το πράγμα που υποτίθεται ότι μετρούσε το reward πήγε στο μηδέν. Η policy ανακάλυψε ότι μπορούσε να πετύχει τεράστια βαθμολογία γράφοντας εκτενώς και λέγοντας τίποτα, και κανένα μέρος του βρόχου εκπαίδευσης δεν είχε τρόπο να το παρατηρήσει, επειδή το reward model είναι ο ορισμός του καλού μέσα στον βρόχο.
Αυτό είναι reward hacking, και αν αναρωτηθήκατε ποτέ γιατί τα chat models είναι τόσο φλύαρα, αυτός ο πίνακας είναι μεγάλο μέρος της απάντησης.
Τι πραγματικά αγοράζει η ποινή KL
Σύνδεσμος στην ενότητα: Τι πραγματικά αγοράζει η ποινή KLΗ τυπική άμυνα είναι να τιμωρείτε την policy επειδή απομακρύνεται πολύ από το σημείο εκκίνησής της, μετρώντας την απόσταση με την KL divergence από το Κεφάλαιο 4:
Η αναφορά είναι το μοντέλο SFT — η policy πριν από το στάδιο reinforcement. Ο ισχυρισμός είναι ότι αυτό αποτρέπει το μοντέλο από το να περιπλανηθεί σε εκφυλισμένη συμπεριφορά. Ας δούμε πόσο από αυτόν τον ισχυρισμό επιβιώνει στη μέτρηση. Ίδια διάταξη, σαρώνοντας το :
| reward | πραγματική ποιότητα | μήκος | KL | |
|---|---|---|---|---|
| 0 | 31.699 | 0.000 | 12.498 | 2.994 |
| 1 | 31.697 | 0.000 | 12.497 | 2.993 |
| 5 | 28.318 | 0.285 | 10.700 | 2.163 |
| 15 | 12.860 | 1.542 | 2.552 | 0.151 |
| 30 | 10.426 | 1.719 | 1.303 | 0.025 |
| 60 | 9.632 | 1.769 | 0.908 | 0.005 |
| μόνο το μοντέλο αναφοράς | 9.162 | 1.791 | 0.687 | 0 |
Διαβάστε την τελευταία γραμμή σε σχέση με τις υπόλοιπες. Στα και η ποινή δεν κάνει απολύτως τίποτα: το reward αξίζει τόσο πολύ περισσότερο από το KL που ο optimiser πληρώνει το πρόστιμο και κάνει hacking ούτως ή άλλως. Μεταξύ 5 και 15 η συμπεριφορά αλλάζει απότομα. Και στο , η πραγματική ποιότητα έχει ανέβει ξανά στο 1.769 — που είναι ακόμη κάτω από το 1.791 που είχε το μοντέλο αναφοράς πριν ξεκινήσει οποιοδήποτε από αυτά.
Μια επιφύλαξη πριν αυτός ο αριθμός παρατεθεί οπουδήποτε: το 1.791 της τελευταίας γραμμής και το 0.974 που δίνει ο πρώτος πίνακας στην αρχική policy είναι δύο διαφορετικές μετρήσεις του ίδιου pre-RL μοντέλου, που έγιναν ξεχωριστά από τα δύο πειράματα. Συγκρίνετε γραμμές μέσα σε έναν πίνακα, ποτέ μεταξύ πινάκων — το συμπέρασμα κάθε πίνακα στέκει πάνω στις δικές του γραμμές, και κανένα δεν εξαρτάται από το baseline του άλλου.
Άρα η ειλικρινής περίληψη δεν είναι «η ποινή KL αποτρέπει το reward hacking». Είναι:
Η ποινή KL δεν αποτρέπει το reward hacking. Περιορίζει το πόσο μακριά μπορεί να μετακινηθεί η policy από την αναφορά — και αφού η αποτυχία απαιτεί μετακίνηση, αυτό βοηθά. Αλλά είναι λουρί, όχι διόρθωση: σε χαμηλό το λουρί σπάει, και σε υψηλό παίρνετε πίσω το μοντέλο αναφοράς και ολόκληρο το ακριβό στάδιο δεν αγόρασε τίποτα.
Η χρήσιμη ζώνη είναι στενή, η θέση της εξαρτάται από το reward model, και δεν υπάρχει τρόπος να τη βρείτε παρά μόνο κοιτάζοντας. Γι’ αυτό το μοντέλο αναφοράς πρέπει να είναι καλό — το KL είναι ένα πάτωμα στην ποιότητα της αναφοράς, όχι ένα ταβάνι στην αποτυχία — και είναι μεγάλο μέρος του γιατί αυτό το στάδιο είναι δύσκολο στην πράξη και όχι στην αρχή.
PPO, και γιατί το DPO το κατάπιε
Σύνδεσμος στην ενότητα: PPO, και γιατί το DPO το κατάπιεΟ αλγόριθμος που έκανε αυτό να λειτουργήσει σε κλίμακα είναι το Proximal Policy Optimization.3 Σε μία παράγραφο: εκτιμά το advantage κάθε απάντησης, ενημερώνει την policy ώστε να αυξήσει την πιθανότητα απαντήσεων πάνω από το baseline, και κόβει το μέγεθος κάθε μεμονωμένου update ώστε μια μεγάλη εκτίμηση advantage να μην καταστρέψει την policy σε ένα βήμα. Εφαρμοσμένο σε γλωσσικά μοντέλα4 σημαίνει ότι κρατάτε τέσσερα μοντέλα σε λειτουργία ταυτόχρονα — την policy, την αναφορά, το reward model και έναν critic — με την policy να παράγει φρέσκα δείγματα σε όλη τη διάρκεια της εκπαίδευσης.
Λειτουργεί, παρήγαγε το InstructGPT και όλα όσα προήλθαν από αυτό, και είναι πραγματικά δύσκολο: τέσσερα μοντέλα στη μνήμη, sampling μέσα στον βρόχο εκπαίδευσης, και μια φήμη αστάθειας που είναι άξια. Το να προσποιηθούμε ότι μπορείτε να το υλοποιήσετε σε ένα blog post θα ήταν ανέντιμο, οπότε αυτό το κεφάλαιο δεν το κάνει.
Αυτό που το αντικατέστησε για τους περισσότερους σκοπούς προέκυψε από μια παρατήρηση. Ο KL-regularised στόχος παραπάνω έχει closed-form βέλτιστη policy, και αυτή η έκφραση μπορεί να αντιστραφεί: το reward μπορεί να γραφτεί με όρους της βέλτιστης policy και της αναφοράς. Αν το αντικαταστήσετε πίσω στο Bradley–Terry loss, το reward model εξαφανίζεται εντελώς. Αυτό που μένει είναι ένα supervised loss σε ζεύγη προτιμήσεων — χωρίς sampling, χωρίς critic, χωρίς reward model, δύο μοντέλα στη μνήμη αντί για τέσσερα.
Αυτό είναι το Direct Preference Optimization,5 και είναι δύο γραμμές:
def dpo_loss(pi_w, pi_l, ref_w, ref_l, beta=0.1):
"""pi_* and ref_* are summed log-probabilities of a full response."""
logits = beta * ((pi_w - ref_w) - (pi_l - ref_l))
return -F.logsigmoid(logits) Διαβάστε τι λέει. Η ποσότητα που ωθείται προς τα πάνω είναι πόσο περισσότερο προτιμά η policy τον νικητή από όσο τον προτιμούσε η αναφορά, μείον πόσο περισσότερο προτιμά τον χαμένο. Η αναφορά δεν είναι μια ποινή κολλημένη εκ των υστέρων — είναι μέσα στο loss, γι’ αυτό το DPO δεν χρειάζεται ξεχωριστό όρο KL.
Η ιδιότητα που έχει τη μεγαλύτερη σημασία βρίσκεται στο gradient. Αξιολογήστε το loss και το gradient του στο ίδιο ζεύγος σε πέντε διαφορετικές καταστάσεις της policy:
| κατάσταση της policy | loss | μέγεθος gradient |
|---|---|---|
| ήδη προτιμά έντονα τον νικητή | 0.5130 | 0.0401 |
| ήδη τον προτιμά, ασθενώς | 0.6685 | 0.0488 |
| ταυτόσημη με την αναφορά | 0.6931 | 0.0500 |
| προτιμά τον χαμένο | 0.7981 | 0.0550 |
| προτιμά έντονα τον χαμένο | 1.0055 | 0.0634 |
Το gradient μεγαλώνει όσο η policy κάνει περισσότερο λάθος. Ζεύγη που το μοντέλο ήδη χειρίζεται δεν συνεισφέρουν σχεδόν τίποτα· ζεύγη που τα παίρνει ανάποδα κυριαρχούν στο update. Το DPO σταθμίζει κάθε παράδειγμα με βάση το πόσο λάθος είναι αυτή τη στιγμή η policy, αυτόματα, χωρίς scheduling — και αυτή η αυτο-στάθμιση είναι ο μηχανισμός που κάνει τη δουλειά που έκαναν η εκτίμηση advantage και ο critic του PPO. (Το loss στην τρίτη γραμμή είναι ακριβώς , που είναι η άγκυρα για να ελέγξετε οποιαδήποτε υλοποίηση: μια policy ταυτόσημη με την αναφορά της δεν έχει μάθει τίποτα και πρέπει να κάθεται στο .)
Το GRPO6 παίρνει διαφορετική διαδρομή έξω από το ίδιο πρόβλημα. Κρατά τον βρόχο sampling αλλά διαγράφει τον critic: αντί να εκπαιδεύει ένα μοντέλο να προβλέπει το baseline, κάνει sample μια ομάδα απαντήσεων στο ίδιο prompt και χρησιμοποιεί τον μέσο όρο reward της ομάδας απευθείας ως baseline. Το advantage μιας απάντησης είναι πόσο καλύτερη ήταν από τα αδέλφια της. Αυτό ανταλλάσσει ένα ολόκληρο μοντέλο με ένα μεγαλύτερο batch, και είναι αυτό που έκανε πρακτική την εκπαίδευση με verifiable reward — το θέμα του Κεφαλαίου 12.
Εμφάνιση λεπτομερειών
Τρία ακόμη κομμάτια του τοπίου της μετα-εκπαίδευσης, σύντομα.
RLAIF και Constitutional AI.7 Ο annotator δεν χρειάζεται να είναι άνθρωπος. Δώστε σε ένα μοντέλο ένα γραπτό σύνολο αρχών και ζητήστε του να κρίνει και να αναθεωρήσει τις δικές του εξόδους, ή να επιλέξει ανάμεσα σε δύο υποψηφίους, και έχετε ένα dataset προτιμήσεων που παράγεται με ταχύτητα και κόστος μηχανής. Η προφανής ένσταση — το μοντέλο βαθμολογεί τη δική του εργασία — είναι πραγματική, και η ειλικρινής απάντηση είναι ότι λειτουργεί καλύτερα από όσο ακούγεται, επειδή η κρίση είναι ευκολότερη από την παραγωγή, που είναι η ίδια ασυμμετρία πάνω στην οποία στηρίζεται ολόκληρο το κεφάλαιο.
LIMA, και πόσο λίγα δεδομένα χρειάζεται αυτό.8 Χίλιες προσεκτικά επιμελημένες επιδείξεις παρήγαγαν έναν ανταγωνιστικό βοηθό. Η προτεινόμενη εξήγηση είναι ότι το pretraining είχε ήδη εγκαταστήσει τη γνώση και το format, και η μετα-εκπαίδευση χρειάζεται μόνο να επιλέξει ποιες από τις υπάρχουσες συμπεριφορές του μοντέλου θα αναδείξει. Αν αυτό είναι σωστό, η ποιότητα των δεδομένων μετα-εκπαίδευσης κυριαρχεί της ποσότητας — και η συμπεριφορά του πεδίου έκτοτε υποδηλώνει ότι οι άνθρωποι το πιστεύουν.
LoRA και QLoRA.910 Το fine-tuning κάθε βάρους ενός μεγάλου μοντέλου απαιτεί μνήμη για τα βάρη, τα gradients τους και την κατάσταση του optimiser — τα δεκαέξι bytes ανά παράμετρο του Κεφαλαίου 10, πάνω στους δύο μέσους όρους που έχτισε με το χέρι το Κεφάλαιο 6 — σε κλίμακα που χρειάζεται cluster. Το LoRA παγώνει τα αρχικά βάρη και εκπαιδεύει ένα ζεύγος low-rank πινάκων δίπλα τους, μειώνοντας τις εκπαιδεύσιμες παραμέτρους κατά τάξεις μεγέθους· το QLoRA επιπλέον κάνει quantize την παγωμένη βάση σε 4 bits. Και τα δύο καλύπτονται εδώ ως τεχνική. Το αν το fine-tuning είναι γενικά το σωστό πράγμα στο οποίο αξίζει να ξοδέψετε χρήματα είναι διαφορετική ερώτηση, και ανήκει στο Κεφάλαιο 20.
Ο φόρος alignment, και η ερώτηση που κανείς δεν έχει απαντήσει
Σύνδεσμος στην ενότητα: Ο φόρος alignment, και η ερώτηση που κανείς δεν έχει απαντήσειΔύο πράγματα να κρατήσετε για τη συνέχεια.
Το πρώτο είναι ότι αυτό το στάδιο έχει κόστος, και εμφανίζεται ως ικανότητα. Τα μοντέλα συχνά γίνονται μετρήσιμα χειρότερα σε ορισμένα benchmark tasks μετά από alignment training — ο φόρος alignment — επειδή ο στόχος άλλαξε: μια απάντηση που είναι ασφαλής, επιφυλακτική και καλά μορφοποιημένη δεν είναι πάντα η απάντηση που μεγιστοποιεί την ακρίβεια. Κάποιο μέρος αυτού του χάσματος έχει εξαλειφθεί με engineering, και κάποιο μέρος του είναι πραγματική ανταλλαγή και όχι bug προς διόρθωση.
Το δεύτερο είναι η ερώτηση που κρύβει η λέξη aligned. Ευθυγραμμισμένο με ποιον; Η αλυσίδα είναι: μια εταιρεία γράφει οδηγίες, εργολάβοι τις ερμηνεύουν, οι συγκρίσεις τους εκπαιδεύουν ένα reward model, το reward model διαμορφώνει μια policy, και η policy απαντά σε μια ερώτηση από κάποιον που δεν είδε τίποτα από όλα αυτά. Κάθε κρίκος είναι μια επιλογή που έγινε από συγκεκριμένους ανθρώπους, και κανένας από τους αλγορίθμους σε αυτό το κεφάλαιο δεν έχει άποψη για το αν αυτές οι επιλογές είναι καλές.
Αυτό δεν είναι ρητορικό στολίδι. Είναι ο συγκεκριμένος λόγος που δύο frontier models αρνούνται διαφορετικά αιτήματα, που το ίδιο μοντέλο αλλάζει γνώμη ανάμεσα σε εκδόσεις, και που το «aligned» είναι περιγραφή μιας διαδικασίας και όχι ιδιότητα ενός τεχνουργήματος. Τα μαθηματικά σε αυτό το κεφάλαιο έχουν λυθεί. Εκείνο το μέρος όχι.
Πού πηγαίνει αυτό στη συνέχεια
Σύνδεσμος στην ενότητα: Πού πηγαίνει αυτό στη συνέχειαΗ μετα-εκπαίδευση έμαθε στο μοντέλο να απαντά. Δεν του έμαθε να σκέφτεται πριν απαντήσει, και τα δύο διαφέρουν με τρόπο που τελικά μπορεί να εκπαιδευτεί.
Το Κεφάλαιο 12 αφορά το τι συμβαίνει όταν αφήνετε ένα μοντέλο να ξοδέψει περισσότερη υπολογιστική ισχύ σε μια δύσκολη ερώτηση τη στιγμή της απάντησης αντί για τη στιγμή της εκπαίδευσης — chain of thought, reinforcement learning από verifiable rewards, και τον λόγο που ένα μοντέλο που δείχνει τη δουλειά του δεν εξηγεί απλώς τον εαυτό του αλλά υπολογίζει διαφορετικά. Εξοφλεί επίσης το χρέος από αυτό το κεφάλαιο: το GRPO υπάρχει εκεί, κάνοντας τη δουλειά που έκανε παλιά ο critic του PPO, πάνω σε rewards που δεν χρειάζονται κανέναν annotator, επειδή μια απόδειξη είτε ελέγχεται είτε όχι.
Πηγές και μέθοδος
Σύνδεσμος στην ενότητα: Πηγές και μέθοδοςΟι γενιές παραπάνω προέρχονται από gpt2 και Qwen/Qwen2.5-0.5B-Instruct με greedy decoding, άρα αναπαράγονται ακριβώς. Το Κεφάλαιο 11 του Hugging Face LLM Course περνά μέσα από SFT και DPO με trl και peft αν θέλετε να τρέξετε το πραγματικό πράγμα αντί για την προσομοίωση· το κεφάλαιο 7 του Build a Large Language Model (From Scratch) του Sebastian Raschka υλοποιεί instruction fine-tuning από την αρχή ως το τέλος χωρίς βιβλιοθήκη.
Παραπομπές
Σύνδεσμος στην ενότητα: Παραπομπές-
Sutton, R. S. and Barto, A. G. Reinforcement Learning: An Introduction, 2nd edition (MIT Press, 2018). Η ανάθεση είναι σκόπιμη: το πλαίσιο λεξιλογίου παραπάνω είναι το μικρότερο χρησιμοποιήσιμο υποσύνολο, και το πραγματικό θέμα είναι βιβλίο. ↩
-
Bradley, R. A. and Terry, M. E. Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons. Biometrika 39(3/4), pp. 324–345 (1952). Το μοντέλο pairwise comparison κάτω από κάθε reward model που χρησιμοποιείται σήμερα. ↩
-
Schulman, J., Wolski, F., Dhariwal, P., Radford, A. and Klimov, O. Proximal Policy Optimization Algorithms. arXiv:1707.06347 (2017). ↩
-
Ouyang, L. et al. Training language models to follow instructions with human feedback. arXiv:2203.02155 (2022). InstructGPT — η εργασία που έκανε τυπική τη συνταγή τριών σταδίων. Προηγήθηκε η Christiano et al. (arXiv:1706.03741), που εισήγαγε την εκμάθηση reward model από ανθρώπινες συγκρίσεις, και η Stiennon et al. (arXiv:2009.01325), που την εφάρμοσε στη σύνοψη. ↩
-
Rafailov, R., Sharma, A., Mitchell, E., Ermon, S., Manning, C. D. and Finn, C. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290 (2023). Η παραγωγή που αφαιρεί το reward model βρίσκεται στην ενότητα 4 και αξίζει να διαβαστεί ολόκληρη· είναι συντομότερη από τη φήμη της. ↩
-
Shao, Z. et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300 (2024). Εισάγει το GRPO στην ενότητα 4.1. ↩
-
Bai, Y. et al. Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073 (2022). ↩
-
Zhou, C. et al. LIMA: Less Is More for Alignment. arXiv:2305.11206 (2023). ↩
-
Hu, E. J. et al. LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685 (2021). ↩
-
Dettmers, T., Pagnoni, A., Holtzman, A. and Zettlemoyer, L. QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314 (2023). ↩