- URL: https://rentry.co/samplers
- Added At: 2025-05-06 14:00:59
本文介绍了文本生成模型中Token化技术及采样算法的核心原理。Token化通过子词分割(如BPE、SentencePiece)平衡词汇覆盖率与模型效率。采样阶段结合温度调控(调整分布)、惩罚机制(防重复)、过滤方法(Top-K/P/Min-P)控制生成多样性,进阶技术如DRY可阻止n-gram重复,需注意采样器执行顺序优化。新兴的二次采样和动态温控方法进一步提升生成质量。
-
Token化原理
- 为何使用Token?
- 避免字母级处理的冗长(如“bi-fur-cat-ion”需多个token)、解决单词级处理的词汇量爆炸问题。
- 子词构建方法
- BPE(Byte Pair Encoding):通过统计常见子词合并规则分割文本。
- SentencePiece:基于字符串分割优化,灵活处理新词与跨语言形态。
- 词汇量大小取舍:平衡覆盖率与计算效率(如12,000~50,000 token规模)。
- 为何使用Token?
-
模型生成流程
- 预测阶段:输出所有可能后续token的logits(非规范化概率)。
- 选择阶段:通过采样算法从概率分布中随机选取token,核心在于调整分布形状。
-
基础调控
-
温度采样(Temperature)
- 功能:通过调整温度(T)控制随机性。T<1.0偏好高概率词,T>1.0增加多样性。
- 公式:logits = logits / T,高温下低概率词有机会被选中。
-
惩罚机制
- 存在惩罚(Presence Penalty):对已出现token统一施加固定惩罚。
- 频率惩罚(Frequency Penalty):惩罚按出现次数乘以系数递增。
- 重复惩罚(Repetition Penalty):对重复token的logits进行非对称缩放(正则÷惩罚系数,负则×惩罚系数)。
-
-
过滤型采样
-
Top-K
- 机制:保留概率最高的前K个token,其余置为-∞。
- 特点:固定选择范围,减少极端低概率词。
-
Top-P(Nucleus)
- 机制:保留累积概率达P%的最小token集合。
- 动态性:根据分布熵自动调整过滤范围,P通常设为0.9-0.95。
-
Min-P
- 机制:过滤低于最高概率token的min_p比例的token。
- 效率优势:无需排序,动态阈值随模型置信度调整(如T=1.0-1.2时min_p=0.1)。
-
-
进阶技术
-
DRY(Don't Repeat Yourself)
- 防重复n-gram:检测生成文本的重复模式,对延续该模式的token施加指数级惩罚(惩罚强度随模式长度增加)。
- 适用场景:避免循环叙述,适用于创意写作。
-
Tail-Free Sampling(TFS)
- 统计筛选:通过二阶导数识别概率分布“拐点”,切断长尾低概率token。
-
XTC(eXclude Top Choices)
- 随机排除:按概率p触发,排除超过阈值的高概率token(仅保留最低概率项)。
-
-
顺序依赖
- 温度优先:温度应优先于Top-K/P应用(否则极端分布可能导致元素提前过滤)。
- DRY位置:需在惩罚与过滤之前执行,以捕捉完整历史模式。
-
协同与冲突
- 协同组合:Min-P+高温提升多样性,DRY+频率惩罚双重防重复。
- 冲突案例:重复惩罚与Top-P冲突(重复惩罚可能过度削减高频token)。
-
子词构建机制
- BPE流程:从全字母分割开始,迭代合并高频pair,直至达到指定词汇量。
- SentencePiece:端到端字节级训练,优化编码/解码质量。
- 新词处理:通过拆分已有子词组合表示未登录词(如“g-romp-u-ficious”)。
-
跨语言适配
- 形态复杂语言:支持德语、芬兰语等长词复合结构,自动分解为形态单元(如词根+前缀+后缀)。
- 典型流程:DRY → 惩罚机制 → 温度调整 → 过滤(Top-K/P/Min-P)。
- 平衡艺术:需根据生成目标调整参数组合(如高熵场景用Top-P+高温,需去重场景启用DRY)。
- 优化方向:Quadratic Sampling(二次采样)、Mirostat(动态温控)等新兴方法改进效率与可控性。