3 poin oleh GN⁺ 2025-05-06 | 1 komentar | Bagikan ke WhatsApp
  • Metode sampling pada large language model (LLM) dijelaskan dalam panduan komprehensif yang mudah dipahami bahkan oleh pemula
  • Apa itu token, mengapa digunakan alih-alih kata, dan bagaimana model menghasilkan teks dirangkum secara rinci
  • Sampling adalah proses untuk mengatur keragaman dan kealamian output, dan memperkenalkan berbagai algoritma sampling seperti Temperature, Top-K, Top-P, DRY
  • Setiap teknik sampling dijelaskan beserta penjelasan konseptual dan prinsip kerja matematis serta algoritmis, serta membandingkan efek seperti pencegahan pengulangan, peningkatan kreativitas, dan penyesuaian konsistensi
  • Karena juga merangkum urutan kombinasi, interaksi, dan kasus konflik antar sampler, ini adalah materi yang sangat berguna bagi developer yang ingin mengendalikan kualitas generasi secara presisi

Intro Knowledge

Short Glossary

  • Logits adalah nilai yang belum dinormalisasi yang merepresentasikan skor tiap token
  • Softmax adalah fungsi yang mengubah logits menjadi distribusi probabilitas yang telah dinormalisasi
  • Entropy berarti ketidakpastian prediksi; semakin tinggi nilainya, semakin besar ketidakpastian terhadap token berikutnya
  • Perplexity adalah metrik yang menunjukkan bahwa semakin rendah nilainya, semakin tinggi keyakinan model
  • n-gram berarti urutan dari n token yang berurutan
  • Context window adalah jumlah maksimum token yang dapat diproses model dalam satu waktu

Why tokens?

Why not letters?

  • Tokenisasi per huruf membuat sekuens menjadi terlalu panjang sehingga biaya komputasi meningkat dan keterkaitan informasi menjadi sulit dipertahankan

Why not whole words?

  • Pendekatan berbasis kata memiliki masalah seperti ledakan ukuran kosakata dan kesulitan merepresentasikan kata baru atau kata langka
  • Pendekatan berbasis sub-word dapat memproses prefiks, akar kata, dan sufiks secara terpisah sehingga efektif untuk pemahaman morfologi dan transfer learning multibahasa

How are the sub-words chosen?

  • Kamus dibangun dengan mencari potongan kata (sub-word) yang paling sering muncul melalui sampel representatif dari data pelatihan

How does the model generate text?

  • Selama pelatihan, model mempelajari distribusi probabilitas token berikutnya dari sejumlah besar teks
  • Saat inferensi, model menghitung probabilitas untuk semua token yang mungkin, lalu memilih token berikutnya sesuai teknik sampling

From Tokens to Text

  • Tahap prediksi: menghitung distribusi probabilitas untuk semua token kandidat
  • Tahap pemilihan: memilih token sesuai strategi sampling tertentu
  • Karena hanya memilih token dengan probabilitas tertinggi dapat menghasilkan teks yang membosankan atau repetitif, teknik sampling menjadi penting

Sampling

Temperature

  • Nilai rendah menghasilkan keluaran yang konservatif dan repetitif, sedangkan nilai tinggi mendorong hasil yang lebih kreatif namun meningkatkan kemungkinan kesalahan
  • Logits dibagi dengan nilai temperature untuk mengatur ketajaman (tingkat konsentrasi) distribusi probabilitas

Presence Penalty

  • Token yang sudah pernah muncul akan dikurangi kemungkinan kemunculannya kembali
  • Hanya menilai apakah token sudah digunakan atau belum, tanpa mempertimbangkan frekuensi kemunculannya

Frequency Penalty

  • Skor dikurangi sebanding dengan jumlah kemunculan
  • Semakin sering suatu kata muncul, semakin besar penalti yang diterima sehingga membantu meningkatkan keragaman

Repetition Penalty

  • Menerapkan penalti asimetris pada logit positif/negatif untuk token yang sudah muncul sebelumnya
  • Efektif mencegah pengulangan berbentuk loop, tetapi dapat merusak konsistensi konteks

DRY (Don't Repeat Yourself)

  • Mendeteksi pengulangan pola n-gram lalu mengurangi probabilitas token yang diprediksi akan mengulanginya
  • Semakin panjang dan semakin baru frasa yang diulang, semakin kuat penekanannya
  • Sangat unggul untuk mengurangi pengulangan sambil tetap menjaga kealamian dalam teks kreatif

Top-K

  • Hanya menyisakan K kandidat teratas dan membuang token lainnya
  • Menghapus sampel yang ekstrem sambil tetap mempertahankan tingkat keacakan tertentu

Top-P (Nucleus Sampling)

  • Hanya menyisakan token hingga probabilitas kumulatif mencapai atau melebihi P, lalu membuang sisanya
  • Ukuran kumpulan kandidat berubah sesuai tingkat keyakinan model sehingga bersifat adaptif

Min-P

  • Menyisakan hanya token yang memiliki setidaknya rasio minimum tertentu dibanding token dengan probabilitas tertinggi
  • Pemfilteran disesuaikan secara dinamis sesuai tingkat kepercayaan model

Top-A

  • Memfilter kandidat dengan ambang yang sebanding dengan kuadrat probabilitas token dengan probabilitas tertinggi
  • Semakin tinggi keyakinannya, semakin ketat filter yang diterapkan

XTC

  • Dengan probabilitas tertentu, secara sengaja menghapus kandidat dengan probabilitas tertinggi untuk mendorong pemilihan yang kurang pasti
  • Teknik untuk respons yang tidak lazim atau lebih kreatif

Top-N-Sigma

  • Menyeleksi token yang valid berdasarkan standar deviasi distribusi probabilitas
  • Pemfilteran berbasis karakteristik statistik yang fleksibel menghadapi berbagai situasi

Tail-Free Sampling (TFS)

  • Membedakan kandidat yang bermakna dan kandidat long-tail melalui perubahan orde kedua (kurvatur) dari gradien probabilitas
  • Cara ini memfilter dengan mencari titik cutoff yang alami

Eta Cutoff

  • Menyesuaikan kriteria filter secara dinamis berdasarkan entropi (ketidakpastian) distribusi
  • Semakin tinggi keyakinan, semakin banyak token yang dihapus; semakin rendah keyakinan, semakin fleksibel

Epsilon Cutoff

  • Menghapus token berprobabilitas rendah menggunakan ambang probabilitas tetap
  • Sederhana namun mudah diprediksi, dan berguna untuk menghapus long-tail yang tidak perlu

Locally Typical Sampling

  • Lebih memilih token yang surprisal yang diharapkannya (selisih terhadap nilai prediksi) dekat dengan rata-rata
  • Mendorong pilihan yang "tipikal" alih-alih token yang paling mungkin atau yang paling aneh

1 komentar

 
GN⁺ 2025-05-06
Komentar Hacker News
  • Tidak disebutkan bahwa sampler tidak dapat mengakses keadaan internal model

    • Ini hanya menerapkan matematika pada distribusi output, dan jika tidak sepintar modelnya, itu tidak bisa diuraikan
    • Sampler seperti repetition penalty atau DRY membuat model tidak mengulang sendiri, yang berarti pelatihan yang lebih baik diperlukan
    • Meretas proses autoregresif memungkinkan perbaikan sederhana seperti Min-P
    • Mencoba mengubah model buruk menjadi model bagus adalah pendekatan yang keliru
  • Saya mencoba menulis panduan sampling untuk Ollama/llama.cpp

    • Terbuka terhadap masukan atau usulan perbaikan
  • Saat mencoba membuat LLM mengeluarkan "ide", pemilihan vektor logit seharusnya merusak ide aslinya

    • Jika ide itu lengkap, sampling pada logit tidak diperlukan
  • Semuanya dijelaskan dengan sederhana, sehingga membuka peluang untuk mencoba hal-hal baru

    • Misalnya, bagaimana jika seluruh kata dijadikan token?
    • Bisa dibuat "robot" dengan "dialek robot" yang terbatas
    • Tidak ada kapasitas untuk kata baru atau kata langka, tetapi data pelatihan dan data masukan bisa dimodifikasi agar diterjemahkan ke kosakata yang ada
    • Ini memberi pengguna ekspektasi jawaban yang bisa dijawab dengan baik oleh robot
  • Apakah model LLM bisa melakukan tokenisasi secara implisit?

    • Alih-alih membangun tokenizer terpisah, gunakan string karakter dan biarkan jaringan saraf mengubahnya menjadi token
    • Bobot jaringan tersebut dilatih bersama sisa LLM
  • Terkait hal itu, makalah min_p kami menempati peringkat ke-18 dari 12000 kiriman di ICLR

    • Posternya populer
    • Ada diskusi dengan Yoshua Bengio dalam presentasi lisan
    • Bisa dipastikan bahwa Top N sigma saat ini adalah sampler yang paling umum
    • Temperatur bisa disetel jauh lebih tinggi daripada sekarang
    • Kasus khusus top_k = 2 dan suhu ultra-tinggi sangat menarik
  • Saya penasaran apakah sampling benar-benar mengatasi keterbatasan model, atau hanya menutupi masalah yang lebih dalam

  • "Sampling" mencakup jauh lebih banyak hal daripada yang saya perkirakan

  • Dokumen yang sangat berguna, penjelasannya jelas dan mencakup banyak hal

    • Penasaran apakah ada yang tahu siapa yang menulisnya
    • Bagian DRY - "repetition penalty" menarik
    • Saya sering ingin LLM menghasilkan salinan persis dari masukan
    • Saat merangkum percakapan panjang, saya meminta kutipan persis yang paling deskriptif
    • Penalti DRY bisa bertentangan dengan tujuan ini
  • Saya tidak menyadari bahwa begitu banyak manipulasi dilakukan setelah pemilihan temperatur softmax awal