论文
不要重复自己:在采样时停止逐字循环
Don't Repeat Yourself: Stopping Verbatim Loops at Sampling Time
摘要
大语言模型 自回归生成文本,但开放式生成很容易出现逐字循环,其中模型重复上下文中已经存在的跨度。标准防御(例如重复、存在和频率惩罚以及 n 元语法阻止)作用于标记重复而不是循环的顺序结构,并且通常仅在也会降低格式或流畅性的强度下抑制循环。我们建议不要重复自己(DRY),这是一种采样时间 logits 调整,仅当生成候选标记将当前后缀扩展为上下文中先前看到的跨度的精确延续时才对候选标记进行惩罚。序列破坏者保护聊天模板和格式化词元。在从 1.5B 到 120B 参数的模型、九个提示家族和 600 对人类研究中,DRY 将后缀扩展率降低了 47%,同时提高了词汇多样性。干预匹配的安慰剂不会产生类似的减少,将后缀匹配确定为操作机制。在 AWQ 量化的 70B 和 120B 模型上,DRY 将循环速率降低大约一半,同时保留 MT-Bench、MMLU 和 GSM8K 性能,而标准替代方案则失去了可衡量的基础。 DRY 已被流行的开源 LLM 推理框架(包括 llama.cpp、ExLlamaV2 和 text- Generation-webui)采用,凸显了它对文本生成的实际影响。