Chain of Thought, RLVR και test-time compute, μετρημένα
Τα ίδια 24 προβλήματα: 0% σωστά σε 1,9 token, 100% σε 145. Και self-consistency που αγοράζει πίσω ακρίβεια που είχε ήδη το greedy decoding.
Σε αυτή τη σελίδα
Είκοσι τέσσερα λεκτικά προβλήματα δύο βημάτων. Ένα μικρό μοντέλο — μισό δισεκατομμύριο παράμετροι, το ίδιο από το Κεφάλαιο 11 — ρωτιέται το καθένα δύο φορές.
Πρώτα, του ζητείται η απάντηση:
"...How many bolts are left? Reply with only the final number, nothing else."
0 / 24 correct 1.9 tokens per answerΈπειτα, του ζητείται η απάντηση, με άδεια να δουλέψει πρώτα:
"...How many bolts are left? Think step by step, then give the final
number on its own line."
24 / 24 correct 145.2 tokens per answerΑπό το μηδέν στο εκατό τοις εκατό. Ίδιο μοντέλο, ίδια weights, ίδια προβλήματα, ίδιο greedy decoding. Η μόνη διαφορά είναι ότι στη δεύτερη εκδοχή επιτράπηκε να εκπέμψει 143 περισσότερα token πριν δεσμευτεί σε έναν αριθμό.
Αυτό το κεφάλαιο αφορά αυτό το χάσμα: τι είναι στην πραγματικότητα, μέχρι πού φτάνει, πόσο κοστίζει και τι συνέβη όταν ο κλάδος σταμάτησε να το ζητά στο prompt και άρχισε να το εκπαιδεύει μέσα στο μοντέλο.
Το μοντέλο δεν σκέφτεται. Υπολογίζει για περισσότερη ώρα.
Σύνδεσμος στην ενότητα: Το μοντέλο δεν σκέφτεται. Υπολογίζει για περισσότερη ώρα.Ο πειρασμός είναι να πούμε ότι η δεύτερη εκδοχή «το σκέφτηκε». Αντισταθείτε σε αυτό, γιατί ο μηχανισμός είναι και απλούστερος και χρησιμότερος να τον γνωρίζετε.
Ένας transformer κάνει σταθερή ποσότητα υπολογισμού ανά token που παράγεται. Ένα forward pass: τα ίδια layers, οι ίδιοι πίνακες, ο ίδιος αριθμός πράξεων, ανεξάρτητα από το αν η ερώτηση είναι πόσο κάνει 2+2 ή απόδειξε αυτό το θεώρημα. Δεν υπάρχει καντράν μέσα στο μοντέλο για «προσπάθησε περισσότερο σε αυτό».
Άρα, όταν ζητείται από ένα μοντέλο να απαντήσει αμέσως, όλος ο διαθέσιμος υπολογισμός είναι ένα forward pass. Κάθε ενδιάμεση ποσότητα πρέπει να χωρέσει στα activations αυτού του μοναδικού pass, και ό,τι δεν μπορεί να υπολογίσει εκεί, δεν μπορεί να το υπολογίσει.
Η εκπομπή token το αλλάζει αυτό, και το αλλάζει με δύο διακριτούς τρόπους που αξίζει να ξεχωρίσουμε:
- Περισσότερος υπολογισμός. Κάθε παραγόμενο token είναι άλλο ένα πλήρες forward pass. Εκατόν σαράντα πέντε token εργασίας είναι εκατόν σαράντα πέντε φορές η αριθμητική της άμεσης απάντησης.
- Εξωτερικευμένη μνήμη. Τα token γράφονται στο context, οπότε το επόμενο pass μπορεί να τα διαβάσει. Το
5 × 13 = 65γίνεται γεγονός στην είσοδο, όχι τιμή που το μοντέλο πρέπει να κρατήσει σε ένα activation και να μεταφέρει παρακάτω. Το μοντέλο χρησιμοποιεί τη δική του έξοδο ως πρόχειρο.
Αυτό το δεύτερο σημείο είναι που διαφεύγει στον κόσμο, και εξηγεί γιατί η εργασία πρέπει να γραφτεί για να βοηθήσει. Ένα μοντέλο από το οποίο ζητείται να «το σκεφτεί σιωπηλά και μετά να απαντήσει» δεν έχει πού να βάλει τη σκέψη.
Τίποτα από αυτά δεν απαιτεί κάτι μυστικιστικό, και δίνει μια σταθερή πρόβλεψη: το chain of thought πρέπει να βοηθά περισσότερο σε προβλήματα με σειριακή δομή — όπου το δεύτερο βήμα χρειάζεται το αποτέλεσμα του πρώτου — και λιγότερο σε προβλήματα που είναι ένα απλό lookup. Αυτό ακριβώς βρίσκει η βιβλιογραφία, και γι’ αυτό το «σκέψου βήμα προς βήμα» δεν κάνει τίποτα για το ποια είναι η πρωτεύουσα της Γαλλίας.
Chain of thought ως τεχνική prompting
Σύνδεσμος στην ενότητα: Chain of thought ως τεχνική promptingΗ τεχνική εμφανίστηκε το 2022 σε δύο κομμάτια. Οι Wei et al. έδειξαν ότι η συμπερίληψη λυμένων παραδειγμάτων στο prompt — demonstrations όπου της απάντησης προηγείται συλλογισμός — παρήγαγε μεγάλα κέρδη σε benchmarks αριθμητικής και κοινής λογικής.1 Έπειτα οι Kojima et al. έδειξαν κάτι πιο παράξενο: δεν χρειάζεστε τα παραδείγματα. Η προσθήκη του «Let's think step by step» σε ένα zero-shot prompt αποτυπώνει μεγάλο μέρος του ίδιου κέρδους.2
Το δεύτερο αποτέλεσμα είναι εκείνο που σας λέει τι συμβαίνει. Αν μια μαγική φράση ξεκλειδώνει τη συμπεριφορά, η συμπεριφορά υπήρχε ήδη στο μοντέλο — η προεκπαίδευση είναι γεμάτη λυμένες λύσεις, και η φράση είναι ένας δείκτης προς εκείνη την περιοχή της κατανομής. Το chain of thought δεν δίδαξε τίποτα στο μοντέλο. Επέλεξε κάτι που το μοντέλο είχε ήδη.
Αυτό το πλαίσιο προβλέπει επίσης την τελική απαρχαίωση της τεχνικής, στην οποία επιστρέφουμε στο τέλος του κεφαλαίου.
Self-consistency, και ένα αποτέλεσμα που με εξέπληξε
Σύνδεσμος στην ενότητα: Self-consistency, και ένα αποτέλεσμα που με εξέπληξεΗ προφανής επόμενη κίνηση: αν μία αλυσίδα συλλογισμού μπορεί να είναι λάθος, κάντε sample αρκετές και πάρτε την απάντηση της πλειοψηφίας. Αυτό είναι το self-consistency.3 Είναι αυστηρά μεγαλύτερη δαπάνη — πλήρεις γενιές αντί για μία — και η διαίσθηση είναι ότι οι λάθος απαντήσεις διασκορπίζονται ενώ οι σωστές συμφωνούν.
Μετρημένο σε 16 από τα ίδια προβλήματα, με sampling σε temperature 0,8, majority vote πάνω από αλυσίδες:
| ακρίβεια | αθροιστικά token | token ανά πρόβλημα | |
|---|---|---|---|
| 1 | 81 % | 2,952 | 185 |
| 2 | 81 % | 5,618 | 351 |
| 3 | 100 % | 8,417 | 526 |
| 4 | 100 % | 11,103 | 694 |
| 5 | 100 % | 13,933 | 871 |
Τα δεκαέξι προβλήματα είναι μικρός παρονομαστής, και ο κανόνας του Κεφαλαίου 4 ισχύει για αυτόν τον πίνακα όσο και για οποιονδήποτε άλλο. Τα 13 από 16 είναι 81 % με 95 % Wilson interval [57, 93]· τα 16 από 16 είναι 100 % με [81, 100]. Αυτά επικαλύπτονται. Διαβάστε το σχήμα της καμπύλης, που είναι το εύρημα· μη διαβάζετε το ακριβές σκαλοπάτι όπου γίνεται επίπεδη, γιατί δεκαέξι προβλήματα δεν μπορούν να το εντοπίσουν.
Δύο πράγματα υπάρχουν σε αυτόν τον πίνακα, και το δεύτερο δεν ήταν αυτό που περίμενα.
Η καμπύλη γίνεται επίπεδη στο . Μέχρι το τρίτο sample η ακρίβεια έχει φτάσει στο ταβάνι της και τα υπόλοιπα δύο samples δεν αγοράζουν τίποτα, ενώ κοστίζουν 172 token το καθένα, 345 συνολικά. Αυτό είναι το σχήμα κάθε καμπύλης self-consistency που αναφέρεται στη βιβλιογραφία, και έρχεται πολύ νωρίτερα απ’ όσο υπονοεί το πλαίσιο «περισσότερα samples σημαίνει ακόμη καλύτερα».
Και το greedy decoding ήταν ήδη στο 100 %. Κοιτάξτε ξανά την αρχή του κεφαλαίου: μία αλυσίδα, χωρίς sampling, 145 token, 24/24. Το sampling σε temperature 0,8 έριξε την ακρίβεια στο 81 %, και το self-consistency χρειάστηκε τρεις γενιές για να ανέβει ξανά εκεί όπου ήταν ήδη ένα μοναδικό greedy pass — με 3,6 φορές τα token, ή έξι φορές αν τρέξετε τη σάρωση μέχρι τα πέντε χωρίς να ξέρετε πού γίνεται επίπεδη.
Αυτό δεν είναι επιχείρημα κατά του self-consistency. Είναι μια ακριβής δήλωση του τι κάνει: το temperature αγοράζει ποικιλία εισάγοντας λάθη, και η ψηφοφορία αφαιρεί τα λάθη που μόλις εισήγαγε. Σε προβλήματα όπου το greedy decoding αποτυγχάνει — όπου η μοναδική πιθανότερη αλυσίδα οδηγεί κάπου λάθος και μια λιγότερο πιθανή είναι σωστή — αυτή η ανταλλαγή αποδίδει, και γι’ αυτό υπάρχει η τεχνική. Σε προβλήματα όπου το greedy ήδη πετυχαίνει, είναι ένας τρόπος να ξοδέψετε έξι φορές το budget για να έρθετε στα ίσα.
Κανείς δεν δημοσιεύει τη δεύτερη περίπτωση, γι’ αυτό αξίζει να τη μετρήσετε στη δική σας εργασία πριν υιοθετήσετε την τεχνική. Αυτά είναι εύκολα προβλήματα δύο βημάτων για ένα μικρό μοντέλο· αυτό είναι το καθεστώς όπου η απάντηση βγαίνει έτσι.
Από το να ζητάμε στο να εκπαιδεύουμε
Σύνδεσμος στην ενότητα: Από το να ζητάμε στο να εκπαιδεύουμεΌλα μέχρι τώρα συμβαίνουν σε prompt time σε ένα μοντέλο που δεν είχε εκπαιδευτεί ειδικά για αυτό. Η μετατόπιση που παρήγαγε τη σημερινή γενιά reasoning models ήταν να μεταφερθεί αυτό στην εκπαίδευση — και το κλειδί που το έκανε δυνατό είναι πιο στενό απ’ όσο ακούγεται.
Το post-training του Κεφαλαίου 11 χρειαζόταν ανθρώπινες προτιμήσεις, επειδή το «ήταν αυτή καλή απάντηση;» δεν έχει προγραμματική απάντηση. Αλλά για ορισμένες ερωτήσεις έχει. Μια μαθηματική απάντηση είτε ισούται με τη σωστή τιμή είτε όχι. Ο κώδικας είτε περνά τα tests είτε όχι. Μια απόδειξη είτε ελέγχεται είτε όχι.
Για αυτούς τους τομείς μπορείτε να αντικαταστήσετε το reward model με έναν verifier, και όλα τα downstream βελτιώνονται μονομιάς: χωρίς annotators, χωρίς Bradley–Terry fitting, χωρίς reward hacking του είδους που μετρήθηκε στο Κεφάλαιο 11 — επειδή δεν μπορείτε να κολακέψετε ένα unit test. Αυτό είναι το reinforcement learning from verifiable rewards, και είναι το πλαίσιο για το οποίο χτίστηκε το GRPO: κάντε sample μια ομάδα προσπαθειών λύσης στο ίδιο πρόβλημα, ελέγξτε την καθεμία και χρησιμοποιήστε τη μέση βαθμολογία της ομάδας ως baseline. Χωρίς critic, χωρίς annotator, χωρίς reward model. Μόνο ένα πρόγραμμα που λέει σωστό ή λάθος.
Outcome reward. Βαθμολογεί μόνο την τελική απάντηση. Φτηνό — μια σύγκριση string — και έχει μια προφανή τρύπα: μια λύση που φτάνει στον σωστό αριθμό μέσω λάθος συλλογισμού ανταμείβεται ακριβώς όπως μια σωστή, οπότε το policy είναι ελεύθερο να μάθει πειστικές ανοησίες που τυχαίνει να προσγειώνονται σωστά.
Process reward. Βαθμολογεί κάθε βήμα. Οι Lightman et al.5 έχτισαν ένα dataset 800.000 ανθρώπινα επισημασμένων βημάτων συλλογισμού για να εκπαιδεύσουν ένα μοντέλο που το κάνει αυτό, και έδειξαν ότι υπερέχει ουσιαστικά του outcome supervision στα δύσκολα μαθηματικά. Το κόστος βρίσκεται στο όνομα: κάποιος επισήμανε 800.000 βήματα.
Το αποτέλεσμα που αναπλαισίωσε τον κλάδο ήρθε από την DeepSeek στις αρχές του 2025.6 Πήραν ένα base model και εφάρμοσαν reinforcement learning με verifiable rewards απευθείας, χωρίς πρώτα supervised fine-tuning στάδιο — το στάδιο που το Κεφάλαιο 11 παρουσιάζει ως θεμέλιο των πάντων. Μακριές αλυσίδες συλλογισμού αναδύθηκαν παρ’ όλα αυτά. Το ίδιο και συμπεριφορές για τις οποίες κανείς δεν εκπαίδευσε: το μοντέλο άρχισε να ξαναελέγχει τα δικά του βήματα και, στο πιο πολυπαραθεμένο απόσπασμα του paper, να επανεξετάζει αυθόρμητα μια προσέγγιση στη μέση της λύσης.
Η έντιμη ανάγνωση δεν είναι ότι ο συλλογισμός είναι μαγεία. Είναι ότι όταν το μόνο πράγμα που ανταμείβεται είναι το να είσαι σωστός, και το να είσαι σωστός σε ένα δύσκολο πρόβλημα απαιτεί να το δουλέψεις, τότε το να το δουλέψεις είναι αυτό που βρίσκει ο optimiser — συμπεριλαμβανομένων των μερών της εργασίας που κάνουν και οι άνθρωποι, επειδή είναι αυτά που απαιτεί το πρόβλημα και όχι αυτά που δίδαξε κάποιος.
Τα reasoning tokens είναι γραμμή στον λογαριασμό
Σύνδεσμος στην ενότητα: Τα reasoning tokens είναι γραμμή στον λογαριασμόΗ πρακτική συνέπεια όλων αυτών είναι ότι ένα reasoning model παράγει token που ζητήσατε και token που δεν ζητήσατε, και πληρώνετε και για τα δύο.
Οι providers το χειρίζονται διαφορετικά, και η διαφορά έχει σημασία:
- Τα περισσότερα APIs μετρούν τα reasoning tokens μέσα στο πλήθος των output token. Ο λογαριασμός σας και το όριο
max_tokensπεριλαμβάνουν και τη σκέψη που δεν βλέπετε ποτέ. - Το Gemini της Google αναφέρει τα thinking tokens ως ξεχωριστό πεδίο, εκτός του τυπικού πλήθους output.
Αυτό είναι πραγματική ασυμβατότητα ανάμεσα σε δύο τρόπους μέτρησης του ίδιου πράγματος, και κάθε κώδικας που υπολογίζει κόστος ή επιβάλλει budget μεταξύ providers πρέπει να το κανονικοποιεί. Το Κεφάλαιο 16 είναι εκεί όπου αυτό γίνεται χρήμα, και το Κεφάλαιο 23 εκεί όπου γίνεται budget που μπορείτε να επιβάλετε.
Η άλλη συνέπεια είναι μία συνέπεια latency που εκπλήσσει τον κόσμο την πρώτη φορά. Ο χρόνος ενός reasoning model μέχρι το πρώτο ορατό token περιλαμβάνει όλη του τη σκέψη, οπότε ένα αίτημα που δεν κάνει stream τίποτα για οκτώ δευτερόλεπτα και μετά απαντά σε ένα δεν είναι κολλημένη σύνδεση — είναι το μοντέλο που δουλεύει. Κάθε interface που δείχνει spinner χωρίς εξήγηση για οκτώ δευτερόλεπτα έχει σχεδιαστικό πρόβλημα, όχι δικτυακό.
Πότε το «think step by step» σταματά να βοηθά
Σύνδεσμος στην ενότητα: Πότε το «think step by step» σταματά να βοηθάΜια τελική προειδοποίηση, γιατί είναι ο πιο συνηθισμένος τρόπος με τον οποίο εφαρμόζεται λάθος το υλικό αυτού του κεφαλαίου.
Όλα στο πρώτο μισό είναι τεχνική για να κάνετε ένα μοντέλο που δεν εκπαιδεύτηκε να συλλογίζεται να παράγει συλλογισμό παρ’ όλα αυτά. Τα μοντέλα που εκπαιδεύτηκαν με RLVR το κάνουν ήδη: εκπέμπουν τη δική τους εργασία, στο δικό τους μήκος, πριν απαντήσουν. Το να πείτε σε ένα τέτοιο μοντέλο να σκεφτεί βήμα προς βήμα είναι στην καλύτερη περίπτωση περιττό και στη χειρότερη επιβλαβές — μπορεί να παράγει μια σύντομη, prompt-shaped αλυσίδα στη θέση της μεγαλύτερης που το μοντέλο θα είχε δημιουργήσει μόνο του, και ορισμένοι providers τεκμηριώνουν ακριβώς αυτό.
Το ίδιο ισχύει για περίτεχνα reasoning scaffolds χτισμένα σε application code. Ένα prompt που περνά ένα μοντέλο μέσα από ένα decision tree στο οποίο ήδη πλοηγείται εσωτερικά ξοδεύει τα token σας για να περιορίσει μια συμπεριφορά που έχει εκπαιδευτεί μέσα του. Αυτή είναι η πρώτη εμφάνιση ενός θέματος που διατρέχει το υπόλοιπο course: τεχνικές που ήταν απαραίτητες το 2022 έγιναν δεισιδαιμονία το 2025, και ο μόνος τρόπος να ξεχωρίσετε ποια είναι ποια για το μοντέλο σας, σήμερα, είναι να μετρήσετε και τις δύο.
Το Κεφάλαιο 15 είναι εκεί όπου αυτή η μέτρηση γίνεται πειθαρχία αντί για γνώμη.
Πού πηγαίνει αυτό στη συνέχεια
Σύνδεσμος στην ενότητα: Πού πηγαίνει αυτό στη συνέχειαΟ συλλογισμός έχει μια άβολη ιδιότητα: είναι η μία ικανότητα της οποίας το κόστος κλιμακώνεται με το πόσο δύσκολη είναι η ερώτηση. Ένα μοντέλο που σκέφτεται για εννιακόσια token κάνει εννιακόσια forward passes, κρατά μια αυξανόμενη cache στη μνήμη για όλα τους, και δεσμεύει μια GPU για όλη τη διάρκεια.
Αυτό κάνει τα οικονομικά του serving ενός reasoning model πολύ χειρότερα από το serving ενός chat model, και μετατρέπει ένα σύνολο λεπτομερειών υλοποίησης στη διαφορά ανάμεσα σε ένα βιώσιμο και ένα μη βιώσιμο προϊόν: πώς αποθηκεύεται και επαναχρησιμοποιείται η cache προηγούμενων keys και values, πόσα αιτήματα μπορούν να μοιραστούν ένα forward pass, και πόση precision χρειάζονται πραγματικά τα weights.
Το Κεφάλαιο 13 είναι το τελευταίο όπου το μοντέλο είναι αντικείμενο στη μνήμη σας αντί για υπηρεσία πίσω από ένα port, και αφορά το πώς να κάνετε αυτό το αντικείμενο αρκετά φτηνό για serving. Εξοφλεί επίσης μια υπόσχεση από αυτό το κεφάλαιο: speculative decoding, που παράγει αρκετά token περίπου στην τιμή του ενός, βάζοντας ένα μικρό μοντέλο να μαντεύει και ένα μεγάλο να ελέγχει — ένα κόλπο που βγάζει νόημα μόνο αφού έχετε δει πόσο από ένα forward pass ξοδεύεται περιμένοντας τη μνήμη αντί να κάνει αριθμητική.
Πηγές και μέθοδος
Σύνδεσμος στην ενότητα: Πηγές και μέθοδοςΌλες οι μετρήσεις σε αυτό το κεφάλαιο προέρχονται από το Qwen/Qwen2.5-0.5B-Instruct σε 24 παραγόμενα λεκτικά προβλήματα δύο βημάτων, με greedy decoding εκτός όπου δηλώνεται sampling, και με μηδέν truncated generations στα token caps που χρησιμοποιήθηκαν. Είναι αναπαραγώγιμες, και είναι ένα μικρό μοντέλο σε εύκολα προβλήματα: διαβάστε το αποτέλεσμα του self-consistency ως επίδειξη του μηχανισμού, όχι ως benchmark. Το Κεφάλαιο 18 των σημειώσεων διαλέξεων CS229 και το Κεφάλαιο 12 του Hugging Face LLM Course καλύπτουν και τα δύο αυτό το υλικό με μεγαλύτερα μοντέλα και κανονικά benchmarks.
Παραπομπές
Σύνδεσμος στην ενότητα: Παραπομπές-
Wei, J. et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903 (2022). ↩
-
Kojima, T., Gu, S. S., Reid, M., Matsuo, Y. and Iwasawa, Y. Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916 (2022). Το αποτέλεσμα «let's think step by step». ↩
-
Wang, X. et al. Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171 (2022). ↩
-
Yao, S. et al. Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601 (2023). ↩
-
Lightman, H. et al. Let's Verify Step by Step. arXiv:2305.20050 (2023). Εισάγει το PRM800K, το dataset process supervision με 800.000 βήματα. ↩
-
DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948 (2025). Το αποτέλεσμα R1-Zero — reinforcement learning εφαρμοσμένο απευθείας σε base model, χωρίς supervised fine-tuning στάδιο — βρίσκεται στην ενότητα 2.2. ↩
-
Snell, C., Lee, J., Xu, K. and Kumar, A. Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters. arXiv:2408.03314 (2024). ↩