Top-p sampling (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Top‑p vzorkování, také známé jako jaderné vzorkování (angl. Nucleus Sampling), je stochastická metoda dekódování pro autoregresivní jazykové modely, široce využívaná mimo jiné ve velkých jazykových modelech (LLM). Metoda byla navržena v roce 2019 Arim Holtzmanem a spoluautory (preprint arXiv — duben 2019; publikace na ICLR 2020) jako vylepšená alternativa k fixnímu Top‑k vzorkování. Její myšlenkou je dynamicky sestavovat množinu kandidátů v každém kroku generování podle prahu kumulativní pravděpodobnosti p.[1]

Historické pozadí: problém neuronové degenerace textu

Před vznikem Top‑p dominovaly strategie dekódování hladové vyhledávání (greedy search) a paprskové vyhledávání (beam search), opírající se o paradigma maximalizace věrohodnosti — výběru sekvence tokenů s nejvyšší celkovou pravděpodobností. Hladové vyhledávání v každém kroku lokálně volí token s maximální pravděpodobností, zatímco paprskové vyhledávání paralelně sleduje několik hypotéz generování.[1]

Ačkoli tyto metody byly efektivní v uzavřených úlohách (strojový překlad, extrakce dat), při přechodu k úlohám otevřeného generování textu (psaní příběhů, dialogové systémy) často vedly k neuronové degeneraci textu — degeneraci výstupu, při níž se text stává šablonovitým, ztrácí soudržnost nebo se zacykluje v opakování. Tento jev podrobně popsali Holtzman a spoluautoři v práci The Curious Case of Neural Text Degeneration.[1]

Meister a spoluautoři spojují problém degenerace s tím, že lidský text usiluje o udržení informačního obsahu blízkého očekávané podmíněné entropii, spíše než aby jednoduše maximalizoval lokální pravděpodobnost každého dalšího tokenu.[2]

Alternativou se stalo čisté stochastické vzorkování (sampling without truncation), při němž je token vybírán náhodně podle jeho pravděpodobnosti. Tato metoda však přinesla opačný problém: funkce Softmax nikdy nepřiřazuje tokenu pravděpodobnost přesně rovnou nule, takže ve slovníku desítek tisíc slov vždy existuje rozsáhlá zóna šumových tokenů. Při čistém vzorkování se zvyšuje riziko pádu do nespolehlivého chvostu distribuce, což může narušovat soudržnost generovaného textu.[1][3] Potřeba skloubit bohatství stochastického výběru se spolehlivostí deterministických omezení vedla k vývoji metod ořezávání distribuce, jejichž vlajkovou lodí se stalo jaderné vzorkování (Top‑p).[1][4]

Jednoduché vysvětlení

Top-p vzorkování je způsob, jak omezit výběr dalšího tokenu pouze na nejpravděpodobnější varianty, aniž by byl jejich počet předem fixován.

Při generování textu jazykový model v každém kroku hodnotí množství možných pokračování a každému přiřazuje určitou pravděpodobnost. Některé tokeny jsou velmi pravděpodobné, jiné středně pravděpodobné a velká část slovníku tvoří tzv. „chvost" distribuce: varianty s velmi malou pravděpodobností, které jsou formálně přípustné, ale často se ukáží jako náhodné, nevhodné nebo narušující soudržnost textu.

Top-p vzorkování odřezává tento málo pravděpodobný chvost ne podle fixního počtu tokenů, ale podle celkové pravděpodobnosti. Nejprve jsou všichni kandidáti seřazeni od nejpravděpodobnějších k nejméně pravděpodobným. Poté je vybrána minimální sada vrchních tokenů, jejichž celková pravděpodobnost dosáhne zadaného prahu p — například 0,9 nebo 0,95. Poté je další token vybrán náhodně pouze z této sady a všechny ostatní varianty jsou vyloučeny.

Například, pokud model pokračuje ve větě „Dnes venku silně…", mezi nejpravděpodobnějšími variantami mohou být „pršelo" (0,45), „lilo" (0,25), „sněžilo" (0,15) a „foukalo" (0,10). Při prahu p=0.90 algoritmus sčítá tokeny v sestupném pořadí pravděpodobností: 0,45 + 0,25 = 0,70 (méně než 0,90), přidá „sněžilo": 0,70 + 0,15 = 0,85 (stále méně než 0,90), přidá „foukalo": 0,85 + 0,10 = 0,95 (práh překročen). Jádro je tvořeno čtyřmi tokeny. Všechny méně časté varianty jsou zahozeny a pravděpodobnosti zbývajících jsou normalizovány: pravděpodobnost tokenu „pršelo" po renormalizaci bude 0.45/0.9547.4% a generátor vybere další token právě z tohoto aktualizovaného rozdělení.

Hlavní rozdíl od Top‑k spočívá v tom, že Top‑k vždy bere fixní počet nejlepších slov (například 50), zatímco Top‑p počet variant předem nefixuje: někdy to mohou být 3 slova, jindy 20 — vše závisí na tom, jak se pravděpodobnosti rozložily právě v tomto kroku. Díky tomu se metoda přizpůsobuje kontextu a pomáhá odřezávat „chvost" málo pravděpodobných tokenů, čímž činí text přirozenějším.

Další příklad. Například model pokračuje ve větě „K snídani vypil horký…". Mezi nejpravděpodobnějšími pokračováními mohou být: „čaj" (0,50), „káva" (0,30), „čokoláda" (0,08), „vývar" (0,04), „kefír" (0,03). Je-li zadán práh p=0.80, algoritmus začne sčítat pravděpodobnosti shora dolů: 0,50 pro „čaj", poté 0,50 + 0,30 = 0,80. Práh je již dosažen, takže jádro sestává pouze ze dvou tokenů: „čaj" a „káva". Všechny ostatní varianty jsou zahozeny. Po renormalizaci se pravděpodobnost „čaje" uvnitř jádra stane 0.50/0.80=62.5% a pravděpodobnost „kávy" — 0.30/0.80=37.5%. Další token je vybírán pouze mezi těmito dvěma variantami.

Jinými slovy, model nejprve odstraní málo pravděpodobná a nevhodná pokračování a teprve poté vybírá ze zbývajících. To mu pomáhá psát srozumitelněji, přirozeněji a bez nadbytečného „šumu".

Koncepce

Základní myšlenka Top‑p — v každém kroku vybírat nejmenší množinu nejpravděpodobnějších tokenů, jejichž celková pravděpodobnost není menší než zadaný práh p (jádro, angl. nucleus).

Formálně, nechť x(1),x(2), jsou tokeny slovníku V seřazené sestupně podle podmíněné pravděpodobnosti P(xx1:i1). Pak je jádro V(p) definováno jako nejkratší prefix této uspořádané sekvence, jehož kumulativní hmota dosahuje prahu:

m=min{n:j=1nP(x(j)x1:i1)p},V(p)={x(1),,x(m)}.

Jinými slovy, jde o inkluzí nejmenší množinu nejpravděpodobnějších tokenů, jejichž celková pravděpodobnost není menší než p.[1]

Po určení jádra jsou pravděpodobnosti tokenů mimo V(p) vynulovány a uvnitř jádra renormalizovány (vyděleny skutečnou kumulativní hmotou p=xV(p)P(xx1:i1), takže součet se rovná 1). Další token je vzorkován z tohoto ořezaného a renormalizovaného rozdělení.

Dynamická adaptace

  • Při „ostrém" rozdělení (model je si jistý) je jádro malé: několik tokenů již dává hmotu ≥ p, což zvyšuje soudržnost. V mezním případě, pokud pravděpodobnost nejpravděpodobnějšího tokenu již překračuje p (například P(x(1))=0.96 při p=0.95), jádro se zužuje na jediný token a Top‑p se fakticky mění v hladové dekódování (greedy search).
  • Při „plochém" rozdělení (mnoho pravděpodobných pokračování) je jádro velké: výběr se rozšiřuje, roste rozmanitost.[1]

Srovnání s jinými metodami dekódování

Top‑p vs. Top‑k

  • Top‑k vždy vybírá z fixního počtu k nejpravděpodobnějších tokenů. U „ostrých" rozdělení to může přidávat zbytečné málo pravděpodobné varianty „pro počet", zatímco u „plochých" naopak odřezává rozumná pokračování, která se do top‑k nevešla.
  • Top‑p přizpůsobuje velikost množiny kandidátů podle daného kroku, což činí chování pružnějším a stabilnějším pro různé typy rozdělení.[1]
  • V praxi lze Top‑k a Top‑p používat současně. V takovém případě se nejprve vybere top‑k tokenů a poté se uvnitř této omezené množiny hledá jádro s prahem p. Přesné pořadí a motivace závisí na implementaci, ale tato kombinace je zdokumentována jako běžný postup.[5]

Jednoduše řečeno, Top-k předem rozhoduje, kolik variant ponechat, zatímco Top-p se dívá na situaci a ponechá tolik, kolik je v daném kontextu potřeba. Proto je Top-p obvykle pružnější a Top-k jednodušší a předvídatelnější.

Top‑p vs. Teplota

  • Teplota (temperature) přetváří celkový tvar rozdělení (činí jej ostřejším nebo hladším), ale tokeny neořezává: i málo pravděpodobné varianty si zachovávají nenulovou šanci.[5]
  • Top‑p zavádí tvrdé ořezání chvostu rozdělení — málo pravděpodobné tokeny jsou zcela vyloučeny ze vzorkování, což pomáhá předcházet zjevně nevhodným pokračováním.[1]
  • Pořadí aplikace. Ve standardních pipeline (například v Hugging Face Transformers) se nejprve na logity aplikuje teplota (mění se tvar rozdělení), poté může být aplikováno Top‑k a teprve poté Top‑p (ořezání chvostu). To vysvětluje, proč je „dvojí působení" obtížné kontrolovat: změna teploty mění samotnou kumulativní hmotu, s níž následně pracuje Top‑p.[5]

Jednoduše řečeno, teplota mění, jak volně model vybírá slova, a Top-p rozhoduje, které varianty vůbec lze vybírat. Proto teplota ovlivňuje míru náhodnosti a Top-p — jak daleko může model zajít do méně pravděpodobných pokračování.

Pořadí operací v implementaci Hugging Face Transformers

Pořadí aplikace sampling-procesorů závisí na konkrétní knihovně. V Hugging Face Transformers (počínaje v4.x) jsou logit-procesory pro diskutovanou trojici parametrů ve výchozím nastavení přidávány v následujícím pořadí:[5][6]

  1. Teplotní škálování logitů. Logit každého tokenu je vydělen hodnotou teploty před exponencováním funkce Softmax. Teplota upravuje tvar rozdělení a připravuje jej na následnou filtraci.
  2. Filtr Top‑k (je-li nakonfigurován): ořeže slovník na fixní počet kandidátů.
  3. Filtr Top‑p: na již zúžený pool tokenů se aplikuje kumulativní ořezání.
  4. Renormalizace zbývajících pravděpodobností a stochastické vzorkování.

V praxi je rozšířená kombinace mírné teploty (0,7) s širokým jádrem Top‑p (0,95) a limitem Top‑k (50): teplota zajišťuje základní variabilitu, Top‑k funguje jako hrubý pojistný prvek a Top‑p provádí kontextově závislé doladění.[5]

Jednoduše řečeno, model nejprve učiní výběr více či méně „volným" pomocí teploty, poté v případě potřeby omezí počet kandidátů přes Top-k a nakonec odstraní příliš slabé varianty přes Top-p. Toto pořadí pomáhá nejprve nastavit celkový charakter výběru a poté odřezat nadbytečné.

Doporučení: nastavení jednoho parametru najednou

Poskytovatelé modelů doporučují při nastavování stylu generování měnit buď temperature, nebo top_p, ale ne obojí zároveň. Toto doporučení je obsaženo v oficiální dokumentaci OpenAI, Azure OpenAI a Anthropic.[7][8][9]

Praktické zdůvodnění: oba parametry ovlivňují tvar pravděpodobnostního rozdělení (teplota mění strmost křivky a Top‑p nastavuje bod ořezu), takže jejich současná změna ztěžuje diagnostiku — nelze určit, který parametr přesně vedl ke zlepšení nebo zhoršení výstupu. Navíc při extrémně nízkých hodnotách obou parametrů (například Temperature ≈ 0 a Top‑p ≈ 0,01) se jádro v praxi zužuje na jediný token, čímž vzorkování fakticky přechází v hladové vyhledávání.[7]

Některé reasoning‑modely dále omezují nastavení těchto parametrů na úrovni API, čímž je otázka jejich společné změny pro takové modely irelevantní (viz část „Kompatibilita s knihovnami a API").[7]

Rozšířená technická heuristika: pro úlohy vyžadující vysokou reprodukovatelnost — používat nízkou teplotu (až nulovou); pro tvůrčí úlohy — ponechat teplotu na základní úrovni (1,0) a variabilitu regulovat parametrem Top‑p, nebo zafixovat Top‑p na 1,0 a varírovat teplotu. Konkrétní doporučení se mohou u různých poskytovatelů lišit.[7][9]

Vliv na faktografickou přesnost a halucinace

Volba strategie dekódování může ovlivňovat nejen stylistiku generovaného textu, ale i četnost a typ faktografických chyb. Jev halucinací — sebejistého generování nepravdivých nebo kontextu odporujících informací — je jedním z ústředních problémů generativní umělé inteligence. Empirické výzkumy ukazují, že efekt strategií vzorkování na halucinace závisí na úloze, modelu a konkrétním nastavení parametrů.[3][10]

Mechanismus vzniku chyb při stochastickém vzorkování

Při vysokých hodnotách Top‑p (například 0,95) model vytváří jádro pokrývající 95 % pravděpodobnostní hmoty. Ve stavech vysoké entropie (například při pokusu odpovědět na málo známý fakt) může toto jádro zahrnovat stovky málo pravděpodobných tokenů. Stochastické vzorkování v takových podmínkách může extrahovat token gramaticky správný, ale sémanticky nesouvisející s faktografickou pravdou. Jakmile se takový token ocitne v kontextu, může ovlivnit následné kroky generování, protože model pokračuje v generování s přihlédnutím ke všem předchozím tokenům včetně chybných.[3][1]

Dichotomie otevřených a uzavřených úloh

Rozsáhlé experimenty odhalují závislost kvality generování na typu úlohy. V úlohách psaní esejů nebo v dialogových systémech zůstávají stochastické metody (Top‑p, Temperature) vedoucími, zatímco v přísně deterministických doménách mohou výrazně zaostávat za deterministickými přístupy.[10]

Na benchmarcích syntézy programového kódu (HumanEval, MBPP) a řešení matematických úloh (GSM8K) vykazují deterministické metody (Beam Search, Greedy Decoding) lepší výsledky ve srovnání s přístupy založenými na Top‑p. Dataset GSM8K zahrnující 8 500 matematických úloh vyžadujících 2 až 8 výpočetních kroků ilustruje zranitelnost stochastického výběru v takových úlohách: injekce náhodnosti přes ořezané rozdělení Top‑p může narušit řetězec uvažování modelu (Chain‑of‑Thought) v jakémkoli z mezikroků. Tan a spoluautoři zdůrazňují, že efektivita metody dekódování silně závisí na konkrétní úloze (task‑dependent).[10]

Metody boje s halucinacemi na úrovni dekódování

Pro boj s halucinačními efekty způsobenými stochastickým vzorkováním byly vyvinuty metody pokročilé augmentace dekódování:

  • Kontrastní dekódování (Contrastive Decoding, DoLa) — optimalizuje rozdíl v logaritmické věrohodnosti mezi hlavním modelem a menším pomocným modelem, působí jako filtr věrohodnosti.[10]
  • SH2 (Self‑Highlighted Hesitation) — uměle nutí dekodér „váhat" při práci s málo jistými tokeny.[11]
  • Řízená projekce aktivací (SEA) — potlačuje halucinační signály na úrovni vektorových reprezentací.[11]

Současné modely s kvalitním zarovnáním (alignment) přitom disponují hlubším porozuměním faktografii, což snižuje entropii jejich vnitřních rozdělení a činí je méně náchylnými k degradaci faktů i při vysokých hodnotách Top‑p.[10][12]

Praktické použití a doporučení

Top‑p je široce využíván v moderních LLM díky kombinaci flexibility a ovladatelnosti.

  • Typický rozsah hodnot. V praxi se často používá Failed to parse (syntax error): {\displaystyle p \approx 0.90 ext{–}0.95} . Výchozí hodnota se liší u různých poskytovatelů: u OpenAI je `top_p` = 1,0 (ořezání je fakticky vypnuto), u Anthropic — 0,99, u mnoha modelů Google Gemini — 0,95.[13] V knihovně Hugging Face Transformers je frameworková výchozí hodnota také 1,0, ačkoli jednotlivé modely ji mohou přepsat ve svém `generation_config.json`.[14] Hodnoty 0,9–0,95 tedy představují běžný doporučený praktický rozsah, nikoli však univerzální výchozí standard.[5][15]
    • Hodnoty blízké 1,0 (například 0,98–0,99) zvyšují rozmanitost: do jádra se dostane více tokenů.
    • Malé hodnoty (například 0,80–0,90) zvyšují determinismus a „zdrženlivost" výstupu.
    • Při p=1 ořezání přes Top‑p zmizí: výběr probíhá z celého slovníku (s přihlédnutím k teplotě a dalším filtrům dekódování, jsou-li zapnuty).[5]
  • Kompatibilita s knihovnami a API.
    • V Hugging Face Transformers je implementován TopPLogitsWarper, kde se navíc používá práh `min_tokens_to_keep` (výchozí hodnota 1). Jde o ochranný detail implementace: při standardních hodnotách p(0,1] prázdné jádro z definice nevzniká, ale parametr zaručuje správnou funkci v hraničních případech.[16]
    • V řadě API je parametr `top_p` dostupný, zatímco `top_k` nemusí být přítomen; podpora parametrů a jejich sémantika závisí na konkrétním modelu a režimu provozu. Reasoning‑modely zpravidla omezují nastavení stochastiky na úrovni API. Například v aktuální dokumentaci OpenAI jsou parametry `temperature` a `top_p` explicitně podporovány pouze u GPT‑5.2 při `reasoning.effort = none`; požadavky na GPT‑5.2 nebo GPT‑5.1 s jinými hodnotami `reasoning`, jakož i na starší modely GPT‑5 (`gpt‑5`, `gpt‑5‑mini`, `gpt‑5‑nano`) při předání těchto polí vyvolávají chybu. Reasoning‑modely předchozích generací (o1, o3) také tato nastavení omezují nebo fixují.[7][17][18] U Anthropic v Claude API při zapnutém rozšířeném uvažování (extended thinking) je změna `temperature` a `top_k` zakázána, avšak `top_p` je povolen v rozsahu 0,95–1,0; na platformách třetích stran (například Amazon Bedrock) se omezení mohou lišit.[19] Omezení poskytovatelů se často mění od verze k verzi; doporučuje se ověřovat aktuální dokumentaci.[8][20]
  • Dlouhé texty a opakovatelnost. V sérii experimentů bylo prokázáno, že nucleus sampling snižuje sklon k degeneraci (opakování, šablonovité fráze) ve srovnání s greedy/beam a fixním Top‑k, zejména u dlouhých sekvencí.[1][10]

Moderní alternativy

Po publikaci nucleus sampling v roce 2019 bylo navrženo několik alternativních metod stochastického dekódování, které rozvíjejí nebo doplňují myšlenku Top‑p:

Min‑p vzorkování

Min‑p vzorkování (Nguyen et al., 2024) ponechává tokeny, jejichž pravděpodobnost není nižší než pminimesP(x(1)), tedy stanovuje práh relativně k nejpravděpodobnějšímu tokenu. Byl přijat k ústní prezentaci na ICLR 2025; implementován v řadě populárních frameworků včetně Hugging Face Transformers[21] a vLLM[22].[23]

Klíčový rozdíl od Top‑p spočívá v typu prahu: Top‑p používá absolutní práh na základě kumulativního součtu pravděpodobností, zatímco Min‑p stanovuje relativní práh škálovaný od pravděpodobnosti nejpravděpodobnějšího tokenu.[23]

Matematicky algoritmus funguje takto: v každém kroku je určena maximální pravděpodobnost Pmax=P(x(1)x1:i1), poté je vypočítán škálovaný práh Pextthreshold=pminimesPmax. Do finálního poolu jsou zařazeny pouze tokeny, jejichž individuální pravděpodobnost tento práh překračuje.[24]

To zajišťuje adaptivnost: je-li model si jistý dalším slovem (Pmax=0.9), při základním pmin=0.1 bude práh 0,09 a tvrdě odřeže šumové tokeny. Je-li model nejistý (Pmax=0.1), práh klesne na 0,01 a do jádra se dostane široká škála kandidátů.[23]

Známá slabina Top‑p se projevuje při vysokoteplotním vzorkování (T>1.0): když je rozdělení uměle shlazeno, Top‑p musí zahrnout do jádra velké množství málo pravděpodobných tokenů, aby dosáhl zadaného kumulativního součtu, což může vést k degradaci soudržnosti.[23] Min‑p si s takovými podmínkami poradí lépe. V experimentech autorů na benchmarcích vědeckých a logických znalostí (GPQA) s využitím modelu Mistral Large při extrémní teplotě T=3.0 dosáhl algoritmus Min‑p přesnosti 13,84 %, zatímco standardní Top‑p 0,9 vykázal výsledek 0,89 % — na úrovni náhodného šumu.[24]

V akademické sféře přitom probíhá diskuse: některé kritické práce (například arXiv:2506.13681) zpochybňují univerzálnost výhod Min‑p napříč všemi NLP metrikami a poukazují na nutnost dalšího zkoumání.[25]

Jednoduše řečeno, Min-p porovnává všechny varianty nikoli s celkovým součtem pravděpodobností, ale s nejsilnější variantou v aktuálním kroku. Proto, je-li model si jistý, přísněji odstraňuje slabá pokračování, a je-li nejistý — ponechává více přípustných variant. Díky tomu může Min-p lépe zachovávat rovnováhu mezi soudržností a rozmanitostí, zejména tam, kde Top-p začíná propouštět příliš mnoho slabých slov.

Locally typical sampling

Locally typical sampling (Meister et al., 2023) vybírá tokeny, jejichž informační obsah (logP) je blízký podmíněné entropii, a opírá se o teorioinformační pojem typičnosti.[2]

Na rozdíl od Top‑p, který usiluje o minimalizaci velikosti jádra výběrem tokenů s maximální pravděpodobností, Locally Typical Sampling řeší optimalizační úlohu na základě metriky informační vzdálenosti. Algoritmus vypočítá informační obsah každého tokenu (logP(x)) a měří jeho absolutní vzdálenost od podmíněné entropie H modelu. Tokeny jsou řazeny nikoli podle surové pravděpodobnosti, ale podle míry jejich „informační typičnosti" — blízkosti k očekávanému informačnímu obsahu kontextu. Tokeny jsou přidávány do jádra (v pořadí rostoucí vzdálenosti od entropie) až do dosažení prahu kumulativní pravděpodobnosti.[2][26]

Důsledkem tohoto přístupu je: ve stavech vysoké entropie algoritmus cíleně vylučuje nejen šumový málo pravděpodobný chvost, ale i nadměrně vysokopravděpodobná slova, která nesou příliš málo informace a činí text banálním. To snižuje riziko degenerativních zacyklení a přibližuje metriky opakovatelnosti textu hodnotám charakteristickým pro texty psané člověkem.[26]

Tail Free Sampling (TFS)

Tail Free Sampling (TFS) je méně formalizovaný, avšak prakticky zajímavý přístup k identifikaci šumového chvostu, založený na diferenciální analýze pravděpodobnostního prostoru. Zatímco Top‑p a Min‑p operují s pravděpodobnostmi prvního řádu (kumulativním součtem a základními zlomky), TFS analyzuje první a druhou derivaci seřazené křivky pravděpodobností. Metoda je popsána na blogu Trentona Brickena a implementována v řadě inference-enginů, ačkoli nebyla publikována jako recenzovaný článek.[27]

Základní postulát TFS: zařazení i jediného šumového tokenu do vzorku představuje exponenciální hrozbu pro celé autoregresivní generování. Výpočtem druhé derivace hodnot pravděpodobností algoritmus lokalizuje „plató" — úseky křivky, kde pokles pravděpodobností zpomaluje a přechází v dlouhý mělký chvost. Bod tohoto inflexe se stává dynamickou hranicí ořezu: tokeny před ním jsou považovány za sémanticky bezpečné a celý chvost je odstraněn.[27]

Navzdory matematické eleganci vyžaduje TFS intenzivnější výpočetní náklady na výpočet derivací v reálném čase, kvůli čemuž v masových komerčních produktech ustupuje lehčím algoritmům.[27]

p‑less sampling

p‑less sampling — metoda, která zcela osvobozuje inženýra od nutnosti nastavovat hyperparametry ořezu.[28] Zásadní problém všech předchozích metod — od Top‑k a Top‑p až po Min‑p — spočívá v závislosti na statických hyperparametrech, jejichž hodnoty vyžadují odborné nastavení a mohou být optimální pro jednu úlohu (kreativní psaní), ale nevhodné pro jinou (programování).[29]

Algoritmus p‑less, zakotvený v teorii informace, dynamicky generuje jedinečný práh ořezu v každém kroku dekódování analýzou vnitřní topologie celého pravděpodobnostního rozdělení v reálném čase. Autoři uvádějí odolnost metody vůči teplotním fluktuacím (temperature robustness): při zvyšování teploty mohou tradiční metody výrazně degradovat, zatímco p‑less si zachovává stabilitu kvality. Díky upuštění od logiky kumulativního skenování a renormalizace velkých jader metoda dle autorů zajišťuje vyšší výpočetní efektivitu ve fázi inference a generuje kompaktnější odpovědi bez ztráty přesnosti na datasetech z matematiky, logiky a kreativního psaní.[29][28]

η‑vzorkování

η‑vzorkování (Hewitt et al., 2022) používá entropicky závislý práh pravděpodobnosti, přizpůsobující se nízkoentropyckým kontextům, kde může Top‑p nadměrně ořezávat.[30]

Literatura

  • Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019; publikováno na ICLR 2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Fan, A., Lewis, M., & Dauphin, Y. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Ravfogel, S., Goldberg, Y., & Goldberger, J. (2023). Conformal Nucleus Sampling. ACL Findings 2023.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925.
  • Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
  • Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Strategies. arXiv:2410.03968.
  • Nguyen, M. et al. (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
  • Bricken, T. Tail Free Sampling. [32].
  • p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234.

Poznámky

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751. [1]
  2. 2.0 2.1 2.2 Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. TACL, Vol. 11. arXiv:2202.00666. [2]
  3. 3.0 3.1 3.2 Large Language Models Hallucination: A Comprehensive Survey. arXiv:2510.06265. [3]
  4. Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693. [4]
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 Hugging Face Transformers. Generation strategies (top‑k, top‑p, temperature). [5]
  6. Hugging Face Transformers. generation/utils.py (исходный код). [6]
  7. 7.0 7.1 7.2 7.3 7.4 OpenAI API Reference. top_p — рекомендация «We generally recommend altering this or temperature but not both». [7]
  8. 8.0 8.1 Microsoft Learn (Azure OpenAI). Text/Chat Completions — parameters. [8]
  9. 9.0 9.1 Anthropic API Reference. Messages API — top_p. [9]
  10. 10.0 10.1 10.2 10.3 10.4 10.5 Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925. [10]
  11. 11.0 11.1 From Illusion to Insight: A Taxonomic Survey of Hallucination Mitigation Techniques in LLMs. MDPI. [11]
  12. Survey and analysis of hallucinations in large language models: attribution to prompting strategies or model behavior. Frontiers in AI. [12]
  13. Anthropic. API release notes. [13]
  14. Hugging Face. GenerationConfig (top_p default). [14]
  15. Google AI / Vertex AI. Content generation parameters (topP/topK). [15] [16]
  16. Transformers API. TopPLogitsWarper (параметры и поведение, включая `min_tokens_to_keep`). [17]
  17. OpenAI API. Using reasoning models — parameter support. [18]
  18. OpenAI API. Using GPT-5.2. [19]
  19. Anthropic. Building with extended thinking. [20]
  20. Microsoft Learn (Azure AI Foundry). Reasoning models — supported parameters. [21]
  21. Hugging Face Transformers. MinPLogitsWarper. [22]
  22. vLLM. Sampling Parameters — min_p. [23]
  23. 23.0 23.1 23.2 23.3 Nguyen, M. et al. (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082. [24]
  24. 24.0 24.1 Nguyen, M. et al. Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. [25]
  25. Turning Down the Heat: A Critical Analysis of Min-p Sampling in Language Models. arXiv:2506.13681. [26]
  26. 26.0 26.1 Locally Typical Sampling. Transactions of the ACL, MIT Press. [27]
  27. 27.0 27.1 27.2 Bricken, T. Tail Free Sampling. [28]
  28. 28.0 28.1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. OpenReview. [29]
  29. 29.0 29.1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234. [30]
  30. Hewitt, J., Manning, C. D., & Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. Findings of EMNLP 2022. arXiv:2210.15191. [31]

Viz také

  • Teplota
  • Velké jazykové modely