Top-k sampling (ID)
Pengambilan sampel Top-k — adalah metode decoding stokastik yang digunakan dalam model bahasa autoregresif, termasuk large language model (LLM), untuk menghasilkan teks. Tujuan utamanya adalah membatasi pemilihan token berikutnya pada sejumlah tetap () kandidat dengan probabilitas tertinggi, sehingga menghindari munculnya kata-kata yang tidak mungkin dan sering tidak relevan. Metode ini merupakan salah satu penyempurnaan pertama dari pengambilan sampel acak sederhana dan selama lama menjadi cara populer untuk meningkatkan koherensi teks yang dihasilkan.
Penjelasan Sederhana
Pengambilan sampel Top-k dapat dibayangkan sebagai pemilihan kata berikutnya bukan dari semua kemungkinan pilihan, melainkan hanya dari daftar terbatas yang paling mungkin.
Misalnya, model melengkapi kalimat «Hari ini di luar turun…». Dalam kosakatanya terdapat ribuan kelanjutan: «hujan», «angin», «salju», «deras» — dan jauh di sana ada «kuantum» atau simbol acak. Tanpa batasan, generasi teks rentan terhadap berbagai bentuk degradasi (text degeneration). Metode maksimisasi (greedy decoding, beam search) menghasilkan teks yang membosankan dan berulang, sedangkan pengambilan sampel murni tanpa pemotongan berisiko menghasilkan teks yang tidak koheren karena memilih token yang tidak mungkin dari «ekor distribusi yang tidak andal». Top-k terutama mengatasi masalah kedua — dengan memotong ekor, ia mengurangi risiko kelanjutan yang tidak bermakna, meskipun tidak dengan sendirinya menghilangkan pengulangan. Top-k mengatakan: «Ambil hanya kata yang paling mungkin, lupakan sisanya, hitung ulang probabilitas di antara mereka dan pilih satu secara acak».
Singkatnya:
- model menyusun daftar kelanjutan yang paling mungkin;
- mengambil hanya pilihan pertama;
- memilih salah satunya secara acak.
Semakin kecil , semakin konservatif dan dapat diprediksi hasilnya. Semakin besar , semakin bebas dan beragam generasinya.
Analogi:
- Menu restoran: daripada memilih secara acak dari 5.000 item (berisiko mendapat hidangan yang tidak enak) atau selalu memesan hidangan paling populer (membosankan), pelayan membawakan hanya 40 rekomendasi teratas — pilihlah dari daftar yang masuk akal. Meski begitu, terkadang di bagian menu yang dipotong bisa saja ada hidangan unik yang sebenarnya Anda sukai — itulah harga dari kepastian.
- Daftar pendek finalis: dari 1.000 kandidat kerja, dipilih 40 resume terbaik, lalu baru dilakukan wawancara.
Konsep dan Matematika
Pada setiap langkah generasi teks, model bahasa standar menghasilkan distribusi probabilitas atas seluruh kosakata . Pengambilan sampel Top-k memodifikasi proses ini sebagai berikut:
- Seleksi kandidat: Dari seluruh kosakata dipilih himpunan bagian yang terdiri dari token dengan probabilitas tertinggi.
- Pemotongan: Logit (prediksi mentah model sebelum penerapan Softmax) dari semua token yang tidak termasuk dalam diberi nilai , yang setelah normalisasi menghasilkan probabilitas tepat sama dengan 0.
- Redistribusi (normalisasi): Probabilitas token yang tersisa diskalakan agar jumlah barunya sama dengan 1.
- Pengambilan sampel: Token berikutnya dipilih secara acak dari distribusi baru yang telah dipotong ini.
Dengan demikian, Top-k memberlakukan ambang batas ketat berdasarkan jumlah kandidat: kata-kata dengan peringkat probabilitas di bawah tidak akan pernah dipilih.
Pengaruh Parameter
- kecil (misalnya, – ): Membuat generasi lebih konservatif dan dapat diprediksi. Model memilih hanya dari kumpulan kata yang sangat terbatas dan paling mungkin. Ini meningkatkan koherensi, tetapi dapat menghasilkan teks yang berulang dan membosankan.
- besar (misalnya, – ): Meningkatkan keragaman dan kreativitas teks, karena lebih banyak pilihan masuk ke dalam sampel. Namun, ini juga meningkatkan risiko masuknya token yang kurang relevan atau tidak tepat.
- Kasus batas:
- : Setara dengan greedy decoding. Model selalu memilih token yang paling mungkin.
- = ukuran kosakata: Setara dengan pengambilan sampel standar dari distribusi penuh, tanpa pemotongan.
Signifikansi Historis
Pengambilan sampel Top-k sebagai metode decoding merupakan salah satu penerapan awal yang sukses dalam karya Angela Fan dan rekan-rekannya (2018) «Hierarchical Neural Story Generation», di mana para penulis menggunakan top-k random sampling (dengan ) dalam sistem generasi cerita hierarkis dan menunjukkan bahwa strategi tersebut jauh lebih efektif dibandingkan beam search dan pengambilan sampel acak penuh yang berisiko memasukkan kata-kata yang tidak mungkin.
Namun, karya kunci yang secara sistematis menganalisis masalah degradasi teks dan menunjukkan bahwa metode truncation, termasuk top-k, secara signifikan meningkatkan kualitas generasi adalah artikel Holtzman et al. (2019) «The Curious Case of Neural Text Degeneration». Dalam karya tersebut, para penulis mengusulkan top-p (nucleus sampling) sebagai alternatif yang lebih adaptif terhadap top-k, menunjukkan berdasarkan metrik HUSE mereka bahwa nucleus sampling memberikan hasil yang lebih baik di antara strategi-strategi yang dibandingkan.
Sebagai contoh, dalam demonstrasi awal dan rekomendasi untuk GPT-2, nilai `top_k=40` banyak digunakan (disebutkan dalam kode OpenAI sebagai «generally a good value»), yang membantu menghasilkan teks panjang dan koheren.
Perbandingan dengan Metode Decoding Lainnya
Top-k vs. Top-p
Top-k sebagian besar telah dilengkapi, dan dalam sejumlah tugas digantikan oleh metode yang lebih canggih — pengambilan sampel Top-p (nucleus).
- Kelemahan utama Top-k adalah ketidakadaptifannya. Nilai yang tetap tidak memperhitungkan bentuk distribusi probabilitas:
- Ketika distribusi tajam (model yakin pada beberapa token), Top-k dapat secara artifisial memperluas sampel dengan memasukkan kandidat yang tidak mungkin.
- Ketika distribusi datar (model tidak yakin dan banyak token memiliki probabilitas serupa), Top-k dapat memotong terlalu awal banyak pilihan yang sesuai.
- Selain itu, Top-k secara kaku memotong «ekor» distribusi (tail truncation), sehingga token yang relevan secara konteks tetapi jarang dapat hilang — metode ini mengorbankan potensi kreativitas demi koherensi.
- Top-p, sebaliknya, secara dinamis mengadaptasi ukuran sampel, memilih token berdasarkan probabilitas kumulatifnya. Ini membuatnya lebih fleksibel dan andal.
- Dalam praktiknya, kedua metode ini sering digunakan bersama-sama sebagai filter berurutan: satu secara kasar membatasi jumlah kandidat, yang lain secara dinamis mempersempit sampel berdasarkan keyakinan model. Urutan penerapannya yang tepat bergantung pada implementasi framework tertentu.
Top-k vs. Temperatur
- Temperatur mengubah bentuk seluruh distribusi probabilitas, tetapi tidak memotong token. Ia mempengaruhi probabilitas relatif semua kandidat.
- Top-k memberlakukan pemotongan ketat, sepenuhnya mengecualikan token di luar top-.
Dalam praktiknya, Top-k dapat digunakan bersama dengan temperatur dan Top-p. Urutan penerapan filter yang tepat bergantung pada framework: misalnya, di Hugging Face Transformers, pipelinenya terlihat seperti Temperatur → Top-k → Top-p, yaitu temperatur terlebih dahulu menskalakan logit (), kemudian Top-k memotong «ekor» panjang token sampah, dan baru setelah itu Top-p secara dinamis mempersempit sampel tergantung pada keyakinan model. Dalam hal ini, langkah-langkah tertentu dapat dilewati tergantung pada pengaturan: jika , langkah Top-k tidak diterapkan; jika , langkah Top-p tidak diterapkan.
Penerapan Praktis
Meskipun Top-p adalah metode yang lebih adaptif dan sering digunakan sebagai metode dasar untuk generasi teks terbuka, tidak ada metode decoding yang secara universal lebih baik — pilihan optimal bergantung pada tugas, model, dan prioritas (kualitas, kecepatan, ketahanan). Top-k tetap menjadi parameter yang didukung secara luas di semua framework utama (Hugging Face Transformers, vLLM, dll.) dan secara aktif digunakan baik secara mandiri maupun dalam kombinasi dengan metode lain.
- Nilai umum: Dalam praktiknya, nilai yang sering digunakan adalah puluhan token (misalnya, 10, 40, 50), tetapi nilai optimal bergantung pada model dan tugas.
- Rekomendasi: Untuk generasi teks terbuka, Top-p sering lebih disukai. Jika menggunakan Top-k, sebaiknya dikombinasikan dengan temperatur sedang dan nilai dipilih dengan cermat sesuai tugas tertentu. Top-k juga berguna sebagai «pengaman» tambahan pada temperatur tinggi.
- Catatan: Dalam framework, Top-k dapat dikombinasikan dengan Repetition Penalty (penalti untuk pengulangan) dan parameter
no_repeat_ngram_sizeuntuk mencegah model berputar-putar pada kata-kata yang sama dari daftar top-.
Daftar Pustaka
Karya Dasar
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. ACL Anthology. arXiv:1805.04833.
- Holtzman, A. et al. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751 (ICLR 2020).
- Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o (ICLR 2024).
Bacaan Tambahan
- Meister, C. et al. (2022). Locally Typical Sampling. arXiv:2202.00666 (TACL 2023).
- Su, Y.; Lan, T.; Wang, Y.; Yogatama, D.; Kong, L.; Collier, N. (2022). A Contrastive Framework for Neural Text Generation. arXiv:2202.06417 (NeurIPS 2022).
- O'Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Shi, C. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. ACL Anthology. arXiv:2402.06925.
- Ravfogel, S.; Goldberg, Y.; Goldberger, J. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Chen, S. J. et al. (2024). Decoding Game: On Minimax Optimality of Heuristic Text Generation Strategies. arXiv:2410.03968 (ICLR 2025).
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
Lihat Juga
- Model bahasa besar