Top-p (nucleus)

Top-p (nucleus)

Čo je top-p (nucleus) sampling a prečo na ňom záleží

Top-p (nazývaný aj nucleus sampling) je stochastická dekódovacia stratégia pre generatívne jazykové modely, ktorá v každom kroku výberu ďalšieho tokenu obmedzí kandidátov na najmenšiu množinu slovnej zásoby, ktorej kumulatívna pravdepodobnosť dosiahne prah p (napr. 0.9). Zvyšné tokeny (súčet < p) sú „orezané“. Namiesto fixného počtu kandidátov (ako top-k) tak top-p adaptívne reaguje na tvar distribúcie: pri „ostrej“ (peaked) distribúcii je jadro malé, pri „plochej“ (diffuse) väčšie.

Formálna definícia a intuícia

  • Nech P(t|h) je softmax pravdepodobnosť tokenu t pri kontexte h.
  • Zoradíme tokeny zostupne podľa P a nájdeme najmenší prefix S, že Σ_{t∈S} P(t|h) ≥ p.
  • Vzorkujeme z distribúcie renormalizovanej na S: P'(t|h) = P(t|h) / Σ_{u∈S} P(u|h) pre t∈S; inak 0.

Intuícia: jadro („nucleus“) predstavuje najpravdepodobnejší významový masív. Vysoké p → širšie jadro (viac kreativity), nízke p → užšie jadro (viac deterministický výstup).

Porovnanie s top-k a teplotou

Top-p vs. top-k vs. teplota (T)
Technika Mechanizmus Adaptivita Kontrola rizika „off-topic“ Typické použitie
Top-k Rezne na k naj tokenov Nízka (fixné k) Dobrá pri malom k Chat, kód, konzervatívne texty
Top-p Rezne na kumulatívnu pravdepodobnosť p Vysoká (mení sa podľa distribúcie) Vyvážená Kreatívne, viacjazyčné, dlhé výstupy
Teplota T Globálne „zploštenie“ logitov Stredná (na celé rozdelenie) Citlivé na nastavenie Ladenie variability pri fixnom top-p/k

V praxi sa top-p často kombinuje s teplotou: logits/T upravia tvar distribúcie a top-p následne adaptívne vyreže chvost.

Algoritmus krok za krokom

  1. Vypočítajte softmax pravdepodobnosti tokenov (po aplikovaní teploty, penalizácií opakovania a pod.).
  2. Zoradíte tokeny zostupne podľa pravdepodobnosti a kumulujete súčet.
  3. Nájdete najmenší prefix s kumulatívom ≥ p.
  4. Renormalizujete pravdepodobnosti v jadre na 1.
  5. Vzorkujete jeden token z tejto prerezanej distribúcie.

Stabilitná poznámka: pri rovnostiach na hranici p je dobré pridať drobnú stochastiku (tie-breaking) alebo deterministicky preferovať vyšší pravdepodobnostný token, aby ste predišli osciláciám.

Vplyv na kvalitu textu: koherencia vs. diverzita

  • Koherencia: nižšie p znižuje riziko „topic driftu“, skracuje strednú dĺžku viet a redukuje slang/idiomy.
  • Diverzita: vyššie p zvyšuje lexikálnu aj syntaktickú pestrosť, podporuje originálne n-gramy.
  • Opakovania: samotné top-p nebráni repetíciám; kombinujte s penalizáciou opakovania (napr. repetition_penalty, no_repeat_ngram_size).

Odporúčané rozsahy a predvolené nastavenia

  • Presné/informačné odpovede: p = 0.80–0.92, T = 0.7–0.9, opakovací penalty mierny.
  • Kreatívne písanie: p = 0.90–0.97, T = 0.9–1.1, menšie obsahové obmedzenia.
  • Kód a štruktúrovaný text: p = 0.70–0.90, T = 0.2–0.8, silnejšie anti-repeat pravidlá.
  • Viacjazyčné generovanie: p = 0.88–0.95, T = 0.8–1.0 (nižšie riziko „code-switchingu“).

Praktické rady pre SEO/AIO/AEO kontext

  • Answer-first výstupy: používajte konzervatívnejšie p a nižšiu T pre stabilné lead-vety a správne citácie.
  • Variácie meta-titles/descr.: zvýšte p o 0.03–0.05 nad baseline na generovanie diverzity bez straty témy.
  • Snippety a FAQ: p ≤ 0.9 udrží odpovede „na koľajniciach“, dôležité pre extrakty v odpovediach asistentov.
  • Programmatic SEO šablóny: pri dlhom chvoste sa vyhnite extrémom; kombinujte top-p s pravidlovým templatingom.

Kalibrácia a metriky kvality

  • Automatické: per-token entropia, distinct-n (unikátne n-gramy), self-BLEU (medzi variantmi), repetičné skóre.
  • Ľudské: zrozumiteľnosť, faktická presnosť, „on-brand“ tón; hodnotiace škály 1–5, párové porovnávanie variantov pri rôznych p.
  • Biznis: CTR snippetu, čas do informácie, miera eskalácie; trackujte v A/B testoch proti baseline.

Interakcia s ďalšími obmedzeniami (safety, štýl, dĺžka)

  • Bezpečnostné filtre: priraďujte ich pred top-p (logit bias) aj po vzorkovaní (toxicity gating) – dvojitý pás.
  • Štylistické constrainty: pri striktnom štýle (právny text) znížte p a T; pri marketingu povoľte širšie jadro.
  • Dĺžka: vyššie p môže zvyšovať „rambling“; kontrolujte cez stoppointy (povinné sekcie, odrážky).

Hranice a časté omyly

  • „Vyššie p je vždy lepšie“: nie; nad ~0.97 často rastie nepresnosť a tangenty.
  • „Top-p nahrádza teplotu“: nie; teplota mení krivku globálne, top-p reguluje chvost adaptívne.
  • „Stačí raz nastaviť“: nie; rozumné je kontextové prepínanie profilov podľa úlohy a jazyka.

Kontextovo adaptívne profily

Príklad profilov top-p/teplota podľa typu obsahu
Scenár p T Ďalšie nastavenia
Lexikón/definície 0.85 0.7 no-repeat-bigram=2; cite-first
Produktové karty 0.88 0.8 tone=autoritatívny; CTA guardrails
Blog kreatíva 0.94 0.95 diversity-penalty=ľahký
Kódové ukážky 0.80 0.4 no-repeat-ngram=3; syntax checker

Implementačné poznámky (pseudokód bez <pre> blokov)

# logits: vektor skóre; T: teplota; p: jadrový prah
logits = logits / T
probs = softmax(logits)
idx = argsort_desc(probs)
cum = cumsum(probs[idx])
k = argmin_i ( cum[i] ≥ p )
S = idx[0..k]
probs_S = probs[S] / sum(probs[S])
t = sample_from(probs_S)
return S[t]

Ladenie v praxi: postup „od konzervy ku kreativite“

  1. Začnite konzervatívne: p=0.9, T=0.8, anti-repeat = zapnutý.
  2. Otestujte 3–5 variantov na 20–50 promptoch; merajte distinct-n, faktickosť a ľudské hodnotenia.
  3. Podľa cieľa upravte p po krokoch 0.02–0.05; teplotu po 0.05–0.1.
  4. Zamknite profil pre daný typ obsahu; sledujte metriky v A/B.

Vplyv jazyka a domény

  • Menej zdrojov (low-resource) jazyky: mierne vyššie p môže pomôcť diverzite, ale kontrolujte faktickosť.
  • Odborné domény: nižšie p napomáha terminologickej konzistencii; pridajte terminologické slovníky a logit bias.

Prepojenie s optimalizáciou webov pre LLM (AIO/AEO)

  • Stabilné jadro textu: konzervatívny profil pre sekcie, ktoré budú modely často citovať (definície, metodiky).
  • Variácie nadpisov a zhrnutí: kreatívny profil pre „explore“ fázu a testovanie CTR v asistentoch.
  • Kontrola atribúcie: nižšie p uľahčí reprodukovateľné citovateľné vety s identickými kotvami.

Diagnostika problémov

  • Hallucinácie stúpajú: znížte p o 0.05 a T o 0.1; posilnite retrieval a citácie.
  • Monotónnosť textu: zvýšte p o 0.03, uvoľnite anti-repeat a pridajte štylistické hinty.
  • Topic drift v dlhých výstupoch: zavádzajte sekčné „reset“ prompty a medzititulky; držte p ≤ 0.92.

FAQ pre rozhodovanie

  • Má zmysel kombinovať top-p a top-k? Áno, najmä ako „poistku“: napr. p=0.95 a k≤50 na odrezanie extrémne dlhých chvostov.
  • Čo s dĺžkou výstupu? Top-p ovplyvňuje lokálnu voľbu tokenu; dĺžku kontrolujte cez max_tokens a sekčné ciele.
  • Je top-p deterministický? Nie; pre reprodukovateľnosť nastavte random_seed a fixný deterministický tie-break.

Top-p (nucleus) sampling je praktický, adaptívny mechanizmus na vyváženie koherencie a kreativity. V optimalizácii pre ChatGPT/LLM, AIO/AEO a moderné SEO umožňuje riadiť „výber slov“ tak, aby odpovede boli konzistentné, citovateľné a zároveň dostatočne rozmanité pre testovanie variantov. Kombináciou s teplotou, penalizáciami opakovania a retrievalom získate robustný dekódovací profil, ktorý sa dá škálovať naprieč typmi obsahu a jazykmi.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *