- Quiet-STaR adalah metode yang melatih model bahasa untuk menghasilkan alasan internal sebelum berbicara, dengan menggunakan teks web umum sebagai sinyal pelatihan alih-alih dataset QA dengan jawaban pasti
- Jika STaR sebelumnya memilih dan melatih hanya alasan yang mengarah ke jawaban benar, Quiet-STaR memberi penghargaan pada alasan yang meningkatkan prediksi teks masa depan, sehingga memanfaatkan penalaran implisit dalam teks tak terstruktur
- Pada setiap posisi token, alasan diambil secara paralel, lalu prediksi dengan dan tanpa alasan dicampurkan agar model belajar ke arah yang lebih baik dalam menebak teks berikutnya yang sebenarnya
- Hasil continued pretraining Mistral 7B dengan OpenWebMath dan C4 menunjukkan peningkatan akurasi tanpa fine-tuning per tugas: GSM8K 5.9%→10.9%, CommonsenseQA 36.3%→47.2%
- Efeknya lebih besar pada token yang sulit diprediksi, dan ada kecenderungan bahwa semakin panjang jumlah token yang dipakai untuk pemikiran internal, semakin besar pula peningkatan kemampuan penalaran langsung
Menggunakan teks umum sebagai target pembelajaran penalaran
- Saat manusia menulis atau berbicara, mereka berhenti sejenak untuk berpikir, dan banyak makna dalam teks terletak pada alasan serta implikasi yang tidak diungkapkan di antara kalimat
- Pendekatan yang berfokus pada penalaran sebelumnya terutama berkonsentrasi pada menjawab pertanyaan atau menyelesaikan tugas agen, tetapi Quiet-STaR memandang bahwa penalaran hadir secara implisit di hampir semua tulisan
- Contoh penalaran implisit meliputi
- langkah antara yang tidak dinyatakan dalam pembuktian
- teori untuk memperkirakan keadaan mental lawan bicara dalam percakapan
Memperluas STaR ke language modeling
- STaR(Self-Taught Reasoner) adalah metode yang, pada dataset tanya-jawab, mengambil sampel alasan berdasarkan sedikit contoh lalu hanya melatih alasan yang mengarah ke jawaban benar agar model dapat berulang kali menyelesaikan masalah yang lebih sulit
- STaR memiliki keterbatasan karena bergantung pada data yang dikurasi dengan cermat seperti dataset QA berkualitas tinggi
- Dataset seperti ini hanya dapat memuat tugas penalaran tertentu
- Dalam beberapa kasus, perlu menyediakan alasan itu sendiri atau menyediakan tugas penalaran tertentu
- Quiet-STaR melatih model bahasa, bukan pada tugas spesifik seperti QA matematika tertentu, melainkan agar menghasilkan alasan yang membantu menalar teks masa depan dari teks internet berskala besar
- Pendekatan ini dibangun di atas intuisi paradigma language modeling bahwa “model bahasa adalah pembelajar multitugas tanpa supervisi”
Prosedur pelatihan: think, talk, learn
- Quiet-STaR bekerja dalam tiga tahap
- think: menghasilkan alasan secara paralel setelah setiap token dalam teks untuk menjelaskan teks masa depan
- talk: mencampurkan prediksi token berikutnya ketika ada alasan dan ketika tidak ada alasan
- learn: dengan reward berbasis REINFORCE, meningkatkan likelihood alasan yang membantu prediksi teks masa depan dan membuang alasan yang merugikan
- Selama pelatihan, untuk satu thought, model menandai awal dan akhir pemikiran dengan meta token yang dapat dipelajari seperti
STARTdanEND - Setelah membuat alasan, mixing head menentukan seberapa besar prediksi berbasis alasan itu akan tercermin pada prediksi token masa depan
Tantangan implementasi untuk membuat model berpikir pada semua token
- Pada teks umum, alasan harus dihasilkan untuk setiap token sehingga biaya komputasinya tinggi
- Untuk menguranginya, diusulkan dan diimplementasikan algoritme sampling paralel per token yang menghasilkan alasan di semua posisi token dalam string
- Masalah bahwa model bahasa pada awalnya belum tahu cara menghasilkan atau menggunakan pemikiran internal juga ditangani
- Diperkenalkan meta token kustom yang menandakan awal dan akhir pemikiran
- Model belajar kapan harus menghasilkan alasan dan kapan harus memprediksi berdasarkan alasan tersebut
- Untuk menghindari pelatihan yang rabun dan hanya melihat satu token berikutnya, digunakan non-myopic loss yang mencakup beberapa token ke depan
- Dengan teknik teacher-forcing yang diperluas, prediksi melampaui satu token berikutnya juga dimasukkan ke dalam pembelajaran
Pengaturan eksperimen dan hasil
- Eksperimen dilakukan dengan menerapkan Quiet-STaR pada Mistral 7B
- Untuk continued pretraining digunakan dataset teks web OpenWebMath dan C4(Colossal Clean Crawled Corpus)
- Kinerja penalaran langsung zero-shot meningkat tanpa fine-tuning per tugas
- GSM8K: 5.9%→10.9%
- CommonsenseQA: 36.3%→47.2%
- Baik pada GSM8K maupun CommonsenseQA, peningkatan kinerja bertambah secara konsisten seiring bertambah panjangnya token pemikiran yang digunakan selama pelatihan Quiet-STaR
- Pada teks alami, perplexity membaik untuk token yang sulit diprediksi
- Alasan yang dihasilkan terutama memberi bantuan yang jauh lebih besar secara tidak seimbang pada token yang sulit diprediksi
Kontribusi Quiet-STaR
- Quiet-STaR menggeneralisasi STaR agar belajar penalaran dari berbagai data teks tak terstruktur, bukan dari tugas penalaran terkurasi
- Dengan algoritme sampling paralel, prosedur pelatihan diperluas agar skalabel untuk menghasilkan alasan di semua posisi token dalam string yang diberikan
- Meta token kustom yang menandakan awal dan akhir pemikiran digunakan agar model mempelajari timing pembuatan alasan dan prediksi berbasis alasan
- mixing head secara pascahoc menentukan seberapa besar prediksi token berikutnya dari thought tertentu akan tercermin pada prediksi saat ini
- Loss language modeling yang mencakup beberapa token ke depan meningkatkan efektivitas pemikiran
- Di berbagai tugas, penggunaan pemikiran membuat model lebih baik memprediksi token sulit dibanding model yang dilatih dengan teks web yang sama, dan peningkatannya makin besar pada thought yang lebih panjang
1 komentar
Komentar Hacker News
Misalnya, secara intuitif tampak jelas bahwa jaringan sedalam 50 lapis hanya bisa melakukan sekitar 50 langkah penalaran untuk pertanyaan simbolik
Yang tampak lebih kompleks adalah karena model menjalankan 50 langkah itu dalam satu atau lebih subruang yang dipelajarinya, dan satu “langkah” tersebut bisa saja melakukan lebih banyak pekerjaan daripada satu langkah manusia
Manusia bisa bernalar lebih jauh dari itu, tetapi untuk melakukannya biasanya perlu benar-benar berpikir dan merenung, dan kadang perlu buku catatan
Cukup menakjubkan bila kita mengharapkan ChatGPT melakukan perkalian 4 digit dengan akurat tanpa “kertas” atau pemikiran apa pun, dan kenyataannya tidak banyak orang juga yang bisa menghitung seperti itu di kepala
Dalam contoh itu, ada 50 langkah per sekali eksekusi model, dan model dijalankan sekali untuk setiap token output
Jadi menghitung seberapa banyak model benar-benar bisa “berpikir” menjadi lebih rumit
Tentu saja, setelah sebuah token dikeluarkan, dalam pengaturan default model memang berkomitmen pada token itu, tetapi itu tidak berarti model berhenti “berpikir” saat menghasilkan token-token berikutnya
Konteks dan token output sebelumnya adalah input untuk langkah model berikutnya, jadi itu bisa dianggap sebagai buku catatan yang dimaksud
Hasil eksperimennya menyiratkan bahwa model bahasa besar berbasis transformer cenderung menyelesaikan penalaran komposisional multilangkah dengan mereduksinya menjadi pencocokan subgraf yang dilinearkan, alih-alih menyelesaikannya dengan kemampuan pemecahan masalah sistematis
Selain itu, melalui argumen teoretis tentang masalah penalaran abstrak multilangkah, makalah ini menunjukkan bahwa kinerja generasi autoregresif dapat turun dengan cepat seiring meningkatnya kompleksitas tugas
Dengan asumsi pitanya tidak habis, tidak ada alasan model bahasa besar harus terbatas hanya pada operasi sederhana
Bahkan jika mempertimbangkan fakta bahwa model itu autoregresif, penjelasan itu tetap kurang cocok
Edsger Dijkstra memiliki gaya bahasa Inggris yang sangat presisi, dan menurutku ia menggunakan bahasa Inggris lebih baik daripada banyak penutur asli, padahal bahasa ibunya adalah Belanda
Dalam salah satu EWD, ia mengenang bahwa saat kecil ia diajari untuk “jangan mulai berbicara sebelum tahu bagaimana akan mengakhiri kalimat”
Rasanya ada hubungan sebab-akibat di antara dua pengamatan ini
Aku penasaran bagaimana ia melakukannya, lalu suatu hari kami makan siang bersama dan ia menjelaskannya dengan serius
Ia mengatakan bahwa ia tidak pernah mengucapkan satu kalimat pun sebelum terlebih dahulu mengatakannya lengkap di dalam kepala, memikirkan kata-katanya beberapa kali sambil merapikan kalimat, lalu membayangkan bagaimana lawan bicara akan merespons, dan hanya berbicara jika respons yang diinginkan sudah terlihat jelas
Nasihat itu sekaligus seperti menunjukkan tepat pada kebiasaanku berbicara tanpa pikir panjang, dan rasanya ia membaca serta menjawab pertanyaan yang bahkan tidak kutanyakan
Saat kucoba, hasilnya memang sebanding dengan usaha yang dikeluarkan, tetapi aku tidak pernah berhasil menjadikannya kebiasaan, dan sampai sekarang mulutku masih sering lebih cepat daripada pikiranku
Dulu aku pernah mencoba secara obsesif memikirkan apa yang akan kukatakan sebelum berbicara, dan meskipun aku memang canggung secara sosial, itu sama sekali tidak membantu
Aku suka menulis karena sifatnya asinkron sehingga aku bisa merapikan dan memperbaiki pikiran dengan tepat, tetapi dalam situasi sosial hal seperti itu justru jadi hambatan besar
Kedua, berbicara dalam bahasa yang bukan bahasa ibu membuat kita berpikir lebih dalam tentang apa yang akan kita katakan. Ungkapan idiomatik jadi berkurang, fokus kita lebih pada apakah makna tersampaikan dengan benar, dan kita tampaknya juga lebih peka terhadap kemungkinan menyinggung lawan bicara
Ini juga bukan hal baru. Bidang seperti sains pun banyak dijalankan dalam bahasa yang bukan bahasa ibu para penelitinya, seperti Prancis, Jerman, atau Latin
Selain itu, istilah teknis per bidang juga berperan. Jika aku begitu saja mengatakan, “Kubernetes is een open-bron houder orkestratiesysteem voor het automatiseren van de inzet, schalen, en het beheer van zachte waren”, setengah audiens penutur bahasa ibuku kemungkinan akan bingung
Mungkin ia ingin mengurangi kemungkinan mahasiswa membuat kesalahan?
Aku bahkan tak pernah membayangkan itu jenis kesalahan yang bisa kulakukan, dan rasanya mirip seperti mencampuradukkan ‘wet’ dan ‘vet’
Jelas memang ada perbedaan dalam cara penutur asli dan nonpenutur asli menggunakan bahasa
Ini pemikiran yang terpikir beberapa hari lalu: tampaknya pola penalaran chain of thought pada sistem berbasis model bahasa besar yang berkontribusi pada peningkatan performa bisa disejajarkan dengan model dua sistem pikiran dalam buku Kahneman, Thinking, Fast and Slow
Sudah beberapa tahun saya tidak membacanya lagi, tetapi kalau tidak salah untuk pemikiran yang butuh sedikit usaha dan sedikit komputasi, kita terutama memakai ‘System 1’. Contohnya 1+1=? atau “langit itu ____”
Sebaliknya, ‘System 2’ dipakai untuk tugas yang disengaja, sadar, dan bebannya besar secara kognitif. Seperti perkalian besar, soal penalaran, penggunaan alat, dan pengambilan keputusan secara umum—hal-hal yang membutuhkan fokus atau sumber daya otak
Kritik bahwa “model bahasa besar hanyalah burung beo stokastik dan tidak punya kecerdasan” sebenarnya terasa seperti pengamatan bahwa model itu diperlengkapi untuk hanya memakai ‘System 1’
Jika model bahasa besar diprompt untuk berpikir langkah demi langkah, kita memberinya ruang kerja untuk menuliskan pikirannya dan mempertimbangkannya lagi pada prediksi token berikutnya, sehingga itu menjadi semacam System 2 dasar, yaitu sandbox untuk berkontemplasi
Manusia pun saat memakai System 2 menahan di bagian depan pikirannya sebuah diorama dunia, lalu mensimulasikan bagaimana lingkungan akan bereaksi jika melakukan tindakan tertentu. Kita membayangkan apa yang akan dijawab teman, bagaimana pelat baja akan melengkung oleh gaya, bagaimana kode akan rusak, bagaimana ban akan mencengkeram permukaan, lalu menelusuri pohon kemungkinan untuk memilih tindakan dengan imbal hasil terbesar
Saya bukan ahli, tetapi tampaknya makalah ini juga mengenali kerangka yang mirip. Khususnya pada model perilaku yang terlihat di robotika, ke depan mungkin akan dimasukkan mekanisme refleksi/simulasi iteratif
Beberapa minggu lalu, saat berada dalam keadaan tidak sepenuhnya terjaga tetapi juga belum tidur, saya masuk ke semacam putaran kesadaran akan proses otak berpikir cepat yang memuntahkan kata dan konsep secepat cahaya, lalu otak berpikir lambat mengubahnya menjadi kalimat sungguhan
Rasanya seperti melihat chain of thought sebagai daftar ide, dan daftar itu terisi dengan sangat cepat lalu diringkas menjadi “pikiran” yang layak berupa daftar kata yang dipilih dengan hati-hati
Sejak itu saya jadi percaya pada pandangan bahwa apa yang kita kenali sebagai pikiran adalah keluaran yang telah diseleksi dari proses brainstorming sesaat sebelumnya
Meski begitu, kecerdasan bukan sesuatu yang serba ada atau tidak ada, melainkan berada pada sebuah spektrum. Definisi saya adalah “derajat kemampuan untuk memprediksi hasil masa depan secara benar berdasarkan pengalaman masa lalu”, dan itu ditentukan oleh mekanisme yang bisa dipakai sistem—baik biologis maupun artifisial—untuk mengenali pola dan membuat prediksi
Kecerdasan juga bergantung pada pengalaman. Sebab sesuatu yang belum dialami tidak bisa dikenali, dan karena itu juga tidak bisa diprediksi. Namun mungkin lebih baik ada kosakata yang membedakan kemampuan prediksi dan pengalaman, alih-alih menggabungkan keduanya sebagai “kecerdasan”
Jika membandingkan mesin prediksi model bahasa besar dengan otak manusia, masih banyak yang kurang. “Berpikir sebelum berbicara” adalah salah satunya, dan pendekatan Q* atau tree of thoughts tampaknya bisa membantu di sini
Struktur iteratif seperti loop talamo-kortikal mungkin juga bisa disisipkan ke pendekatan model bahasa besar/transformer, tetapi menurut saya bagian yang sangat hilang untuk kemampuan setara manusia adalah pembelajaran online. Yakni kemampuan untuk bertindak, melihat hasilnya, lalu belajar dari sana
Dengan pendekatan saat ini mungkin kita bisa membuat AGI yang “belajar dari buku”, tetapi keterampilan tidak bisa dipelajari tanpa latihan dan eksperimen. Baik menjadi pengembang maupun hal lain, kita tidak bisa belajar hanya dengan membaca buku atau menganalisis hasil yang dibuat orang lain; kita harus memahami hasil yang ditimbulkan prediksi dan tindakan kita sendiri di dunia nyata, lalu belajar darinya
Tautan ke bagian terkait: https://youtu.be/zjkBMFhNj_g?t=2120
Saya membacanya dengan senang hati dan merasa banyak wawasannya, tetapi belakangan seorang teman di bidang itu mengatakan buku tersebut tidak akurat dan penulisnya telah “menarik kembali” sebagian klaimnya
Tetapi ketika berbicara, saya juga punya pengalaman tidak tahu apa yang akan saya katakan sampai saya mendengar diri saya mengatakannya
Kadang saya memang menguji frasa di kepala sambil merenung dan merencanakan, tetapi sebagian besar diri saya tampaknya lebih mirip model bahasa besar yang hanya menghasilkan aliran token
Ini juga makalah reinforcement learning dengan baseline yang buruk. Untuk GSM8k, format outputnya cukup spesifik, tetapi mereka memakai Mistral zero-shot yang tidak instruction-tuned
Setelah peningkatan, akurasinya 11%, tetapi few-shot prompting mencapai 37%[1]. GPT-4 dengan prompting bisa mencapai sekitar 97%
[1]: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderb...
Mungkin saja itu diperluas hingga performa state of the art, tetapi tujuannya bisa jadi hanya mengukur dampak perubahan mereka dalam pengaturan yang sederhana
Urusan mencampur berbagai kombinasi sistem untuk mencapai performa state of the art bisa diserahkan kepada para insinyur
Apakah ini berkaitan dengan model Q* OpenAI yang dirumorkan, yaitu q-star? Para penulis makalah ini tampaknya tidak berhubungan
Apakah namanya hanya kebetulan sama saja?
Hanya saja Q bisa berarti hal lain
Ini adalah potongan yang hilang untuk melatih AI dengan kemampuan penalaran
Ada sangat banyak tugas di mana jawabannya diketahui, tetapi langkah penalarannya tidak ada. Dengan metode ini, kemampuan itu bisa dicapai dengan lebih sedikit data beranotasi
Bagian yang menarik adalah bahwa pikiran yang dihasilkan, meski sulit dipahami manusia, bisa jauh lebih membantu untuk mendapatkan jawaban yang benar
Jika begitu, berarti kita telah membuat sesuatu yang lebih cerdas daripada kita
Pagi ini saya pada dasarnya mencoba sesuatu yang mirip di level prompt, tetapi hasilnya sangat buruk. Namun, ide kasar di kepala saya melangkah lebih jauh: memperkenalkan meta token alur kontrol yang membantu model bahasa besar menjelajahi ulang konteksnya sendiri
Dalam sudut pandang ini, konteks bisa dipikirkan ulang sebagai mind map terstruktur yang mengedit dirinya sendiri, dan konteks linear pada waktu tertentu T menjadi jejak eksekusi sejauh ini dari penelusuran mind map tersebut
Beberapa meta token bisa memiliki efek samping seperti menyorot, menstrukturkan, merangkum, atau melupakan sebagian konteks
Dengan begitu, keluaran terstruktur native, implementasi memori, dan semacamnya mungkin bisa dilakukan tanpa format sintaks seperti json atau konstruksi pemrograman ala LMQL
Tujuannya bukan sekadar memberi kemampuan logika/penalaran pada model bahasa besar, tetapi memberi sarana untuk menciptakan arsitektur kognitif mereka sendiri
Jika untuk keluaran terstruktur kita juga memakai token ... untuk mengimplementasikan memori atau scratchpad, kita juga bisa mendapat bonus berupa kemampuan untuk menginspeksi struktur kognitif semacam itu
Tentu saja saya sama sekali tidak tahu bagaimana cara mengimplementasikannya. Saya cuma turis machine learning
Mereka tidak mengutip makalah tentang komputasi variabel terpelajar pada RNN yang diterapkan pada language modeling [1], yang terbit hampir 8 tahun lebih awal daripada karya mereka sendiri
[1] https://openreview.net/pdf?id=S1LVSrcge
Microsoft juga punya sesuatu yang mirip pada masa itu untuk pengenalan gambar. Pendekatannya memakai CNN untuk input dan melakukan komputasi variabel pada tahap klasifikasi
Memakai Base Mistral 7B untuk evaluasi hampir tidak tepat. Sebuah tim di Intel juga mencoba memakai trik yang persis sama di NeuralChat https://huggingface.co/Intel/neural-chat-7b-v3#quantitative-...
Kalimat “Sebagian besar makna teks tersembunyi di antara baris-barisnya. Jika pembaca tidak memahami mengapa kalimat seperti itu muncul dalam dokumen, pemahamannya hanya akan dangkal” tampaknya tidak benar untuk cara saya membaca maupun bagi kebanyakan orang yang saya kenal
Hampir selalu kita punya model dunia, dan saya rasa kita sampai tingkat tertentu tahu mengapa kalimat-kalimat seperti itu muncul di buku
Saat membaca buku teks dinamika fluida, kita mungkin tidak memahami matematikanya, tetapi tetap tahu bahwa kalimat-kalimat itu adalah pernyataan matematis yang membantu mempelajari teori dan mengikuti pola untuk mengajarkan konsep-konsep penting
Misalnya, konsep dibangun di atas konsep sebelumnya. Persamaan Bernoulli muncul karena hukum kekekalan energi telah diperkenalkan sebelumnya, dan persamaan itu ada di sana karena diasumsikan saya memahami yang belakangan itu