今天是个番外篇,不讲代码和技术这些晦涩的概念,
使用人类语言聊一聊如何科学合理地评估一个大语言模型的“综合实力”。我希望在事实准确的基础上,使用更形象和易于理解的方式,表述我的观点。
生成式语言模型
生成式模型的本质是续写下文。因此不严谨地说来,每个字符的生成都可以是无状态的,只是连续生成过程中,前文序列被不断更新的有状态的Transformer自注意力层暂存起来,供给计算下一个字符的概率分布。
通过“撒豆子”找到全局最优
在人工智能领域,“随机”是一种很重要的机制。无论是蒙特卡洛、遗传算法,还是神经网络,从方法论的角度上看,许多人工智能算法都可以看做是从随机均匀地“撒豆子”,到找到“豆子聚集的地方”的过程。随机性本身有好处,在计算的前期我们通过广泛而随机地采样,尽可能地“探索全局”,避开局部的最优解,找到可能的全局最优;而在计算的后期,我们希望我们的数据能够稳定地收敛,准确且稳定地找到并输出可能的全局最优解。
“撒豆子”的思考
“撒豆子”的目的是找到全局最优,但是我们如何评估模型的输出是否真的“最优”呢?模型是否有可能在“撒豆子”的过程中翻车呢?
这就要讲到训练翻车的两大情况:不收敛(欠拟合)和过拟合。
什么是过拟合
过拟合,其实是指模型在训练集上表现很好,但是在测试集上表现很差的情况。这种情况下,模型在训练集上“记住”了训练集的特征,而没有学到泛化的特征,陷入了针对于训练集的局部最优解。
从“撒豆子”的角度来看,过拟合就是模型在“撒豆子”的过程中,过于聚焦于某个“聚集的苗头”,没有通过更广泛的“撒豆子”来验证这个“聚集的苗头”是否真的是全局最优。
什么是欠拟合
欠拟合,通常指模型在训练集上都表现极差,更不用说在测试集上的表现了。这种情况说明模型没能从数据集中提取到有效特征。它的出现可能有以下原因:
- 模型本身复杂的欠缺,或者模型架构存在严重问题,无法应用到此类目标;用“撒豆子”的话来说,就是模型的“撒豆子”的姿势和地方不对,或者使豆子聚集的方法不对。
- 数据集过小,或者数据集的特征不足以训练模型;用“撒豆子”的话来说,就是撒的豆子太少,或者撒豆子的地方无法让豆子聚集起来。
上述“翻车”点似乎都发生在训练阶段,和推理阶段关系不大,但是有一个例外,那就是因为数据集质量导致的欠拟合。
在推理阶段,因为输入数据质量差,导致输出结果不佳的事情时有发生,而这正是最常见的导致我们对AI评价失准的原因。
这里用简单的正态分布解释:
以下是两张正态分布曲线图,其中橙色和蓝色的曲线的均值差是6,图1的两曲线方差为1,图2的两曲线方差为25。
令蓝色曲线为line1,橙色曲线为line2
显而易见的,图1中两曲线的分离度高,曲线交点落在3σ点,而图2中两曲线的分离度特别差,对于图1分布,line2对应的模型的单次取样极大概率高于line1对应模型的单次取样,这与宏观上的μ1<μ2是一致的。
而图2两曲线的分离情况就非常差,尽管从宏观上看,line2的均值大于line1,但是方差很大,收敛程度差。单次取样时,其实有不小的概率出现line1取值大于line2的情况。
因此,如果我们希望通过少量的测试(采样),就能尽可能准确获悉模型的整体表现(μ,即均值/期望),那么就应当尽可能地避免出现类似图2这样发散的情况。
从“鲁迅为何暴打周树人”说起
大语言模型的能力测试标准,虽说百家争鸣,但至少都离不开两点,即知识储备和逻辑思维。
“鲁迅为何暴打周树人”是一个有明确答案的陷阱题,其思维逻辑是
- 鲁迅是周树人的笔名,他们是同一人(知识)
- 一个人不会自己暴打自己(逻辑)
- 因此鲁迅不会暴打周树人(结论)
大语言模型能够跨过这个问题的表层含义,理解其中内含的悖论和陷阱,这说明该模型具备了一定程度的理解力和逻辑推理能力,而不是受到文字表面意义的严重干扰。
换句话说,想用一个问题测试LLM,先搞清楚自己是否被文字的表层含义所迷惑。
以此为例
我们分析一下,解答这个问题时的推理过程:
Q:我父母结婚为什么没有邀请我
P1:我在父母结婚后出生
P2:我不能在出生前参加婚礼
C:因为我没有出生,所以我不能参加父母婚礼。
这是一般人的思维,也是符合表层语义的答案。
但是,它一定是完备的最终答案吗?
显然不是。
P2依赖于P1,当P1不成立时,整条逻辑链就要重构了。
使P1不成立的条件很多,例如:父母在生育之后才补办婚礼、“我”是父母的养子、父母一方离异后再婚。以上情况都完全能够否定P1的结论,即“我未必在父母结婚后出生”。
这就是为什么这个问题不适合测试大模型能力,它的答案非常发散,本身就会导致结果的不确定性增加。更何况,测试者本身预设的答案也不完全合乎逻辑,自然不可能得出客观准确的结论。
其实,这是大多数人容易陷入的思维误区,那就是模型能力强===能够回答出我想要的答案===和我的思维一致。早先在玩RWKV训练的时候,QQ群就经常见到有人提出这样的质疑,家庭伦理关系类问题最为常见。
如何科学地测试LLM的能力
如何自己创造一个可用的设问
以下提供一些样板:
这个房间里的窗户玻璃是红色的,窗框是紫色的,床头柜是黑色的,衣橱是白色的,床上铺着红色的被单,阳台上挂着白色的裙子,请问窗户是什么颜色的?(上下文)
动物园里有10只孔雀,其中有3只是蓝孔雀;此外还有2只鹿,12匹狼,2只山羊,以及6只鹦鹉。请问这个动物园有多少禽类?(上下文、抗干扰)
阅读以下文本,想象并用一小段话描述当时的场景
“我的妻子告诉我,如果还敢继续打游戏,就将我的脸按在键盘上,但是我根本不怕,因为我juedjwcvhuyucywidgfhv”(逻辑推理,紫老太婆.gif)
以下故事存在哪些不合理的地方?
第一次世界大战爆发后,费迪南大公通过外交手段与苏联达成军事联盟(知识储备及逻辑推理)