Ves al contingut
12/30Capítol 12 de 30

Chain of Thought, RLVR i Test-Time Compute, mesurats

Els mateixos 24 problemes: 0 % d’encerts en 1,9 tokens, 100 % en 145. Després, self-consistency recupera precisió que greedy ja tenia.

En aquesta pàgina

Vint-i-quatre problemes enunciats de dos passos. A un model petit —500 milions de paràmetres, el mateix del capítol 11— se li pregunta cadascun dues vegades.

Primer, se li demana la resposta:

TEXT
"...How many bolts are left?  Reply with only the final number, nothing else."

  0 / 24 correct        1.9 tokens per answer

Després se li demana la resposta, amb permís per treballar abans:

TEXT
"...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

De zero al cent per cent. Mateix model, mateixos pesos, mateixos problemes, mateixa descodificació greedy. L’única diferència és que a la segona versió se li va permetre emetre 143 tokens més abans de comprometre’s amb un número.

Aquest capítol tracta d’aquest buit: què és realment, fins on arriba, què costa i què va passar quan el camp va deixar de demanar-lo al prompt i va començar a entrenar-lo dins del model.

La temptació és dir que la segona versió «hi va pensar». Resisteix-t’hi, perquè el mecanisme és alhora més simple i més útil de conèixer.

Un transformer fa una quantitat fixa de càlcul per cada token generat. Un forward pass: les mateixes capes, les mateixes matrius, el mateix nombre d’operacions tant si la pregunta és quant fa 2+2 com si és demostra aquest teorema. Dins del model no hi ha cap dial per a «esforça’t més en aquesta».

Així, quan a un model se li demana una resposta immediatament, tot el càlcul que té disponible és un sol forward pass. Totes les quantitats intermèdies han de cabre en les activacions d’aquell únic pass, i qualsevol cosa que no hi pugui calcular, no la pot calcular.

Emetre tokens canvia això, i ho canvia de dues maneres diferents que val la pena separar:

  • Més càlcul. Cada token generat és un altre forward pass complet. Cent quaranta-cinc tokens de treball són cent quaranta-cinc vegades l’aritmètica de respondre directament.
  • Memòria externalitzada. Els tokens s’escriuen al context, de manera que el pass següent els pot llegir. 5 × 13 = 65 esdevé un fet a l’input, no un valor que el model hagi de mantenir en una activació i arrossegar endavant. El model fa servir la seva pròpia sortida com a esborrany.

Aquest segon punt és el que la gent passa per alt, i explica per què el treball s’ha d’escriure perquè ajudi. Un model al qual se li demana «pensa-hi en silenci i després respon» no té on posar el pensament.

Res d’això no requereix res místic, i fa una predicció clara: chain of thought hauria d’ajudar sobretot en problemes amb estructura serial —on el segon pas necessita el resultat del primer— i menys en problemes que són una simple consulta. Això és exactament el que troba la literatura, i és per això que «pensa pas a pas» no fa res per a quina és la capital de França.

La tècnica va arribar el 2022 en dues peces. Wei et al. van mostrar que incloure exemples resolts al prompt —demostracions en què la resposta va precedida de raonament— produïa grans guanys en benchmarks d’aritmètica i sentit comú.1 Kojima et al. van mostrar després una cosa més estranya: no calen els exemples. Afegir «Let's think step by step» a un prompt zero-shot captura bona part del mateix guany.2

El segon resultat és el que et diu què està passant. Si una frase màgica desbloqueja el comportament, el comportament ja era dins del model: el pretraining és ple de solucions treballades, i la frase és un punter cap a aquella regió de la distribució. Chain of thought no va ensenyar res al model. Va seleccionar una cosa que el model ja tenia.

Aquest enquadrament també prediu l’obsolescència eventual de la tècnica, a la qual tornarem al final del capítol.

Self-consistency, i un resultat que em va sorprendre

Enllaç a la secció: Self-consistency, i un resultat que em va sorprendre

El pas següent obvi: si una cadena de raonament pot ser errònia, mostra’n diverses i pren la resposta majoritària. Això és self-consistency.3 És una despesa estrictament més gran —nn generacions completes en lloc d’una— i la intuïció és que les respostes errònies es dispersen mentre que les correctes coincideixen.

Mesurat en 16 dels mateixos problemes, mostrejant a temperature 0,8, vot majoritari sobre nn cadenes:

nnprecisiótokens acumulatstokens per problema
181 %2.952185
281 %5.618351
3100 %8.417526
4100 %11.103694
5100 %13.933871

Setze problemes és un denominador petit, i la regla del capítol 4 s’aplica a aquesta taula tant com a qualsevol altra. 13 de 16 és 81 % amb un interval de Wilson del 95 % de [57, 93]; 16 de 16 és 100 % amb [81, 100]. Se solapen. Llegeix la forma de la corba, que és la troballa; no l’esglaó exacte on s’aplana, que setze problemes no poden localitzar.

Hi ha dues coses en aquesta taula, i la segona no és la que jo esperava.

La corba s’aplana a n=3n = 3. A la tercera mostra, la precisió ja és al sostre i les dues mostres restants no compren res mentre costen 172 tokens cadascuna, 345 entre totes dues. Aquesta és la forma de totes les corbes de self-consistency reportades a la literatura, i arriba molt abans del que suggereix el marc «més mostres és més millor».

I la descodificació greedy ja era al 100 %. Torna al principi del capítol: una cadena, sense sampling, 145 tokens, 24/24. Mostrejar a temperature 0,8 va baixar la precisió al 81 %, i self-consistency va necessitar tres generacions per tornar a pujar fins on ja era un sol pass greedy: a 3,6 vegades els tokens, o sis vegades si executes l’escombratge fins a cinc sense saber on s’aplana.

Això no és un argument contra self-consistency. És una afirmació precisa del que fa: temperature compra diversitat injectant errors, i la votació elimina els errors que acaba d’injectar. En problemes on la descodificació greedy falla —on la cadena més probable porta a un lloc equivocat i una de menys probable és correcta—, aquest intercanvi compensa, i per això existeix la tècnica. En problemes on greedy ja funciona, és una manera de gastar sis vegades el pressupost per quedar igual.

Ningú no publica el segon cas, i per això val la pena mesurar-ho en la teva pròpia tasca abans d’adoptar la tècnica. Aquests són problemes fàcils de dos passos per a un model petit; aquest és el règim en què la resposta surt així.

Tot el que hem vist fins ara passa en temps de prompt sobre un model que mai no va ser entrenat específicament per fer-ho. El canvi que va produir la generació actual de models de raonament va ser traslladar-ho a l’entrenament, i la clau que ho va fer possible és més estreta del que sembla.

El post-training del capítol 11 necessitava preferències humanes, perquè «aquesta era una bona resposta?» no té cap resposta programàtica. Però per a algunes preguntes sí que en té. Una resposta matemàtica o bé és igual al valor correcte o bé no ho és. El codi o bé passa els tests o bé no els passa. Una prova o bé verifica o bé no.

Per a aquests dominis pots substituir el model de recompensa per un verificador, i tot el que ve després millora de cop: sense anotadors, sense ajust Bradley–Terry, sense reward hacking del tipus mesurat al capítol 11, perquè no pots afalagar un test unitari. Això és aprenentatge per reforç a partir de recompenses verificables, i és l’escenari per al qual es va construir GRPO: mostrejar un grup d’intents de solució al mateix problema, comprovar-ne cadascun i fer servir la puntuació mitjana del grup com a baseline. Sense crític, sense anotador, sense model de recompensa. Només un programa que diu correcte o incorrecte.

Recompensa de resultat. Puntua només la resposta final. Barat —una comparació de cadenes— i té un forat evident: una solució que arriba al número correcte amb un raonament equivocat rep exactament la mateixa recompensa que una de correcta, de manera que la policy és lliure d’aprendre disbarats versemblants que, per casualitat, hi arriben.

Recompensa de procés. Puntua cada pas. Lightman et al.5 van construir un dataset de 800.000 passos de raonament etiquetats per humans per entrenar un model que fa això, i van mostrar que supera substancialment la supervisió de resultat en matemàtiques difícils. El cost és al nom: algú va etiquetar 800.000 passos.

El resultat que va reformular el camp va venir de DeepSeek a principis de 2025.6 Van agafar un model base i hi van aplicar aprenentatge per reforç amb recompenses verificables directament, sense cap etapa prèvia de fine-tuning supervisat: l’etapa que el capítol 11 presenta com el fonament de tot. Tot i així, van emergir llargues cadenes de raonament. També ho van fer comportaments que ningú no havia entrenat: el model va començar a revisar els seus propis passos i, en el passatge més citat de l’article, a reconsiderar espontàniament un enfocament a mitja solució.

La lectura honesta no és que el raonament sigui màgia. És que quan l’únic que es recompensa és encertar, i encertar un problema difícil exigeix treballar-lo, treballar-lo és el que troba l’optimitzador, incloses les parts de treballar-lo que els humans també fan, perquè són el que el problema exigeix i no el que algú hagi ensenyat.

Els reasoning tokens són una línia a la factura

Enllaç a la secció: Els reasoning tokens són una línia a la factura

La conseqüència pràctica de tot això és que un model de raonament produeix tokens que has demanat i tokens que no has demanat, i pagues per tots dos.

Els proveïdors ho gestionen de maneres diferents, i la diferència importa:

  • La majoria d’APIs compten els reasoning tokens dins del recompte de tokens de sortida. La teva factura i el teu límit max_tokens inclouen tots dos el pensament que no veus mai.
  • Gemini de Google informa dels thinking tokens com un camp separat, fora del recompte estàndard de sortida.

Aquesta és una incompatibilitat real entre dues maneres de comptar la mateixa cosa, i qualsevol codi que calculi costos o imposi un pressupost entre proveïdors l’ha de normalitzar. El capítol 16 és on això es converteix en diners, i el capítol 23, on es converteix en un pressupost que pots aplicar.

L’altra conseqüència és de latència, i sorprèn la gent la primera vegada. El temps fins al primer token visible d’un model de raonament inclou tot el seu pensament, de manera que una petició que no transmet res durant vuit segons i després respon en un no és una connexió penjada: és el model treballant. Qualsevol interfície que mostri un spinner sense explicació durant vuit segons té un problema de disseny, no de xarxa.

Un avís final, perquè és la manera més habitual d’aplicar malament el material d’aquest capítol.

Tot el que hi ha a la primera meitat és una tècnica per fer que un model que no va ser entrenat per raonar produeixi raonament igualment. Els models entrenats amb RLVR ja ho fan: emeten el seu propi treball, amb la seva pròpia longitud, abans de respondre. Dir-li a un model així que pensi pas a pas és, en el millor dels casos, redundant i, en el pitjor, perjudicial: pot produir una cadena curta amb forma de prompt en lloc de la més llarga que el model hauria generat pel seu compte, i alguns proveïdors documenten exactament això.

El mateix s’aplica a bastides de raonament elaborades construïdes en el codi de l’aplicació. Un prompt que guia un model per un arbre de decisió que ja navega internament està gastant els teus tokens per constrènyer un comportament que ja va ser entrenat. Aquesta és la primera aparició d’un tema que travessa la resta del curs: tècniques que eren essencials el 2022 es van convertir en superstició el 2025, i l’única manera de saber quina és quina per al teu model, avui, és mesurar totes dues.

El capítol 15 és on aquesta mesura es converteix en una disciplina i no en una opinió.

El raonament té una propietat incòmoda: és l’única capacitat el cost de la qual escala amb la dificultat de la pregunta. Un model que pensa durant nou-cents tokens fa nou-cents forward passes, manté una cache creixent en memòria per a tots ells i reté una GPU durant tota la durada.

Això fa que l’economia de servir un model de raonament sigui clarament pitjor que servir un model de xat, i converteix un conjunt de detalls d’implementació en la diferència entre un producte viable i un d’inviable: com s’emmagatzema i es reutilitza la cache de claus i valors passats, quantes peticions poden compartir un forward pass i quanta precisió necessiten realment els pesos.

El capítol 13 és l’últim en què el model és un objecte a la teva memòria i no un servei darrere d’un port, i tracta de fer que aquest objecte sigui prou barat de servir. També cobra una promesa d’aquest capítol: descodificació especulativa, que produeix diversos tokens per aproximadament el preu d’un fent que un model petit endevini i un de gran comprovi, un truc que només té sentit un cop has vist quina part d’un forward pass es gasta esperant memòria en lloc de fer aritmètica.


Totes les mesures d’aquest capítol provenen de Qwen/Qwen2.5-0.5B-Instruct sobre 24 problemes enunciats de dos passos generats, descodificació greedy excepte on s’indica sampling, amb zero generacions truncades als límits de token utilitzats. Són reproduïbles, i són un model petit sobre problemes fàcils: llegeix el resultat de self-consistency com una demostració del mecanisme, no com un benchmark. El capítol 18 dels apunts de classe de CS229 i el capítol 12 del Hugging Face LLM Course cobreixen tots dos aquest material amb models més grans i benchmarks adequats.

  1. Wei, J. et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903 (2022).

  2. Kojima, T., Gu, S. S., Reid, M., Matsuo, Y. and Iwasawa, Y. Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916 (2022). El resultat de «let's think step by step».

  3. Wang, X. et al. Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171 (2022).

  4. Yao, S. et al. Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601 (2023).

  5. Lightman, H. et al. Let's Verify Step by Step. arXiv:2305.20050 (2023). Introdueix PRM800K, el dataset de supervisió de procés de 800.000 passos.

  6. DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948 (2025). El resultat R1-Zero —aprenentatge per reforç aplicat directament a un model base, sense cap etapa de fine-tuning supervisat— és a la secció 2.2.

  7. 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).

A punt per deixar que triï LIA?

Crea amb tots els models d'IA en un sol lloc — comença gratis avui mateix.