Skip to main content
AI & Machine Learning

Top-k Sampling

Een samplingmethode die tokenselectie beperkt tot de k meest waarschijnlijke volgende tokens bij elke generatiestap.

Ook bekend als: Top-k decodering, K-beste sampling, Afgeknotte sampling

Definitie

Top-k sampling is een tekstgeneratiestrategie die de selectiepool beperkt tot de k tokens met de hoogste kans bij elke generatiestap. Door tokens met lage kans uit te sluiten, vermindert het het risico op incoherente of onverwachte tekst terwijl enige diversiteit in outputs behouden blijft.

Waarom het belangrijk is

Top-k biedt voorspelbare controle over generatiediversiteit:

  • Ruisreductie — elimineert onwaarschijnlijke tokens die incoherentie veroorzaken
  • Eenvoud — enkele integer parameter, makkelijk te begrijpen
  • Consistentie — vaste kandidaatpoolgrootte ongeacht distributievorm
  • Snelheid — efficiënt te berekenen door simpelweg sorteren en afkappen
  • Historisch belang — vroege standaard die latere methoden beïnvloedde

Top-k blijft nuttig ondanks dat top-p vaak de voorkeur heeft voor adaptief gedrag.

Hoe het werkt

┌────────────────────────────────────────────────────────────┐
│                      TOP-K SAMPLING                        │
├────────────────────────────────────────────────────────────┤
│                                                            │
│  Tokenkansen (gesorteerd hoog naar laag):                  │
│                                                            │
│  Rang  Token     Kans                                      │
│  ─────────────────────                                     │
│  1     "de"      0.35   ◄── opgenomen                     │
│  2     "een"     0.25   ◄── opgenomen                     │
│  3     "deze"    0.15   ◄── opgenomen                     │
│  4     "die"     0.10   ◄── opgenomen                     │
│  5     "het"     0.08   ◄── opgenomen (k=5)               │
│  6     "enige"   0.04       uitgesloten                    │
│  7     "mijn"    0.02       uitgesloten                    │
│  8     "jouw"    0.01       uitgesloten                    │
│                                                            │
│  ┌────────────────────────────────────────────────┐        │
│  │  TOP-K = 5                                     │        │
│  │                                                │        │
│  │  Selecteer altijd uit exact 5 tokens          │        │
│  │                                                │        │
│  │  Rang: [1] [2] [3] [4] [5] │ [6] [7] [8]...   │        │
│  │        ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲│▲▲▲▲▲▲▲▲▲▲▲▲▲▲    │        │
│  │        KANDIDAATPOOL      │  UITGESLOTEN      │        │
│  └────────────────────────────────────────────────┘        │
│                                                            │
│  VASTE SELECTIE (ongeacht kansvorm):                       │
│                                                            │
│  Zeker model              Onzeker model                    │
│  [0.90, 0.05, 0.02...]    [0.15, 0.14, 0.13...]            │
│  Pakt nog steeds k=5      Pakt nog steeds k=5              │
│                                                            │
└────────────────────────────────────────────────────────────┘

Veelgebruikte top-k waarden:

WaardeGedragToepassing
1Greedy (deterministisch)Exacte taken
10Zeer gefocustFeitelijke Q&A
40Gebalanceerd (gangbare standaard)Algemeen gebruik
100DiversCreatieve taken
0Uitgeschakeld (alle tokens)Alleen met top-p

Veelgestelde vragen

V: Wat is het verschil tussen top-k en top-p?

A: Top-k selecteert altijd exact k tokens. Top-p (nucleus sampling) selecteert een variabel aantal op basis van cumulatieve kans. Als kansen sterk geconcentreerd zijn op één token, kan top-p slechts 1-2 tokens selecteren terwijl top-k nog steeds alle k selecteert.

V: Wat is een goede top-k waarde?

A: 40-50 is gangbaar voor algemeen gebruik. Lager (5-20) voor feitelijke taken, hoger (100+) voor creatief werk. De optimale waarde hangt af van vocabulairegrootte en taakvereisten.

V: Moet ik top-k met temperatuur gebruiken?

A: Ja, ze werken goed samen. Temperatuur hervormt eerst de kansen, dan kapt top-k af naar de topkandidaten. Deze combinatie geeft je controle over zowel distributievorm als kandidaatpoolgrootte.

V: Wat gebeurt er met top-k = 1?

A: Dit is equivalent aan greedy decodering—altijd het meest waarschijnlijke token selecteren. Output wordt deterministisch (zelfde invoer → zelfde uitvoer) maar kan repetitief zijn of betere totaalsequenties missen.

Gerelateerde termen


Referenties

Fan et al. (2018), “Hierarchical Neural Story Generation”, ACL. [1.000+ citaties]

Holtzman et al. (2020), “The Curious Case of Neural Text Degeneration”, ICLR. [2.500+ citaties]

Radford et al. (2019), “Language Models are Unsupervised Multitask Learners”, OpenAI. [10.000+ citaties]

Meister et al. (2020), “If Beam Search is the Answer, What was the Question?”, EMNLP. [200+ citaties]

References

Fan et al. (2018), “Hierarchical Neural Story Generation”, ACL. [1,000+ citations]

Holtzman et al. (2020), “The Curious Case of Neural Text Degeneration”, ICLR. [2,500+ citations]

Radford et al. (2019), “Language Models are Unsupervised Multitask Learners”, OpenAI. [10,000+ citations]

Meister et al. (2020), “If Beam Search is the Answer, What was the Question?”, EMNLP. [200+ citations]