Anomali LLM dalam catur, sebagian kini bisa dijelaskan
(dynomight.net)- Di tengah kebanyakan LLM yang tidak bisa bermain catur, fenomena bahwa hanya
gpt-3.5-turbo-instructyang sangat kuat kini sebagian bisa dijelaskan lewat eksperimen yang menunjukkan bahwa jika antarmuka prompt diubah,gpt-4odangpt-4o-minijuga membaik cukup banyak - Hipotesis bahwa OpenAI diam-diam memanggil mesin catur kurang kuat: bahkan pada papan yang sama, model memainkan langkah berbeda tergantung urutan langkah yang ditempuh untuk sampai ke posisi itu, sensitif terhadap perubahan prompt, dan performanya juga tetap di sekitar 1750 Elo, bukan level mesin
- Hanya dengan tiga contoh in-context yang pendek, performa meningkat tajam, dan peningkatan juga terkonfirmasi saat dilakukan fine-tuning dengan contoh yang diambil dari 100 self-play Stockfish
- Sebaliknya, ketika diberi tahu daftar langkah legal yang tersedia saat ini, performa justru turun drastis, sedangkan pendekatan pengulangan notasi partai (regurgitation)—mengulang seluruh skor partai lalu menambahkan langkah berikutnya—membuat model chat bertindak seperti model completion dan meningkatkan performa
- Kombinasi akhir
gpt-4o + regurgitation + examplesmencatat 10 menang, 5 seri, 35 kalah dalam 50 partai melawangpt-3.5-turbo-instruct, dan jika keunggulan putih diperhitungkan diperkirakan sekitar 1540 Elo, masih di bawah sekitar 1750 Elo milikgpt-3.5-turbo-instruct
Penetapan masalah: mengapa hanya gpt-3.5-turbo-instruct yang jago catur
- Titik awal pengamatan sebelumnya adalah bahwa kebanyakan LLM sangat buruk bermain catur, tetapi
gpt-3.5-turbo-instructbermain pada level amatir lanjutan - Model ini relatif kecil dan sudah berumur lebih dari setahun, tetapi ternyata bermain catur lebih baik daripada model-model terbaru
- Ada empat penjelasan besar yang mungkin
- Base model yang besar sebenarnya jago catur, tetapi kemampuan itu tidak bertahan pada model chat yang telah melalui instruction tuning
gpt-3.5-turbo-instructdilatih dengan lebih banyak data catur- Ada elemen khusus pada arsitektur LLM tertentu
- Data catur harus menempati porsi yang cukup besar dalam keseluruhan data pelatihan
- Setelah itu, diskusi menyempit pada kemungkinan OpenAI memanggil mesin catur, apakah LLM benar-benar bermain catur, dan perbedaan antara base model dan chat model
Hipotesis diam-diam memakai mesin catur kurang meyakinkan
- Kecurigaan bahwa
gpt-3.5-turbo-instructmengenali notasi catur dan memanggil mesin catur eksternal tampak sangat kecil kemungkinannya - Dasarnya terbagi ke beberapa arah
- Orang-orang di OpenAI mengatakan mereka tidak melakukan pemrosesan seperti itu
- Mesin catur akan mengevaluasi posisi papan yang sama tanpa memedulikan urutan langkah, tetapi
gpt-3.5-turbo-instructmemainkan langkah berbeda jika urutan langkah untuk mencapai posisi berbeda meski papannya sama - Menurut standar amatir catur model ini bagus, tetapi menurut standar profesional lemah, dan jika dibandingkan dengan mesin catur performanya sangat rendah
- Jika prompt diubah, permainan ikut berubah secara halus
- Model-model OpenAI setelahnya jauh lebih buruk secara default, tetapi bisa bermain lebih baik jika diberi prompt yang tepat
- Jika memang ada kecurangan, berarti dipilih metode yang sangat rumit agar tidak tampak seperti pemanggilan mesin eksternal, sambil tetap terlihat seolah LLM memilih langkahnya sendiri
LLM bukan bermain hanya dengan hafalan sederhana
gpt-3.5-turbo-instructjarang mengusulkan langkah ilegal bahkan di fase akhir permainan- Untuk menilai apakah langkah terakhir legal dalam string seperti
1. e4 d5 2. exd5 Qxd5 3. Nc3, model perlu memahami aturan catur dan melacak status papan - Dalam partai nyata pun,
gpt-3.5-turbo-instructbermain cukup baik pada posisi papan baru yang belum pernah muncul dalam sejarah - Karena itu, penjelasan bahwa model hanya menghafal opening lalu bermain acak sesudahnya tidak tepat
Eksperimen dasar: perbedaan model completion dan model chat
gpt-3.5-turbo-instructadalah model completion, jadi langkah berikutnya diperoleh dengan cara meminta model melanjutkan teks berbentuk PGN- Contohnya adalah memberi
[Event "Shamkir Chess"], nama pemain, Elo, hasil, dan skor partai seperti1. e4 e5 2. Nf3 Nc6 3.
- Contohnya adalah memberi
gpt-4o-minidangpt-4oadalah model chat, jadi langkah berikutnya diminta lewat system prompt dan user prompt agar hanya mengeluarkan langkah berikutnya dalam notasi aljabar standar- Melawan Stockfish level 1, tiap langkah diberi waktu maksimum 0,01 detik, lalu diambil rata-rata 50 partai, dengan skor tiap giliran setelah permainan dihitung dalam centipawn
- pawn dihitung sebagai 100 poin
- ±1500 setara dengan menang atau kalah
- Pada prompt dasar,
gpt-3.5-turbo-instructterlihat kuat, sedangkan model chat sepertigpt-4odangpt-4o-miniterlihat lemah
Eksperimen komposisi prompt
- Dilakukan eksperimen dengan mengganti kombinasi apakah system prompt diulang di bagian atas user prompt, dan apakah metadata seperti nama pemain dan Elo dimasukkan
- Pada
gpt-4o-mini, tampaknya hampir tidak ada perbedaan besar - Pada
gpt-4o, pengulangan system prompt tampak sedikit membantu dan metadata tampak sedikit merugikan, tetapi masih mungkin hanya noise - Pada eksperimen setelahnya, demi penyederhanaan, pengulangan system prompt dan metadata sama-sama dimatikan
Hanya tiga contoh saja sudah sangat meningkatkan performa
- Seperti praktik umum saat memberi tugas ke LLM, tiga contoh input-output pendek diberikan lewat API
- input
1.→ outpute4 - input
1. e4→ outputd5 - input
1. e4 e5 2. Nf3 Nc6 3.→ outputBb5
- input
- Hanya dengan tiga contoh ini, hasilnya menjadi jauh lebih baik
- Bisa saja contoh yang lebih banyak atau berbeda akan lebih baik, tetapi karena setiap grafik memerlukan sangat banyak kueri, hal itu tidak diuji lebih lanjut
Fine-tuning membantu, tetapi kombinasinya dengan contoh tidak stabil
- Fine-tuning dilakukan pada
gpt-4o-minidangpt-4o - Cara membuat datanya sebagai berikut
- Stockfish bermain melawan dirinya sendiri sebanyak 100 partai pada tingkat kesulitan tertinggi
- Dari tiap game, satu langkah acak dipilih untuk dipakai sebagai contoh pelatihan
- Secara terpisah, 100 self-play Stockfish digunakan sebagai data validasi
- Fine-tuning itu sendiri meningkatkan performa
- Namun, hasil fine-tuning pertama untuk
gpt-4otampak memburuk sehingga dijalankan ulang dengan step size yang lebih kecil, dan ini tetap menjadi unsur ketidakpastian - Ketika contoh digabung dengan fine-tuning, hasilnya tidak membaik secara konsisten seperti yang diharapkan
- Fine-tuning saja membantu
- Contoh saja juga membantu
- Menambahkan contoh setelah fine-tuning hampir tidak memberi efek
- Saat contoh sudah ada, fine-tuning justru memberi hasil yang lebih buruk
Memberi daftar langkah legal merusak performa
- Karena model kadang mengeluarkan langkah ilegal, dilakukan eksperimen memberi daftar langkah legal yang tersedia saat ini di depan skor partai
- System prompt juga diubah agar menerima daftar langkah legal dan skor partai parsial
- Hasilnya sangat buruk
- Bukan hanya tingkat kemenangan turun, model juga mulai membuat kesalahan sejak giliran yang lebih awal
- Pemberian daftar langkah legal tidak dipakai lagi setelah itu
Gagasan inti: membuat model mengulang seluruh skor partai
- Model chat bekerja dengan special token dan instruction tuning dalam format percakapan seperti
<|SYSTEM|>,<|USER|>,<|ASSISTANT|> - Base model lebih dekat ke model completion yang melanjutkan string, dan notasi partai PGN juga lebih cocok dengan cara itu
- Karena tidak ada akses langsung ke
gpt-4-base, dangpt-4ojuga tidak bisa dipanggil dalam completion mode, perbandingan langsung tidak mungkin dilakukan - Sebagai gantinya,
gpt-4odibuat bertindak seperti model completion: alih-alih hanya mengeluarkan langkah berikutnya, model diminta mengulang seluruh permainan lebih dulu lalu menambahkan satu langkah baru - Misalnya, jika inputnya
1. e4 e5 2., maka output diminta berbentuk1. e4 e5 2. Nf7 - Cara ini meningkatkan performa catur
gpt-4o-minidangpt-4o - Dengan memaksa pengulangan seluruh urutan langkah, model membangun sendiri konteks yang lebih mungkin menghasilkan langkah bagus
- Hasil ini menjadi dasar bahwa jika
gpt-4-baseyang tidak dapat diakses bisa dipanggil dalam completion mode, kemungkinan model itu akan bermain catur cukup baik
Kombinasi pengulangan notasi partai, contoh, dan fine-tuning
- Dalam pendekatan pengulangan notasi partai, eksperimen fine-tuning terpisah juga dijalankan lagi
- input tetap berupa skor partai parsial seperti sebelumnya
- output yang diinginkan adalah seluruh skor input diulang lalu ditambah langkah berikutnya
- Fine-tuning untuk pendekatan ini tampak sedikit membantu
- Tiga contoh juga disusun ulang agar cocok dengan pendekatan pengulangan notasi partai
- input
1.→ output1. e4 - input
1. d4→ output1. d4 d5 - input
1. e4 e5 2. Nf3 Nc6 3.→ output1. e4 e5 2. Nf3 Nc6 3. Nf3
- input
- Walau informasi yang diberikan sedikit, contoh kembali memberi pengaruh besar
- Saat contoh dan fine-tuning dipakai bersama, pola aneh itu terulang
- Menambahkan contoh ke fine-tuning membantu
- Tetapi hasilnya masih lebih buruk daripada hanya memakai contoh saja
Hasil eksperimen dan estimasi Elo
- Hasil eksperimen diringkas ke dalam tiga kategori
- Baik: pengulangan notasi partai, contoh, fine-tuning tanpa contoh
- Tidak jelas: metadata, pengulangan system prompt, fine-tuning yang dipakai bersama contoh
- Buruk: pemberian daftar langkah legal
- Kombinasi akhir memakai pengulangan notasi partai dan contoh, dan mematikan yang lain
gpt-4o + regurgitation + examplescukup lumayan, tetapi tetap tidak sekuatgpt-3.5-turbo-instruct- Kedua model memainkan 50 partai, dan di semua partai
gpt-4omemegang putih
Hasil gpt-4o |
Jumlah |
|---|---|
| Menang | 10 |
| Seri | 5 |
| Kalah | 35 |
- Hasil ini sesuai dengan selisih Elo sekitar -191
- Jika memperhitungkan bahwa keunggulan langkah pertama untuk putih diketahui sekitar 35 Elo, maka
gpt-4o + regurgitation + examplesdiperkirakan sekitar1750 - 191 - 35/2 ≈ 1540 Elo - Ini dinilai sebagai level amatir menengah
Hipotesis saat ini: data dan antarmuka bekerja bersama
- Hipotesis saat ini terbagi menjadi dua bagian
- Base model OpenAI dilatih dengan data game catur yang lebih banyak atau lebih baik daripada model terbuka
- Base model OpenAI terbaru mungkin bisa bermain catur dengan baik dalam completion mode, tetapi model chat yang benar-benar bisa diakses tidak demikian
- Model terbuka, baik base model maupun chat model, terlihat tidak bisa bermain catur, dan ini lebih mungkin karena perbedaan data daripada batasan arsitektur
- Dalam satu makalah, bagian A.2 menyebut bahwa GPT-4 dilatih dengan game catur dalam notasi PGN, dan hanya menyertakan game dari pemain dengan Elo 1800 ke atas
- Tidak ada konfirmasi publik bahwa
gpt-3.5-turbo-instructmemakai data yang sama, tetapi fakta bahwa model itu bermain catur dengan notasi PGN dan memiliki Elo terukur sekitar 1750 terasa terlalu cocok untuk dianggap kebetulan - Tidak dapat dipastikan seberapa banyak data catur dimasukkan dalam pelatihan model terbuka seperti Llama
- Memang mungkin ada banyak game dari internet terbuka, tetapi basis data yang diseleksi besar-besaran untuk game berkualitas tinggi mungkin menghasilkan hasil yang lebih baik
- Terlalu banyak data catur level rendah juga bisa membuat model cenderung memprediksi langkah berkualitas rendah, tetapi karena dalam posisi dengan urutan langkah yang kuat model harus memprediksi langkah berikutnya dari pemain kuat, hal ini tampaknya bukan penjelasan utama
Ketidakpastian yang tersisa dan kesan praktis
- Jika
gpt-4odalam chat mode lebih lemah daripadagpt-4-basedalam completion mode, tidak diketahui apakah penyebabnya chat interface, instruction tuning, atau keduanya - Tidak bisa diuji apakah
gpt-4-baseakan bermain baik bila disimulasikan seperti chat mode, atau apakahgpt-4oakan bermain baik bila dipanggil dalam completion mode - Sangat mungkin masih ada cara lain untuk mengeluarkan perilaku yang lebih baik dari
gpt-4o - Menemukan kombinasi optimal antara prompt, contoh, dan fine-tuning sangat sulit
- ruang pencariannya besar
- tidak ada abstraksi yang sederhana
- LLM sulit diprediksi dan rapuh
- eksperimen lambat dan mahal
- Saat resep akhir yang sama diterapkan ke
gpt-4, model itu tidak bisa bermain catur dengan baik - Kombinasi yang ditemukan mungkin sangat spesifik untuk
gpt-4o, dangpt-4mungkin memerlukan prompt berbeda, contoh lebih banyak, atau fine-tuning - Proses ini terasa lebih mirip mencari mantra daripada rekayasa, sampai-sampai sensitivitas per modelnya sangat tinggi
1 komentar
Komentar Hacker News
Untuk melihat apakah gpt-3.5-turbo-instruct benar-benar memahami catur, cukup minta ia memainkan langkah berikutnya dari 1000 posisi legal acak yang bukan skakmat
Posisi seperti ini bisa dibuat dengan https://github.com/tromp/ChessPositionRanking, sangat berbeda dari permainan normal yang mungkin pernah terlihat di data pelatihan, dan sering kali pilihan langkah legalnya sangat terbatas
Ini bagus untuk menguji legalitas langkah berikutnya, tetapi biasanya salah satu pihak unggul telak sehingga kurang berguna untuk membedakan kualitas langkah
Menakjubkan melihat Hikaru melihat suatu posisi lalu sejak awal menunjukkan bagaimana posisi itu bisa tercapai, seolah-olah melakukan “komentar langsung”, tetapi dalam video yang sama ia menjelaskan bahwa cara seperti itu hampir tidak berlaku untuk puzzle catur acak yang aneh
Puzzle yang berasal dari permainan sungguhan jauh lebih baik daripada puzzle yang dihasilkan secara acak, dan lebih masuk akal bahkan bagi manusia level teratas
Orang yang memahami catur dengan baik, misalnya level Elo 1800, praktis tidak pernah gagal menghasilkan langkah legal pada percobaan pertama
Penalaran sejati bisa dianggap membutuhkan logika simbolik dan abstraksi, sedangkan LLM adalah prediktor token berikutnya
Misalnya, karena melihat bahwa gajah selalu bergerak secara diagonal, ia bisa saja hanya mempertimbangkan langkah seperti itu, tetapi belum tentu menyimpulkan konsep langkah legal/ilegal
Secara internal ia mungkin membuat sesuatu yang merepresentasikan posisi, tetapi ketika diberi posisi catur yang dikodekan, representasi itu tidak akan otomatis aktif
Jika ada yang mengklaim gpt-3.5-turbo-instruct “memahami” dan “bernalar” tentang catur serta menjalankan “logika nyata”, saya ingin meminta mereka menemukan pemain catur setingkat amatir mahir seperti yang disebutkan dalam tulisan itu yang memainkan langkah ilegal
Orang yang tahu catur bisa memastikan bahwa hal seperti itu hampir tidak pernah terjadi
Saya juga penasaran apakah ada tautan ke permainan yang memuat langkah ilegal
Saya juga pernah melihat streamer yang levelnya jauh di atas saya berulang kali mencoba langkah ilegal sampai menyadari bahwa antarmukanya menolak karena langkah itu ilegal
Cukup cari “GM illegal moves” di YouTube dan akan muncul kompilasi kasus grandmaster memainkan langkah ilegal
Contoh: https://www.youtube.com/watch?v=m5WVJu154F0 — kasus Vidit vs Hikaru sangat mengesankan, ketika Vidit menyerang raja Hikaru dengan rajanya sendiri
Selama LLM adalah black box, kita tidak tahu apakah ia memahami langkah legal dengan bernalar mengikuti aturan, atau hanya belajar cara menghasilkan langkah legal karena dilatih pada banyak data langkah legal
Kita bisa mengklaim salah satu pihak sebagai kebenaran, tetapi sama sekali tidak ada cara untuk benar-benar memahami apa yang “dipikirkan” LLM
Untuk tidak pernah memainkan langkah ilegal dalam catur buta, seseorang harus cukup hebat
Manusia, bahkan pakar ternama di bidangnya sendiri, banyak melakukan kesalahan, dan kadang membuat kesalahan yang sangat mahal dan jika dilihat kembali tampak jelas, justru di wilayah keahliannya
Namun ketika LLM yang dilatih pada korpus berisi kebodohan manusia memainkan langkah ilegal dalam catur, otak langsung bereaksi, “Saya tidak memainkan langkah ilegal dalam catur, jadi bagaimana mungkin komputer itu bermain catur kalau begitu?”
Setidaknya ini tampak seperti contoh sempurna dari bias metakognitif dan kesalahan atribusi umum
Tulisan ini juga punya masalah yang sama dengan tulisan sebelumnya. Penulis sama sekali tidak menyediakan data tentang frekuensi langkah ilegal
Jadi tidak bisa ditarik kesimpulan yang bermakna
Ini mirip seperti mengklaim LLM adalah dokter spesialis, tetapi semua kasus ketika ia memberi saran medis yang salah disaring keluar dari data
Akan menarik jika jumlah percobaan langkah ilegal berbeda secara bermakna di tiap pendekatan, terutama jika perbedaan itu tidak berkorelasi dengan performa setelah langkah ilegal dihapus, tetapi itu tidak banyak mengguncang kesimpulan tulisan ini sendiri
Jika memilih secara acak dari himpunan langkah legal, hasilnya akan menjadi pemain catur yang benar-benar buruk, jadi jika saat sampling dari keluaran LLM hasilnya jauh lebih baik, jelas LLM memberikan sesuatu
Berdebat soal definisi kemampuan LLM secara mandiri dengan mengatakan semua percobaan langkah ilegal harus dihitung sebagai kalah terasa melenceng dari inti
Kalau begitu, secara praktis “LLM+skrip” memang menjadi dokter spesialis, tetapi meski itu mungkin untuk langkah ilegal dalam catur, jelas mustahil untuk evaluasi saran medis
Tidak ada di sini, tetapi turbo instruct pernah dievaluasi sebelumnya
https://github.com/adamkarvonen/chess_gpt_eval
Rasio training lebih dari 99% dan test kurang dari 1%, sehingga bahkan tidak lolos dasar-dasar validasi AI
Di sebagian besar konferensi AI, makalah seperti itu mungkin sulit bertahan, tetapi ia terbit di Nature Medicine yang impact factor-nya sangat tinggi dan banyak dikutip di bidang AI medis
https://www.nature.com/articles/s41591-018-0268-3
Ungkapan “dalam banyak hal, rasanya lebih seperti mencari mantra daripada rekayasa” masih sesuai dengan kesan saya terhadap LLM secara umum
Fakta bahwa ia bekerja memang mengejutkan, tetapi saya berharap inovasi teknis berikutnya tidak setiap kali terasa seperti berada di dalam film fiksi ilmiah yang buruk
Saya rasa bukan berarti “semua orang salah”
Bukan cuma saya yang mengatakan hal ini, jadi saya terkejut teori ini tidak ada dalam daftar; 7 hari lalu pun saya menulis begini: https://news.ycombinator.com/item?id=42145710
“Apa pun yang menjadi benchmark publik harus dianggap ditargetkan secara spesifik selama training.”
Ini berbeda dari teori “kecurangan/penggantian keluaran LLM” yang disebut dan dibantah dalam tulisan tersebut
Tulisan lanjutan ini memperkuat dugaan tersebut. OpenAI melatih model dasarnya dengan data permainan catur yang lebih banyak dan lebih baik dibanding model terbuka, dan di A.2 dari sebuah makalah, para penulis dari OpenAI menyatakan bahwa GPT-4 dilatih dengan permainan catur berformat PGN dari pemain ber-Elo 1800 ke atas
Sangat masuk akal jika OpenAI memperkaya data training dengan data untuk tugas-tugas yang mungkin benar-benar dicoba orang
Ini juga tidak tidak etis. Tidak ada dataset yang benar-benar “netral”, jadi jika bagaimanapun harus memilih, tidak ada alasan untuk tidak melatihnya agar lebih baik dalam memberi jawaban yang berpotensi berguna
Bagaimanapun, OpenAI punya banyak pengalaman dengan AI game
https://news.ycombinator.com/item?id=42145215
Tidak ada yang melatih LLM besar yang sangat mahal dengan dataset raksasa sambil berharap suatu blogger kebetulan menemukan performa canggung setingkat 1800 Elo lalu men-tweet-nya
Catur juga bukan benchmark LLM standar sampai layak menjadi target Goodhart, dan OpenAI umumnya berusaha memecahkan masalah dengan cara yang benar daripada lewat jalan pintas atau kecurangan
Seri GPT bisa saja dengan mudah overfit pada benchmark standar atau contoh tandingan, dan nilai promosinya juga akan jauh lebih besar, tetapi ternyata tidak overfit secara parah. Misalnya, akan sangat mudah melatihnya untuk hal seperti “masalah stroberi”
Sebaliknya, beberapa penyedia LLM lain skornya turun jauh lebih besar dalam makalah pencegahan hafalan
Selain itu, makalah yang menyebut dataset tersebut sendiri punya kegunaan riset yang jelas, dan catur menarik sebagai organisme model untuk menganalisis pengarahan dan pemodelan dunia oleh LLM karena bisa memakai oracle
Makalah LLM catur dengan batas waktu dari DeepMind juga bukan bagian dari rencana licik agar Gemini memalsukan kemampuan caturnya untuk dipakai dalam pemasaran GCP
Awalnya mereka mungkin menganggap catur itu keren, dan besok mereka bisa saja menganggap kemampuan bermain Go atau menulis puisi itu keren
Misalnya, terlepas dari bidangnya, memasukkan lebih banyak konten pakar daripada konten “amatir” ke dalam data training
Tidak ada kalimat “cobalah menang dalam permainan” di prompt, tetapi hasilnya diukur dari seberapa sering LLM menang
Apakah ini tersirat dalam prompt “Anda adalah grandmaster catur”?
Apakah di suatu tempat dalam pelatihan LLM ada pola “kalau ini permainan, selalu berusaha menang”?
Kalau sekadar disuruh menang, apakah win rate bisa naik?
Dalam contoh dan penjelasan pertandingan catur, hampir selalu setiap pemain berusaha menang, jadi memainkan langkah yang menang hanyalah output yang paling logis
Karena itu, meskipun diprompt secara eksplisit untuk menang, sepertinya performanya tidak akan meningkat banyak
Sebaliknya, yang menarik adalah apa yang terjadi jika diminta memainkan langkah yang kalah atau buruk. Jika kita melihat apakah ia bisa melakukannya secara efektif, dan apakah langkahnya tetap sebagian besar legal, itu bisa lebih memperlihatkan seberapa besar ia bergantung pada konsep yang pernah dilihat sebelumnya
Kalimat itu akan meningkatkan probabilitas model menghasilkan token langkah terbaik yang mungkin
Kemampuan model menghasilkan urutan catur dibatasi oleh tingkat keahlian yang ada dalam kumpulan pertandingan di data pelatihan
Bahkan jika ada sebagian pertandingan di mana pemain sengaja mencoba kalah, jumlahnya mungkin sangat kecil, dan karena pertandingan catur tidak diberi anotasi tentang niat pemain, LLM tidak bisa membedakan itu hanya karena diprompt untuk menang atau kalah
Kita bisa tahu dengan meminta LLM sengaja kalah. Berdasarkan pengalaman saya, ChatGPT mencoba menempatkan dirinya agar terkena scholar’s mate, tetapi jika lawan tidak menerimanya, ia secara implisit seperti mulai berusaha menang dengan memakan bidak lawan yang tidak terlindungi
Kalau ditanya “kenapa?”, seperti biasa ia memberikan rasionalisasi setelah kejadian
Jadi saya terkejut tidak ada ungkapan seperti “dan menangkan” atau “hitam menang”
Akan cukup lucu kalau karena reinforcement learning, LLM sengaja menghindari membuat manusia merasa buruk karena kalah dalam permainan
Bagus bahwa promptnya diperbaiki, tetapi masih melewatkan dua peluang peningkatan yang sangat besar
Pertama, sebelum mengusulkan langkah, minta model menjelaskan posisi papan saat ini dan rencana ke depan. Ini membuat model benar-benar berpikir lebih jauh; mirip o1, tetapi di sini bisa memastikan pemrosesan yang lebih terfokus
Kedua, di setiap tahap minta model benar-benar menggambar papan ASCII. Bentuk papan+langkah bisa lebih stabil dan lebih mudah diproses daripada daftar 20 langkah, sehingga jumlah langkah legal bisa meningkat
“Grafik” dua dimensi seperti ASCII art terasa asing bagi model bahasa, dan karena model memandang teks sebagai aliran token termasuk line break, hubungan “vertikal” antarbaris tidak sejelas seperti yang dilihat manusia
Walaupun ada diagram papan di context window, kemungkinan besar itu tidak banyak membantu model menalar pertandingan
Sebagai gantinya, meminta model mencantumkan posisi setiap bidak dalam teks biasa, seperti “kuda hitam di c5”, mungkin lebih cocok untuk memperkuat pengenalan posisi
Poin 1 jelas layak dicoba, dan ada juga variasi lain yang bekerja tergantung modelnya
Untuk model Anthropic, dokumentasi menyarankan memberi label dan mengelompokkan bagian penting dari input dengan notasi XML. Struktur ringan seperti ini tampaknya memperbaiki hasil model Claude, dan mungkin modelnya memang dilatih secara khusus untuk mengenalinya
Referensi: https://docs.anthropic.com/en/docs/build-with-claude/prompt-...
Untuk model Anthropic, prompt akhirnya bisa kira-kira seperti: “Anda adalah grandmaster catur. Lihat permainan yang belum selesai di dalam tag, ulangi seluruh permainan, lalu berikan satu langkah baru dalam notasi aljabar standar, dan sebelum memberikan notasi baru, jelaskan penalaran Anda di dalam blok tag”
Prompt seperti ini memang dirancang untuk memberikan peningkatan yang terlihat pada model Anthropic
Ironisnya, meskipun saya banyak memakai Claude 3.5 Sonnet selama beberapa bulan, saya baru menemukan ini beberapa minggu lalu. RTFM masih merupakan keterampilan yang berguna
Model OpenAI mungkin juga punya affordance serupa yang sederhana tetapi kurang dikenal
Dalam eksperimen catur saya 1,5 tahun lalu, trik mengulang seluruh urutan langkah adalah teknik terbaik tanpa fine-tuning
Saya ingin melihat hasilnya, tetapi akan cukup terkejut kalau membaik
Ada hipotesis bahwa jika diberi lebih banyak waktu dan ruang dengan cara lain, performanya bisa menjadi lebih baik
Misalnya dengan menampilkan posisi papan saat ini, lalu meminta analisis posisi, daftar kelemahan dan kekuatan utama, daftar strategi yang mungkin, pemilihan salah satu strategi, dan terakhir pemilihan langkah
Dengan kata lain, jangan membuatnya langsung memuntahkan langkah; buat ia benar-benar berpikir. Di sini, contoh mungkin menjadi kuncinya
Ide seperti ini telah terbukti bekerja dengan baik dalam makalah ReAct dan makalah chain of thought, dan bisa juga ditambahkan metode mengulang N kali lalu berhenti ketika jawaban mayoritas muncul. Ini adalah ide dari makalah self-consistency untuk chain of thought
Bagian “fine-tuning membantu dan contoh juga membantu, tetapi yang membuat fine-tuning tidak diperlukan adalah contoh, bukan sebaliknya” sangat menarik
Dalam kasus khusus ini, sekadar memberikan contoh setara dengan fine-tuning
Bagi saya ini penemuan besar, jadi ke depannya saya akan lebih sering memakai contoh
Sulit menjelaskan alasannya, tetapi saya selalu punya intuisi bahwa fine-tuning terlalu dilebih-lebihkan
Salah satu alasannya mungkin karena contoh berada “tepat di sana”, sehingga secara implisit mendapat bobot yang jauh lebih besar dibanding neuron yang sudah di-fine-tune
Dalam kasus mainan ini mungkin tidak terlalu penting, tetapi perlu diingat bahwa setiap contoh yang diberikan dalam input akan meningkatkan waktu dan biaya prediksi dibanding fine-tuning
Kita harus berhenti melakukan eksperimen meraba-raba dalam gelap dengan LLM komersial
Untuk melihat sampai ke dasar masalah ini, akan menarik jika mencoba melatih LLM hanya dengan partai catur. Stockfish bisa dibuat bermain melawan dirinya sendiri sehingga datanya dapat disintesis tanpa batas, lalu dicampur sedikit contoh komentar catur dan percakapan catur seperti “berapa pion yang ada di papan?”, “benteng saya ada di mana?”, “gambarkan papannya” untuk menunjukkan apakah model memiliki representasi papan
Saya tidak percaya bahwa “fenomena emergent”, kemampuan bahasa umum, atau kemampuan untuk berpura-pura punya kemampuan diperlukan untuk bermain catur. Jago catur tidak berarti pintar dalam hal lain, begitu pula sebaliknya
Eksperimen semacam ini juga bisa membuktikan bahwa saya keliru
Makalah yang keluar sekitar seminggu lalu, https://arxiv.org/pdf/2411.06655, tampaknya mendapatkan hasil bagus dengan Llama yang di-fine-tune
Saya juga menyukai makalah ini tentang kemampuan mengomentari catur: https://arxiv.org/abs/2410.20811
Kita juga bisa menambahkan reward yang tersisa agar jaringan belajar langkah seperti apa yang muncul dalam partai bagus dan partai buruk, dan ini menjadi kerangka offline reinforcement learning seperti Decision Transformer
Menurut saya kemampuan catur sama sekali tidak berguna bagi LLM umum dan bukan fenomena emergent; itu hanya menghabiskan bandwidth gradien dan ruang parameter untuk trik keren ini
Hal itu jelas dari fakta bahwa LLM yang tidak dilatih secara khusus untuk catur tidak pandai bermain catur
Akan menarik jika membuat tokenizer yang dioptimalkan untuk notasi langkah catur, lalu melatih LLM dari awal dengan partai-partai Stockfish
Dengan tokenizer khusus, kualitasnya kemungkinan akan lebih baik pada ukuran model yang sama
Tidak perlu membuang banyak layer untuk encoding dan decoding, dan representasi laten yang “alami” juga bisa lebih intuitif