1 poin oleh GN⁺ 2024-11-23 | 1 komentar | Bagikan ke WhatsApp
  • Di tengah kebanyakan LLM yang tidak bisa bermain catur, fenomena bahwa hanya gpt-3.5-turbo-instruct yang sangat kuat kini sebagian bisa dijelaskan lewat eksperimen yang menunjukkan bahwa jika antarmuka prompt diubah, gpt-4o dan gpt-4o-mini juga 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 + examples mencatat 10 menang, 5 seri, 35 kalah dalam 50 partai melawan gpt-3.5-turbo-instruct, dan jika keunggulan putih diperhitungkan diperkirakan sekitar 1540 Elo, masih di bawah sekitar 1750 Elo milik gpt-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-instruct bermain 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-instruct dilatih 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-instruct mengenali 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-instruct memainkan 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-instruct jarang 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-instruct bermain 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-instruct adalah 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 seperti 1. e4 e5 2. Nf3 Nc6 3.
  • gpt-4o-mini dan gpt-4o adalah 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-instruct terlihat kuat, sedangkan model chat seperti gpt-4o dan gpt-4o-mini terlihat 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. → output e4
    • input 1. e4 → output d5
    • input 1. e4 e5 2. Nf3 Nc6 3. → output Bb5
  • 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-mini dan gpt-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-4o tampak 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, dan gpt-4o juga tidak bisa dipanggil dalam completion mode, perbandingan langsung tidak mungkin dilakukan
  • Sebagai gantinya, gpt-4o dibuat 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 berbentuk 1. e4 e5 2. Nf7
  • Cara ini meningkatkan performa catur gpt-4o-mini dan gpt-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-base yang 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. → output 1. e4
    • input 1. d4 → output 1. d4 d5
    • input 1. e4 e5 2. Nf3 Nc6 3. → output 1. e4 e5 2. Nf3 Nc6 3. Nf3
  • 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 + examples cukup lumayan, tetapi tetap tidak sekuat gpt-3.5-turbo-instruct
  • Kedua model memainkan 50 partai, dan di semua partai gpt-4o memegang 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 + examples diperkirakan sekitar 1750 - 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-instruct memakai 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-4o dalam chat mode lebih lemah daripada gpt-4-base dalam completion mode, tidak diketahui apakah penyebabnya chat interface, instruction tuning, atau keduanya
  • Tidak bisa diuji apakah gpt-4-base akan bermain baik bila disimulasikan seperti chat mode, atau apakah gpt-4o akan 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, dan gpt-4 mungkin 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

 
GN⁺ 2024-11-23
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

    • Ada hal menarik yang saya dengar dari livestream catur: bahkan super grandmaster manusia pun sangat kesulitan mengevaluasi atau memecahkan posisi yang sangat aneh, yang tidak berasal dari alur logis pembukaan-permainan tengah-permainan akhir
      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
    • Cukup aneh bahwa sistemnya diklaim memahami catur, tetapi di bagian bawah tulisan disebutkan bahwa setelah 10 kali mencoba pun tidak mendapatkan langkah legal, sehingga diganti dengan langkah acak
      Orang yang memahami catur dengan baik, misalnya level Elo 1800, praktis tidak pernah gagal menghasilkan langkah legal pada percobaan pertama
    • Pada titik ini, tampaknya sangat jelas bahwa LLM belum mencapai apa yang secara umum disebut penalaran
      Penalaran sejati bisa dianggap membutuhkan logika simbolik dan abstraksi, sedangkan LLM adalah prediktor token berikutnya
    • Apakah tes itu saja cukup membuktikannya? Jika LLM dilatih hanya pada himpunan langkah legal, ada kemungkinan ia secara fungsional mempelajari bagaimana tiap buah bisa bergerak tanpa benar-benar bernalar
      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
    • Masalahnya bukan LLM belajar cara memainkan langkah dari suatu posisi, melainkan bahwa arsip internet biasanya hanya berisi notasi permainan
      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 pemain catur level ahli, dan pernah melihat beberapa orang di sekitar level saya memainkan langkah ilegal dalam partai klasik offline dengan kontrol waktu
      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
    • Ungkapan “orang yang tahu catur tidak memainkan langkah ilegal” agak tidak akurat
      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
    • Masalahnya adalah para peneliti LLM tampaknya hampir menyerah untuk melihat bagaimana bagian dalam LLM sebenarnya bekerja
      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
    • Jika LLM hanya menerima urutan langkah dan bukan posisi, pada dasarnya ia sedang bermain catur buta
      Untuk tidak pernah memainkan langkah ilegal dalam catur buta, seseorang harus cukup hebat
    • Diskusi di thread ini mengejutkan
      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

    • Saya tidak melihat itu sebagai hal yang sangat inti
      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
    • Langkah catur ilegal secara komputasional trivial untuk dideteksi, jadi sama sekali berbeda dengan menyaring saran medis yang salah
    • Jika bisa menulis skrip yang otomatis menghapus saran medis yang salah, analoginya mungkin tepat
      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
    • Pada 3-turbo-instruct, dari 8205 langkah, langkah ilegalnya kira-kira 5 atau kurang
      Tidak ada di sini, tetapi turbo instruct pernah dievaluasi sebelumnya
      https://github.com/adamkarvonen/chess_gpt_eval
    • Pengamatan yang tajam. Secara serupa, Andrew Ng dan tim Stanford University juga melakukan trik yang sama berupa overfitting rasio train-test dalam makalah terkenal setingkat kardiolog di Nature Medicine
      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

    • Saya pernah mengusulkan bahwa mereka mungkin melatih model untuk melihat apakah dilatih agar pandai catur membantu kecerdasan umum, seperti pembelajaran matematika dan kode juga meningkatkan aspek lain dari penalaran logis
      Bagaimanapun, OpenAI punya banyak pengalaman dengan AI game
      https://news.ycombinator.com/item?id=42145215
    • Ini terlihat agak paranoid
      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
    • Penjelasan bahwa OpenAI mengubah tujuan training adalah yang paling sederhana dan masuk akal
      Awalnya mereka mungkin menganggap catur itu keren, dan besok mereka bisa saja menganggap kemampuan bermain Go atau menulis puisi itu keren
    • Saya berharap pendekatan semacam ini juga dipakai di bidang lain yang lebih praktis
      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?

    • Rasanya terlalu banyak bobot diberikan pada niat. LLM tidak punya niat; ia adalah model matematis yang dilatih untuk menghasilkan output yang paling masuk akal
      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
    • Saya rasa itu jelas tersirat dalam prompt “Anda adalah grandmaster catur”
      Kalimat itu akan meningkatkan probabilitas model menghasilkan token langkah terbaik yang mungkin
    • Meski dimasukkan ke prompt, itu mungkin lebih seperti hiasan saja
      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
    • Saat meminta pembuatan kode pun, kita biasanya tidak hanya berkata “Anda adalah pakar Python dan ini kodenya”, tetapi menyebutkan arah hasil yang diinginkan, dan hasilnya biasanya lebih baik
      Jadi saya terkejut tidak ada ungkapan seperti “dan menangkan” atau “hitam menang”
    • Selain itu, promptnya juga bukan “langkah terbaik”, melainkan “pilih langkah berikutnya”
      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

    • Saya rasa menggambar papan ASCII tidak akan membuat perbedaan besar
      “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 2 sepertinya tidak akan membantu, karena alasan-alasan yang sudah disebutkan orang lain
      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
    • Chain of thought membantu dalam banyak masalah, tetapi justru sangat menurunkan performa catur GPT
      Dalam eksperimen catur saya 1,5 tahun lalu, trik mengulang seluruh urutan langkah adalah teknik terbaik tanpa fine-tuning
    • Karena ungkapan ini relatif jarang dalam data pelatihan, kemungkinan besar ia justru memperburuk respons alih-alih memperbaikinya
      Saya ingin melihat hasilnya, tetapi akan cukup terkejut kalau membaik
    • Menurut saya, peningkatan saat diminta mengulang semua langkah sejauh ini terjadi karena LLM diberi lebih banyak waktu dan ruang untuk berpikir
      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

    • Secara intuitif ini terasa sangat benar
      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
    • Saya setuju dengan insight bahwa pemberian contoh lebih berguna daripada fine-tuning
      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

    • Memprediksi langkah berikutnya dari kebijakan catur pakar hanyalah imitation learning yang sudah banyak diteliti
      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