Lewati ke konten
12/30Bab 12 dari 30

Chain of Thought, RLVR, dan Test-Time Compute, diukur

24 soal yang sama: 0% benar dalam 1,9 token, 100% benar dalam 145. Lalu self-consistency membeli ulang akurasi greedy decoding.

Di halaman ini

Dua puluh empat soal cerita dua langkah. Sebuah model kecil — setengah miliar parameter, model yang sama dari Bab 11 — diberi setiap soal dua kali.

Pertama, diminta langsung jawabannya:

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

  0 / 24 correct        1.9 tokens per answer

Lalu diminta jawabannya, dengan izin untuk mengerjakan dulu:

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

Dari nol ke seratus persen. Model yang sama, weights yang sama, soal yang sama, greedy decoding yang sama. Satu-satunya perbedaan adalah versi kedua diizinkan mengeluarkan 143 token lebih banyak sebelum berkomitmen pada sebuah angka.

Bab ini membahas celah itu: apa sebenarnya celah tersebut, seberapa jauh ia berjalan, berapa biayanya, dan apa yang terjadi ketika bidang ini berhenti memintanya di dalam prompt lalu mulai melatihnya masuk.

Model tidak berpikir. Ia menghitung lebih lama.

Tautan ke bagian: Model tidak berpikir. Ia menghitung lebih lama.

Godaan alaminya adalah mengatakan versi kedua “memikirkannya”. Tahan dulu, karena mekanismenya sekaligus lebih sederhana dan lebih berguna untuk dipahami.

Sebuah transformer melakukan jumlah komputasi yang tetap untuk setiap token yang dihasilkan. Satu forward pass: layer yang sama, matriks yang sama, jumlah operasi yang sama terlepas dari apakah pertanyaannya berapa 2+2 atau buktikan teorema ini. Tidak ada kenop di dalam model untuk “berusaha lebih keras pada yang ini”.

Jadi ketika model diminta menjawab segera, seluruh komputasi yang tersedia baginya adalah satu forward pass. Setiap besaran perantara harus muat di dalam aktivasi dari satu pass itu, dan apa pun yang tidak bisa dihitung di sana, tidak bisa dihitung.

Mengeluarkan token mengubah itu, dan mengubahnya dengan dua cara berbeda yang layak dipisahkan:

  • Lebih banyak komputasi. Setiap token yang dihasilkan adalah satu forward pass penuh lagi. Seratus empat puluh lima token pengerjaan berarti seratus empat puluh lima kali aritmetika dibanding menjawab langsung.
  • Memori yang dieksternalisasi. Token ditulis ke dalam konteks, sehingga pass berikutnya bisa membacanya. 5 × 13 = 65 menjadi fakta di input, bukan nilai yang harus disimpan model di dalam aktivasi dan dibawa maju. Model memakai output-nya sendiri sebagai scratchpad.

Poin kedua itulah yang sering luput, dan itu menjelaskan mengapa pengerjaannya harus dituliskan agar membantu. Model yang diminta “pikirkan diam-diam lalu jawab” tidak punya tempat untuk menaruh pikiran itu.

Tidak ada yang mistis di sini, dan ini menghasilkan prediksi yang tegas: chain of thought seharusnya paling membantu pada soal dengan struktur serial — ketika langkah kedua membutuhkan hasil langkah pertama — dan paling sedikit membantu pada soal yang hanya lookup tunggal. Itulah tepatnya yang ditemukan literatur, dan itulah mengapa “think step by step” tidak melakukan apa-apa untuk apa ibu kota Prancis.

Chain of thought sebagai teknik prompting

Tautan ke bagian: Chain of thought sebagai teknik prompting

Teknik ini tiba pada 2022 dalam dua bagian. Wei dkk. menunjukkan bahwa menyertakan contoh yang dikerjakan dalam prompt — demonstrasi ketika jawaban didahului penalaran — menghasilkan peningkatan besar pada benchmark aritmetika dan commonsense.1 Kojima dkk. kemudian menunjukkan sesuatu yang lebih aneh: kamu tidak membutuhkan contoh-contoh itu. Menambahkan “Let's think step by step” ke prompt zero-shot menangkap banyak peningkatan yang sama.2

Hasil kedua itulah yang memberi tahu apa yang sedang terjadi. Jika frasa ajaib membuka perilaku tersebut, perilaku itu sudah ada di dalam model — pretraining penuh dengan solusi yang dikerjakan, dan frasa itu adalah penunjuk ke wilayah distribusi tersebut. Chain of thought tidak mengajari model apa pun. Ia memilih sesuatu yang sudah dimiliki model.

Kerangka itu juga memprediksi keusangan teknik ini pada akhirnya, yang akan kita bahas kembali di akhir bab.

Self-consistency, dan hasil yang mengejutkan saya

Tautan ke bagian: Self-consistency, dan hasil yang mengejutkan saya

Langkah berikutnya yang jelas: jika satu rantai penalaran bisa salah, sample beberapa lalu ambil jawaban mayoritas. Itulah self-consistency.3 Ini jelas pengeluaran yang lebih besar — nn generasi penuh, bukan satu — dan intuisinya adalah jawaban yang salah menyebar sementara yang benar sepakat.

Diukur pada 16 soal yang sama, sampling pada temperature 0.8, majority vote atas nn rantai:

nnakurasitoken kumulatiftoken per soal
181%2.952185
281%5.618351
3100%8.417526
4100%11.103694
5100%13.933871

Enam belas soal adalah penyebut yang kecil, dan aturan Bab 4 berlaku untuk tabel ini sama seperti untuk tabel lainnya. 13 dari 16 adalah 81% dengan interval Wilson 95% sebesar [57, 93]; 16 dari 16 adalah 100% dengan [81, 100]. Keduanya tumpang tindih. Baca bentuk kurvanya, itulah temuannya; jangan baca anak tangga persis tempat ia mendatar, yang tidak bisa ditentukan oleh enam belas soal.

Ada dua hal dalam tabel itu, dan hal kedua bukan yang saya duga.

Kurva mendatar pada n=3n = 3. Pada sample ketiga, akurasi sudah mencapai plafonnya dan dua sample tersisa tidak membeli apa pun sambil tetap menghabiskan masing-masing 172 token, 345 jika digabungkan. Itulah bentuk setiap kurva self-consistency yang dilaporkan di literatur, dan itu jauh lebih awal daripada bingkai “lebih banyak sample berarti lebih baik” yang tersirat.

Dan greedy decoding sudah berada di 100%. Lihat kembali bagian atas bab: satu rantai, tanpa sampling, 145 token, 24/24. Sampling pada temperature 0.8 menurunkan akurasi ke 81%, dan self-consistency membutuhkan tiga generasi untuk naik kembali ke posisi yang sudah dicapai satu greedy pass — dengan 3,6 kali token, atau enam kali jika kamu menjalankan sweep sampai lima tanpa tahu di mana ia mendatar.

Itu bukan argumen melawan self-consistency. Itu adalah pernyataan presisi tentang apa yang dilakukannya: temperature membeli keragaman dengan menyuntikkan kesalahan, dan voting menghapus kesalahan yang baru saja disuntikkannya. Pada soal ketika greedy decoding gagal — ketika rantai yang paling mungkin secara tunggal mengarah ke tempat yang salah dan rantai yang kurang mungkin justru benar — trade-off itu membayar, dan itulah mengapa teknik ini ada. Pada soal ketika greedy sudah berhasil, ini adalah cara menghabiskan enam kali budget untuk impas.

Tidak ada yang menerbitkan kasus kedua, karena itulah kasus tersebut layak diukur pada task kamu sendiri sebelum mengadopsi teknik ini. Ini adalah soal dua langkah yang mudah untuk model kecil; itulah rezim ketika jawabannya keluar seperti ini.

Semua sejauh ini terjadi pada waktu prompt di model yang tidak pernah secara khusus dilatih untuk itu. Pergeseran yang menghasilkan generasi model reasoning saat ini adalah memindahkannya ke training — dan kunci yang membuatnya mungkin lebih sempit daripada kedengarannya.

Post-training di Bab 11 membutuhkan preferensi manusia, karena “apakah ini jawaban yang bagus?” tidak punya jawaban programatik. Tetapi untuk beberapa pertanyaan, jawabannya ada. Jawaban matematika entah sama dengan nilai yang benar atau tidak. Code entah lulus test atau tidak. Bukti entah lolos pengecekan atau tidak.

Untuk domain-domain itu, kamu bisa mengganti reward model dengan verifier, dan semua hal setelahnya langsung menjadi lebih baik: tanpa anotator, tanpa fitting Bradley–Terry, tanpa reward hacking jenis yang diukur di Bab 11 — karena kamu tidak bisa merayu unit test. Ini adalah reinforcement learning from verifiable rewards, dan inilah setting yang menjadi alasan GRPO dibangun: sample sekelompok upaya solusi untuk soal yang sama, cek masing-masing, lalu gunakan skor rata-rata grup sebagai baseline. Tanpa critic, tanpa anotator, tanpa reward model. Hanya program yang mengatakan benar atau salah.

Outcome reward. Beri skor hanya pada jawaban akhir. Murah — perbandingan string — dan punya lubang yang jelas: solusi yang mencapai angka benar melalui penalaran yang salah diberi reward persis seperti solusi yang benar, sehingga policy bebas belajar omong kosong yang tampak masuk akal dan kebetulan mendarat tepat.

Process reward. Beri skor pada setiap langkah. Lightman dkk.5 membangun dataset berisi 800.000 langkah penalaran berlabel manusia untuk melatih model yang melakukan ini, dan menunjukkan bahwa hasilnya jauh mengungguli outcome supervision pada matematika sulit. Biayanya ada di namanya: seseorang melabeli 800.000 langkah.

Hasil yang membingkai ulang bidang ini datang dari DeepSeek pada awal 2025.6 Mereka mengambil base model dan menerapkan reinforcement learning with verifiable rewards secara langsung, tanpa tahap supervised fine-tuning terlebih dahulu — tahap yang disajikan Bab 11 sebagai fondasi segalanya. Rantai penalaran panjang tetap muncul. Begitu juga perilaku yang tidak pernah dilatih siapa pun: model mulai memeriksa ulang langkahnya sendiri dan, dalam kutipan paling terkenal dari paper itu, secara spontan mempertimbangkan ulang sebuah pendekatan di tengah solusi.

Pembacaan yang jujur bukanlah bahwa reasoning itu ajaib. Melainkan bahwa ketika satu-satunya hal yang diberi reward adalah menjadi benar, dan menjadi benar pada soal sulit membutuhkan pengerjaan bertahap, maka pengerjaan bertahap itulah yang ditemukan optimizer — termasuk bagian-bagian dari pengerjaan bertahap yang juga dilakukan manusia, karena bagian-bagian itu adalah tuntutan masalahnya, bukan karena ada yang mengajarkannya.

Reasoning token adalah baris di tagihan

Tautan ke bagian: Reasoning token adalah baris di tagihan

Konsekuensi praktis dari semua ini adalah model reasoning menghasilkan token yang kamu minta dan token yang tidak kamu minta, dan kamu membayar keduanya.

Provider menangani ini secara berbeda, dan perbedaannya penting:

  • Sebagian besar API menghitung reasoning token di dalam jumlah output token. Tagihanmu dan limit max_tokens-mu sama-sama mencakup thinking yang tidak pernah kamu lihat.
  • Gemini milik Google melaporkan thinking token sebagai field terpisah, di luar jumlah output standar.

Itu adalah inkompatibilitas nyata antara dua cara menghitung hal yang sama, dan code apa pun yang menghitung biaya atau menegakkan budget lintas provider harus menormalkannya. Bab 16 adalah tempat hal itu menjadi uang, dan Bab 23 tempat hal itu menjadi budget yang bisa kamu tegakkan.

Konsekuensi lainnya adalah soal latensi yang mengejutkan orang pada pengalaman pertama. Waktu model reasoning sampai token terlihat pertama mencakup seluruh thinking-nya, jadi request yang tidak streaming apa pun selama delapan detik lalu menjawab dalam satu detik bukanlah koneksi yang hang — itu model sedang bekerja. Interface apa pun yang menampilkan spinner tanpa penjelasan selama delapan detik punya masalah desain, bukan masalah jaringan.

Ketika “think step by step” berhenti membantu

Tautan ke bagian: Ketika “think step by step” berhenti membantu

Peringatan penutup, karena ini cara paling umum materi bab ini diterapkan secara keliru.

Semua di paruh pertama adalah teknik untuk membuat model yang tidak dilatih untuk bernalar tetap menghasilkan penalaran. Model yang dilatih dengan RLVR sudah melakukannya: mereka mengeluarkan pengerjaannya sendiri, dengan panjangnya sendiri, sebelum menjawab. Menyuruh model seperti itu untuk think step by step paling banter redundan dan paling buruk merugikan — ini bisa menghasilkan rantai pendek berbentuk prompt sebagai pengganti rantai lebih panjang yang akan dihasilkan model dengan sendirinya, dan beberapa provider mendokumentasikan persis hal ini.

Hal yang sama berlaku untuk scaffolding reasoning rumit yang dibangun di code aplikasi. Prompt yang menuntun model melalui decision tree yang sudah ia navigasi secara internal menghabiskan token kamu untuk membatasi perilaku yang sudah dilatih masuk. Ini adalah kemunculan pertama dari tema yang berjalan di sisa kursus ini: teknik yang esensial pada 2022 menjadi takhayul pada 2025, dan satu-satunya cara mengetahui mana yang mana untuk modelmu, hari ini, adalah mengukur keduanya.

Bab 15 adalah tempat pengukuran itu menjadi disiplin, bukan opini.

Reasoning punya sifat yang tidak nyaman: ia adalah satu kemampuan yang biayanya berskala mengikuti seberapa sulit pertanyaannya. Model yang berpikir selama sembilan ratus token melakukan sembilan ratus forward pass, menjaga cache yang terus tumbuh di memori untuk semuanya, dan menahan GPU selama durasi tersebut.

Itu membuat ekonomi serving model reasoning jauh lebih buruk daripada serving model chat, dan mengubah serangkaian detail implementasi menjadi perbedaan antara produk yang layak dan yang tidak layak: bagaimana cache dari key dan value masa lalu disimpan dan digunakan ulang, berapa banyak request yang bisa berbagi satu forward pass, dan seberapa banyak precision yang sebenarnya dibutuhkan weights.

Bab 13 adalah bab terakhir ketika model masih berupa objek di memorimu, bukan service di balik port, dan bab itu membahas cara membuat objek tersebut cukup murah untuk disajikan. Bab itu juga menunaikan janji dari bab ini: speculative decoding, yang menghasilkan beberapa token dengan kira-kira harga satu token dengan meminta model kecil menebak dan model besar mengecek — trik yang baru masuk akal setelah kamu melihat seberapa banyak forward pass dihabiskan untuk menunggu memori, bukan melakukan aritmetika.


Semua pengukuran dalam bab ini berasal dari Qwen/Qwen2.5-0.5B-Instruct pada 24 soal cerita dua langkah yang dihasilkan, greedy decoding kecuali ketika sampling dinyatakan, dengan nol generasi terpotong pada batas token yang digunakan. Pengukuran ini reproducible, dan ini model kecil pada soal mudah: baca hasil self-consistency sebagai demonstrasi mekanisme, bukan sebagai benchmark. Bab 18 dari catatan kuliah CS229 dan bab 12 dari Hugging Face LLM Course sama-sama membahas materi ini dengan model yang lebih besar dan benchmark yang tepat.

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

  2. Kojima, T., Gu, S. S., Reid, M., Matsuo, Y. dan Iwasawa, Y. Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916 (2022). Hasil “let's think step by step”.

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

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

  5. Lightman, H. dkk. Let's Verify Step by Step. arXiv:2305.20050 (2023). Memperkenalkan PRM800K, dataset process supervision 800.000 langkah.

  6. DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948 (2025). Hasil R1-Zero — reinforcement learning yang diterapkan langsung ke base model, tanpa tahap supervised fine-tuning — ada di bagian 2.2.

  7. Snell, C., Lee, J., Xu, K. dan Kumar, A. Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters. arXiv:2408.03314 (2024).


Dibuat oleh

David Vicente Campos

Pendiri NeuraLIA Labs & salah satu pendiri MyRealFood

Saya seorang insinyur komputer lulusan Universitas León. Saya ikut mendirikan MyRealFood, tempat saya sebagai CTO membangun aplikasi yang telah digunakan jutaan orang untuk makan lebih sehat, dan saya mendirikan NeuraLIA Labs, tempat saya membangun produk AI. Di sini saya menulis tentang hal-hal yang harus saya pahami sepanjang perjalanan, sebagaimana dulu saya berharap ada yang menjelaskannya kepada saya.

Selengkapnya tentang penulis

Diterbitkan oleh NeuraLIA Labs.

Dapatkan postingan baru di inbox kamu

Berita AI, panduan, dan update produk — email singkat saat kami menerbitkan sesuatu yang layak kamu baca.

Indeks kursus

Abstract software decision engine with branching paths, probability nodes, and glowing gates.
jev11 menit baca

Model AI Jev dibuat untuk keputusan, bukan prosa

Jev dari TypeSafe AI menarik perhatian karena memperlakukan kecerdasan software sebagai persoalan probabilitas: pilih cabang yang tepat, sertakan keyakinan, dan hindari membayar LLM untuk menulis teks saat kode membutuhkan keputusan.

Abstract agent runtime sorting documents, memory blocks and pointer nodes inside a bounded context frame.
context-engineering11 menit baca

Rekayasa konteks untuk agen AI jangka panjang

Agen yang berjalan lama tidak gagal hanya karena window-nya kecil. Mereka gagal ketika file, output tool, dan riwayat lama menggeser tugas yang seharusnya diselesaikan agen.

Siap membiarkan LIA yang memilih?

Berkarya dengan semua model AI dalam satu tempat — mulai gratis hari ini.