Don't Repeat Yourself: Stopping Verbatim Loops at Sampling Time
作者: Philipp Emanuel Weidmann, Allen Roush, Judah Goldfeder, Sanjay Basu, Ravid Shwartz-Ziv
分类: cs.CL, cs.AI, cs.LG
发布日期: 2026-08-24
💡 一句话要点
提出DRY方法以解决语言模型中的逐字循环问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 语言模型 文本生成 逐字循环 采样调整 多样性提升
📋 核心要点
- 现有的文本生成方法在开放式生成中容易出现逐字循环,导致生成内容重复且缺乏多样性。
- 本文提出DRY方法,通过在采样时调整logit,仅在生成的词元延长为已见过的上下文时进行惩罚,从而有效减少循环现象。
- 实验结果显示,DRY在不同参数规模的模型中将后缀扩展率降低了47%,同时保持了生成质量,显示出其优越性。
📝 摘要(中文)
大型语言模型以自回归方式生成文本,但在开放式生成中容易出现逐字循环,即模型重复上下文中已存在的文本片段。现有的防御措施如重复、存在和频率惩罚以及n-gram阻塞主要针对词元的重复,而非循环的顺序结构,往往在抑制循环的同时也会降低文本的格式或流畅性。本文提出了Don't Repeat Yourself (DRY)方法,这是一种在采样时进行的logit调整,仅在生成候选词元时会延长当前后缀为上下文中已见过的确切延续时进行惩罚。实验结果表明,DRY在多个模型和提示家族中显著降低了后缀扩展率,同时提高了词汇多样性。
🔬 方法详解
问题定义:本文旨在解决大型语言模型在开放式文本生成中出现的逐字循环问题。现有方法如重复惩罚和n-gram阻塞主要针对词元的重复,而未能有效处理循环的顺序结构,导致生成内容的流畅性和格式受到影响。
核心思路:DRY方法通过在采样时对logit进行调整,仅在生成的候选词元会将当前后缀延长为上下文中已见过的确切延续时进行惩罚。这种设计旨在减少重复生成的内容,同时保持文本的多样性和流畅性。
技术框架:DRY方法的整体架构包括三个主要模块:logit调整模块、序列破坏器(用于保护聊天模板和格式化词元)以及后缀匹配检测模块。该方法在生成过程中实时监测上下文,动态调整生成策略。
关键创新:DRY的主要创新在于其在采样时的logit调整机制,区别于传统方法的静态惩罚策略。通过动态检测上下文中的重复模式,DRY能够更有效地减少逐字循环现象。
关键设计:DRY方法的关键设计包括对logit的动态调整策略,以及对后缀匹配的实时监测。具体的参数设置和损失函数设计尚未详细披露,但其核心在于通过上下文的实时分析来优化生成过程。
🖼️ 关键图片
📊 实验亮点
实验结果显示,DRY方法在多个模型上将后缀扩展率降低了47%,并在70B和120B参数的模型上将循环率减少了约50%。与传统方法相比,DRY在保持MT-Bench、MMLU和GSM8K性能的同时,显著提升了生成质量,显示出其有效性。
🎯 应用场景
该研究的潜在应用领域包括对话系统、文本生成工具和内容创作平台等。通过减少逐字循环,DRY方法能够提升生成文本的多样性和质量,具有广泛的实际价值和应用前景,尤其是在需要高质量文本生成的场景中。
📄 摘要(原文)
Large Language Models generate text autoregressively, but open-ended generation is prone to verbatim looping, in which models repeat spans already present in context. Standard defenses such as repetition, presence, and frequency penalties and n-gram blocking act on token recurrence rather than the sequential structure of a loop, and often suppress looping only at strengths that also degrade formatting or fluency. We propose Don't Repeat Yourself (DRY), a sampling-time logit adjustment that penalizes a candidate token only when generating it would extend the current suffix into an exact continuation of a span seen earlier in the context. Sequence breakers protect chat templates and formatting tokens. Across models from 1.5B to 120B parameters, nine prompt families, and a 600-pair human study, DRY reduces suffix-extension rate by 47% while improving lexical diversity. An intervention-matched placebo produces no comparable reduction, identifying suffix matching as the operative mechanism. On AWQ-quantized 70B and 120B models, DRY reduces loop rate by roughly half while preserving MT-Bench, MMLU, and GSM8K performance, whereas standard alternatives lose measurable ground. DRY has been adopted by popular open-source LLM inference frameworks including llama.cpp, ExLlamaV2, and text-generation-webui, highlighting its practical impact on text generation.