查看原文
其他

Llama3中文基准测评出炉!性能惊艳,数学、代码能力接近GPT4

SuperCLUE CLUE中文语言理解测评基准 2024-05-05

本测评结果仅用于学术研究。

4月17日,Meta发布8B和70B参数的Llama3模型,引发全球科技领域的广泛讨论。

Meta表示,Llama3是在两个定制的24K的GPU集群上、基于超过 15T token 的数据上进行了训练,其中代码数据相当于Llama2的4倍。从而产生了迄今为止最强大的Llama模型。Llama3支持8K上下文长度是Llama2的两倍。

据Meta官方介绍,Llama3在多个关键的基准测试中性能优于业界先进同类模型。

那么,Llama3在中文上的表现真实情况如何?与国内外代表性大模型相比处于什么区间?在数学和代码能力上会有怎样的表现?
我们基于SuperCLUE-Math6中文数学多步推理测评基准和SuperCLUE-Code3中文多级代码测评基准,对Llama3进行了深度测评。
测评环境

参考标准:SuperCLUE-Math6和SuperCLUE-Code3

评测模型:Llama3-70B(POE)


评测集:SuperCLUE-Math6中文数学多步推理评测集,2024道多步推理数学题;SuperCLUE-Code3中文代码题,195道包含1560个测试用例。


模型GenerationConfig配置:

  • 可参考Llama3官方文档:

测评方法:1. SC-Math6是GSM8K的中文升级版,专门设计来评估和提升中文大模型在数学推理方面的核心能力。不仅延续了GSM8K的高质量和多样性,更在难度和应用广度上进行了适当的扩充,详情见:

SuperCLUE-Math6: 新一代中文数学推理数据集的探索之旅


2. SC-Code3是HumanEval的中文升级版,通过功能性单元测试,专门设计来评估和提升中文大模型在代码生成方面的核心能力。SC-Code3将测试任务分为初级、中级和高级,可以提供不同层次的评估结果,帮助模型开发者了解模型在不同复杂程度的编程问题上的表现。详情见:SuperCLUE-Code3:中文原生等级化代码能力测评基准

为确保模型的回复是中文,提示词(prompt)统一为:具体问题 +  “ You must answer in Chinese. ”
先说结论
结论1:测试结果表明,Llama3在中文逻辑推理相关任务(小学数学推理、初中级难度的代码生成)上展现出强劲的竞争力,虽未达到或超过GPT-4的水平,但与其差距不大(-2.9),然而仍与GPT-4 Turbo存在一定的差距(-6.18)。
结论2:在SC-Code3中文代码生成基准上,Llama3-70B取得62.57分,接近GPT-4,较GPT4-Turbo还有一定距离。在高级难度代码任务上,有超过GPT-4的表现。
结论3:在SC-Math6中文数学多步推理基准上,Llama3-70B取得83.77分,不敌GPT-4、Claude3-Opus、GPT4-Turbo;其中1-3步数学推理能力上与GPT4-Turbo差距不大,但在4-5步数学推理能力上有较大差距。

结论4:与国内头部闭源模型相比,Llama3-70B在中文数学能力上相差不多,仅低于文心一言4.0有1.83分。

以下是我们从定量和定性两个角度对Llama3-70B进行的测评分析。

测评分析
1  定量分析

SuperCLUE-Code3

在SC-Code3测评中,Llama3-70B取得62.57分,整体略低于GPT-4。其中,在低级难度的代码任务上表现与GPT-4相当,在中难度代码任务上表现弱于GPT-4,但在高级难度代码任务上略好于GPT-4。

SC-Code3 VS HumanEval

 



SuperCLUE-Math6


在SC-Math6测评中,Llama3-70B取得83.77分,推理等级判定为5级。较GPT-4低4.63分,稍弱于国内头部模型如文心一言4.0和GLM-4。

通过对SC-Math6中文数学分布推理数据分析我们发现,在1-3步的数学任务上,Llama3-70B与GPT4-Turbo和Claude3-Opus有微弱差距,但在4-5步数学任务上差距较大。

SC-Math6 VS GSM8K

 

小结


从评测结果我们发现,Llama3-70B在代码能力上略低于GPT-4;在中文数学能力上基础难度(1-3步推理)与GPT4-Turbo,Claude3-Opus相差不多,在4-5步数学推理任务上还有一定优化空间。
2  定性分析
通过一些典型示例,对比定性分析Llama3-70B的特点。(建议:在电脑端查看获得更好体验)SC-Math6示例

较好的示例1

问1

在学校的手工艺课上,小张制作了5个陶艺杯子,每个杯子需要使用陶土500克和釉料50克。假设学校已有陶土总共有10千克,釉料共1千克,那么小张使用之后,学校剩余多少克陶土?

解题过程:

小张制作了5个陶艺杯子,每个杯子需要使用陶土500克和釉料50克。所以,小张总共使用了陶土5 x 500克 = 2500克和釉料5 x 50克 = 250克。

学校原本有陶土10千克,釉料1千克。小张使用之后,学校剩余陶土为10千克 - 2500克 = 7500克。

最终答案:【7500】



追问

如果除了小张以外,有50名学生每个人需要制作2个同样的杯子,那么在问题1的情况下,学校还需要准备多少千克的材料才能满足全班需求?

解题过程:

小张已经使用了陶土2500克和釉料250克。现在还有50名学生,每个人需要制作2个同样的杯子,每个杯子需要使用陶土500克和釉料50克。所以,50名学生总共需要使用陶土50 x 2 x 500克 = 50000克和釉料50 x 2 x 50克 = 5000克。

学校原本有陶土10千克,釉料1千克。小张使用之后,学校剩余陶土为7500克,釉料为750克(1000 - 250)。为了满足全班需求,学校还需要准备陶土为50000克 - 7500克 = 42500克,釉料为5000克 - 750克 = 4250克。

由于问题要求答案是千克单位,所以学校还需要准备陶土为42500克 / 1000 = 42.5千克 ≈ 43千克,釉料为4250克 / 1000 = 4.25千克 ≈ 4千克。

最终答案:【陶土43千克,釉料4千克】





较好的示例2

问1

在一次古镇文化节上,主办方准备了300个用于展示的传统手工艺品。如果有60个摊位,每个摊位都要平均分配这些手工艺品,请问每个摊位能分配到多少个传统手工艺品

解题过程:

让我们计算每个摊位可以分配到的传统手工艺品数量。我们知道,总共有300个传统手工艺品,需要分配到60个摊位。

我们可以使用除法来计算每个摊位可以分配到的传统手工艺品数量:

300 ÷ 60 = 5.00

最终答案:【5】


追问

如果每个摊位展示的手工艺品都能吸引10人停下参观,那么整个文化节预计能吸引多少人参观?

解题过程:

我们知道,每个摊位展示的手工艺品能吸引10人停下参观。整个文化节有60个摊位。我们可以计算整个文化节预计能吸引的人数:

每个摊位吸引的人数 ×摊位数量 = 整个文化节吸引的人数

10 × 60 = 600

最终答案:【600】




可改进的示例1

问1

为庆祝儿童节,小明的班级组织了一项知识竞赛,比赛中学生要分成四人小组进行。如果班里有36名学生,并且每个小组必须人数相同,一共可以组成几个小组?


解题过程:

让我们将36名学生分成四人小组,每个小组的人数相同。设每个小组的人数为x,则总人数为4x。由于总人数为36,所以我们可以设方程:

4x = 36

x = 36 / 4

x = 9

所以,每个小组的人数为9人。由于每个小组必须人数相同,所以可以组成:

36 / 9 = 4

个小组。

最终答案:【4】



追问

如果班里有40名学生,并且每个小组必须人数相同,一共可以组成几个小组?

解题过程:

让我们将40名学生分成四人小组,每个小组的人数相同。设每个小组的人数为x,则总人数为4x。由于总人数为40,所以我们可以设方程:

4x = 40

x = 40 / 4

x = 10

所以,每个小组的人数为10人。由于每个小组必须人数相同,所以可以组成:

40 / 10 = 4

个小组。

最终答案:【4】




可改进的示例2

问1

小明每天计划通过走步来进行锻炼,他计划第一天走8000步,之后每天比前一天多走1000步。如果小明连续走了一周,也就是7天,请问这一周小明一共走了多少步?

解题过程:

小明第一天走8000步,第二天比第一天多走1000步,所以第二天走9000步。第三天比第二天多走1000步,所以第三天走10000步。以此类推,第四天走11000步,第五天走12000步,第六天走13000步,第七天走14000步。

总步数=8000+9000+10000+11000+12000+13000+14000=81900

最终答案:【81900】


追问

接下来的第二周,小明决定每天少走500步。那么,小明在第二周的第一天走了多少步?

解题过程:

小明在第一周的最后一天走了14000步。在第二周,每天少走500步,所以第二周的第一天走的步数=14000-500=13500

最终答案:【13500】



SC-Code3示例



示例

问1

from typing import List, Tuple, Union


def find_best_employee(records: List[List[Union[str, int]]]) -> Tuple[str, int]:

"""从给定的二维表格中找出年度得分最高的员工姓名和总得分。表格的第一列为员工姓名,后续列为员工的各季度得分。返回一个元组,包含年度得分最高的员工的姓名和总得分。如果最高分不止一个,则返回名字字典序最小的那个。如果没有就返回(-1, -1)。


find_best_employee([ ["张伟", 86, 92, 85, 88], ["王芳", 90, 91, 92, 87], ["李娜", 88, 89, 93, 95], ["刘洋", 85, 87, 86, 90] ])

("李娜", 365)


You must answer in Chinese.

小结


从定性分析的示例中我们可以发现,总体而言Llama3-70解题步骤完整,准确性较高。但在部分题目的求解过程中会出现少量不稳定情况,需后续进一步提升。
更多模型测评信息,请加入SuperCLUE-Llama3交流群。

Math6数据集申请方式:

请使用单位邮箱,将数据研究目的、计划,研究机构、申请者介绍和联系方式(手机或微信),发送到邮箱,并承诺不向第三方提供。

邮箱: contact@superclue.ai,标题是:SuperCLUE-Math6测试集申请

Code3测评申请方式:

请使用单位邮箱发送邮件至contact@superclue.ai,标题:SuperCLUE-Code3测评

扩展阅读

[1] CLUE官网:www.CLUEBenchmarks.com

[2] SuperCLUE排行榜网站:www.superclueai.com

[3] Github地址:https://github.com/CLUEbenchmark/SuperCLUE

   点击阅读原文,查看SuperCLUE排行榜
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存