Ray's Blog

LLM的Ai味何来?

避免 LLM 的 AI 味

我觉得很多事情都是表面上看起来,他这样可以做,那如果这样做,那他肯定可以走通的。正所谓不知者无畏。

然后觉得这个事其实是一个很简单的事情。但这只是宏观上粗浅地看到这个问题,它真正真的简单吗?这要打一个大大的问号。

举一个例子,接 LLMAPI,然后自己搭建一个问答助手。首先这个模型它学到了很多知识,你问它什么,它也会答给你,所以作为问答助手是没问题的。

但是实际使用过程中,并不是按照预期情况来的。最常见的就是所谓豆包式的回答方法,我将不拐弯抹角、一针见血、直截了当地回复你。

也不是说它说得不对,只是这样说话极其不利于信息的直接传递。

在我们日常交流中,我们通常是这样子的:当我们询问一个问题时,往往希望对方直接给出答案,而不是在开场时先来一堆“找补”和“铺垫”。

但 LLM 却截然相反——它极度喜欢把话说得“万无一失”。这种情况往往出现在某些模型上,代表性就是GPT 5 系列。

在我看来,他也就是说在防御性的叙事,也就是说他说这么多,你挑不出来什么刺,但是就是让你感觉很不舒服,就是一股 AI 味。

那到底为什么导致他这样子呢?


举个例子。

假设你向模型定义或询问一个稍显新奇的概念——比如你提出一个更高级的概念 A,它是由大家熟知的旧概念 B 引申而来的。也就是说,在B的概念上包装出一个A。

如果是人类正常交流的话,通常会直接借助旧概念建立认知:“A 其实就是 B 的升级版,多了某某功能。”

因为我们默认听众具备基本的背景知识。

但 LLM 通常会怎么说?它会机械地输出一段极其严谨却毫无重点的文字:

“A 是一种具有 X 特征、具备 Y 功能的独立系统。虽然它与 B 在某些方面存在联系,但二者在定义、适用范围和运行机制上并不相同……”

这种表达方式看似极其准确描述了 A,并且“防御性”地澄清了“此 A 非 B”,完美避免了误会。但它的根本问题在于: 模型的表达太过于“面面俱到”了。它默认假定电脑前的人是个一无所知的门外汉,为了防止被挑出毛病,它选择了最保守的表述。

但是模型也是通过人类的语料来训练的,而人类对话通常就不这样说,所以它很有可能是在后训练的过程中学到这种特别的癖好。


从 LLM 为什么能这样对话讲起,首先模型要经过预训练,学习大量的语料,掌握知识,然后要经过后训练,也就是让它说人话。后训练出来之后,就会提供给用户,然后此时用户就会通过提词来引导它来进行生成,然后这个就是推理采样的过程。


首先,什么是预训练?

在预训练阶段,LLM 的本质只是一个极其庞大的“接话游戏”。

给它前半句话,它根据概率分布去填下一个词。

例如输入“法国的首都是”,它输出的概率分布里“巴黎”极高,“柏林”或“伦敦”极低。

预训练决定了模型“知道多少知识”。

但纯粹的预训练模型是无法直接当“助手”用的。

如果你问它:“How are you?”,预训练模型可能会顺着这个开头, 直接帮你续写出一篇包含对话的英语课文,因为它根本不知道“自己现在是一个正在回答问题的助手”,它只知道在它的训练语料中,How are you 开头要接什么?可能接一篇文章,可能接一段对话的开始。

为了让它变得可用,就需要后训练。现在模型的效果突飞猛进,主要就是由于后训练的强大。

后训练的本质,就是强行改变预训练得到的概率分布,让模型的回答更偏向人类的喜好。

面对用户的提问,预训练模型可能会产生多种输出方向:直接回答、拒绝回答、胡言乱语或给出一个错误答案。

后训练就是通过调整参数,把“胡言乱语”的概率降到最低,把“有用回答”和“合理拒绝”的概率拉高。

也就是引导模型按照人类喜欢的方式来回答。

然而,到底什么才叫“符合人类喜好的正确答案”?

后训练需要考虑非常多的维度:

在训练奖励模型(Reward Model)时,每一个维度背后都对应着不同的超参数和权重。

如果训练时“规避风险”和“全面严谨”的权重被设置得过高,模型的倾向就会不可避免地向“防御”倾斜。


在后训练的对齐过程中,还存在一个极其关键的机制:惩罚力度(Penalty)的非对称性。

举一个直观的例子:

用户问了一个稍微有些复杂的生活问题,模型面前有两条推理路径:

在后训练的评估机制里,路径 2 包含的“干扰信息”和“废话”虽然降低了信息密度,但它造成的负面体验,远没有路径 1“直接犯错”来得严重。

路径 2 遭受的惩罚力度要小得多。

因此在统计意义上,那些充斥着风险规避、边界限定、提前找补的语言,反而能稳定获得更高的 Reward(奖励分)。

这就导致了一个很尴尬的结果:模型最终输出的“高分答案”,其实并不一定是用户真正想要的答案。

比如你只是想去某个城市旅游,问:“这个季节去需要带羽绒服吗?”

对普通用户来说,这种回答虽然“万无一失”,但真正有用的信息被稀释在了大量无意义的免责声明中。其实也很情有可原,因为模型提供商要考虑相关法律法规的约束与影响。


除了奖励机制的扭曲,导致模型喜欢说废话的,还有另外两个技术层面的原因:

  1. 长度偏见(Length Bias)

在很多后训练(特别是小参数模型)中,标注评估往往倾向于给“长文章”打高分。篇幅越长,看起来越像是在“认真回答”,包含的信息似乎越丰富。模型在训练中逐渐将“长”和“好”画上了等号,导致你问一个小问题,它非要给你从背景、定义、原理一路罗列到注意事项。

  1. 自回归机制的“轨道效应”

LLM 是逐字生成(自回归)的,下一个词输出什么,高度依赖于前面已经输出了什么。

如果模型在开头输出了一个“首先”,那么在后面的生成概率中,“其次”的概率就会剧增;当“首先”和“其次”都出现后,逗号后面接“最后”或“此外”的概率又会进一步上升。

这种机制就像走入了一条单行轨道: 一旦模型在前几十个 token 里选择了“首先,这取决于多种因素……”这样的防御性开头,它后面的所有自回归生成,就都被带偏在了“补充边界条件、不断自我找补”的轨道上,再也回不来了。


所以大模型在训练的过程中,天生就是带有这种风险的。而它的陈述方式很大程度取决于后训练中如何定义什么是更好的答案。

因为后训练的本质就是让模型在输出答案的过程中,选择哪个分数更高,选择奖励模型更偏好的路径,然后避免去走惩罚力度更高的路径。而这种情况下,选择直接回答的话,出错的概率绝对是要比我加一大段补充说明的回答方式更高的。

也就是说,比如说某人在社交平台上发一个关于某某事件的暴论,会有很多人觉得他说的不对,群起而攻之。 但是如果他在发暴论之前叠了很多甲,那就会好很多。

久而久之,模型会知道,如果我直截了当地回答出错了,那我的惩罚力度就会很高。而对的话,它的分数也不会比那个找补的各种话高太多。而找补的话的话,相对于在奖励和惩罚之间都综合下来得到分数更好,所以模型更想要走这条路。

因为它底层被塑造出的叙事方式,已经将“防御”与“安全/高分”绑在了同一个神经元轨迹上。


这种防御性叙事带来的副作用,在需要极度专业和有针对性的写作(例如写学术论文)中体现得最为淋漓尽致。

在写论文之前,我们可能觉得模型的结构感极强:摘要、引言、相关工作、方法、实验,每一部分该写什么,模型比谁都清楚。把素材、背景、实验数据全喂给它,让它一轮轮自审自改,似乎一篇高质量论文就能轻松产出。

但实际操作下来,结果往往让人大失所望。

学术论文或专业报告的真正读者,是该领域的审稿人和专家。

他们对基础概念早已了然于胸,他们需要的是极度精准、锋利、并且具有针对性的逻辑推演。

而 LLM 的默认叙事逻辑,却是“面向全人类的、防止任何小白误解的防御性叙事”。

在写作时,模型会不自觉地:

结果就是: 每一句话拆开看都没有错,但合在一起却一团糟——没有重点、没有锋芒,满篇都是充满防御色彩的“废话”。


而后训练的方法,不同厂商它的的设计不同,所以同一种同一厂商的不同模型,它的设计也会不同,所以也就会看到有些模型说的更像人话,有的模,有些模型说的跟鬼话一样,也就可能有些模型为什么会有所谓的豆包味,然后有的模型它有所谓的人味,然后有的模型也看起来是有所谓的公文感。

同一个问题,它可能有千百种回答方式。但这个偏好对齐的重锤会让它走向符合这个偏好要求的路,它也就会走向正确率更高,更难被挑刺。然后这也就是和人类交流的灵气是相背的。

后训练赋予了 LLM 安全与实用的边界,但也在无形中为它套上了一层“防御性”的枷锁。

如何让模型在保持准确的同时,学会像人类一样“懂得省略、敢于直言”,依然是当前 LLM 对齐技术中最值得探索的课题之一。


那要如何就是来避免这种情况呢?就是在用的时候要怎么办?

首先就要提前给他说明偏好的答案:

通常是结论先行,然后再进行分析,最后再补充安全说明,而不是把这些揉到一起。 在提示中加上这个之后,引导模型往这方面生成答案。

其次是,提示模型如何组织语言:

你可以就是补充一些额外信息,比如说用户的身份,背景信息。 然后这样就会避免对于过多的无用信息的叙述,提高信息密度。

接着,如何提问:

不要强求模型一次性把一个复杂的问题解决完。而是优先选择去主动拆分问题。 如果要寻求建议,先让模型理解你的需求,拆分出几个关键点,先让模型完成第一个这样的任务。 然后再对不同的点进行深入,这样可以提升信息密度,也可以提升回答的准确度。

<< Previous Post

|

Next Post >>

#LLM #对齐