直接回答:三者都作用在 softmax 输出的概率分布上。temperature 调整分布的"陡峭程度":除以温度 T,T<1 让高概率词更突出(输出更确定保守),T>1 拉平分布(更随机多样),T=0 近似贪心取最大。top-k 只在概率最高的 k 个词里采样,截断长尾。top-p(核采样)按累积概率从高到低取到 p 为止的动态集合,集合大小随分布形状自适应——分布集中时只留两三个候选,分布平坦时保留更多。
实践要点:工程惯例是 temperature 与 top-p 二选一调整,别同时大改,效果会叠加且难归因。事实问答、代码生成、JSON 抽取用 temperature 0~0.3 求稳;创意写作、头脑风暴用 0.7~1.0;超过 1.2 基本只剩胡言乱语。top-p 常用 0.9~0.95 兜住质量下限。还要知道:temperature=0 也不保证严格可复现(浮点非确定性、推理框架的 batch 归并都会引入抖动),业务不能依赖"同样输入必然同样输出"。评测任务建议固定种子并记录采样参数,否则结论无法复现。
追问方向:为什么 top-p 被认为比 top-k 更合理?重复惩罚(repetition/presence/frequency penalty)与采样参数怎么配合?
(约 420 字)