2 poin oleh GN⁺ 2024-09-22 | 1 komentar | Bagikan ke WhatsApp
  • SCoRe dari Google DeepMind adalah pendekatan pembelajaran penguatan online multi-putaran yang belajar dari jejak revisi yang dibuat sendiri oleh model, untuk meningkatkan kemampuan LLM memperbaiki jawabannya sendiri tanpa umpan balik eksternal
  • Pendekatan SFT yang ada rentan terhadap distribution mismatch, yaitu ketidaksesuaian antara kesalahan dalam data pelatihan dan kesalahan model yang sebenarnya, atau behavior collapse, yaitu hampir tidak melakukan perbaikan pada jawaban kedua
  • SCoRe mengikat distribusi percobaan pertama agar tetap dekat dengan model dasar, lalu menginisialisasi agar percobaan kedua membaik, dan setelah itu memperkuat perilaku revisi nyata melalui reward shaping
  • Dalam eksperimen Gemini 1.0 Pro dan Gemini 1.5 Flash, performa koreksi diri meningkat dibanding model dasar sebesar 15.6 poin persentase pada MATH dan 9.1 poin persentase pada HumanEval
  • Hanya dengan prompting atau SFT offline, koreksi diri intrinsik sulit muncul secara stabil, dan dibutuhkan rancangan pembelajaran penguatan di atas data yang dihasilkan sendiri agar mencegah collapse

Masalah koreksi diri yang dituju SCoRe

  • LLM berguna untuk tugas penalaran seperti matematika dan coding, tetapi pada saat pengujian belum mampu secara stabil menjalankan strategi meta untuk meninjau dan memperbaiki jawabannya sendiri
  • Koreksi diri adalah kemampuan model untuk meninjau ulang respons awalnya dan mengubahnya menjadi respons akhir yang lebih baik
  • Pekerjaan ini berfokus pada pengaturan koreksi diri intrinsik, yaitu model memperbaiki jawabannya sendiri tanpa masukan eksternal
    • Pada saat pengujian, tidak digunakan pemeriksa jawaban atau umpan balik eksternal
    • Selama pelatihan, diasumsikan ada akses ke fungsi reward yang mengevaluasi apakah keluaran model benar atau tidak
  • SCoRe melatih satu model yang sama untuk menghasilkan respons pertama sekaligus memperbaiki kesalahan, tanpa model revisi terpisah

Titik buntu pendekatan sebelumnya

  • Jika koreksi diri didorong hanya dengan prompting, banyak penelitian sebelumnya justru menunjukkan performa bisa menurun
  • Beberapa metode bergantung pada syarat tambahan seperti jawaban benar, test case, model yang lebih kuat, anotasi manusia, atau model refinement terpisah
  • Pendekatan berbasis SFT dapat memanfaatkan jejak revisi yang dihasilkan sendiri, tetapi dalam eksperimen tidak menghasilkan efek koreksi diri yang besar
  • Eksperimen perbandingan MATH menggunakan varian STaR dan Pair-SFT
    • STaR hanya menyimpan jejak yang berhasil memperbaiki respons salah lalu melakukan SFT
    • Pair-SFT melatih satu model menggunakan repair trace sintetis yang memasangkan respons salah dan respons benar

Hasil eksperimen koreksi diri berbasis SFT

  • Dalam eksperimen MATH berbasis Gemini 1.5 Flash, model dasar memiliki akurasi percobaan pertama 52.6% dan akurasi percobaan kedua 41.4%, sehingga memburuk sebesar -11.2 poin persentase
  • Pair-SFT menaikkan akurasi percobaan kedua menjadi 54.2%, tetapi peningkatannya dibanding percobaan pertama hanya 1.8 poin persentase
  • Pengaturan dasar STaR turun dari 55.4% pada percobaan pertama menjadi 41.2% pada percobaan kedua, yaitu penurunan -14.2 poin persentase
  • STaR yang menambahkan data correct-to-correct memperbaiki Δ(t1,t2) menjadi 0.4 poin persentase, tetapi efek koreksi dirinya kecil
  • Pair-SFT yang menambahkan data correct-to-correct membuat percobaan pertama dan kedua sama-sama 55.0%, sehingga cenderung tidak mengubah jawaban

Dua mode kegagalan

  • Metode berbasis SFT lemah terhadap distribution mismatch
    • Data pelatihan disesuaikan dengan kesalahan percobaan pertama yang dibuat model dasar
    • Pada distribusi kesalahan percobaan pertama yang dihasilkan langsung oleh model terlatih, performa revisi bisa menurun
  • Pair-SFT meningkatkan correction accuracy pada kumpulan respons pertama yang tetap, tetapi ketika pelajar menghasilkan sendiri respons pertamanya, akurasi koreksi diri justru memburuk
  • Jika terjadi behavior collapse, model pada percobaan kedua tidak benar-benar merevisi atau hanya merevisi secara sangat konservatif
  • Analisis edit distance ratio menunjukkan model STaR dan SFT sering menampilkan pola yang hampir tidak melakukan revisi
  • RL multi-putaran standar dapat meningkatkan performa kedua percobaan, tetapi tidak mampu memperbesar selisih Δ(t1,t2), sehingga sulit berkembang menjadi kemampuan koreksi diri

Struktur pelatihan SCoRe

  • SCoRe adalah pendekatan RL multi-putaran on-policy yang belajar dari data online hasil generasi sendiri untuk mengurangi distribution mismatch
  • Pelatihan RL dasarnya menggunakan REINFORCE policy gradient dengan penalti KL-divergence terhadap model tetap
  • Stage I adalah tahap inisialisasi untuk memisahkan perilaku dua percobaan
    • Distribusi percobaan pertama diberi kendala KL agar tetap dekat dengan model dasar
    • Percobaan kedua dilatih untuk memperoleh reward tinggi
    • Tujuannya adalah membuat kebijakan awal yang bisa mengeksplorasi respons yang lebih baik pada percobaan kedua
  • Stage II mengoptimalkan kedua percobaan secara bersama
    • Reward percobaan kedua ditambah progress bonus
    • Bonus diperkuat ketika percobaan kedua memperbaiki status benar/salah dibanding percobaan pertama
    • Transisi dari respons pertama yang benar menjadi respons salah diberi efek negatif yang kuat

Mengapa reward shaping diperlukan

  • Jika hanya memakai objective RL standar, dua strategi berbeda sama-sama mungkin muncul
    • Strategi yang memperbaiki jawaban pertama pada jawaban kedua
    • Strategi yang membuat jawaban pertama sebaik mungkin dan hampir tidak merevisi pada jawaban kedua
  • Dalam data pelatihan, kedua strategi bisa sama-sama tampak baik, tetapi strategi kedua tidak tergeneralisasi sebagai koreksi diri pada soal baru
  • Reward shaping pada SCoRe mencerminkan bukan hanya kebenaran akhir, tetapi juga perubahan dalam kebenaran ke dalam reward
  • Rancangan ini memperkuat perilaku yang mengubah respons pertama yang salah menjadi respons kedua yang benar, alih-alih sekadar menebak jawaban dengan reward tinggi

Kinerja dan contoh

  • SCoRe pada MATH menunjukkan contoh memperbaiki kesalahan aritmetika dan kesalahan penalaran pada percobaan kedua
    • Contoh aritmetika memperbaiki jawaban pertama 1 menjadi 3 pada percobaan kedua dalam perhitungan perkalian modular
    • Contoh penalaran memperbaiki jawaban pertama ∞ menjadi 3 pada percobaan kedua pada soal jumlah range fungsi
  • Pada Gemini 1.0 Pro dan Gemini 1.5 Flash, SCoRe mencapai performa koreksi diri tingkat tertinggi
  • Dibanding model Gemini dasar, peningkatan koreksi diri mencapai 15.6 poin persentase pada MATH dan 9.1 poin persentase pada HumanEval
  • Dalam eksperimen scaling saat inferensi MATH, ada rentang kondisi di mana memakai sampel untuk koreksi diri berurutan lebih efektif daripada hanya memakainya untuk generasi langsung paralel

Implikasi praktis

  • Pelatihan koreksi diri sulit ditangani hanya dengan mengumpulkan data jawaban benar lalu melakukan SFT
  • Jika model harus memperbaiki kesalahan yang dibuatnya sendiri saat pengujian, maka selama pelatihan model juga harus mempelajari perilaku revisi dari distribusi responsnya sendiri
  • Batasan utama SCoRe adalah perlunya fungsi reward yang menilai kebenaran selama pelatihan, tetapi reward itu tidak digunakan saat pengujian
  • Jika ingin mempertahankan deployment model tunggal sambil meningkatkan kemampuan koreksi diri, maka dibutuhkan RL multi-putaran dan rancangan reward anti-collapse tanpa model revisi terpisah atau teacher supervision

1 komentar

 
GN⁺ 2024-09-22
Komentar Hacker News
  • Tampaknya mirip dengan pendekatan model o1 dari OpenAI, tetapi karena makalah o1 belum dipublikasikan, tidak ada sitasi
    Sayangnya, tidak terlihat ada penyebutan tentang rilis bobot

    • Makalah ini tampaknya membahas penggunaan reinforcement learning sebagai bagian dari pelatihan utama atau tahap setelahnya, lalu setelah itu model melakukan inferensi seperti biasa
      o1 mungkin saja juga demikian, tetapi menurut saya perubahan yang lebih besar adalah proses berpikir runtime, yaitu setelah menerima prompt dan sebelum memberikan jawaban final, model “berpikir” dengan kata-kata dan menyesuaikan ulang pada saat eksekusi
      Jika pemahaman ini benar, kedua pendekatan tersebut tidak mirip. Setahu saya OpenAI telah menggunakan reinforcement learning pada semua model lanjutan sejak versi pertama ChatGPT, dan itulah alasan mengapa sejak awal pengguna bisa meninggalkan umpan balik di UI
    • Saya penasaran, miripnya di bagian mana
  • Makalahnya agak sulit dipahami karena lebih banyak berputar-putar di sekitar argumen utama daripada menjelaskannya secara langsung. Sejauh yang saya pahami, tujuannya adalah membuat LLM memberikan jawaban yang lebih akurat untuk soal-soal sulit
    Salah satu hipotesisnya adalah bahwa model dapat dilatih untuk berperilaku mengoreksi diri, yaitu menerima jawaban yang salah sebagai input lalu memperbaikinya menjadi jawaban yang lebih baik atau jawaban yang benar
    Sebelumnya, berbagai teknik reinforcement learning yang menjadikan kualitas jawaban hasil koreksi sebagai reward juga sudah mencoba melatih perilaku seperti ini, tetapi tidak bekerja dengan baik, dan perilaku yang dipelajari juga tidak tergeneralisasi dengan baik
    Inti makalah ini adalah bahwa ketika model menerima contoh pelatihan Answer 1, Reasoning, Corrected Answer dan sinyal “buat Corrected Answer menjadi lebih baik”, sebenarnya ada dua solusi yang sepenuhnya memungkinkan. Yang pertama adalah memperbaiki Reasoning, Corrected Answer seperti yang kita inginkan, dan yang lainnya adalah sekadar memperbaiki Answer 1 itu sendiri sehingga Corrected Answer = Answer 1
    Dalam riset sebelumnya, yang terakhir itulah yang benar-benar terjadi, sehingga pelatihan perilaku yang diinginkan dianggap gagal. Model tidak memperbaiki perilaku koreksi, melainkan hanya mencoba memperbaiki jawaban pertamanya
    Solusi makalah ini adalah sedikit mengubah prosedur pelatihan untuk mendorong pendekatan yang pertama. Jadi ini adalah upaya untuk benar-benar melatih perilaku yang diinginkan, yaitu memperbaiki jawaban sebelumnya
    Pelatihan dilakukan dalam dua tahap. Pada tahap 1, model dipaksa mempertahankan jawaban pertama apa adanya dengan loss divergensi KL, sambil diberi reward jika jawaban kedua membaik. Dengan begitu, distribusi jawaban awal tetap dipertahankan, sehingga model dapat diinisialisasi dengan perilaku mengoreksi diri sambil menghindari masalah bahwa jawaban salah nantinya hilang dari pelatihan model dan model menjadi lebih jarang melihat “jawaban salah”
    Pada tahap 2, model boleh mengubah jawaban pertama juga, tetapi fungsi reward disesuaikan agar memberikan reward lebih tinggi untuk pembalikan, yaitu ketika jawaban pertama buruk dan jawaban kedua bagus. Pada tahap ini, model bisa menggunakan baik strategi memperbaiki jawaban pertama maupun strategi memperbaiki koreksi diri, tetapi reward lebih besar diberikan pada yang terakhir. Ini tampak seperti proses penyempurnaan untuk mempertahankan perilaku koreksi diri sambil tetap memoles performa keseluruhan
    Dari metriknya, teknik ini terlihat bekerja lebih baik dan tergeneralisasi lebih baik
    Namun, saya agak khawatir pada tahap 2 model akan belajar sengaja membuat Answer 1 lebih buruk demi memaksimalkan reward pembalikan. Sepertinya perlu ada mekanisme penyeimbang agar Answer 1 tidak memburuk, tetapi saya tidak yakin apakah itu ada di fungsi reward atau apakah ini benar-benar kekhawatiran yang valid

    • Cara jawaban yang berputar-putar di sekitar ide menjelaskan dengan baik fenomena yang terlihat pada banyak output LLM. Saya belum mencoba o1 langsung, tetapi tampaknya model itu memperbaiki masalah tersebut
    • Saya penasaran apa maksud bagian “yang lainnya adalah sekadar memperbaiki Answer 1 itu sendiri sehingga Corrected Answer = Answer 1
      Bukankah memperbaiki Answer 1 memang tujuannya sejak awal? Dari penjelasannya saja, Answer 1 terdengar seperti output LLM, bukan input
  • LLM tidak dapat mengingat secara langsung pengalaman indrawi dari proses belajarnya sendiri. Salah satu cara utama saya mengoreksi diri adalah, ketika hendak mengatakan sesuatu, saya menimbang bagaimana/mengapa saya mengetahuinya, lalu memperkirakan apakah saya benar-benar mengetahuinya, mengarang-ngarang, atau mendengarnya dari sumber yang kurang tepercaya
    Jika LLM tidak dapat mengingat pembelajarannya sendiri dengan cara apa pun, menurut saya koreksi diri akan sulit

    • Jadi maksudnya solusinya adalah menempelkan deskripsi pengalaman indrawi di depan setiap batch pelatihan? Misalnya seperti, “Anda membaca konten berikut di sebuah kafe di Paris pada tahun 1997. Saat membaca, Anda sedang menyantap baguette yang enak, telur rebus, dan kopi yang terlalu gosong. Perempuan di meja sebelah mengenakan topi biru yang indah”
      Lalu melakukan post-training pada model akhir agar ia mengingat teks mana dibaca di mana, atau jika muncul teks yang belum pernah dibaca, membuatnya tidak mengingat pengalaman apa pun?
      Kalau ada yang mencoba ini dan berhasil, saya akan berhenti dari program doktoral dan kembali menjadi konselor kamp
    • Sepertinya arahnya mirip. Ini memang membantu: Source-Aware Training Enables Knowledge Attribution in Language Models (https://arxiv.org/abs/2404.01019)
      Menurut abstraknya, mereka mengeksplorasi pelatihan sadar sumber untuk memberi LLM kemampuan seperti itu. Secara spesifik, caranya adalah (i) melatih LLM untuk mengaitkan pengetahuan dalam tiap dokumen dengan pengenal dokumen sumber yang unik, lalu (ii) melakukan instruction tuning agar ketika diberi prompt, model mengutip sumber prapelatihan yang mendukung jawabannya
    • Sangat tidak setuju: https://mypapers.nyc3.cdn.digitaloceanspaces.com/the_phenomenology_of_machine.pdf
      Ini juga layak dirujuk: https://www.sciencedirect.com/science/article/pii/S1571064523001094
      Cara pelatihan o1 dijelaskan dalam formalisasi ini sebagai model strange particle
    • Rasanya nilai hal itu dalam penggunaan sehari-hari terlalu dibesar-besarkan. Ketika pengetahuan menumpuk, terutama informasi trivia yang tidak tertanam dalam suatu sistem, pola “saya tidak tahu kenapa saya tahu ini, tapi jawabannya X” itu umum
      Bahkan untuk pengetahuan yang berada dalam suatu sistem seperti ilmu komputer, seiring waktu pengalaman indrawinya memudar menjadi latar belakang. Misalnya, seperti banyak orang yang berkecimpung di ilmu komputer, saya juga bisa menyebutkan karakteristik performa O() dari cukup banyak algoritme secara spontan, tetapi di mana saya mempelajari algoritme tertentu sudah lama kabur
      Saat manusia mengoreksi diri, proses yang umum bukanlah pekerjaan hebat seperti “menaksir apakah saya tahu ini” atau “mengingat apakah saya mendengarnya dari sumber yang kurang tepercaya”. Biasanya ada sensasi samar bahwa “saya belum sepenuhnya memahami ini”, dan koreksi diri berarti memeriksa ulang informasi ke sumber yang dapat dipercaya
      Jadi saya tidak melihat pengalaman indrawi dalam mengingat kembali sepenting yang dibayangkan
    • Kalau bukan sedang di bawah pengaruh obat atau mengalami krisis kesehatan mental yang serius, itu lebih dekat ke konfabulasi daripada halusinasi
  • Spoiler: dalam paradigma prediksi token berikutnya secara autoregresif, halusinasi tidak bisa dihilangkan; ini disebut hukum LeCun
    Masalahnya di sini adalah orang-orang mencoba memakai model bahasa sebagai pemecah masalah deterministik, bukan untuk hal yang memang benar-benar dikuasainya, yaitu pembuatan teks semi-kreatif

    • Apakah hukum LeCun itu benar-benar ada? Saya hampir tidak menemukan hasil saat mencarinya, hanya komentar HN yang memakai istilah itu dengan definisi lain. Bisa saja berasal dari makalah yang kurang dikenal, tetapi dengan dokumentasi yang semiskin ini, rasanya aneh membawanya dalam konteks ini
    • Saya penasaran apakah ada yang pernah mencoba memasukkan kembali perplexity token sebelumnya ke model, supaya model bisa tahu bahwa dirinya mulai keluar jalur
      Dalam kasus seperti itu, mungkin model bisa dilatih untuk memberikan jawaban yang kurang yakin sehingga kecenderungannya untuk berhalusinasi berkurang
    • Senang melihat sudut pandang ini muncul
      Saya sering menjelaskannya kepada orang-orang seperti ini. Bayangkan sebuah perusahaan yang hanya punya departemen humas. Kemampuannya membuat siaran pers dan menjawab pertanyaan wartawan sangat hebat, tetapi karena bagian perusahaan lainnya tidak ada, tidak ada yang membatasi teks keluaran secara bermakna
      Di semesta lain tempat orang-orang memahami ini, LLM tidak akan dipakai sama sekali untuk hal serius dan akan banyak dipakai untuk proyek seni kecil yang menyenangkan
    • Argumen LeCun punya cacat serius. Sama sekali tidak ketat, dan orang tidak boleh menarik kesimpulan seluas itu tanpa dasar
    • Kata “tidak pernah” itu sendiri bukan masalah. Manusia juga berperilaku mirip
      Fusi nuklir hanya perlu dipecahkan dengan benar sekali
  • Ini pada dasarnya semacam distilasi pengetahuan dalam bentuk tertentu?

  • Saya tidak suka para kritikus AI memopulerkan istilah halusinasi. Itu membuat sekumpulan statistik dipersonifikasikan, seolah-olah sedang melakukan proses berpikir mendalam yang mirip dengan pikiran manusia
    Bukan, ia tidak “berhalusinasi”. Ia juga tidak berbohong atau mengarang. Ia hanya memuntahkan data sesuai pemicu dari underlying weights
    Kalau ini adalah endpoint JSON API biasa, orang tidak akan bilang API itu berhalusinasi; mereka akan bilang, karena rusak, “API ini buruk sekali”

    • Saya melihatnya sebaliknya. Orang menganggap pikiran manusia melakukan “pemikiran mendalam”, padahal sebenarnya bisa saja itu hanya sekumpulan statistik
    • Kata yang tepat adalah konfabulasi. Ini adalah fenomena mengisi informasi yang hilang, tetapi bisa jadi tidak sadar bahwa dirinya sedang melakukannya
      Karena sistem saraf mana pun tidak bisa menyimpan data pelatihan secara sempurna, kita semua sampai batas tertentu melakukan konfabulasi
      Sebaliknya, “halusinasi” pada manusia lebih dekat dengan runtuhnya loop umpan balik sensorik tertentu. Pada LLM, proses seperti itu sejak awal tidak ada
      Halusinasi terjadi ketika loop umpan balik sensorik internal mengalahkan input sensorik nyata, sehingga pengalaman sensorik palsu atau aliran sinyal tercipta dan diproses. Pengalaman palsu yang berjalan itu bisa saja memuat sebagian informasi sensorik nyata, atau tidak sama sekali
      Saat bermimpi, kita sedang berhalusinasi. Loop pengalaman sensorik yang terpisah dari indra nyata berjalan bebas, tetapi juga punya tujuan yang produktif
      Alasan adanya umpan balik pada indra adalah agar interpretasi terhadap input sensorik dapat dijadikan petunjuk untuk mempermudah interpretasi input pada momen berikutnya. Namun jika input baru sangat menyimpang dari ekspektasi, penting agar interpretasi yang sedang berlangsung di-reset sehingga bisa cepat mengarahkan diri kembali
      Untuk memperbaiki interpretasi yang keliru sesuai perubahan konteks nyata, kembali ke interpretasi input mentah bukan hanya penting; reset semacam ini juga merupakan sinyal bahwa sesuatu yang baru atau tak terduga telah terjadi, sehingga besar kemungkinan memicu pembelajaran
      Jadi pemilihan istilah “halusinasi” itu kurang beruntung dan menimbulkan salah paham
    • Kabar buruknya, istilah itu sudah dipakai dalam riset deep learning jauh sebelum LLM muncul. Bukan para kritikus yang memopulerkan sesuatu atau berusaha membenarkan kekurangan LLM, melainkan itu adalah nama yang diberikan peneliti untuk fenomena yang mereka teliti
      Contoh makalah sebelum LLM yang menggunakan istilah ini dengan cara seperti itu adalah sebagai berikut
      2021: The Curious Case of Hallucinations in Neural Machine Translation (https://arxiv.org/abs/2104.06683)
      2019: Identifying Fluently Inadequate Output in Neural and Statistical Machine Translation (https://aclanthology.org/W19-6623/)
  • Meski algoritme yang cerdas dipakai untuk memandu prediktor kata berikutnya yang bodoh dan tidak cerdas, pada akhirnya itu tetap hanya algoritme yang tidak cerdas
    Memang ia mengklasifikasikan sampah dengan lebih elegan, tetapi pada akhirnya tetap saja sampah
    Saya berharap pendekatan yang mirip reinforcement learning akan menggantikan pendekatan yang mirip Transformer, tetapi itu hampir seperti mimpi kosong