图10 自适应选择和随机选择的能力估计误差
自适应性:为验证CAT能否根据模型能力自适应地选择适合的问题,本文用 Jaccard 相似度来衡量任意两个模型所作答的题目集之间的相似性:
图11 试卷的Jaccard相似度
评测可靠性:为了验证用于人类的CAT框架是否可以用于 LLM,本文研究了它的可靠性(SE 曲线[5])。在CAT中,SE值通常是指能力估计 的标准差,它反映了能力估计的精度:
图12 ChatGPT 和学生的 SE 曲线
为探究ChatGPT与人类的相似性,本文在学生的测试过程中添加了猜测和失误因素:
(1) 猜测因素:即使被试没有掌握,仍有概率答猜对;
(2) 失误因素:即使掌握了该题,仍有小概率失误答错。
因此,Guess10% 表示正确性标签从错误变为正确的概率为10%,而 Slip10% 表示标签从正确变为错误的概率为10%。有趣的是,ChatGPT 的 SE 曲线非常接近 Guess=10%、Slip=30% 的学生(红色)。由此,本文推断 ChatGPT 更像一个“粗心的学生”,容易失误 (30%) 并且偶尔会去猜答案 (10%)。
五、诊断报告本文选择了国内外较有代表性的6个instruction-tuned LLM 进行评测:ChatGPT、GPT4、谷歌Bard、百度文心一言(ERNIEBOT)、阿里通义千问(QianWen)、讯飞星火(Spark)。并将他们与高水平(High-Ability)、中等水平(Mid-Level)的人类学生进行比较。
数据集:本文选择学科知识、数学推理、编程三个领域为例对 LLM 进行细粒度评测,分别对应三个数据集:MOOC、MATH和CODIA。
学科知识水平(MOOC):MOOC是目前最知名的在线学习平台之一,本数据集收集了1.5万大学生对计算机科学中不同知识概念(如人工智能、计算机系统等)的回答记录。
数学推理水平(MATH):该数据通过智学网收集,其中包含了超过10万名高中生的数学考试数据.
编程水平(CODIA):该数据由中国科学技术大学自主研发的在线编程平台CODIA( https://code.bdaa.pro/ )。提供,其中包含了来自120所大学的大学生的编程提交数据。
5.1 ChatGPT VS 人类
本文以ChatGPT(蓝色)为例对其从上述三个方面进行高效诊断,并和高水平学生(红色)进行比较:
编程水平:尽管 ChatGPT 在官方报告和海量用户case中已经展示出其惊人的编程水平,但它并非全能,并不擅长所有类型的问题。本文使用 CODIA 平台对 ChatGPT 的编程能力中“动态编规划和贪心算法”、“搜索”、“数学问题”、“数据结构”、“树和图论”进行评估。ChatGPT 表现最佳的是“搜索”、“动态规划和贪心算法”。它在这些类型的问题上超过高水平大学生。然而,“数据结构”、“树和图论”是其编程能力上的短板。因此,下次让 ChatGPT 写代码时,可以避免这些类型;而如果你遇到关于动态规划的问题,则可以放心交给 ChatGPT。
图13 编程水平对比:ChatGPT(蓝) vs 学生(红)
学科知识水平:如下图,ChatGPT 在“算法”和“机器学习”这两个知识点上的能力水平显著高于高水平学生。然而,它在编程语言方面相对较弱,这似乎与人们对其的认知不太相符。为了探索原因,本文在下图右侧展示了一个关于编程语言的例子。这是一道非常基础的问题,但是 ChatGPT 却答错了,类似的例子在ChatGPT的考试中并不罕见。这说明它在掌握和理解编程语言的一些基础概念方面并不准确。而结合它在 CODIA 上惊人的编码水平(上图),本文有理由相信:ChatGPT更像是一个 "实干家",而不是一个 "书呆子"。