谷歌最近发布的Gemini掀起了不小的波澜。
毕竟,大语言模型领域几乎是OpenAI的GPT一家独大的局面。
不过作为吃瓜群众,当然希望科技公司都卷起来,大模型都打起来!
所以,作为科技巨无霸谷歌的亲儿子,Gemini自然承受了很高的期待。
虽然Gemini发布之后发生了一些奇奇怪怪的事情吧,什么视频造假啦,认为自己是文心一言啦。
不过问题不大,咱们不看广告看疗效。
最近在CMU,研究人员进行了一组公正、深入和可重复的实验测试,重点比较了Gemini和GPT在各项任务中的优劣,另外还加入了开源的竞争对手Mixtral。
论文地址:https://arxiv.org/abs/2312.11444
代码地址:https://github.com/neulab/gemini-benchmark
研究人员在论文中对Google Gemini的语言能力进行了深入地探索,
从第三方的角度,对OpenAI GPT和Google Gemini模型的能力进行了客观比较,公开了代码和比较结果。
我们可以从中发现两个模型分别擅长的领域。
研究人员比较了6种不同任务的准确性:
- 基于知识的QA(MMLU)
- 推理(BIG-Bench Hard)
- 数学(GSM8k、SVAMP、ASDIV、MAWPS)
- 代码生成(HumanEval,ODEX)
- 翻译 (FLORES)
- Web指令跟踪(WebArena)
为了公平起见,实验中尝试控制所有变量,对所有模型使用相同的提示、生成参数和评估。
评测中使用了LiteLLM以统一的方式查询模型,使用try_zeno做全面深入的分析。
测试模型
研究比较了Gemini Pro、GPT-3.5 Turbo、GPT-4 Turbo以及Mixtral,指出了他们在能力上的不同。
特点:Gemini Pro是多模态的,通过视频、文本和图像进行训练。GPT-3.5 Turbo和GPT-4 Turbo则主要基于文本训练,其中GPT-4 Turbo是多模态的。
测试复现方法
更方便的复现方法:点击下文测试任务的链接即可进入CMU集成好的基于Zeno的AI评估平台进行验证
GitHub链接:
https://github.com/neulab/gemini-benchmark]
具体测试任务
基于知识的问答(Knowledge-based QA)
基于UC伯克利2020年提出的MMLU(Massive Multitask Language Understanding)大模型评测进行评测
该测试涵盖57项任务,包括初等数学、美国历史、计算机科学、法律等。任务涵盖的知识很广泛,语言是英文,用以评测大模型基本的知识覆盖范围和理解能力。
用5-shot和思维链提示词的MMLU任务总体准确率如下图,Gemini Pro均略微落后GPT-3.5 Turbo
文章也指出使用思维链提示的性能差异不大,可能是因为 MMLU 主要是基于知识的问答任务,可能不会从更强的面向推理的提示中显着受益。
下图显示Gemini-pro、gpt3.5-turbo、gpt-4-turbo对于多选题答案输出的比例,结果显示Gemini-pro、gpt3.5-turbo都有一些答案偏见,尤其Gemini-pro十分偏向D选项
表明 Gemini 尚未针对解决多选题问题,进行大量指令调整,这可能导致模型在答案排序方面存在偏差
MMLU的57个子任务中只有两项Gemini-pro超过GPT3.5-turbo。
下图显示gpt3.5最领先Gemini-pro的前四个任务的准确性,和Gemini-pro超过gpt3.5的两个任务
通用推理(General-purpose Reasoning)
基于BBH(BIG-Bench Harch)这一通用推理数据集进行测试,其中包括算术、符号和多语言推理以及事实只是理解任务。
首先,从如下总体精度图中可以看到Gemini Pro实现的精度略低于GPT 3.5 Turbo,并且远低于GPT 4 Turbo。相比之下,Mixtral 模型的精度要低得多。
接下来进行一些细节分析,首先根据问题的长度测试一下准确性,结果如下图。
作者发现Gemini Pro在更长、更复杂的问题上表现不佳,而GPT模型对此更稳健。
GPT-4 Turbo的情况尤其如此,即使在较长的问题上,它也几乎没有表现出性能下降,这表明它具有强大能力来理解更长和更复杂的查询。
GPT-3.5 Turbo的稳健性处于中间位置。Mixtral在问题长度方面特别稳定,但总体准确率较低。
下图再具体列出了GPT-3.5 Turbo表现优于Gemini Pro最多的任务。
Gemini Pro在tracking_shuffled_objects任务上表现很糟糕
在某些任务中,即multistep_arithmetic_two、salient_translation_error_detection、snarks、disambiguition_qa和两个tracking_shuffled_objects任务中,Gemini Pro的表现甚至比Mixtral模型还要差。
当然,有一些任务Gemini Pro优于GPT3.5。
下图显示了 Gemini Pro 比 GPT 3.5 Turbo 表现优秀的六项任务。这些任务需要世界知识(sports_understanding)、操作符号堆栈(dyck_languages)、按字母顺序排序单词(word_sorting)和解析表(penguins_in_a_table)等。
文章在此部分最后表示,对于通用推理任务,似乎没有Gemini和GPT都没有绝对优势,所以可以都尝试一下
数学问题
基于四个数学应用题评测进行:
- GSM8K,小学数学基准
- SVAMP 数据集,通过不同的词序生成问题来检查稳健的推理能力,
- ASDIV 数据集,具有不同的语言模式和问题类型
- MAWPS 基准,由算术和代数应用题组成。
下图显示四项数学推理任务的总体准确性
从图中可以看出,在 GSM8K、SVAMP 和 ASDIV 任务上,Gemini Pro的精度略低于 GPT-3.5 Turbo,并且远低于 GPT-4 Turbo,这些任务都包含多样化的语言模式。
对于 MAWPS 任务,所有模型都达到了 90% 以上的准确率,尽管 Gemini Pro 仍然比GPT模型稍差。
有趣的是,在此任务中,GPT-3.5 Turbo的表现以微弱优势胜过GPT-4 Turbo。
相比之下,Mixtral模型的准确率比其他模型要低得多。
和之前在BBH上的推理任务一样,我们可以看到较长任务推理性能会下降。
并且和以前一样,GPT 3.5 Turbo 在较短的问题上优于 Gemini Pro,但下降得更快,Gemini Pro 在较长的问题上实现了类似(但仍稍差)的准确度。
不过在思维链(CoT)长度超过100的最复杂例子中,Gemini Pro优于GPT 3.5 Turbo,但在较短示例中表现不佳。
最后,文章研究了比较模型在生成不同位数答案时的准确性。
根据答案中的位数创建三个类别,一位数、两位数、三位数答案(MAWPS 任务除外,其答案不超过两位数)。
如下图所示,GPT-3.5 Turbo似乎对于多位数数学问题更加稳健,而Gemini Pro在位数较多的问题上性能下降更多。
代码生成
在此类别中,文章使用两个代码生成数据集HumanEval和ODEX检查模型的编码能力。
前者测试对Python标准库中一组有限函数的基本代码理解。
后者测试使用整个Python生态系统中更广泛的库的能力。
它们都将人工编写的英语任务描述(通常带有测试用例)作为输入。这些问题用来评估对语言、算法和初等数学的理解。
总体而言,HumanEval有164个测试样本,ODEX有439个测试样本。
代码生成的总体情况如下图:
Gemini Pro在两项任务上的Pass@1 成绩都低于GPT-3.5 Turbo,远低于GPT-4 Turbo。
接下来,分析最佳解决方案长度与模型性能之前的关系,因为解决方案长度可以一定程度上表明相应代码生成的任务的难度。
本文发现,当解决方案长度低于100(即代表处理简单问题)时,Gemini Pro 可以达到与 GPT-3.5 相当的 Pass@1,但当解决方案变得更长(即处理更难的问题时)时,它会大幅落后。
文章还分析了每个解决方案所需的库如何影响模型性能,结果如下图显示:
根据结果分析,在大多数使用库的情况下,例如mock、pandas、numpy和datetime,Gemini Pro的表现比GPT-3.5差。
然而,它在 matplotlib 情况下优于 GPT-3.5 和 GPT-4,在通过代码执行绘图可视化时显示出更强的功能。
下面展示几个具体的失败案例:
首先, Gemini在从Python API中正确选择函数和参数方面稍差一些
比如,当你给出如下指令时
def f_3283984():
"""decode a hex string '4a4b4c' to UTF-8."""
分享说明:转发分享请注明出处。