LLM面面观之LLM复读机问题及解决方案

Unity游戏开发实战:如何用科大讯飞离线语音合成SDK实现NPC对话(附完整代码) 本文详细介绍了如何在Unity游戏开发中使用科大讯飞离线语音合成SDK实现NPC对话系统。通过完整的代码示例和优化技巧,开发者可以快速集成本地语音合成功能,提升游戏沉浸感,同时避免网络延迟问题。文章涵盖SDK集成、核心语音合成模块实现以及高级应用技巧,特别适合RPG游戏开发者参考。 阅读详情
AI摘要

本文探讨了LLM复读机问题的成因,涉及贪心解码和模型倾向性,提出基于训练的DITTO方法和基于解码的策略如beamsearch、randomsearch和温度调整。

1. 背景

关于LLM复读机问题,本qiang~在网上搜刮了好几天,结果是大多数客观整理的都有些支离破碎,不够系统。

因此,本qiang~打算做一个相对系统的整理,包括LLM复读机产生的原因以及对应的解决方案。

2. LLM复读机示例

示例1:短语级别的重复

User: 你喜欢北京么?

AI: 北京是中国的首都,有很多名胜古迹,如长城,故宫,天坛等,我十分喜欢喜欢喜欢喜欢…..

示例2:句子级别的重复

User: 你喜欢北京么?

AI: 北京是中国的首都,有很多名胜古迹,如长城,故宫,天坛等,我十分热爱北京,我十分热爱北京,我十分热爱北京,…..

3. LLM复读机原因

本文主要参考了清华大学的论文《Learning to Break the Loop: Analyzing and Mitigating Repetitions for Neural Text Generation》,文中详细介绍了LLM产生复读的原因。论文的前提假设是LLM的解码均为贪心解码(greedy decoding),即每次生成的token选择词表中概率最大的token。

结论如下:

(1) LLM趋向于提高重复先前句子的概率

特别地,即使仅出现一条句子级的上下文重复,重复的概率在大多数情况下也会增加。产生这种现象的原因可能是LLM对上下文非常有信心,当先前的token共享同一个句子级的上下文时,模型会学到一条捷径,直接复制该token。

另一种解释就是Inudction Head机制,即模型会倾向于从前面已经预测word里面挑选最匹配的词。

举个例子来说明下,示例1中的第二个’喜欢’共享了同句子中的’我十分喜欢’,因此模型直接会将’喜欢’拷贝至’我十分喜欢’,进而生成’我十分喜欢喜欢’

(2) 自我强化效应(self-reinforcement effect)

重复的概率几乎随着历史重复次数的增加而单调增加,最终,重复概率稳定在某个上限值附近。

一旦生成的句子重复几次,模型将会受困于因自我强化效应引起的句子循环。

下图是论文中的图,意思是随着重复次数的增加,’general’一词的概率几乎单调增加,最终趋于稳定。其中红柱表示生成相同token的概率,蓝色表示最大概率。

(3) 初始概率较高的句子通常具有较强的自我强化效应。

4. 如何解决

目前针对LLM重复生成的问题,主要有两种策略,一种是基于训练思想,一种是基于解码策略。

4.1 基于训练策略

整体思想就是通过构造伪数据,即短语重复、句子重复等伪数据,如短语或句子重复N遍,然后设计重复惩罚项来抑制大模型生成重复句子。

论文中提出了DITTO方法即采用了此策略,DITTO全称为PseuDo RepetITion PenalizaTiOn(不得不佩服算法名称的设计精美~)。

重复惩罚项通过设计损失函数来达成,其中λ是惩罚因子,论文中提到,对于开放式生成,推荐λ

取值为0.5,对于总结摘要类任务,取值为0.9性能更好。

代码分析:

DITTO损失函数计算的代码块位于https://github.com/Jxu-Thu/DITTO中”DITTO/fairseq/custom/repetetion_penalty_accum_loss.py”方法中,大体流程简要分析如下:

# 构造随机重复的特征
sample, P, L, N, K = self.re_orgnize_sentence(sample)
# 基于构造的重复特征进行预测
net_output = model(**sample['net_input'])

……….

## 计算损失函数
# 获取重复的基线概率信息
gt_probs, mask, valid_tokens = self.obtain_rep_baseline_prob(model.get_targets(sample, net_output), target_probs.detach(), P, L, N, K)
# 损失函数公式套用
one_minus_probs = torch.clamp((1.0 - torch.abs((target_probs - gt_probs*self.rep_reduce_gamma))), min=1e-20)
loss = -torch.log(one_minus_probs) * mask
loss = loss.sum()

此外,基于训练的策略还有其他方式,如UL(unlikelihood training)和SG(straight to gradient),论文链接可以参考第6小节。

4.2 基于解码策略

基于解码策略包含诸多方法,如beam search, random search(topK, topP), 温度, ngram等。

(1) 集束搜索(beam search)

针对贪心策略的改进,思想就是稍微放宽一些考察范围。即,在每一个时间步,不再只保留当前分数最高的1个输出(贪心策略),而是保留num_beams个,当num_beams=1时,集束搜索就退化成了贪心搜索。

(2) random search(topK, topP)

topK即从概率最高的K个token中进行筛选,即允许其他高分tokens有机会被选中

topP将可能性之和不超过特定值的top tokens列入候选名单,topP通常设置较高的值,目的是限制可能被采样的低概率token的长尾

(3) 温度T

较低的温度意味着较少的随机性,温度为0将始终产生相同的输出,较高的温度意味着更多的随机性,可以帮助模型给出更有创意的输出。

基于解码的策略墙裂建议直接查阅transformers框架中的实现方法,本qiang~切身体会,阅读源码确实能愉悦身心~

5. 总结

一句话足矣~

本文主要展开解读了LLM的复读机问题,并参考相关论文,给出基于训练策略和基于解码策略的解决手段,相信客官们清楚该问题了。

静待下一次的LLM知识点分享~

6. 参考

(1) DITTO: https://arxiv.org/pdf/2206.02369.pdf

(2) UL: https://arxiv.org/pdf/1908.04319v2.pdf

(3) SG: https://arxiv.org/pdf/2106.07207v1.pdf

(4) beam search: 十分钟读懂Beam Search 1:基础 - 知乎

(5) random search(topK, topP), 温度: https://zhuanlan.zhihu.com/p/613428710

YOLOv11低光照检测性能优化:基于Retinexformer主干网络的深度改进实践 购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!@[TOC]在自动驾驶、安防监控、遥感探测等关键领域,目标检测系统必须保证24小时全天候的可靠工作。然而,现有最先进的目标检测模型,包括YOLOv11,其训练数据大多源于光照良好的场景。当环境光照条件急剧下降时,图像会出现严重的噪声、低对比度、颜色失真和细节丢失,直接导致模型性能断崖式下跌。常规的解决方案如图像直方图均衡化或简单的伽马校正,往往收效甚微,甚至可能放大噪声,进一步干扰检测。 阅读详情

相关推荐

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7810

LLM记录-常见问题部分

LLMs复读机问题指的是模型倾向于不适当地复制用户输入的文本或者在回复中重复使用相同的句式和短语。这种倾向可能源自模型在处理输入时的一种简便路径,即模仿而不是创造性地响应。生成的内容往往缺乏变化和新颖性,这使得交互体验变得预测性强且单调。CRF 的核心思想是训练 Transitions 矩阵,该矩阵主要是刻画 tag 与 tag 之间的变化关系。CRF的作用是通过刻画这种关系来约束模型的生成,比如 BIO, B后面是I, I前面不能是O等。CRF 的损失函数是 正确路径的得分 - 所有路径的得分和。

weixin_46566149的博客 2733

保姆级教程:用Qlib和LightGBM从零搭建你的第一个AI量化选股策略(附完整代码)

本文提供了一份详细的教程,教你如何使用Qlib和LightGBM从零搭建AI量化选股策略。教程涵盖了环境配置、数据获取、特征工程、模型训练和策略回测等关键步骤,并附有完整代码和常见问题解决方案,适合量化投资初学者快速上手。

weixin_29191081的博客 446

AIGC算法2:LLM的复读机问题

Nucleus sampler俗称TopP采样,一种用于解决TopK采样问题的新方法,该采样方式不限制K的数目,而是通Softmax后排序token的概率,当概率大于P时停止,相当于当模型很确定下一个token时,可采样的K也会很少,减少异常错误发生的概率。以下图为例,TopP采样会不断选择logit中最大概率的token,放入一个list中,直到list中计算的总概率大于设置的TopP值,后对list中的token概率进行重新计算,最终根据计算出来的概率值对list中的token进行采样。

量化就是探索生活 5771

Figma 设计稿转前端代码:Cursor 实现 UI 还原的 4 种精准映射方法

揭示 Figma 设计稿转前端代码失效的根本原因在于四层语义未对齐(像素→布局、视觉→样式、交互→行为、意图→架构),提出以语义标注为核心的结构化喂数据方法,详解通过图层命名、Description 字段和 Markdown 上下文锚点实现高精度 React 组件生成,并给出可落地的避坑指南与实测提

weixin_42545292的博客 139

《测绘综合能力》——大地测量

《测绘综合能力》大地测量 部分重要(常考)知识点(精简版)。

C_xxy's blog 803

什么是大模型复读机问题:原因和解决方案

复读机问题是大语言模型生成文本时的一种常见现象。重复相同的词语或短语。反复表达相同的意思,尽管用词可能略有不同。在长文本生成中,模型忘记之前的内容,重新生成相似段落。例如,当用户向模型提问“如何提高写作能力?”时,模型可能会反复强调“多读书”或“多练习”,而缺乏更深层次的建议。这种现象不仅降低了生成文本的质量,还可能让用户感到困惑或不耐烦。复读机问题是大语言模型在文本生成过程中面临的一个重要挑战。其成因复杂,涉及训练数据、解码策略、模型架构等多个方面。

weixin_63866037的博客 2177

Transformers 实战修炼与源码剖析专栏大纲

本专栏以 Hugging Face Transformers 为主线,围绕“能用、会调、敢上线、懂源码”四个目标展开。内容不把理论堆成公式墙,而是用真实或拟真的业务场景驱动:客服分类、合同抽取、知识库问答、模型微调、推理服务、监控告警、源码扩展等。采用“业务痛点 → 三人剧本对话 → 代码实战 → 总结思考”的四段式结构,让读者在动手完成一个个小项目的过程中,逐步理解 Tokenizer、Model、Pipeline、Trainer、Generation、PEFT、Accelerate、Serving等概念

davidwang456的专栏 923

大模型(LLMs)学习笔记(二)——进阶知识

生成式大模型(一般简称大模型 LLMs)是指能用于创作新内容,例如文本、图片、音频以及视频的一类深度学习模型。相比普通深度学习模型,主要有两点不同:模型参数量更大,参数量都在 Billion 级别;可通过条件或上下文引导,产生生成式的内容(所谓的 prompt2engineer 就是由此而来)。

m0_71745484的博客 994

携程机票数据爬取实战:使用 Python 获取携程网机票信息

通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。

2201_76125261的博客 1657

HQChart实战教程49-点击修改K线颜色及背景色

HQChart实战教程49-点击修改K线颜色及背景色需求效果图步骤1. 注册点击监听事件2. 修改K颜色添加一个自定义颜色的K线klineoption清空所有自定义颜色的K线option交流QQ群: 950092318HQChart代码地址完整例子 需求 对点击的K线修改颜色。 效果图 步骤 1. 注册点击监听事件 事件ID JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT, 注册监听事件见教程 HQChart使用教程5- K线图控件操作函数说明 this.Create=func

小银 2911

语言大模型基础概念 二(LLM复读机问题)

什么是LLM复读机问题:请参考。

emmmmmm 382

无人机:DJI Matrice 600 Pro_(8).DJI_Matrice_600_Pro_负载能力

在一些高级应用场景中,可能需要自定义开发负载设备。

zhubeibei168的博客 1341

学习LLMs复读机

LLM 复读机,可以考虑以下策略:使用 Contrastive Search(对比研究),可以从训练和推理阶段考虑,Contrastive loss+Contrastive search。 增加 温度、Top-k、Top-p 参数来增加多样性 引入 重复惩罚(repetition penalty) 加入 coverage penalty / no-repeat n-gram 等技巧。今天对比topK&topP方法

m0_46737848的博客 1150

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

大模型训练问题

引入噪声:在生成文本时,引入一些随机性或噪声,例如通过采样不同的词或短语,或者引入随机的变换操作,以增加生成文本的多样性。缺乏多样性的训练数据:虽然大型语言模型可以处理大规模的数据,但如果训练数据中缺乏多样性的语言表达和语境,模型可能无法学习到足够的多样性和创造性,导致复读机问题的出现。后处理和过滤:对生成的文本进行后处理和过滤,去除重复的句子或短语,以提高生成文本的质量和多样性。引入噪声:在生成文本时,可以引入一些随机性或噪声,例如通过采样不同的词或短语,或者引入随机的变换操作,以增加生成文本的多样性。

hanwj_986960134的博客 690

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大语言模型基础:深度解析幻觉问题与复读机问题

某电信运营商统计发现,当客服机器人出现三次以上重复回答时,客户转人工的比例从 30%飙升至 87%,人工客服负担增加 260%,同时客户留存率下降 18%。模型在处理退货流程咨询时反复输出同一段话,完全无视客户追问的细节问题,导致平均解决时长从 5 分钟飙升到 15 分钟,客户流失率月度环比增长 37%。某咨询公司使用 LLM 生成行业分析报告时,发现模型在关键结论部分反复输出类似表述,导致报告缺乏深度洞察,客户投诉率月度增长 41%,项目续签率下降 23%。在企业级场景中,幻觉问题的破坏力远超表面错误。

charles666666的博客 703

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

什么是大模型复读机问题

LLMs复读机问题是指这些模型在生成文本时倾向于重复之前说过的内容或者重复某些常见的表达方式,而不是产生新颖或多样化的输出,这种现象在微调开源大模型时尤为常见。

深数研究院 1258

大模型(LLMs)学习笔记——进阶知识

生成式大模型(一般简称大模型 LLMs)是指能用于创作新内容,例如文本、图片、音频以及视频的一类深度学习模型。相比普通深度学习模型,主要有两点不同:模型参数量更大,参数量都在 Billion 级别;可通过条件或上下文引导,产生生成式的内容(所谓的 prompt2engineer 就是由此而来)。

2301_82275412的博客 878

RAG与MCP技术对比分析:深入探讨两者差异与优势!

通过增强生成结果的准确性和专业性通过协调 LLM 与外部工具/数据源的交互,支持复杂操作流程检索模块(如向量数据库)获取外部信息 → 生成模块(LLM)融合检索结果生成内容 [1] [9]定义标准协议规范 LLM 的输入输出上下文,实现多工具调用、动态数据路由和状态管理 [13] [21]依赖外部结构化/非结构化知识库(如文档、数据库)依赖预定义的工具集(API、函数)及上下文路由规则医疗问答(检索最新论文+患者病历生成诊断建议)[15] [34]

2401_84204207的博客 2205

NLP实践——LLM生成过程中防止重复循环

本文介绍如何使用LogitsProcessor避免大模型在生成过程中出现重复的问题。

weixin_44826203的博客 9582

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 247

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 2万+

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 509

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 211

ChatGPT、Perplexity、Gemini 与 AI Overviews 引用对比:谁的引用更可信

AI 引擎的引用机制差异很大:ChatGPT 以行内引用加 Sources 列表呈现来源,Perplexity 几乎逐句可溯源,Gemini 在回答中内嵌相关来源链接,AI Overviews 则把多源聚合答案与来源列表一起放在搜索结果顶部。本文从引用透明度、来源偏好、可干预性 3 个维度对比这 4 个引擎,并给出 GEO 的 3 点启示,帮企业在多引擎环境下提升被引用的概率。

淡然一笑 的专栏 75

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 563
上一篇: LLM面面观之Prefix LM vs Causal LM
下一篇: LLM面面观之LLM上下文扩展方案
mengrennwpu
博客等级 码龄15年 262粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值