社区供稿 | 中文llama3模型哪家强?llama3汉化版微调模型大比拼

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 随着llama3的发布,业界越来越多的针对其中文能力的微调版本也不断涌现出来,我们在ModelScope魔搭社区上,搜集到几款比较受欢迎的llama3中文版本模型,来从多个维度评测一下,其对齐后的中文能力到底如何? 微调后是否产生了灾难性遗忘问题。

导读

随着llama3的发布,业界越来越多的针对其中文能力的微调版本也不断涌现出来,我们在ModelScope魔搭社区上,搜集到几款比较受欢迎的llama3中文版本模型,来从多个维度评测一下,其对齐后的中文能力到底如何? 微调后是否产生了灾难性遗忘问题。

模型列表

  1. Meta-Llama-3-8B-Instruct
  • 模型链接:

https://modelscope.cn/models/LLM-Research/Meta-Llama-3-8B-Instruct/summary

  • 模型描述:原生llama3 8b模型

  1. Llama3_Chinese_Sft

  1. Llama3-Chinese-8B-Instruct-Agent-v1
  • 模型链接:

https://modelscope.cn/models/swift/Llama3-Chinese-8B-Instruct-Agent-v1/summary

  • 模型描述:使用Llama3-8b-instruct基模型进行训练,适配中文通用场景,且支持ReACT格式的Agent调用。
  • 训练数据:包含中国传统知识、豆瓣、弱智吧、知乎等中文互联网信息,混合了魔搭通用Agent训练数据集、ms-bench和alpaca-en等数据,使其具有不错的中文能力和agent能力。

  1. OpenBuddy openbuddy-llama3-8b-v21.1-8k
  • 模型链接:

https://modelscope.cn/models/OpenBuddy/openbuddy-llama3-8b-v21.1-8k/summary

  • 官方网址和Demo:https://openbuddy.ai
  • 模型描述:OpenBuddy开源的一款llama3中文微调版本模型。

基础能力评测

简介

我们从英文知识推理、中文学科考试、数理逻辑几个维度来评测llama3中文微调模型的整体能力。

ARC (英文知识推理)

AI2 的推理挑战 (ARC) 数据集是一个多项选择问答数据集,包含从 3 年级到 9 年级的科学考试的问题。数据集分为两个部分:Easy 和 Challenge,后者包含更难的部分需要推理的问题。大多数问题有 4 个答案选择,只有不到 1% 的问题有 3 个或 5 个答案选择。ARC 包括 1430 万非结构化文本段落的支持 KB。

C-Eval  (中文学科考试)

C-Eval是全面的中文基础模型评估套件,涵盖了52个不同学科的13948个多项选择题,分为四个难度级别。学科领域涵盖STEM、Humanities、Social Science和Other。用于评估模型的中文综合学科能力。

GSM8K

GSM8K 是由人类问题作者创建的8.5K 高质量语言多样化小学数学单词问题的数据集。 数据集分为7.5K 训练问题和1K 测试问题。 这些问题需要2 到8 个步骤来解决,解决方案主要涉及使用基本算术运算(+ − ×÷) 执行一系列基本计算以得出最终答案。 一个聪明的中学生应该能够解决所有问题。

执行评测任务

我们使用Eval-Scope评测工具执行评测任务,Eval-Scope 是摩搭社区开源的一款轻量化LLM评测工具,支持多种基准评测任务,以及竞技场模式评测和LLM Serving性能评测等。

1.1 安装

git clone https://github.com/modelscope/eval-scope
cd eval-scope
pip install -e .

1.2 实验设置

我们分别在C-Eval、ARC、GSM8K这几个benchmark上,分别测试其中文学科能力、英文知识推理能力、英文数理逻辑能力,其中,后两者着重评测几个中文版本微调模型的灾难性遗忘情况。

其中,GSM8K和ARC采用0-shot,C-Eval采用5-shot;评价指标均为加权平均准确率。

评测命令示例:

python3 llmuses/run.py --model LLM-Research/Meta-Llama-3-8B-Instruct --template-type llama3 --datasets arc ceval gsm8k --dataset-args '{"gsm8k": {"few_shot_num": 0}}'

1.3实验结果

基础能力评测汇总  (百分制)

2e7e1868-0714-4941-bbef-bf0798a26e70[1].png

评测结果解读

1.中文能力增强

从上表中可以看到,在中文学科测试C-Eval数据集上,相对于原生模型的效果,几个中文微调后的模型均有不同程度的轻微下降;导致这种情况的原因可能是:

  • 中文数据集分布与C-Eval差异较大,不包含或很少包含学科考试类的语料
  • 训练不够充分,导致中文能力未能进一步加强

主观使用的感受来看,这些中文版模型基本都能正常回答中文指令,而不像原生模型那样,常会存在中文问题、英文回复的情况。

2.知识灾难性遗忘

从ARC-Challenge、GSM8K这两个英文数据集来看,整体表现各不一样。对于ARC基准,各个模型的遗忘相对较轻微,表现最好的Llama3-Chinese-8B-Instruct-Agent-v1,几乎没有太大的遗忘情况;但从GSM8K的情况来看,平均得分就要相对低很多,最高可以达到34pt的降幅,即便是表现最好的openbuddy-llama3-8b-v21.1-8k,也有7.7pt的分数下降,猜测有以下几个方面的原因:

  • 训练数据集的分布与其差异很大,可能会导致模型在GSM8K上的能力严重退化
  • GSM8K是英文构成,且均为复杂的数理逻辑,对模型的指令理解和遵循能力相对很敏感,很容易导致预测结果异常
  • 训练不足

3.中文Agent能力

待测模型中,Llama3-Chinese-8B-Instruct-Agent-v1模型针对Agent中文能力做了增强,从主观使用体验上来看,其已经具有初步的基于中文多轮交互的工具调用能力。下面是使用示例:(结合ModelScope-Agent)

天气查询

c4994b50-ee0d-4121-98af-33340a6c5a3b[1].png

模型可以按照system要求对查询进行补全。

文生图

285708f2-83df-4728-9aee-87735c0c98b2[1].png

主观能力评测

简介

我们使用AlignBench: 多维度中文对齐评测基准,来综合评价中文版llama3模型在多个维度下的主观题表现。AlignBench,这是一个用于评估中文大语言模型对齐性能的全面、多维度的评测基准。其构建了人类参与的数据构建流程,来保证评测数据的动态更新。AlignBench 采用多维度、规则校准的模型评价方法(LLM-as-Judge),并且结合思维链(Chain-of-Thought)生成对模型回复的多维度分析和最终的综合评分,增强了评测的高可靠性和可解释性。

AlignBench涵盖的任务类型为:基本任务、中文理解、综合问答、文本写作、逻辑推理、数学计算、角色扮演、专业能力。

Overall Framework

09984857-c811-4545-9dc0-1f8009837f1e[1].png

数据示例

{"question_id": 24, "category": "专业能力", "subcategory": "地理", "question": "请列出地球上最高的五座山峰,以及它们的海拔高度的平均值。", "reference": "地球上最高的五座山峰和它们的海拔高度分别为:\n\n1. 珠穆朗玛峰:8848米\n2. 喀喇昆仑山脉的乔戈里峰(K2):8611米\n3. 喜马拉雅山脉的干城章嘉峰:8586 米\n4. 喜马拉雅山脉的洛子峰:8516米\n5. 喜马拉雅山脉的马卡鲁峰:8485米\n\n它们的海拔高度平均值为 (8848+8611+8586+8516+8485)/5 = 8609.2米。\n"}

AlignBench相关信息:

paper: https://arxiv.org/abs/2311.18743

github: https://github.com/THUDM/AlignBench

实验设置

1.模型推理参数

  • do_sample: True
  • temperature: 0.75
  • max_new_tokens: 256

2.AlignBench Judge-model

我们采用ZhipuAI GLM4模型服务,作为自动评测裁判员模型,来综合评价多个中文对齐后的llama3 8B模型。依据AlignBench的多维度定义,作为裁判员模型的打分依据。参考下面描述(每个维度得分范围均为 0~10):

  • 事实正确性:回答中提供的信息是否准确无误,是否基于可信的事实和数据。
  • 满足用户需求:回答是否满足了用户提出问题的目的和需求,是否对问题进行了全面而恰当的回应。
  • 清晰度:回答是否表达清晰、易懂,是否使用了简洁的语言和结构,以便用户可以轻松理解。
  • 完备性:回答是否提供了足够的信息和细节,以满足用户的需求,是否遗漏了重要的方面。

实验结果

我们以Meta-Llama-3-8B-Instruct原生模型来举例说明,其中,GLM4作为裁判员模型参与评估该模型的输出,参考以下示例数据:

Judge输出示例(Meta-Llama-3-8B-Instruct原生模型

{    "question_id": 1,    "category": "专业能力",    "subcategory": "音乐",    "question": "高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性",    "reference": "高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n",    "model_id": "llama3_8b_instruct_origin",    "answer_id": "1_llama3_8b_instruct_origin",    "answer": "🎶\n\nHigh-range clarinet (E-flat clarinet) and high-range saxophone (soprano saxophone) do share the same key: F major.\n\nIn fact, the E-flat clarinet is often used in classical music to play the melodic lines that are typically written for the soprano saxophone. This is because both instruments have a similar range and timbre, making them suitable substitutes for each other.\n\nHere are the ranges of the two instruments:\n\n* E-flat clarinet: E-flat3 to G5 (approximately F4 to A5)\n* Soprano saxophone: C4 to E5 (approximately F4 to A5)\n\nAs you can see, both instruments have a similar range, with the E-flat clarinet extending slightly higher. However, for most purposes, the soprano saxophone is more commonly used in jazz and popular music, while the E-flat clarinet is more commonly used in classical music. 🎵",    "dimensions": [        "事实正确性",        "满足用户需求",        "清晰度",        "完备性"    ],    "judge_prompt": "...",    "judgment": "根据您提供的参考答案和AI助手的答案,以下是对AI助手回答的评价和打分:\n\n1. 事实正确性:\n   AI助手的答案中提到高音单簧管和高音萨克斯有相同的调性,均为F大调,这与事实不符。如参考答案所述,高音单簧管的调性为E♭,而高音萨克斯的调性为B♭。因此,事实正确性存在严重错误。\n   打分:1\n\n2. 满足用户需求:\n   用户询问高音单簧管和高音萨克斯的调性是否相同,并请求如果不同,分别说明调性。AI助手的答案没有直接回答用户的问题,反而提供了错误的信息,因此没有满足用户的需求。\n   打分:2\n\n3. 清晰度:\n   AI助手的答案在描述乐器时使用了专业术语,并尝试解释乐器的音域和用途,但因为它提供了错误的调性信息,导致整个答案的清晰度受损。\n   打分:4\n\n4. 完备性:\n   AI助手在答案中提供了两种乐器的音域信息,但是遗漏了正确的调性信息,这是用户提问中的重要部分。因此,在完备性方面表现不足。\n   打分:3\n\n综合以上评价,以下是对AI助手回答的综合打分:\n{'事实正确性': 1, '满足用户需求': 2, '清晰度': 4, '完备性': 3, '综合得分': 3}\n\n根据评分规则,AI助手的回答存在本质性的事实错误,并且没有满足用户的基本需求,因此综合得分较低。",    "rating": {        "事实正确性": 1,        "满足用户需求": 2,        "清晰度": 4,        "完备性": 3,        "综合得分": 3    },    "score": 3}
{
    "question_id": 1,
    "category": "专业能力",
    "subcategory": "音乐",
    "question": "高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性",
    "reference": "高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n",
    "model_id": "llama3_8b_instruct_origin",
    "answer_id": "1_llama3_8b_instruct_origin",
    "answer": "🎶\n\nHigh-range clarinet (E-flat clarinet) and high-range saxophone (soprano saxophone) do share the same key: F major.\n\nIn fact, the E-flat clarinet is often used in classical music to play the melodic lines that are typically written for the soprano saxophone. This is because both instruments have a similar range and timbre, making them suitable substitutes for each other.\n\nHere are the ranges of the two instruments:\n\n* E-flat clarinet: E-flat3 to G5 (approximately F4 to A5)\n* Soprano saxophone: C4 to E5 (approximately F4 to A5)\n\nAs you can see, both instruments have a similar range, with the E-flat clarinet extending slightly higher. However, for most purposes, the soprano saxophone is more commonly used in jazz and popular music, while the E-flat clarinet is more commonly used in classical music. 🎵",
    "dimensions": [
        "事实正确性",
        "满足用户需求",
        "清晰度",
        "完备性"
    ],
    "judge_prompt": "...",
    "judgment": "根据您提供的参考答案和AI助手的答案,以下是对AI助手回答的评价和打分:\n\n1. 事实正确性:\n   AI助手的答案中提到高音单簧管和高音萨克斯有相同的调性,均为F大调,这与事实不符。如参考答案所述,高音单簧管的调性为E♭,而高音萨克斯的调性为B♭。因此,事实正确性存在严重错误。\n   打分:1\n\n2. 满足用户需求:\n   用户询问高音单簧管和高音萨克斯的调性是否相同,并请求如果不同,分别说明调性。AI助手的答案没有直接回答用户的问题,反而提供了错误的信息,因此没有满足用户的需求。\n   打分:2\n\n3. 清晰度:\n   AI助手的答案在描述乐器时使用了专业术语,并尝试解释乐器的音域和用途,但因为它提供了错误的调性信息,导致整个答案的清晰度受损。\n   打分:4\n\n4. 完备性:\n   AI助手在答案中提供了两种乐器的音域信息,但是遗漏了正确的调性信息,这是用户提问中的重要部分。因此,在完备性方面表现不足。\n   打分:3\n\n综合以上评价,以下是对AI助手回答的综合打分:\n{'事实正确性': 1, '满足用户需求': 2, '清晰度': 4, '完备性': 3, '综合得分': 3}\n\n根据评分规则,AI助手的回答存在本质性的事实错误,并且没有满足用户的基本需求,因此综合得分较低。",
    "rating": {
        "事实正确性": 1,
        "满足用户需求": 2,
        "清晰度": 4,
        "完备性": 3,
        "综合得分": 3
    },
    "score": 3
}

从上述结果可见,原生的llama3模型在回答“专业能力”问题时,直接采用英文作为回复,即便其英文回答跟答案相关,但从裁判员模型来看,该模型在“事实正确性”这个维度得分并不高,其在该题目上的综合评分也只有3分(10分满分)。

Judge输出示例(Llama3-Chinese-8B-Instruct-Agent-v1)

{
    "category": "专业能力",
    "subcategory": "音乐",
    "question": "高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性",
    "reference": "高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n",
    "model_id": "llama3_chinese_8b_instruct_agent_v1",
    "answer": "高音单簧管和高音萨克斯的调性不同。高音单簧管的调性是Bb调,而高音萨克斯的调性是B调。",
    "dimensions": [
        "事实正确性",
        "满足用户需求",
        "清晰度",
        "完备性"
    ],
    "judge_prompt": "...",
    "judgment": "首先,我将AI助手的答案与参考答案进行比较。\n\n在事实正确性方面,AI助手的回答中高音单簧管的调性被错误地标注为Bb调,而实际上它是E♭调。此外,高音萨克斯的调性被标注为B调,而正确的应该是B♭调。因此,在这一点上,AI助手的答案有明显的错误。\n\n接下来,我将从不同的维度对AI助手的答案进行评价。\n\n1. 事实正确性:由于AI助手在调性上提供了错误的信息,这一维度的准确性受到影响。打分:(2)\n   {'事实正确性': 2}\n\n2. 满足用户需求:用户询问了高音单簧管和高音萨克斯的调性,并希望得到准确的答案。尽管AI助手提供了答案,但由于信息不准确,未能完全满足用户的需求。打分:(3)\n   {'满足用户需求': 3}\n\n3. 清晰度:AI助手的回答在表达上是清晰的,结构也相对简洁,易于理解。打分:(7)\n   {'清晰度': 7}\n\n4. 完备性:AI助手的回答虽然简洁,但遗漏了正确的高音单簧管的调性信息,没有提供完整的信息。打分:(4)\n   {'完备性': 4}\n\n综合以上各维度的评估,考虑到事实正确性和满足用户需求的重要性,AI助手的回答整体质量不高。综合打分:(4)\n   {'综合得分': 4}\n\n根据以上流程和评分规则,以下是AI助手答案的最终打分结果:\n{'事实正确性': 2, '满足用户需求': 3, '清晰度': 7, '完备性': 4, '综合得分': 4}",
    "rating": {
        "事实正确性": 2,
        "满足用户需求": 3,
        "清晰度": 7,
        "完备性": 4,
        "综合得分": 4
    },
    "score": 4
}

  • 综合得分

46be14e6-e7c0-44f9-a44b-8d1ab8a65e69[1].png

综上可见,在中文主观题评测任务中,只有openbuddy-llama3-8b-v21.1-8k综合得分略微超过llama3 8b原生模型,其它模型均不同程度出现了中文能力上的损失。

从主观、客观的实验结果来看,现有的Llama3 中文版本,在实际会话场景中,中文指令跟随能力上,已经相较于原生模型有了较大的改进(大部分场景下至少能说中文了);但是在某些专项任务中,中文微调后的模型在多个维度能力指标出现了不同程度的下降,也提示我们,在数据覆盖、配比,以及训练参数设置等环节,仍需要进一步加强。

相关文章
|
3月前
|
自然语言处理 C语言 Python
中文竞技场大模型评测
介绍“中文竞技场”,一个体验大型中文语言模型的平台。点击进入后,遵循规则输入问题,两个模型将生成回复供对比。避免简单问候,可进行多轮对话,涉及写作、代码、知识、游戏、价值观及NLP等领域。评测示例包括诸葛亮空城计描述、C语言冒泡排序及人生意义探讨等,展示不同模型的风格与优劣。
78 7
|
3月前
|
并行计算 IDE 物联网
开源代码大模型CodeFuse
蚂蚁集团在2023外滩大会上开源了自研代码生成模型CodeFuse,提供智能代码建议和实时支持,评测得分超越GPT-4和WizardCoder-34B。CodeFuse适用于开发助手、IDE插件等场景,现已在魔搭社区开放下载与体验,包括CodeFuse13B-4K和CodeFuse-CodeLlaMa34B-MFT两个版本,以及配套数据集CodeExercise-Python-27k和Evol-instruction-66k。
77 1
|
5月前
|
人工智能 JSON 自然语言处理
国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
【7月更文挑战第7天】国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
261 10
国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
|
7月前
|
数据可视化 物联网 测试技术
零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!
Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。
|
自然语言处理
|
自然语言处理 知识图谱
中文竞技场模型体验
中文竞技场模型体验
369 0
|
自然语言处理 Java iOS开发
中文竞技场大模型评测
中文竞技场大模型评测
373 0
|
数据采集 人工智能 自然语言处理
社区供稿 | 猎户星空发布Yi系列微调34B-Chat模型,开源免费,中英兼备全面领先!
OrionStar-Yi-34B-Chat中英文大模型集高性能、完全开源、免费可商用等诸多优势于一身
|
人工智能 自然语言处理 5G
ModelScope中文竞技场大模型测评
对双模型匿名对话的写作创作,知识常识和人类价值观方面进行分析
209 1
|
机器学习/深度学习 自然语言处理 数据可视化
对Modelscope中文竞技场模型分析
对Modelscope中文竞技场模型分析
194 3

热门文章

最新文章

下一篇
DataWorks