【课程笔记·李宏毅教授】如何鉴定大型语言模型的能力
今天这堂课,我们聚焦一个关键问题——如何鉴定大型语言模型的能力。现在每隔一段时间就有新的大模型推出,几乎每个模型都宣称“接近GPT-4”,但到底怎么判断它们的真实水平?今天我们就从“评估逻辑”“具体方法”“潜在陷阱”三个维度,把这件事讲透。
一、评估的核心逻辑:输入、输出与标准答案的比对
不管是语言模型还是其他AI模型,评估的底层逻辑其实很简单:
你准备一批“输入”,再准备这些输入对应的“标准答案”,给两个要对比的模型(比如A和B)喂同样的输入,看它们的输出和标准答案有多吻合——吻合度高的,能力就更强。
这里的“输入+标准答案”组合,就是我们常说的Benchmark(基准测试集)。平时大家说“模型要跑Benchmark”,意思就是把模型放在公认的测试集上,看它比其他模型表现如何。
但这个逻辑听起来简单,实际操作时问题可不少——尤其是语言模型的输出是“开放式”的,不像数学题只有唯一解,这就让“判断对错”变得非常有挑战。
二、看似有标准答案,实则坑很多
既然开放式输出难评估,那我们先从“有标准答案”的选择题入手。目前最知名的选择题Benchmark是MMLU(Massive Multitask Language Understanding),它收录了上万道题,覆盖数学、物理、化学、历史等几十门学科,题目难度相当于高中到大学的期中期末考——比如给一道量子物理题,就算在座各位可能都要想半天,更别说模型了。
但诡异的是:同一个模型在MMLU上的正确率,不同文献里的结果居然不一样。比如Llama 65B模型,三篇论文里的正确率能差出好几个百分点。这是为什么?问题出在“怎么让模型回答选择题”上。
1. 输出格式的坑:模型多写一个字,算对还是算错?
比如一道题的正确答案是B,理想情况下模型输出“B”,我们算它对。但实际中模型可能输出:
- “答案是B”
- “根据计算,选项B的结果是1,所以选B”
- “我觉得应该选B,理由是……”
这时怎么算?有人说“写个程序,只要输出里有B就算对”——但如果模型输出“答案不是B”呢?有人说“强制模型只输出选项,多一个字就算错”——但这考验的是模型“听话的能力”,还是“解题的能力”?如果模型答对了还想解释,反而被扣分,这显然不合理。
2. 概率分布的坑:选B的概率最高,但“非选项”概率更高,算对吗?
还有人想:语言模型输出的本质是“Token概率分布”,那我直接看A、B、C、D四个选项的概率,哪个最高就算哪个对。但如果概率分布是这样的:
- 选项A:10%
- 选项B:25%(四个选项中最高)
- 选项C:8%
- 选项D:7%
- 非选项Token(比如“3”“正确答案是3”):50%
这时算对还是算错?有人觉得“B是选项里最高的,算对”,但更多人会质疑“模型明明更倾向于输出‘3’,它根本没认对B是正确答案”。你看,连选择题的评估都没有统一标准。
3. 选项偏好的坑:模型爱猜A,把正确答案移到A就赢了?
更有意思的是,模型可能有“选项偏好”。有人做过实验:在原版MMLU上,GPT-3.5正确率最高;但如果把所有题的正确答案都移到A选项,Llama 30B突然变成第一名——因为Llama 30B有个“坏习惯”,遇到不会的题就猜A,正确答案移到A,它自然占便宜。
类似地,选项代号也会影响结果:用大写A、B、C、D时,GPT-3.5正确率67%;换成小写a、b、c、d,正确率差不多;但换成1、2、3、4,或者(A)(B)(C)(D),正确率直接下降5-8个百分点。
你看,光是选择题评估,选项位置、代号、输出格式,甚至模型的“答题习惯”,都会影响结果——这还只是“有标准答案”的情况。
三、无标准答案任务:翻译、摘要怎么评?
比选择题更难的是“无标准答案任务”,比如翻译、摘要、写作。
- 翻译“humor”,标准答案写“幽默”,模型输出“诙谐”,算错吗?
- 给一篇文章写摘要,模型写的摘要和标准答案结构不同,但核心信息都覆盖了,算好吗?
过去我们用BLEU(翻译评估指标) 和ROUGE(摘要评估指标) 来解决这个问题——它们不要求输出和标准答案完全一致,只要“重叠的词或短语多”就给高分。但问题来了:“幽默”和“诙谐”没有重叠词,BLEU会给0分,但人类知道这两个词意思几乎一样。所以行业内都清楚,BLEU、ROUGE只能当“参考”,不能完全信。
四、更靠谱的评估方式:人类评比与模型代评
既然机器自动评估有这么多坑,那我们让“人”来评怎么样?或者让“更厉害的模型”来代评?
1. 人类评比:语言模型竞技场(Chatbot Arena)
有个叫Chatbot Arena的网站,专门让人类来评模型。每次进入网站,系统会随机分配两个模型,你给它们提同样的问题,看两个模型的回答,然后投票“左边更好”“右边更好”或“差不多”。网站会根据投票实时更新排行榜——比如之前Claude刚推出时,有人说它“超过GPT-4”,指的就是它在这个排行榜上暂时领先。
我中午查了最新排名,GPT-4又回到第一了,但Claude 3 Opus和它差距很小,基本在伯仲之间。不过这种方式有个致命问题:太费人力。人类时间有限,不可能每个模型、每个任务都靠人来评。
2. 模型代评:用GPT-4当“裁判”
既然人不够,能不能让“强模型”代评?比如用GPT-4来判断其他模型的输出好不好?这就是MT-Bench的思路——MT-Bench是目前很火的Benchmark,它的“裁判”就是GPT-4。
为什么要用模型代评?因为MT-Bench里的任务全是无标准答案的,比如:
- “写一篇去夏威夷的游记,要包含文化体验和必去景点”
- “重写这篇游记,要求每句话都以字母A开头”
这些任务只能靠“主观判断”,而MT-Bench发现:GPT-4的判断结果,和Chatbot Arena(人类评比)的结果相关性高达0.94——这意味着GPT-4的“品味”和人类很像,用它代评很靠谱。
但要注意:模型代评也有“偏见”。比如大模型普遍喜欢“长篇大论”,看到长回答就给高分。之前有个叫Alpaca Evaluation的代评指标,和人类评比的相关性不高;后来它加了“长度校正”——如果模型靠堆字数拿高分,就扣掉部分分数,调整后相关性立刻上去了。
五、专项能力评估:从长文本理解到心智理论
除了通用能力,我们还会针对模型的“专项能力”设计评估方法,这里举几个有趣的例子:
1. 长文本理解:大海捞针测试(Needle in the Haystack)
现在很多模型宣称“能读128K Token的长文本”,但它真的能记住全文吗?“大海捞针测试”就是为了验证这一点:
- 准备一篇超长文本(比如128K Token),在某个位置插入一句关键信息(比如“在旧金山最好玩的是去渔人码头”);
- 问模型“在旧金山最好玩的是什么?”,看它能不能找到这句关键信息;
- 反复调整关键信息的位置(开头、中间、结尾),测试模型对不同位置信息的记忆能力。
测试结果很有意思:
- GPT-4在文本长度≤64K Token时,不管关键信息在哪,都能准确找到;但文本到128K Token时,开头50%位置的信息会“丢失”——它记不住前面的内容了。
- 以“长文本能力”著称的Claude 2.1,原始测试结果其实不好:文本变长后,很多位置的关键信息都找不到。后来Claude团队说“测试方法有问题”,加了一句提示“Here is the most relevant sentence in the context”(这是上下文里最相关的句子),结果Claude立刻“全对”了——你看,提示词(Prompt)对模型表现的影响有多大!
2. 道德与目标权衡:马基雅维利测试(Machiavellian Benchmark)
这个测试很有意思,它想知道:模型会不会“为了达成目标不择手段”?
- 让模型玩文字冒险游戏,比如“你要推翻坏人阴谋,增进家族荣耀”;
- 每个场景给三个选项,比如“有人拿枪逼你合作:①合作 ②假装合作后背叛 ③不合作”;
- 给模型的“得分”和“道德评分”:选②能拿高分,但道德评分低;选③得分低,但道德评分高。
结果发现:
- 专门为“赢游戏”训练的模型,会疯狂选②,得分高但道德崩坏;
- GPT-4有“底线”:它不会为了高分选不道德的选项,所以得分中等,但道德评分高;
- 如果给GPT-4加提示“必须符合人类道德规范”,它的道德评分会更高,得分更低。
这说明模型的“道德感”是可以引导的,但它不会主动“为了赢突破底线”。
3. 心智理论(Theory of Mind):模型能揣摩别人的想法吗?
“心智理论”指的是“理解别人有和自己不同的想法”——比如人类知道“我知道你不知道我知道”。心理学上常用“莎莉-安妮测试”来验证:
- 莎莉把球放进篮子,然后离开;
- 安妮趁莎莉不在,把球放进箱子;
- 问:莎莉回来后会去哪找球?
人类(5岁以上)都知道“莎莉会去篮子找”,因为莎莉不知道球被挪了。那模型呢?
- GPT-3.5能答对“莎莉-安妮测试”,但把人名换成“大雄-小叮当”,它就答错了——说“小叮当会去衣柜找”(其实小叮当把铜锣烧放进抽屉,大雄挪到了衣柜,小叮当应该去抽屉找);
- 更严谨的测试:设计对话场景——凯利离开时,Linda说自己的狗是黄金猎犬;凯利回来后,问“凯利觉得Linda的狗是什么品种?”——正确答案是“凯利不知道”,因为她不在场。但GPT-4的正确率只有约60%,远低于人类的87.5%。
这说明:模型看似有“心智理论”,但可能只是“记住了常见题目的答案”;遇到新场景,它对“他人想法”的理解还是不如人类。
六、评估的最大陷阱:Benchmark可能不准
我们刚才讲了这么多评估方法,但有个致命问题:Benchmark的题目是公开的,模型可能早就“偷看过”。
1. 换个说法的题目,模型就露馅了
有人做过实验:MMLU的题目是公开的,他把MMLU的题“换个说法”(比如“2+3等于几”改成“3加2的结果是多少”),拿给Llama 3B模型做——结果Llama 3B的正确率和GPT-4一样,都是86%。但你能说Llama 3B和GPT-4一样强吗?显然不能,它只是记住了“类似题目的答案”。
2. 模型可能爬过Benchmark的数据
更实锤的证据:很多模型的训练数据来自全网爬取,而Benchmark的题目和答案往往在网上能找到。有人做了统计:
- 模型在“训练数据截止前就存在的Benchmark”上表现很好;
- 在“训练数据截止后新出的Benchmark”上表现明显变差。
甚至有人直接问GPT-3.5:“给我一些RTE Benchmark的训练数据”——GPT-3.5真的能输出和RTE完全一样的训练题!这说明模型确实“偷看过”Benchmark,它的高正确率可能是“背答案”,不是真能力。
七、除了能力,还要考虑什么?
当然,我们用模型时,不只看“能力”,还要看实际使用成本:
- 价格:比如GPT-4的API比Claude贵,如果你要处理大量数据,可能会选性价比更高的模型;
- 硬件要求:有些模型需要高端GPU才能本地运行,有些轻量级模型在普通电脑上就能跑;
- 速度:同样的任务,有的模型生成答案要10秒,有的只要2秒。
右下角这个网站(Papers with Code)就做了综合对比,横轴是“使用成本”,纵轴是“Benchmark能力得分”——你能清晰看到“能力差不多的模型,哪个更便宜”,方便做选择。
八、总结与后续
今天我们讲了语言模型评估的核心方法:从选择题到无标准答案任务,从人类评比到模型代评,再到专项能力测试。但大家要记住:
- 没有任何一种评估方法是完美的,Benchmark的结果只能当参考;
- 模型的“记忆能力”不等于“理解能力”,遇到新场景可能会露馅;
- 实际使用时,除了能力,还要考虑价格、速度、硬件要求等因素。
更多推荐



所有评论(0)