1. 什么是LLM的复读机问题
- 字符级别重复,指大模型针对一个字或一个词重复不断的生成例如在电商翻译场景上,会出现“steckdose steckdose steckdose steckdose steckdose steckdose steckdose steckdose…”;
- 语句级别重复,大模型针对一句话重复不断的生成例如在多模态大模型图片理解上,生成的结果可能会不断重复图片的部分内容,比如“这是一个杯子,这是一个杯子…”;
- 章节级别重复,多次相同的prompt输出完全相同或十分近似的内容,没有一点创新性的内容,比如你让大模型给你写一篇关于春天的小作文,结果发现大模型的生成结果千篇一律,甚至近乎一摸一样。
- 大模型针对不同的prompt也可能会生成类似的内容,且有效信息很少、信息熵偏低
2. 为什么会出现 LLMs 复读机问题?
- 数据偏差
大型语言模型通常是通过预训练阶段使用大规模无标签数据进行训练的。如果训练数据中存在大量的重复文本或者某些特定的句子或短语出现频率较高,模型在生成文本时可能会倾向于复制这些常见的模式。
- 训练目标的限制
大型语言模型的训练通常是基于自监督学习的方法,通过预测下一个词或掩盖词来学习语言模型。这样的训练目标可能使得模型更倾向于生成与输入相似的文本,导致复读机问题的出现。
- 缺乏多样性的训练数据
虽然大型语言模型可以处理大规模的数据,但如果训练数据中缺乏多样性的语言表达和语境,模型可能无法学习到足够的多样性和创造性,导致复读机问题的出现。
- 模型结构和参数设置
大型语言模型的结构和参数设置也可能对复读机问题产生影响。例如,模型的注意力机制和生成策略可能导致模型更倾向于复制输入的文本。
- 从 induction head[1]机制的影响角度
也就是模型会倾向于从前面已经预测的word里面挑选最匹配的词;在翻译上,由于input和output的天然差异性,你会发现容易出现重复的都是一些复杂度perplexity比较高的文本:也就是说input的句式越不常见,本身重复度越高,翻译结果重复的可能性也越高
3. 如何缓解LLMs复读机
3.1. Unlikelihood Training(相似性损失函数)
在训练中加入对重复词的抑制来减少重复输出,token,本身likelihood training loss是要促使模型学习到原标签中自然的语言逻辑,而修改后的loss不仅要促进模型学习到真实标签的语言自然性,也要通过unlikelihood loss抑制模型,使其尽量不生成集合C中的token。
L UL-token t ( p θ ( ⋅ ∣ x