中文羊驼大模型三期 v3.0
673 Pulls Updated 5 months ago
Updated 5 months ago
5 months ago
f12a8101e333 · 4.7GB
Readme
github: https://github.com/ymcui/Chinese-LLaMA-Alpaca-3 huggingface: https://huggingface.co/hfl/llama-3-chinese-8b-instruct-v3-gguf
[2024/05/30] 发布Llama-3-Chinese-8B-Instruct-v3版指令模型,相比v1/v2在下游任务上获得显著提升。 本次发布Llama-3-Chinese-8B-Instruct-v3(指令模型),融合了v1、v2以及Meta原版Instruct模型,在中文任务上大幅超越v1/v2版,英文任务上与Meta原版保持持平,主观体验效果显著提升。
Performance
Metric: PPL, lower is better
Note: Unless constrained by memory, we suggest using Q8_0 or Q6_K for better performance.
Quant | Size | PPL |
---|---|---|
Q2_K | 2.96 GB | 10.0534 +/- 0.13135 |
Q3_K | 3.74 GB | 6.3295 +/- 0.07816 |
Q4_0 | 4.34 GB | 6.3200 +/- 0.07893 |
Q4_K | 4.58 GB | 6.0042 +/- 0.07431 |
Q5_0 | 5.21 GB | 6.0437 +/- 0.07526 |
Q5_K | 5.34 GB | 5.9484 +/- 0.07399 |
Q6_K | 6.14 GB | 5.9469 +/- 0.07404 |
Q8_0 | 7.95 GB | 5.8933 +/- 0.07305 |
F16 | 14.97 GB | 5.8902 +/- 0.07303 |
本项目基于Meta最新发布的新一代开源大模型Llama-3开发,是Chinese-LLaMA-Alpaca开源大模型相关系列项目(一期、二期)的第三期。本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精调大模型。这些模型在原版Llama-3的基础上使用了大规模中文数据进行增量预训练,并且使用精选指令数据进行精调,进一步提升了中文基础语义和指令理解能力,相比二代相关模型获得了显著性能提升。
This project is developed based on Meta’s newly released next-generation open-source large language model Llama-3 and is the third generation of the Chinese-LLaMA-Alpaca open-source LLM series (1st gen, 2nd gen). This project has open-sourced the Llama-3-Chinese base model and the Chinese Llama-3-Chinese-Instruct instruction-tuned large model. These models use large-scale Chinese data for continual pre-training on the original Llama-3, and are fine-tuned with selected instruction data to further enhance Chinese basic semantic and instruction understanding capabilities, significantly improving performance compared to the second-generation models.
模型简介
本项目推出了基于Meta Llama-3的中文开源大模型Llama-3-Chinese以及Llama-3-Chinese-Instruct。主要特点如下:
📖 使用原版Llama-3词表
- Llama-3相比其前两代显著扩充了词表大小,由32K扩充至128K,并且改为BPE词表
- 初步实验发现Llama-3词表的编码效率与我们扩充词表的中文LLaMA-2相当,效率约为中文LLaMA-2词表的95%(基于维基百科数据上的编码效率测试)
- 结合我们在中文Mixtral上的相关经验及实验结论[^1],我们并未对词表进行额外扩充
[^1]: Cui and Yao, 2024. Rethinking LLM Language Adaptation: A Case Study on Chinese Mixtral
🚄 长上下文长度由二代4K扩展至8K
- Llama-3将原生上下文窗口长度从4K提升至8K,能够进一步处理更长的上下文信息
- 用户也可通过PI、NTK、YaRN等方法对模型进行长上下文的扩展,以支持更长文本的处理
⚡ 使用分组查询注意力机制
- Llama-3采用了Llama-2中大参数量版本应用的分组查询注意力(GQA)机制,能够进一步提升模型的效率
🗒 全新的指令模板
- Llama-3-Instruct采用了全新的指令模板,与Llama-2-chat不兼容,使用时应遵循官方指令模板(见指令模板)
模型效果
为了评测相关模型的效果,本项目分别进行了生成效果评测和客观效果评测(NLU类),从不同角度对大模型进行评估。推荐用户在自己关注的任务上进行测试,选择适配相关任务的模型。
生成效果评测
- 本项目仿照Fastchat Chatbot Arena推出了模型在线对战平台,可浏览和评测模型回复质量。对战平台提供了胜率、Elo评分等评测指标,并且可以查看两两模型的对战胜率等结果。⚔️ 模型竞技场:http://llm-arena.ymcui.com
- examples目录中提供了Llama-3-Chinese-8B-Instruct和Chinese-Mixtral-Instruct的输出样例,并通过GPT-4-turbo进行了打分对比,Llama-3-Chinese-8B-Instruct平均得分为8.1、Chinese-Mixtral-Instruct平均得分为7.8。📄 输出样例对比:examples
- 本项目已入驻机器之心SOTA!模型平台,后期将实现在线体验:https://sota.jiqizhixin.com/project/chinese-llama-alpaca-3
客观效果评测
C-Eval
C-Eval是一个全面的中文基础模型评估套件,其中验证集和测试集分别包含1.3K和12.3K个选择题,涵盖52个学科。C-Eval推理代码请参考本项目:📖GitHub Wiki
Models | Valid (0-shot) | Valid (5-shot) | Test (0-shot) | Test (5-shot) |
---|---|---|---|---|
Llama-3-Chinese-8B-Instruct-v3 | 55.2 | 54.8 | 52.1 | 52.4 |
Llama-3-Chinese-8B-Instruct-v2 | 51.6 | 51.6 | 49.7 | 49.8 |
Llama-3-Chinese-8B-Instruct | 49.3 | 51.5 | 48.3 | 49.4 |
Llama-3-Chinese-8B | 47.0 | 50.5 | 46.1 | 49.0 |
Meta-Llama-3-8B-Instruct | 51.3 | 51.3 | 49.5 | 51.0 |
Meta-Llama-3-8B | 49.3 | 51.2 | 46.1 | 49.4 |
Chinese-Mixtral-Instruct (8x7B) | 51.7 | 55.0 | 50.0 | 51.5 |
Chinese-Mixtral (8x7B) | 45.8 | 54.2 | 43.1 | 49.1 |
Chinese-Alpaca-2-13B | 44.3 | 45.9 | 42.6 | 44.0 |
Chinese-LLaMA-2-13B | 40.6 | 42.7 | 38.0 | 41.6 |
CMMLU
CMMLU是另一个综合性中文评测数据集,专门用于评估语言模型在中文语境下的知识和推理能力,涵盖了从基础学科到高级专业水平的67个主题,共计11.5K个选择题。CMMLU推理代码请参考本项目:📖GitHub Wiki
Models | Test (0-shot) | Test (5-shot) |
---|---|---|
Llama-3-Chinese-8B-Instruct-v3 | 54.4 | 54.8 |
Llama-3-Chinese-8B-Instruct-v2 | 51.8 | 52.4 |
Llama-3-Chinese-8B-Instruct | 49.7 | 51.5 |
Llama-3-Chinese-8B | 48.0 | 50.9 |
Meta-Llama-3-8B-Instruct | 53.0 | 53.5 |
Meta-Llama-3-8B | 47.8 | 50.8 |
Chinese-Mixtral-Instruct (8x7B) | 50.0 | 53.0 |
Chinese-Mixtral (8x7B) | 42.5 | 51.0 |
Chinese-Alpaca-2-13B | 43.2 | 45.5 |
Chinese-LLaMA-2-13B | 38.9 | 42.5 |
MMLU
MMLU是一个用于评测自然语言理解能力的英文评测数据集,是当今用于评测大模型能力的主要数据集之一,其中验证集和测试集分别包含1.5K和14.1K个选择题,涵盖57个学科。MMLU推理代码请参考本项目:📖GitHub Wiki
Models | Valid (0-shot) | Valid (5-shot) | Test (0-shot) | Test (5-shot) |
---|---|---|---|---|
Llama-3-Chinese-8B-Instruct-v3 | 64.7 | 65.0 | 64.8 | 65.9 |
Llama-3-Chinese-8B-Instruct-v2 | 62.1 | 63.9 | 62.6 | 63.7 |
Llama-3-Chinese-8B-Instruct | 60.1 | 61.3 | 59.8 | 61.8 |
Llama-3-Chinese-8B | 55.5 | 58.5 | 57.3 | 61.1 |
Meta-Llama-3-8B-Instruct | 63.4 | 64.8 | 65.1 | 66.4 |
Meta-Llama-3-8B | 58.6 | 62.5 | 60.5 | 65.0 |
Chinese-Mixtral-Instruct (8x7B) | 65.1 | 69.6 | 67.5 | 69.8 |
Chinese-Mixtral (8x7B) | 63.2 | 67.1 | 65.5 | 68.3 |
Chinese-Alpaca-2-13B | 49.6 | 53.2 | 50.9 | 53.5 |
Chinese-LLaMA-2-13B | 46.8 | 50.0 | 46.6 | 51.8 |
LongBench
LongBench是一个大模型长文本理解能力的评测基准,由6大类、20个不同的任务组成,多数任务的平均长度在5K-15K之间,共包含约4.75K条测试数据。以下是本项目模型在该中文任务(含代码任务)上的评测效果。LongBench推理代码请参考本项目:📖GitHub Wiki
Models | 单文档QA | 多文档QA | 摘要 | FS学习 | 代码 | 合成 | 平均 |
---|---|---|---|---|---|---|---|
Llama-3-Chinese-8B-Instruct-v3 | 20.3 | 28.8 | 24.5 | 28.1 | 59.4 | 91.9 | 40.5 |
Llama-3-Chinese-8B-Instruct-v2 | 57.3 | 27.1 | 13.9 | 30.3 | 60.6 | 89.5 | 46.4 |
Llama-3-Chinese-8B-Instruct | 44.1 | 24.0 | 12.4 | 33.5 | 51.8 | 11.5 | 29.6 |
Llama-3-Chinese-8B | 16.4 | 19.3 | 4.3 | 28.7 | 14.3 | 4.6 | 14.6 |
Meta-Llama-3-8B-Instruct | 55.1 | 15.1 | 0.1 | 24.0 | 51.3 | 94.5 | 40.0 |
Meta-Llama-3-8B | 21.2 | 22.9 | 2.7 | 35.8 | 65.9 | 40.8 | 31.6 |
Chinese-Mixtral-Instruct (8x7B) | 50.3 | 34.2 | 16.4 | 42.0 | 56.1 | 89.5 | 48.1 |
Chinese-Mixtral (8x7B) | 32.0 | 23.7 | 0.4 | 42.5 | 27.4 | 14.0 | 23.3 |
Chinese-Alpaca-2-13B-16K | 47.9 | 26.7 | 13.0 | 22.3 | 46.6 | 21.5 | 29.7 |
Chinese-LLaMA-2-13B-16K | 36.7 | 17.7 | 3.1 | 29.8 | 13.8 | 3.0 | 17.3 |
Chinese-Alpaca-2-7B-64K | 44.7 | 28.1 | 14.4 | 39.0 | 44.6 | 5.0 | 29.3 |
Chinese-LLaMA-2-7B-64K | 27.2 | 16.4 | 6.5 | 33.0 | 7.8 | 5.0 | 16.0 |
Open LLM Leaderboard
Open LLM Leaderboard是由HuggingFaceH4团队发起的大模型综合能力评测基准(英文),包含ARC、HellaSwag、MMLU、TruthfulQA、Winograde、GSM8K等6个单项测试。以下是本项目模型在该榜单上的评测效果。
Models | ARC | HellaS | MMLU | TQA | WinoG | GSM8K | 平均 |
---|---|---|---|---|---|---|---|
Llama-3-Chinese-8B-Instruct-v3 | 63.40 | 80.51 | 67.90 | 53.57 | 76.24 | 59.21 | 66.81 |
Llama-3-Chinese-8B-Instruct-v2 | 62.63 | 79.72 | 66.48 | 53.93 | 76.72 | 60.58 | 66.68 |
Llama-3-Chinese-8B-Instruct | 61.26 | 80.24 | 63.10 | 55.15 | 75.06 | 44.43 | 63.21 |
Llama-3-Chinese-8B | 55.88 | 79.53 | 63.70 | 41.14 | 77.03 | 37.98 | 59.21 |
Meta-Llama-3-8B-Instruct | 60.75 | 78.55 | 67.07 | 51.65 | 74.51 | 68.69 | 66.87 |
Meta-Llama-3-8B | 59.47 | 82.09 | 66.69 | 43.90 | 77.35 | 45.79 | 62.55 |
Chinese-Mixtral-Instruct (8x7B) | 67.75 | 85.67 | 71.53 | 57.46 | 83.11 | 55.65 | 70.19 |
Chinese-Mixtral (8x7B) | 67.58 | 85.34 | 70.38 | 46.86 | 82.00 | 0.00 | 58.69 |
注:MMLU结果与不同的主要原因是评测脚本不同导致。
量化效果评测
在llama.cpp下,测试了Llama-3-Chinese-8B(基座模型)的量化性能,如下表所示。实测速度相比二代Llama-2-7B略慢。
F16 | Q8_0 | Q6_K | Q5_K | Q5_0 | Q4_K | Q4_0 | Q3_K | Q2_K | |
---|---|---|---|---|---|---|---|---|---|
Size (GB) | 14.97 | 7.95 | 6.14 | 5.34 | 5.21 | 4.58 | 4.34 | 3.74 | 2.96 |
BPW | 16.00 | 8.50 | 6.56 | 5.70 | 5.57 | 4.89 | 4.64 | 4.00 | 3.16 |
PPL | 5.130 | 5.135 | 5.148 | 5.181 | 5.222 | 5.312 | 5.549 | 5.755 | 11.859 |
PP Speed | 5.99 | 6.10 | 7.17 | 7.34 | 6.65 | 6.38 | 6.00 | 6.85 | 6.43 |
TG Speed | 44.03 | 26.08 | 21.61 | 22.33 | 20.93 | 18.93 | 17.09 | 22.50 | 19.21 |
[!NOTE]
- 模型大小:单位GB
- BPW(Bits-Per-Weight):单位参数比特,例如Q8_0实际平均精度为8.50
- PPL(困惑度):以8K上下文测量(原生支持长度),数值越低越好
- PP/TG速度:提供了Apple M3 Max(Metal)的指令处理(PP)和文本生成(TG)速度,单位ms/token,数值越低越快