- LLM menghitung distribusi probabilitas token berikutnya lalu memilih salah satunya; sampling menambahkan keacakan terkontrol pada pendekatan greedy untuk mengatur keragaman keluaran
- temperature, penalti pengulangan, DRY, Top-K/Top-P/Min-P mengubah logits atau distribusi probabilitas sebelum dan sesudah pemilihan token, sehingga merekonstruksi rentang kandidat dan probabilitas relatif
- Setiap sampler mempertahankan atau mengecualikan token berdasarkan kriteria yang berbeda, seperti jumlah tetap, probabilitas kumulatif, rasio terhadap probabilitas tertinggi, entropy, pengulangan n-gram, surprisal, dan lain-lain
- Dalam pipeline nyata, urutan penerapan filtering, penalti, temperature, dan penyesuaian distribusi sangat mengubah hasil; tergantung kombinasinya, efek dapat saling melengkapi atau saling menimpa
- Ukuran kosakata dan cara segmentasi tokenizer mengubah unit yang diberi probabilitas oleh model serta pola yang terdeteksi oleh sampler berbasis n-gram seperti DRY
Struktur dasar generasi dan sampling LLM
- LLM menerima teks seperti prompt pengguna dan menghitung token yang sesuai dengan kata berikutnya
- Model memiliki kosakata yang terdiri dari token valid, dan merujuk pada kosakata ini saat pelatihan maupun inferensi
- Selama pelatihan, model melihat banyak teks dan membangun peta probabilitas internal untuk token; selama inferensi, model menentukan token berikutnya berdasarkan probabilitas yang telah dipelajari
- Proses generasi terbagi menjadi dua tahap
- Prediksi: menghitung distribusi probabilitas untuk semua token berikutnya yang mungkin di setiap posisi
- Pemilihan: memilih satu token dari distribusi itu dan menambahkannya ke keluaran
- Pendekatan greedy selalu memilih token dengan kemungkinan tertinggi, sehingga mudah menghasilkan teks yang repetitif dan deterministik
- Sampling memasukkan keacakan terkontrol ke tahap pemilihan agar keluaran menjadi lebih beragam
Mengapa token, bukan kata atau karakter
- Tokenisasi tingkat karakter membuat teks yang sama menjadi sekuens yang jauh lebih panjang;
tokenizationbisa menjadi 12 token, bukan 2–3 token dengan pendekatan subword - Sekuens panjang membutuhkan lebih banyak komputasi untuk self-attention, dan model harus menghubungkan informasi di beberapa posisi seperti
t-h-emenjadi satu konsep - Tokenisasi tingkat kata harus mencakup seluruh kata bahasa Inggris dan kata dari berbagai bahasa, sehingga matriks embedding menjadi sangat besar dan mahal
- Saat menemukan kata baru atau langka, pendekatan tingkat kata biasanya menggantinya dengan token
"unknown", sehingga kehilangan informasi makna - Tokenisasi subword dapat merepresentasikan kata baru seperti
grompuficioussebagai kombinasi subword yang sudah ada - Model bahasa yang memakai tokenizer baru melatih tokenizer untuk menemukan subword yang sering muncul dari sampel representatif data pelatihan, dan menetapkan ukuran kosakata terlebih dahulu
Nilai inti yang ditangani sampler
- logits: skor sebelum normalisasi yang dikeluarkan model untuk setiap token dalam kosakata; semakin tinggi nilainya, semakin besar kemungkinan menjadi token berikutnya
- softmax: mengubah logits menjadi nilai antara 0 dan 1 serta menjadi distribusi probabilitas dengan total jumlah 1
- entropy: menunjukkan ketidakpastian atau keacakan distribusi probabilitas; semakin tinggi, semakin tidak yakin model terhadap token berikutnya
- perplexity: menunjukkan seberapa “terkejut” model terhadap teks; semakin rendah, semakin tinggi tingkat kepercayaannya
- n-gram: sekuens dari n token berurutan;
"once upon a"adalah 3-gram - context window: jumlah token maksimum yang dapat diproses LLM sekaligus, termasuk prompt dan keluaran yang dihasilkan
Sampler dasar yang langsung menyesuaikan distribusi probabilitas
- Temperature bekerja seperti “kenop kreativitas” LLM
- Temperature rendah membuat token dengan skor tertinggi menjadi lebih dominan, sehingga meningkatkan keterprediksian
- Temperature tinggi seperti 0.7–1.0 memungkinkan kandidat ke-3 atau ke-4 juga terpilih, meningkatkan keragaman tetapi juga memperbesar kemungkinan kesalahan
- Temperature sangat tinggi di atas 1.0 dapat membuat keluaran kasar dan sulit diprediksi jika tidak dipakai bersama sampling lain seperti Min-P
- Secara teknis, logits dibagi dengan nilai temperature lalu softmax diterapkan
- Presence Penalty menerapkan penalti tetap pada token yang sudah muncul setidaknya sekali
- Nilai penalti dikurangkan dari logits token yang pernah digunakan, terlepas dari jumlah kemunculannya
- Umumnya tidak direkomendasikan karena ada strategi penalti yang lebih baik
- Frequency Penalty meningkatkan penalti secara proporsional terhadap jumlah kemunculan token
- Jika suatu token muncul tiga kali, logits berkurang sebesar
3 × frequency penalty - Semakin sering token yang sama berulang, semakin kecil kemungkinannya dipilih lagi secara bertahap
- Jika suatu token muncul tiga kali, logits berkurang sebesar
- Repetition Penalty menargetkan token yang muncul baik di prompt maupun keluaran yang dihasilkan
- Logits positif dibagi dengan penalti, sedangkan logits negatif dikalikan dengan penalti agar menjadi lebih negatif
- Berguna untuk memutus loop pengulangan, tetapi nilai yang agresif menimbulkan biaya pada koherensi
DRY untuk mencegah pola berulang
- DRY(Don't Repeat Yourself) mendeteksi pola berulang secara lebih luas daripada sekadar pengulangan kata sederhana
- Ia mencari pengulangan n-gram dalam sekuens token yang dihasilkan, lalu memberi penalti pada token yang akan terus melanjutkan pola tersebut
- Jika pola seperti
"the cat sat on the"pernah muncul sebelumnya dan alur yang sama mulai muncul lagi, token berikutnya yang dulu mengikuti pola itu dibuat lebih kecil kemungkinannya untuk dipilih - Semakin panjang pola berulang, semakin kuat penalti yang diterapkan
- Parameter utamanya mencakup multiplier sebagai kekuatan penalti, base sebagai laju kenaikan menurut panjang n-gram, panjang n-gram minimum dan maksimum, sequence breaker, range limit, dan lainnya
- Sequence breaker seperti punctuation dapat mereset pencocokan pola, dan ada juga pembatasan rentang yang hanya mempertimbangkan teks terbaru demi efisiensi
- Ini sangat berguna di area seperti penulisan kreatif, ketika frasa berulang terasa tidak alami
Sampler filtering yang memangkas kandidat
- Top-K hanya menyisakan K token teratas, bukan seluruh kosakata
- Jika K adalah 40, pemilihan hanya dilakukan dari 40 kandidat yang paling mungkin
- Logits lainnya disetel ke
-∞, sehingga setelah softmax probabilitasnya secara praktis menjadi 0
- Top-P(Nucleus) menyisakan himpunan kandidat minimum yang probabilitas kumulatifnya melewati ambang P, bukan jumlah tetap
- Jika P adalah 0.9, kandidat teratas disertakan sampai probabilitas kumulatifnya mencapai 90%
- Saat model yakin, kandidatnya sedikit; saat tidak pasti, lebih banyak kandidat tersisa
- Token dengan probabilitas tertinggi selalu dipertahankan agar setidaknya ada satu token yang tersisa
- Min-P menetapkan garis dasar kualitas sebagai rasio terhadap token dengan probabilitas tertinggi
- Jika probabilitas tertinggi adalah 0.6 dan Min-P adalah 0.1, ambangnya adalah 0.06
- Token dengan probabilitas yang terlalu rendah dibanding kandidat teratas dikecualikan
- Biasanya dipakai bersama nilai temperature tinggi 1.0–1.2, dengan nilai Min-P yang sangat rendah sekitar 0.1
- Lebih efisien karena tidak memerlukan pengurutan seluruh kosakata seperti Top-K atau Top-P
- Top-A menggunakan ambang yang proporsional terhadap kuadrat probabilitas tertinggi
- Semakin yakin model, efek kuadrat membuat ambang semakin tinggi sehingga kandidat berkurang drastis
- Ini adalah metode yang muncul lebih dulu daripada Min-P; secara teknis Min-P bersifat linear, sedangkan Top-A berbasis kuadrat
- Epsilon Cutoff menghapus token di bawah ambang probabilitas tetap
- Kriteria yang sama diterapkan terlepas dari karakteristik distribusi
- Sederhana dan dapat diprediksi, tetapi tidak seadaptif Eta Cutoff
Sampler yang memanfaatkan bentuk distribusi dan ketidakpastian
- Top-N-Sigma membuat ambang statistik menggunakan nilai maksimum logits dan standar deviasi
- Kriterianya adalah
logit maksimum - N × standar deviasi - Ini mencerminkan bukan hanya nilai absolut distribusi, tetapi juga penyebaran keseluruhan skor
- Kriterianya adalah
- Tail-Free Sampling(TFS) melihat kelengkungan distribusi probabilitas untuk menemukan titik awal ekor panjang
- Logits diurutkan menurun dan diubah menjadi probabilitas, lalu nilai absolut selisih orde kedua dihitung
- Token setelah titik ketika distribusi kumulatif kelengkungan melewati ambang akan dihapus
- Fokusnya adalah bentuk distribusi, bukan nilai probabilitas absolut
- Eta Cutoff menggunakan probabilitas individual dan entropy keseluruhan secara bersamaan
- Dalam situasi entropy rendah ketika model yakin, cutoff yang lebih ketat diterapkan
- Dalam situasi entropy tinggi ketika model tidak pasti, cutoff yang lebih longgar diterapkan
- Ambang ditentukan sebagai nilai minimum dari
etadansqrt(eta) * exp(neg_entropy)
- Locally Typical Sampling melihat seberapa dekat suatu token dengan surprisal rata-rata, bukan probabilitas itu sendiri
- Token yang terlalu mudah diprediksi maupun terlalu mengejutkan sama-sama dianggap kurang “typical”
- Token diurutkan berdasarkan surprisal deviation terkecil, lalu
typical-pmenentukan jumlah probabilitas kumulatif yang dipertahankan
- Quadratic Sampling bukan filtering, melainkan transformasi nonlinear pada seluruh distribusi logits
- Berdasarkan token dengan skor tertinggi, selisih dengan logits lain disesuaikan menggunakan suku quadratic dan cubic
- Smoothing factor mengontrol kekuatan penyesuaian, sedangkan smoothing curve mengontrol bentuk transformasi
- Jika
spositif, distribusi menjadi lebih runcing; jikakpositif, ia bekerja ke arah meratakan distribusi
Metode lanjutan untuk mengendalikan keterprediksian dan keragaman
- XTC(eXclude Top Choices) diaktifkan secara probabilistik dan sengaja mengecualikan pilihan yang paling mudah diprediksi
- Ia menggunakan probabilitas aktivasi dan ambang pengecualian sebagai parameter
- Dari kandidat teratas yang melewati ambang, satu kandidat dengan skor terendah dikecualikan, lalu kandidat berprobabilitas tinggi lainnya dihapus
- Berbeda dari filter umum yang memangkas kandidat berprobabilitas rendah, metode ini menargetkan pilihan yang paling klise
- Mirostat adalah pendekatan feedback yang menyesuaikan secara dinamis untuk mempertahankan surprisal target
- Ia menyaring token yang terlalu mengejutkan dengan threshold
musaat ini - Setelah pemilihan token, surprisal aktual dihitung dan dibandingkan dengan nilai target
tau etaadalah learning rate yang menentukan seberapa cepatmudisesuaikan- Rumus pembaruannya adalah
mu_{t+1} = mu_t - η × (surprisal_t - τ) - Ini adalah metode self-regulating yang berupaya menjaga perplexity generasi teks tetap konstan
- Ia menyaring token yang terlalu mengejutkan dengan threshold
- Dynamic Temperature Sampling mengubah temperature berdasarkan entropy distribusi saat ini
- Pada entropy rendah, temperature dinaikkan untuk memasukkan keragaman
- Pada entropy tinggi, temperature diturunkan untuk memusatkan keluaran
- Pengguna menetapkan temperature minimum, temperature maksimum, dan exponent
- Rumusnya adalah
temperature = min_temp + (max_temp - min_temp) * (normalized_entropy ^ exponent)
Beam Search dan Contrastive Search
- Beam Search mempertahankan beberapa sekuens kandidat secara paralel dan mencari jalur dengan probabilitas keseluruhan tinggi
- Ia mempertahankan sekuens kandidat sebanyak beam width, memperluas kandidat di setiap decoding step, lalu hanya menyisakan kandidat teratas
- Biasanya
2kkandidat disampling di setiap tahap agar masih ada cukup kandidat setelah sekuens yang sudah selesai dan lainnya dikecualikan - Skornya adalah jumlah logprob semua token dalam sekuens
- Untuk input yang sama, ia menghasilkan keluaran deterministik yang sama; biayanya besar dan kini tidak banyak dipakai karena ada metode sampling yang lebih baik
- Contrastive Search mengoptimalkan probabilitas tinggi yang sesuai konteks sekaligus menghindari pola berulang
- Pertama, kandidat Top-K dipilih
- Hidden representation dari context yang sudah ada dan continuation kandidat dibandingkan untuk menghitung degeneration penalty berbasis similarity
- Skor akhir adalah
score(x) = α * P(x) - (1-α) * sim(x, context) αmengatur keseimbangan antara kemungkinan dan keragaman- Mirip Beam Search, metode ini tidak digunakan secara luas
Bagaimana urutan penerapan sampler mengubah hasil
- Dalam implementasi LLM nyata, teknik sampling sering diterapkan secara berurutan; beberapa library mengizinkan perubahan urutan per request, tetapi kebanyakan tidak
- Pipeline umum mengikuti urutan berikut
- Model menghasilkan raw logits
- Token yang tidak boleh dipertimbangkan difilter atau dilarang
- Penalti repetition, frequency, dan presence diterapkan
- Teknik berbasis pola seperti DRY diterapkan
- Temperature scaling diterapkan
- Teknik penyesuaian distribusi seperti Top-K, Top-P, dan Min-P diterapkan
- Token disampling dari distribusi probabilitas akhir
- Tergantung implementasi, temperature diterapkan di awal atau akhir di luar penalti dan sampler post-softmax
- Untuk sebagian besar tugas, temperature diterapkan lebih dulu
- Dalam penulisan kreatif, biasanya diterapkan terakhir
- Setiap sampler mengubah lanskap probabilitas yang akan dilihat sampler berikutnya
- Penalti menurunkan peak token yang sudah digunakan dan secara relatif menaikkan kandidat lain
- Temperature rendah membuat distribusi lebih tajam, sedangkan temperature tinggi membuatnya lebih datar
- Filter seperti Top-K/P menghapus token berprobabilitas rendah dan menormalisasi ulang probabilitas yang tersisa
Interaksi dan kombinasi yang bergantung pada urutan
- Urutan Temperature → Filtering merekonstruksi seluruh distribusi terlebih dahulu, lalu melakukan filtering
- Temperature rendah memusatkan massa probabilitas pada sedikit token bahkan sebelum filter
- Temperature tinggi menyebarkan massa probabilitas lebih luas sebelum difilter
- Urutan Filtering → Temperature memangkas kandidat terlebih dahulu, lalu temperature hanya menyesuaikan probabilitas relatif di antara token yang tersisa
- Meski memakai temperature tinggi, token yang sudah dihapus oleh filter awal tidak akan kembali
- Dengan Top-K 40 dan temperature 1.5, jika filter diterapkan lebih dulu, hanya 40 token teratas asli yang tersisa
- Penalties → Temperature menurunkan probabilitas token berulang terlebih dahulu, lalu temperature memperbesar atau memperkecil penyesuaian itu
- Pada temperature tinggi, efek penalti secara praktis dapat terhapus
- Pada temperature rendah, penalti dapat teramplifikasi secara berlebihan
- Temperature → Penalties membuat penalti bekerja di atas distribusi yang sudah direkonstruksi oleh temperature, sehingga dapat menghasilkan efek penalti yang lebih seimbang dan dapat diprediksi
- DRY sensitif terhadap posisi
- Jika diterapkan di awal pipeline, efek pencegahan pengulangannya kuat, tetapi sampler setelahnya bisa menaikkan kembali token yang terkena penalti
- Jika diterapkan di akhir, efeknya bisa melemah karena sampler sebelumnya sudah menghapus sebagian kandidat, tetapi menjadi garis pertahanan terakhir terhadap pengulangan tepat sebelum pemilihan token
- Ada juga kombinasi yang saling melengkapi
- Top-K + Top-P: Top-K memberi batas keras, sementara Top-P beradaptasi dengan tingkat keyakinan model
- Temperature + Min-P: temperature tinggi meratakan distribusi, sedangkan Min-P memberi batas bawah kualitas relatif terhadap kandidat teratas
- Ada pula kombinasi yang bertabrakan
- High Temperature + Low Top-K: Top-K rendah sangat membatasi kandidat sehingga banyak menutupi efek temperature
- Beberapa metode filtering sekaligus: jika Top-K, Top-P, Min-P, dan TFS dipakai bersama, metode yang paling membatasi dapat mendominasi sehingga sisanya menjadi redundan
- XTC + Top-A: keduanya mencoba mengecualikan pilihan teratas dengan cara berbeda, sehingga dapat menyempitkan ruang sampling secara berlebihan
Bagaimana tokenizer membentuk ruang sampling
- Tokenizer menentukan apa yang diprediksi probabilitasnya oleh model dan kandidat apa yang ditangani sampler
- Algoritme subword menyeimbangkan masalah sekuens panjang pada tingkat karakter dan kosakata raksasa serta masalah unknown pada tingkat kata
- BPE(Byte Pair Encoding) dimulai dari kosakata berbasis karakter atau byte, lalu berulang kali menggabungkan pasangan symbol bersebelahan yang paling sering muncul dalam korpus pelatihan
- Penggabungan diulang sampai ukuran kosakata yang diinginkan tercapai
- 32000 atau 128256 units disebutkan sebagai contoh ukuran kosakata
- BPE standar mungkin memerlukan pre-tokenization berdasarkan spasi dan tanda baca, dan penanganan whitespace dapat tidak konsisten antarimplementasi
- SentencePiece menangani teks langsung sebagai sekuens karakter Unicode tanpa segmentasi awal
- Spasi dapat dienkode sebagai bagian dari token
- Karena bekerja pada raw Unicode, whitespace dapat dienkode secara eksplisit sebagai
U+2581, sehingga tokenization dan de-tokenization menjadi reversible dan lossless - Secara internal, ia dapat mengimplementasikan BPE atau pendekatan unigram language model
- Ini populer di LLM modern karena tidak bergantung bahasa dan bersifat reversible
Dampak ukuran kosakata, batas token, dan kata langka
- Tokenizer memiliki ukuran kosakata tetap; kosakata besar memuat lebih banyak kata utuh, sementara kosakata kecil lebih banyak bergantung pada subword
- Jika
"sampling"atau"probability"adalah satu token, model memprediksi kemungkinan konsep utuh sekaligus- Pada frasa umum, keluaran bisa lebih langsung dan dapat diprediksi
- Pada kata langka, masalah
<UNK>atau kombinasi subword yang canggung dapat muncul
- Jika
"sampling"dibagi menjadisampl+ing, model memprediksi pada tahap yang lebih halus- Jika sampler seperti temperature mengizinkan, ada peluang
samplingberubah menjadisampler - Kata langka dapat disusun dari potongan-potongan
- Jika terpaku pada common sub-word prefix, keluaran bisa kurang konsisten atau stuck
- Penalti seperti DRY harus melacak sekuens yang lebih pendek dan kurang jelas secara semantik
- Jika sampler seperti temperature mengizinkan, ada peluang
- Frasa yang sama juga dipecah berbeda tergantung tokenizer
"State-of-the-art"bisa menjadiState+-+of+-+the+-+art, atau dalam gaya SentencePiece menjadiState+_of+_the+_art- Jika sering muncul, seluruhnya juga bisa menjadi satu token
- Batas token berdampak langsung pada sampler berbasis n-gram seperti DRY
- Jika
"once upon a time"terdiri dari 4 token, DRY dapat dengan mudah mendeteksi 4-gram - Jika itu satu token, sulit memberi penalti dengan cara yang sama kecuali keluaran di-rollback
- Jika
- Kata langka atau baru dapat dipecah menjadi potongan yang dikenal oleh BPE dan SentencePiece
- Jika menghasilkan
<UNK>, sampler kehilangan satu pilihan bermakna untuk dipertimbangkan - Pendekatan subword dapat mengombinasikan potongan secara kreatif, tetapi membutuhkan beberapa tahap sampling untuk membuat kata langka, sehingga lebih besar kemungkinan menyimpang di tengah dibandingkan satu known token
- Jika menghasilkan
1 komentar
Komentar Hacker News
Terkait hal ini, makalah min_p kami menempati peringkat ke-18 dari 12.000 pengajuan ICLR dan terpilih untuk presentasi lisan
https://iclr.cc/virtual/2025/oral/31888
Posternya juga populer: https://iclr.cc/media/PosterPDFs/ICLR%202025/30358.png?t=174...
Presentasi lisannya bisa dilihat di sini. Ada adegan mengkritik Yoshua Bengio tentang topik ini, dan ia menjadi penanya pertama. Pembicara kedua mulai sekitar 19:30, lengkap dengan slide presentasinya, dan cukup lucu: https://iclr.cc/virtual/2025/session/31936
Makalah: https://arxiv.org/abs/2407.01082
Sebagai salah satu penulis min_p, saya bisa memastikan bahwa untuk sampler serbaguna saat ini, Top N sigma sejauh ini adalah yang terbaik. Selain itu, temperature bisa dan seharusnya disetel jauh lebih tinggi daripada sekarang. Jika memakai teknik seperti min_p atau top N sigma, temperature 100 pun sepenuhnya tidak masalah
Satu lagi, kombinasi top_k = 2 dan temperature sangat tinggi, yang tidak direkomendasikan para penulis di bagian akhir makalah, juga sangat menarik dengan sendirinya. Memang muncul salah eja kira-kira setiap 10 kata, tetapi pada saat yang sama tampaknya menghasilkan kreativitas yang cukup menarik
Saya tahu jumlah cabangnya luar biasa besar dan biaya ekspansi node juga mahal, tetapi fakta bahwa pada praktiknya tidak dilakukan pencarian selalu terasa aneh bagi saya
Satu hal yang terlewat di sini adalah bahwa sampler tidak bisa mengakses state internal model. Sampler hanya menerapkan matematika dasar pada distribusi keluaran, dan meski distribusi itu secara teknis memuat sedikit semantik, ia tidak bisa diuraikan kecuali Anda sepintar modelnya
Hal yang sama berlaku untuk sampler seperti repetition penalty atau DRY yang dijelaskan di sini. Model bisa mengulang dirinya sendiri dengan tak terhitung banyaknya cara, dan satu-satunya cara untuk mencegah semuanya adalah pelatihan yang lebih baik, bukan pencarian n-gram atau pendekatan NLP klasik. Ini seperti mencoba menutup semua lubang dengan jari; memangnya berapa banyak jari yang kita punya?
Mengutak-atik proses autoregresif bisa menghasilkan perbaikan atau trik cerdik lewat buah yang menggantung rendah seperti Min-P, tetapi jika tujuannya mengubah model buruk menjadi model bagus, arahnya keliru
Top n sigma sudah ada sejak pertengahan 2024, dan min_p sejak 2023, tetapi di luar open source, yaitu di luar HF/vllm, kita masih menunggu inovasi seperti ini diintegrasikan. Alasan penyedia API sengaja bergerak lambat adalah karena mereka tidak mau menanggung risiko model menjadi terlalu kreatif, dan temperature tinggi juga sangat mungkin merusak watermarking
Satu hal lagi, membuat model mengetahui pengaturan sampling-nya sendiri itu sangat mudah. Cukup masukkan kembali pengaturan itu ke model pada setiap token atau setiap generasi. Misalnya bisa dilakukan dengan structured generation. Model bisa mengendalikan pengaturan sampling-nya sendiri, dan dengan sedikit pemrograman tambahan saja ia bisa “mengakses state internal”. Sekarang kode itu bahkan bisa ditulis oleh model untuk kita
Baru-baru ini saya juga menulis sedikit panduan sampling untuk Ollama/llama.cpp, dan masukan atau usulan perbaikan sangat diterima: https://smcleod.net/2025/04/comprehensive-guide-to-llm-sampl...
Saya suka karena keseluruhannya tertata rapi dan dijelaskan dengan mudah, sehingga membuka peluang untuk melihat di mana eksperimen baru bisa dilakukan secara efektif
Misalnya, kenapa tidak memakai seluruh kata sebagai token? Kita bisa membuat “robot” dengan “dialek robot” yang terbatas. Ia tidak akan punya kemampuan menangani kata baru atau kata langka, tetapi data pelatihan dan data input bisa dimodifikasi untuk menerjemahkan kata-kata semacam itu ke kosakata yang sudah ada. Hasilnya pemetaan yang jauh lebih kecil, terasa benar-benar robotik, dan pengguna, seperti terhadap C-3PO, akan punya ekspektasi tentang jenis jawaban apa yang bisa diberikan robot ini dengan baik
Jika upayanya adalah membuat LLM mengeluarkan ide, bukan sekadar “token berikutnya”, maka proses memilih di atas vektor logit tampaknya akan merusak ide awal itu. Jika idenya sudah utuh, semestinya tidak perlu memakai sampling atas logit
Dalam kerangka ini, sampling tidak seharusnya terjadi pada level yang dekat dengan keluaran, yaitu “kata apa yang akan diucapkan berikutnya”
Beberapa minggu lalu saya membuat tulisan interaktif tentang topik terkait, yaitu constrained sampling. Tulisan ini memang jauh lebih menyeluruh
http://michaelgiba.com/grammar-based/index.html
Bisakah model LLM melakukan tokenisasi secara implisit? Maksudnya, tanpa membuat tokenizer terpisah, membiarkan string arbitrer masuk, lalu membuat jaringan neural mengubahnya menjadi token dan melatih bobot jaringan itu bersama bagian LLM lainnya.
Vektor one-hot ini melewati layer linear dan dipadatkan ke ukuran hidden state model. Misalnya, kosakata token bisa berjumlah 10 ribu–100 ribu, tetapi ukuran hidden state mungkin hanya sekitar 500–2.000. Seluruh bagian model lainnya beroperasi di ruang hidden state[1], yang di dalamnya memuat berbagai konsep tingkat tinggi.
Jika tokenisasi dihapus, encoder harus bekerja lebih keras untuk mencapai ruang hidden state yang sudah kita kenal. Mungkin saja ada encoding yang lebih efisien dari byte yang tidak dipasangkan ke ruang hidden, tetapi kemungkinannya tampak kecil, mengingat tokenisasi pada sebagian besar model sudah didasarkan pada sifat statistik set pelatihannya. Jika “anti” atau “ism” tidak otomatis digabungkan menjadi satu token sebelum diberikan ke model, attention head di layer bawah model harus melakukan hal yang sama.
Dulu model dilatih dengan urutan karakter lalu beralih ke tokenisasi demi efisiensi, jadi trade-off ini kemungkinan besar tidak sepadan.
[0] Kita tidak bisa begitu saja memberikan daftar ID token. Token 123,25 tidak punya makna matematis, dan menaikkan atau menurunkan ID token juga tidak bermakna.
[1] Performa menjadi lebih baik, tetapi interpretabilitas menjadi lebih sulit. Khususnya, vektor basis di ruang hidden tidak berkorespondensi langsung dengan kata atau konsep, dan semua konsep berada di semacam cincin berdimensi N.
Menyebut pembaruan teknik agar memakai teknologi yang baru ditemukan beberapa tahun lalu sebagai modern hampir seperti masalah literasi. Kalau modern, itu dibandingkan dengan apa, sampling LLM klasik?
modern, adj. designed and made using the most recent ideas and methods
— https://dictionary.cambridge.org/us/dictionary/english/moder...
Apa yang dijelaskan tulisan ini persis sesuai dengan definisi tersebut. Dalam sekitar 7 tahun terakhir, ada banyak kemajuan di bidang ini, dan misalnya GPT 1, 2, 3 jelas sudah sangat usang menurut standar sekarang, serta tidak modern dalam arti definisi di atas.
ChatGPT hanyalah terobosan yang populer di publik. Bahkan sebelum itu, keyboard smartphone sudah memakai LLM sejak 10 tahun lalu.
Dokumen yang benar-benar berguna. Penjelasannya sangat jelas dan cakupannya juga luas.
Ada yang tahu siapa penulisnya? Tidak ada nama penulis, dan ini diunggah di pastebin Markdown gratis.
Bagian penalti pengulangan DRY menarik. Saya sering ingin LLM sengaja menyalin input secara persis ke output. Misalnya saat merangkum percakapan panjang, saya biasanya meminta kutipan persis yang paling baik menunjukkan poin pembahasan. Sebab nanti mudah dicari di teks asli untuk verifikasi fakta.
Penalti DRY sepertinya bekerja berlawanan dengan tujuan seperti itu.