Top-k sampling (TL)
Top-k sampling — ito ay isang stochastic na paraan ng decoding na ginagamit sa autoregressive na mga language model, kabilang ang malalaking language model (LLM), para sa pagbuo ng teksto. Ang pangunahing layunin nito — limitahan ang pagpili ng susunod na token sa isang nakatakdang bilang () ng pinaka-malamang na mga kandidato, na nagbibigay-daan sa pag-iwas sa pagbuo ng mga salitang mababa ang posibilidad at madalas na hindi angkop. Ang paraang ito ay isa sa mga unang pagpapabuti ng simpleng random sampling at matagal na itong kilala bilang popular na paraan ng pagpapahusay ng koherensya ng nabubuong teksto.
Simpleng paliwanag
Ang Top-k sampling ay maaaring ilarawan bilang pagpili ng susunod na salita hindi mula sa lahat ng posibleng opsyon, kundi mula lamang sa limitadong listahan ng pinaka-malamang.
Halimbawa, kinukumpleto ng modelo ang pariralang «Ngayon sa labas ay matindi ang…». Sa diksyunaryo nito ay libu-libong patuloy na salita: «ulan», «hangin», «niyebe», «bagyo» — at sa malayo pa ay «quantum» o random na simbolo. Kung walang limitasyon, ang pagbuo ng teksto ay madaling mapailalim sa iba't ibang anyo ng pagkasira (text degeneration). Ang mga paraan ng maximization (greedy decoding, beam search) ay gumagawa ng boring at paulit-ulit na teksto, samantalang ang simpleng sampling nang walang pagputol ay nanganganib na maging walang saysay dahil sa pagpili ng mga token na mababa ang posibilidad mula sa «hindi mapagkakatiwalaang buntot» ng distribusyon. Ang Top-k ay pangunahing lumalaban sa ikalawang problema — sa pamamagitan ng pagputol ng buntot, binabawasan nito ang panganib ng walang-saysay na patuloy, bagaman sa sarili nito ay hindi nito inaalis ang paulit-ulit. Sinasabi ng Top-k: «Kunin lamang ang pinaka-malamang na salita, kalimutan ang iba, muling kalkulahin ang mga posibilidad sa pagitan nila at pumili ng isa nang random».
Sa madaling salita:
- iginagawa ng modelo ang listahan ng pinaka-malamang na patuloy;
- kinukuha lamang ang unang na opsyon;
- random na pinipili ang isa sa kanila.
Kung mas maliit ang , mas maingat at mas mahuhulaan ang resulta. Kung mas malaki ang , mas malaya at mas sari-sari ang pagbuo.
Mga pagkakatulad:
- Menu ng restawran: sa halip na random na pumili mula sa 5,000 item (panganib na makakuha ng hindi masustansya) o laging ang pinaka-popular na pagkain (nakakabagot), nagdadala ang waiter ng nangungunang 40 na inirerekomenda lamang — pumili mula sa makatwirang listahan. Gayunpaman, minsan ay maaaring naroon sa pinutol na bahagi ng menu ang eksaktong hindi karaniwang pagkain na magugustuhan mo — ito ang presyo ng kahulaan.
- Maikling listahan ng mga finalista: mula sa 1,000 kandidato sa trabaho, pinipili ang 40 pinakamahusay na resume, at pagkatapos ay isinasagawa na ang mga panayam.
Konsepto at matematika
Sa bawat hakbang ng pagbuo ng teksto, ang isang karaniwang language model ay nagbibigay ng distribusyon ng posibilidad na sa buong diksyunaryo . Binabago ng Top-k sampling ang prosesong ito sa sumusunod na paraan:
- Pagpili ng mga kandidato: Mula sa buong diksyunaryo, pinipili ang subset na , na binubuo ng na token na may pinakamataas na posibilidad.
- Pagputol: Ang mga logit (raw na hula ng modelo bago ilapat ang Softmax) ng lahat ng token na hindi kasama sa ay itinakda sa halagang , na pagkatapos ng normalisasyon ay nagbibigay ng posibilidad na eksaktong katumbas ng 0.
- Muling pamamahagi (normalisasyon): Ang mga posibilidad ng natitirang na token ay nii-scale upang ang kanilang bagong kabuuan ay maging katumbas ng 1.
- Pagpili: Ang susunod na token ay random na pinipili mula sa bagong, pinutol na distribusyong ito.
Kaya naman, nagtatakda ang Top-k ng mahigpit na threshold ayon sa bilang ng mga kandidato: ang mga salitang ang ranggo ng posibilidad ay mas mababa sa ay hindi kailanman mapipili.
Epekto ng parameter na
- Maliit na (halimbawa, – ): Ginagawang mas konserbatibo at mas mahuhulaan ang pagbuo. Pumipili ang modelo mula sa napaka-limitadong hanay ng pinaka-malamang na salita. Nagpapataas ito ng koherensya, ngunit maaaring humantong sa paulit-ulit at boring na teksto.
- Malaking (halimbawa, – ): Nagpapataas ng pagkakaiba-iba at pagkamalikhain ng teksto, dahil mas maraming opsyon ang napapasama sa pagpili. Gayunpaman, nagpapataas din ito ng panganib na isama ang mga hindi gaanong kaugnay o hindi angkop na token.
- Mga hangganan:
- : Katumbas ng greedy decoding. Laging pinipili ng modelo ang pinaka-malamang na token.
- = laki ng diksyunaryo: Katumbas ng karaniwang sampling mula sa buong distribusyon, nang walang pagputol.
Makasaysayang kahalagahan
Ang Top-k sampling bilang paraan ng decoding ay isa sa mga maagang matagumpay na aplikasyon sa gawa ni Angela Fan at ng kanyang mga kasamahan (2018) na «Hierarchical Neural Story Generation», kung saan ginamit ng mga may-akda ang top-k random sampling (na may ) sa sistema ng hierarchical na pagbuo ng mga kwento at ipinakita na ang estratehiyang ito ay higit na mas epektibo kaysa sa beam search at buong random sampling, na nanganganib na magsama ng mga salitang mababa ang posibilidad.
Gayunpaman, ang pangunahing gawa na sistematikong nag-analisa ng problema ng text degeneration at nagpakita na ang mga paraan ng truncation, kabilang ang top-k, ay makabuluhang nagpapabuti ng kalidad ng pagbuo, ay ang artikulo ni Holtzman et al. (2019) na «The Curious Case of Neural Text Degeneration». Kasabay nito, iminungkahi ng mga may-akda ang top-p (nucleus sampling) bilang mas adaptive na alternatibo sa top-k, na nagpapakita sa pamamagitan ng kanilang HUSE-metric na ang nucleus sampling ay nagbibigay ng mas magagandang resulta sa pagitan ng mga inihambing na estratehiya.
Halimbawa, sa mga maagang demonstrasyon at rekomendasyon para sa GPT-2, malawakang ginamit ang halagang `top_k=40` (binanggit ito sa code ng OpenAI bilang «generally a good value»), na tumulong sa pagbuo ng mahaba at magkakaugnay na mga teksto.
Paghahambing sa iba pang paraan ng decoding
Top-k vs. Top-p
Ang Top-k ay lubos na napunan, at sa ilang gawain ay pinalitan ng mas advanced na paraan — Top-p (nucleus) sampling.
- Ang pangunahing kakulangan ng Top-k — ang hindi pagiging adaptive nito. Ang nakatakdang halaga ng ay hindi isinasaalang-alang ang anyo ng distribusyon ng posibilidad:
- Kapag ang distribusyon ay matulis (tiyak ang modelo sa ilang token), maaaring artipisyal na palawakin ng Top-k ang pagpili sa pamamagitan ng pagsasama ng mga kandidatong mababa ang posibilidad.
- Kapag ang distribusyon ay patag (hindi tiyak ang modelo at maraming token ang may magkaparehong posibilidad), maaaring maagang putulin ng Top-k ang maraming angkop na opsyon.
- Bukod dito, mahigpit na pinuputol ng Top-k ang «buntot» ng distribusyon (tail truncation), dahil sa kung saan ang mga kontekstwal na angkop ngunit bihirang token ay maaaring mawala — nisisasakripisyo ng paraan ang potensyal na pagkamalikhain para sa kaayusan.
- Ang Top-p, sa kabilang banda, ay dinamikong ina-adapt ang laki ng pagpili, pinipili ang mga token batay sa kanilang pinagsama-samang posibilidad. Ginagawa nitong mas flexible at mas maaasahan.
- Sa pagsasagawa, ang dalawang paraan ay madalas na ginagamit nang magkasabay bilang sunud-sunod na mga filter: ang isa ay pangkalahatan na nililimitahan ang bilang ng mga kandidato, ang isa naman ay dinamikong pinipigilan ang pagpili batay sa katiyakan ng modelo. Ang eksaktong pagkakasunud-sunod ng kanilang aplikasyon ay nakasalalay sa implementasyon ng isang partikular na framework.
Top-k vs. Temperatura
- Binabago ng Temperatura ang anyo ng buong distribusyon ng posibilidad, ngunit hindi pinuputol ang mga token. Nakakaapekto ito sa relatibong posibilidad ng lahat ng kandidato.
- Nagtatakda ang Top-k ng mahigpit na pagputol, ganap na iniaalis ang mga token na nasa labas ng nangungunang .
Sa pagsasagawa, maaaring gamitin ang Top-k nang kasama ang temperatura at Top-p. Ang eksaktong pagkakasunud-sunod ng aplikasyon ng mga filter ay nakasalalay sa framework: halimbawa, sa Hugging Face Transformers, ang pipeline ay ganito ang hitsura: Temperatura → Top-k → Top-p, ibig sabihin, una munang nii-scale ng temperatura ang mga logit (), pagkatapos ay pinuputol ng Top-k ang mahabang «buntot» ng mga basura na token, at pagkatapos lamang nito ay dinamikong pinipigilan ng Top-p ang pagpili batay sa katiyakan ng modelo. Kasabay nito, ang ilang hakbang ay maaaring laktawan depende sa mga setting: kung , hindi inilalapat ang hakbang na Top-k; kung , hindi inilalapat ang hakbang na Top-p.
Praktikal na paggamit
Kahit na ang Top-p ay isang mas adaptive na paraan at madalas na ginagamit bilang base para sa bukas na pagbuo ng teksto, walang pangkalahatang mas mahusay na paraan ng decoding — ang pinakamainam na pagpili ay nakasalalay sa gawain, modelo, at mga priyoridad (kalidad, bilis, katatagan). Ang Top-k ay nananatiling malawak na sinusuportahang parameter sa lahat ng pangunahing framework (Hugging Face Transformers, vLLM at iba pa) at aktibong ginagamit nang paisa-isa at kasama ang iba pang mga paraan.
- Mga tipikal na halaga: Sa pagsasagawa, ang mga halaga ng na mga sampung token ang madalas gamitin (halimbawa, 10, 40, 50), ngunit ang pinakamainam ay nakasalalay sa modelo at gawain.
- Mga rekomendasyon: Para sa bukas na pagbuo ng teksto, mas pinipili ang Top-p. Kung ginagamit ang Top-k, dapat itong pagsamahin sa katamtamang temperatura at maingat na piliin ang halaga ng para sa isang partikular na gawain. Ang Top-k ay kapaki-pakinabang din bilang karagdagang «seguridad» sa mataas na temperatura.
- Tandaan: Sa mga framework, maaaring pagsamahin ang Top-k sa Repetition Penalty (parusa para sa mga paulit-ulit) at sa parameter na
no_repeat_ngram_size, upang maiwasan ang pag-ikot ng modelo sa parehong mga salita mula sa nangungunang na listahan.
Talasanggunian
Mga pangunahing gawa
- 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).
Karagdagang pagbabasa
- 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.
Tingnan din
- Malalaking language model