Top-p sampling tidak mempertahankan shortlist token yang tetap sepanjang generation. Pada setiap langkah decoding, model menghasilkan vektor logit baru, vektor itu menjadi distribusi probabilitas, lalu sampler membentuk set kandidat baru dengan massa probabilitas kumulatif yang mencapai threshold terkonfigurasi.
Konsekuensinya mudah terlewat pada kode serving: nilai top_p yang sama dapat memasukkan dua token pada satu langkah dan puluhan token pada langkah lain. Parameter ini mengendalikan massa probabilitas, bukan jumlah kandidat.
Cutoff mengikuti distribusi saat ini
Untuk vocabulary dengan probabilitas token p_1, p_2, ..., p_V, urutkan token dari probabilitas tertinggi ke terendah:
p_(1) >= p_(2) >= ... >= p_(V)Untuk threshold q, top-p sampling mempertahankan set awal terkecil yang massa kumulatifnya mencapai setidaknya q:
sum(i=1..k) p_(i) >= qPerilaku persis pada batas dapat berbeda antarimplementasi, terutama untuk token yang membuat jumlah melewati threshold dan aturan jumlah token minimum. Properti utamanya tetap sama: keanggotaan set berasal dari distribusi saat ini, bukan dari nilai k yang tetap.
Perhatikan dua distribusi dengan top_p = 0.90:
langkah A: [0.72, 0.19, 0.04, 0.03, 0.02]
langkah B: [0.24, 0.22, 0.18, 0.15, 0.12, 0.09]Pada langkah A, dua token pertama sudah membawa massa probabilitas 0.91. Pada langkah B, pencapaian 0.90 memerlukan lebih banyak kandidat. Satu threshold dengan demikian menyesuaikan lebar set kandidat terhadap konsentrasi distribusi.
Logits membuat set berubah dari satu langkah ke langkah berikutnya
Decoding autoregresif mengubah input model setelah setiap token dipilih. Forward pass berikutnya menghasilkan vektor logit berbeda karena prefix sudah berubah. Transformasi decoding yang diterapkan sebelum filter top-p juga dapat mengubah distribusi yang masuk ke proses cutoff.
Temperature merupakan salah satu contoh. Saat implementasi menerapkan temperature pada logits sebelum softmax lalu menjalankan filter top-p, perubahan temperature dapat mengubah tingkat konsentrasi probabilitas. Distribusi yang lebih datar dapat membutuhkan lebih banyak token untuk mencapai massa kumulatif yang sama; distribusi yang lebih tajam dapat membutuhkan lebih sedikit.
Logit processor lain dapat memberi efek serupa bila berjalan sebelum tahap top-p. Kontrol repetisi, token ban, grammar constraint, atau bias khusus aplikasi dapat memindahkan massa probabilitas atau menghapus kandidat. Nucleus yang dihasilkan terkait dengan distribusi yang sudah diproses pada langkah decoding tersebut, bukan ranking tetap yang dibentuk saat generation dimulai.
Karena itu, urutan operasi merupakan bagian dari semantik decoding. Dua sistem yang mengekspos parameter dengan nama sama dapat menghasilkan set kandidat berbeda jika urutan transformasinya berbeda atau aturan batasnya tidak sama. Kesamaan parameter saja tidak membuktikan perilaku sampling yang ekuivalen.
Top-p dan top-k membatasi kuantitas yang berbeda
Top-k sampling mempertahankan jumlah maksimum kandidat berperingkat tertinggi yang tetap sebelum sampling. Top-p mempertahankan kandidat berperingkat tinggi secukupnya untuk mencakup threshold massa probabilitas. Kedua kontrol tersebut dapat bereaksi berbeda terhadap logits yang sama.
Pada distribusi yang sangat terkonsentrasi, top-p dapat mempertahankan set kecil meskipun vocabulary besar. Pada distribusi yang menyebar, set tersebut dapat jauh lebih besar. Top-k tidak terus melebar mengikuti penyebaran itu setelah jumlah terkonfigurasi tercapai.
Saat kedua kontrol aktif, set efektif bergantung pada urutan filter dan semantik runtime. Salah satu desain yang umum menerapkan beberapa filter pada processed logits yang sama, sehingga hanya token yang lolos dari pembatasan gabungan yang tersisa. Namun, aplikasi perlu menjadikan library atau serving runtime yang digunakan sebagai acuan untuk urutan persisnya.
Perbedaan ini relevan untuk portabilitas konfigurasi. Menyalin top_p = 0.9 dan top_k = 50 antar-runtime tidak dengan sendirinya membuktikan bahwa set token yang sama akan disampling. Vocabulary tokenizer, logits model, processor sebelumnya, detail numerik, aturan kandidat minimum, dan urutan filter dapat memengaruhi batas.
Renormalisasi mengubah probabilitas di dalam set yang dipertahankan
Setelah token di luar set top-p dikeluarkan, sampling berjalan pada kandidat yang tersisa. Secara konseptual, probabilitas yang tersisa dinormalisasi agar jumlahnya menjadi satu.
Misalkan probabilitas mentah yang dipertahankan adalah:
[0.55, 0.25, 0.12]Total massanya 0.92. Sampling hanya dari kandidat tersebut setara dengan bobot ternormalisasi:
[0.55 / 0.92, 0.25 / 0.92, 0.12 / 0.92]Filter tersebut dengan demikian tidak hanya mencegah token berperingkat rendah untuk dipilih. Filter juga mengubah probabilitas kondisional setiap kandidat yang dipertahankan dibanding sampling dari distribusi tanpa filter.
Detail implementasi persis dapat berbeda. Sebagian library merepresentasikan logits yang dikeluarkan sebagai negative infinity lalu mengandalkan softmax atau operasi sampling berikutnya; library lain mengekspos processor dan warper sebagai tahap terpisah. Batas semantik yang perlu dipertahankan adalah kandidat yang dikeluarkan tidak memiliki massa sampling setelah filtering.
Threshold stabil tidak berarti keragaman output stabil
Karena lebar set kandidat bergantung pada distribusi saat ini, top_p bukan kuota keragaman langsung. Threshold 0.9 tidak berarti sepuluh persen vocabulary dikeluarkan, dan tidak menyiratkan jumlah alternatif yang stabil untuk setiap token.
Setting yang sama dapat bersifat konservatif ketika satu atau dua token mendominasi distribusi, lalu memasukkan set lebih luas ketika massa probabilitas tersebar pada banyak continuation yang masuk akal. Sifat adaptif ini adalah mekanismenya, bukan efek samping.
Hal ini juga berarti perilaku generation secara agregat tidak dapat ditentukan dari top_p saja. Temperature, state model, token prompt, logit processor, constraint, penanganan random seed, dan implementasi sampler semuanya berperan dalam rangkaian distribusi tempat token dipilih.
Untuk deterministic replay, pencatatan nilai top-p saja tidak cukup. Reproduksi sequence hasil sampling pada umumnya juga memerlukan model dan state relevan yang sama, prefix yang sudah ditokenisasi, transformasi decoding beserta urutannya, state random-number, dan perilaku implementasi. Hardware dan eksekusi numerik dapat menambah sensitivitas di dekat batas ranking atau cutoff.
Observability perlu menangkap batas yang berubah
Sistem serving yang hanya mencatat parameter sampling terkonfigurasi dapat kehilangan bukti penting tentang perilaku decoding aktual. Jumlah kandidat setelah filtering, massa kumulatif pada batas, dan rank token yang dipilih dapat menggambarkan state sampler secara lebih langsung daripada threshold statis saja.
Telemetry tersebut tetap perlu ditafsirkan secara hati-hati. Jumlah kandidat bukan metrik kualitas model, dan perbandingan jumlah antar-vocabulary atau pipeline pemrosesan berbeda dapat menyesatkan. Data ini paling berguna untuk menelusuri perubahan konfigurasi, mendeteksi urutan filter yang tidak diharapkan, atau menjelaskan perbedaan antara dua jalur inferensi yang dianggap ekuivalen.
Batas praktisnya jelas: top-p menetapkan target probabilitas kumulatif pada distribusi yang tersedia di satu langkah decoding tertentu. Top-p tidak memesan subset entry vocabulary yang tetap. Sistem yang melakukan caching, audit, reproduksi, atau perbandingan keputusan sampling perlu memperhitungkan bahwa set kandidat dibentuk ulang saat logits berubah.