
Top-p Sampling (ook wel nucleus sampling genoemd) is een decodeerstrategie die het volgende token selecteert uit een dynamisch gedimensioneerde kandidaatset: alleen de kleinste groep tokens waarvan de cumulatieve kans een drempel p overschrijdt wordt beschouwd, en het uiteindelijke token wordt uit die groep gesampeld. In tegenstelling tot top-k sampling, dat altijd uit een vast aantal kandidaten trekt ongeacht de kansverdeling, past top-p de kandidaatpool aan — wanneer het model zeker is, komen slechts enkele tokens in aanmerking; bij onzekerheid kunnen tientallen of honderden tokens de pool betreden. Dit adaptieve gedrag maakt top-p de standaard samplingmethode voor de meeste commerciële LLM-API's, doorgaans ingesteld tussen 0,9 en 0,95 voor algemene tekstgeneratie.
Waarom het belangrijk is
Top-p sampling lost een fundamenteel probleem op met vaste kandidaatpools: het optimale aantal kandidaten varieert per tokenpositie. Na de zin "De hoofdstad van Frankrijk is" is het model extreem zeker — slechts een of twee tokens zijn plausibel. Een vaste top-k van 50 zou tientallen onzinnige tokens bevatten en riskeert incoherente output. Omgekeerd zijn bij een creatieve voortzetting als "De zonsondergang leek op een" veel tokens plausibel — een top-k van 5 zou te restrictief zijn en vlakke tekst opleveren. Top-p handelt beide situaties automatisch af door de poolgrootte af te stemmen op modelzekerheid. Voor productieapplicaties betekent dit minder hallucinaties in feitelijke contexten (kleinere pool) en rijkere creativiteit in open contexten (grotere pool), allemaal met één parameterinstelling.
Hoe het werkt
Tijdens inferentie produceert het model een kansverdeling (logits omgezet via softmax) over het volledige vocabulaire voor het volgende token. Het top-p algoritme sorteert deze kansen van hoog naar laag, en accumuleert ze totdat het lopende totaal p overschrijdt. Alleen tokens binnen deze cumulatieve drempel blijven als kandidaten; de rest wordt verworpen. De overgebleven kansen worden genormaliseerd naar een som van 1,0, en het volgende token wordt gesampeld uit deze gereduceerde verdeling. Bijvoorbeeld bij p=0,9: als de top drie tokens kansen hebben van 0,7, 0,15 en 0,08 (cumulatief: 0,93), zijn alleen die drie tokens kandidaat. Top-p wordt vaak gecombineerd met temperature: temperature hervormt eerst de verdeling (scherper of vlakker), waarna top-p de kandidaatpool selecteert uit de hervormde verdeling. De meeste API's passen temperature toe vóór top-p in de generatiepipeline.
Voorbeeld
Een legal-techbedrijf configureert zijn contractreview-assistent met top-p op 0,85 voor clausuleanalyse. Wanneer het model een standaard vrijwaringsclausule identificeert, is het vertrouwen hoog — de nucleus bevat slechts 3-4 tokens per positie, wat precieze, voorspelbare juridische taal produceert. Wanneer hetzelfde systeem een risicosamenvatting genereert die genuanceerd oordeel vereist, is het vertrouwen lager en breidt de nucleus uit naar 20-30 tokens, waardoor meer gevarieerde en contextueel passende formuleringen mogelijk worden. Een concurrerend systeem met vaste top-k=40 toont het omgekeerde patroon: de clausuleanalyse bevat soms bizarre woordkeuzes van tokens met lage waarschijnlijkheid, terwijl risicosamenvattingen repetitief aanvoelen omdat 40 kandidaten te weinig zijn voor werkelijk diverse expressie. Door over te stappen op top-p vermindert het legal-techbedrijf clausuleanalysefouten met 25% en verbetert het de leesbaarheidsscores van risicosamenvattingen met 18% — zonder promptwijzigingen of modelhertraining.