Top-k sampling (HU)
Top-k mintavételezés — egy sztochasztikus dekódolási módszer, amelyet az autoregresszív nyelvi modellekben, köztük a nagy nyelvi modellekben (LLM) alkalmaznak szöveggenerálásra. Fő célja, hogy a következő token kiválasztását egy rögzített számú () legvalószínűbb jelöltje korlátozza, ezáltal elkerülve a kevéssé valószínű és gyakran nem helyénvaló szavak generálását. Ez a módszer az egyszerű véletlenszerű mintavételezés egyik első fejlesztése volt, és sokáig népszerű módszernek számított a generált szöveg koherenciájának javítására.
Egyszerű magyarázat
A Top-k mintavételezés úgy képzelhető el, mint amikor a következő szót nem az összes lehetséges variáns közül választjuk, hanem csak a legvalószínűbbek korlátozott listájából.
Például a modell egy mondatot egészít ki: „Ma az utcán erős… esett." A szótárában ezrével vannak lehetséges folytatások: „eső", „szél", „hó", „zápor" — és valahol messze „kvantum" vagy egy véletlenszerű karakter. Korlátozások nélkül a szöveggenerálás különféle degradációs (text degeneration) formáknak van kitéve. A maximalizációs módszerek (mohó dekódolás, beam search) unalmas, ismétlődő szöveget generálnak, míg a csonkítás nélküli tiszta mintavételezés az összefüggéstelenség kockázatával jár, mivel a valószínűségeloszlás „megbízhatatlan farkából" valószínűtlen tokeneket választhat. A Top-k elsősorban a második problémával küzd — a farok levágásával csökkenti az értelmetlen folytatások kockázatát, bár önmagában nem szünteti meg az ismétlődést. A Top-k azt mondja: „Vedd csak a legvalószínűbb szót, felejtsd el a többit, számítsd újra köztük a valószínűségeket, és válassz egyet véletlenszerűen."
Egyszerűbben fogalmazva:
- a modell összeállítja a legvalószínűbb folytatások listáját;
- csak az első variánst veszi;
- véletlenszerűen választ egyet közülük.
Minél kisebb a , annál óvatosabb és kiszámíthatóbb az eredmény. Minél nagyobb a , annál szabadabb és változatosabb a generálás.
Analógiák:
- Éttermi menü: ahelyett, hogy véletlenszerűen választanánk 5 000 fogás közül (ehetetlent kaphatunk), vagy mindig ugyanazt a legnépszerűbb ételt kérnénk (unalmas), a pincér csak a top-40 ajánlott fogást hozza el — ésszerű listából választhatunk. Igaz, néha az elvetett menürészben épp az a különleges fogás szerepelhetett volna, amely tetszett volna — ez az ára a kiszámíthatóságnak.
- Döntős jelöltek rövidlistája: 1 000 álláspályázóból a 40 legjobb önéletrajzot hagyják meg, majd ezekkel folytatnak interjúkat.
Koncepció és matematika
A szöveggenerálás minden lépésénél a standard nyelvi modell egy valószínűségi eloszlást ad ki az egész szótárra vonatkozóan. A Top-k mintavételezés ezt a folyamatot a következőképpen módosítja:
- Jelöltek kiválasztása: Az egész szótárból kiválasztódik egy részhalmaz, amely a legmagasabb valószínűségű tokenből áll.
- Csonkítás: A -ba nem kerülő összes token logitjaihoz (a modell nyers előrejelzéseihez a Softmax alkalmazása előtt) értéket rendelnek, ami normalizálás után pontosan 0 valószínűséget ad.
- Újraelosztás (normalizálás): A megmaradó token valószínűségeit úgy skálázzák, hogy új összegük 1 legyen.
- Mintavételezés: A következő tokent véletlenszerűen választják ki ebből az új, csonkított eloszlásból.
Így a Top-k kemény küszöböt vezet be a jelöltek számára: a -nál alacsonyabb valószínűségi rangú szavak soha nem kerülnek kiválasztásra.
A paraméter hatása
- Kis (például – ): A generálást konzervatívabbá és kiszámíthatóbbá teszi. A modell csak nagyon korlátozott, legvalószínűbb szókészletből választ. Ez növeli a koherenciát, de ismétlődő és unalmas szöveghez vezethet.
- Nagy (például – ): Növeli a szöveg változatosságát és kreativitását, mivel több variáns kerül a mintavételezésbe. Ez azonban növeli a kevésbé releváns vagy nem helyénvaló tokenek bekerülésének kockázatát is.
- Határesetek:
- : Egyenértékű a mohó dekódolással (greedy decoding). A modell mindig a legvalószínűbb tokent választja.
- = szótár mérete: Egyenértékű a teljes eloszlásból való standard mintavételezéssel, csonkítás nélkül.
Történeti jelentőség
A Top-k mintavételezés mint dekódolási módszer az egyik korai sikeres alkalmazás volt Angela Fan és munkatársai (2018) „Hierarchical Neural Story Generation" munkájában, ahol a szerzők top-k véletlenszerű mintavételezést alkalmaztak (ahol ) a hierarchikus történetgenerálási rendszerben, és megmutatták, hogy ez a stratégia lényegesen hatékonyabb, mint a beam search és a teljes véletlenszerű mintavételezés, amely kockáztatja a valószínűtlen szavak bevitelét.
Azonban az a kulcsfontosságú munka, amely szisztematikusan elemezte a szövegdegradáció problémáját, és megmutatta, hogy a csonkítási módszerek, köztük a Top-k, jelentősen javítják a generálás minőségét, Holtzman és mtsai. (2019) „The Curious Case of Neural Text Degeneration" cikke volt. A szerzők emellett a top-p (nucleus sampling) módszert javasolták a Top-k adaptívabb alternatívájaként, és saját HUSE-metrikájuk alapján megmutatták, hogy a nucleus sampling jobb eredményeket ad az összehasonlított stratégiák között.
Például a GPT-2 korai bemutatóiban és ajánlásaiban széles körben használták a `top_k=40` értéket (az OpenAI kódjában „generally a good value"-ként szerepel), amely segített hosszú és koherens szövegeket generálni.
Összehasonlítás más dekódolási módszerekkel
Top-k vs. Top-p
A Top-k-t nagyrészt kiegészítette, és egyes feladatokban felváltotta egy fejlettebb módszer — a Top-p (nucleus) mintavételezés.
- A Top-k fő hátránya — nem adaptív jellege. A rögzített érték nem veszi figyelembe a valószínűségi eloszlás alakját:
- Amikor az eloszlás csúcsos (a modell biztos néhány tokenben), a Top-k mesterségesen kibővítheti a mintavételt, bevonva kevéssé valószínű jelölteket.
- Amikor az eloszlás lapos (a modell bizonytalan, és sok tokennek hasonló valószínűsége van), a Top-k idő előtt elvághat sok megfelelő variánst.
- Emellett a Top-k keményen vágja le az eloszlás „farkát" (tail truncation), emiatt a kontextusban megfelelő, de ritka tokenek elveszhetnek — a módszer feláldozza a potenciális kreativitást az összefüggőség javára.
- A Top-p ezzel szemben dinamikusan adaptálja a mintavétel méretét, a tokeneket kumulatív valószínűségük alapján választva ki. Ez rugalmasabbá és megbízhatóbbá teszi.
- A gyakorlatban mindkét módszert gyakran használják együtt, egymást követő szűrőként: az egyik durván korlátozza a jelöltek számát, a másik dinamikusan szűkíti a mintavételt a modell biztonsága alapján. Alkalmazásuk pontos sorrendje az adott keretrendszer megvalósításától függ.
Top-k vs. Hőmérséklet
- A hőmérséklet az egész valószínűségi eloszlás alakját változtatja meg, de nem vágja le a tokeneket. Az összes jelölt relatív valószínűségére hat.
- A Top-k kemény csonkítást vezet be, teljesen kizárva a top- határon kívüli tokeneket.
A gyakorlatban a Top-k használható együtt a hőmérséklettel és a Top-p-vel. A szűrők alkalmazásának pontos sorrendje a keretrendszertől függ: például a Hugging Face Transformers esetén a folyamat: Hőmérséklet → Top-k → Top-p, azaz a hőmérséklet először skálázza a logitokat (), majd a Top-k levágja a „szemét" tokenek hosszú farkát, és csak ezután szűkíti dinamikusan a Top-p a mintavételt a modell biztonsága alapján. Az egyes lépések kihagyhatók a beállításoktól függően: ha , a Top-k lépés nem kerül alkalmazásra; ha , a Top-p lépés nem kerül alkalmazásra.
Gyakorlati alkalmazás
Annak ellenére, hogy a Top-p adaptívabb módszer, és nyílt szöveggeneráláshoz gyakran alapértelmezésként alkalmazzák, nincs univerzálisan legjobb dekódolási módszer — az optimális választás a feladattól, a modelltől és a prioritásoktól (minőség, sebesség, stabilitás) függ. A Top-k továbbra is széles körben támogatott paraméter minden fontosabb keretrendszerben (Hugging Face Transformers, vLLM stb.), és aktívan alkalmazzák önállóan és más módszerekkel kombinálva egyaránt.
- Tipikus értékek: A gyakorlatban a értéke gyakran néhány tíz token (például 10, 40, 50), de az optimum a modelltől és a feladattól függ.
- Ajánlások: Nyílt szöveggeneráláshoz gyakran a Top-p-t részesítik előnyben. Ha Top-k-t használunk, mérsékelt hőmérséklettel érdemes kombinálni, és gondosan meghatározni a értékét az adott feladathoz. A Top-k kényelmes „biztosítékként" is szolgál magas hőmérsékletnél.
- Megjegyzés: A keretrendszerekben a Top-k kombinálható Repetition Penalty (ismétlési büntetés) paraméterrel és a
no_repeat_ngram_sizeparaméterrel, hogy megakadályozzák a modell önciklusát ugyanazon szavakból álló top- listán.
Irodalom
Alapvető munkák
- 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).
További olvasnivaló
- 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.
Lásd még
- Nagy nyelvi modellek