意大利70亿参数LLM评估分析
我和 Samuele Colombo 是意大利排行榜的维护者,我们通过此 PR,为lm-evaluation-harness添加了针对不同语言的不同评估任务,主要关注意大利语大型语言模型(LLM)。在上述版本发布后,我们评估了许多不同的意大利语开源模型在不同任务上的表现。通过所有实验,我们收集了大量数据点,并进行了一项简单的探索性分析。本文将分享这些数据以及一些有趣的发现。
评估中使用的指标列表
- HellaSwag:评估LLM补全句子的能力 https://rowanzellers.com/hellaswag/
- MMLU:MMLU(大规模多任务语言理解)评估LLM的多任务处理能力 https://github.com/hendrycks/test
- ARC-c:是AI2 Reasoning Challenge — Challenge的缩写。它是ARC数据集的一个子集,ARC数据集是一个大规模的多项选择题集合,需要推理和常识知识才能回答。
- Belebele:是一个涵盖122种语言变体的多项选择题机器阅读理解(MRC)数据集。每个问题有四个多项选择答案,并与FLORES-200数据集中的一段短文相关联
- Lambada:LAMBADA(扩展到考虑语篇方面的语言建模)是一个基准测试,其任务与语言建模非常相似。任务是从一段文本中恢复一个缺失的单词,其中缺失的单词总是其句子的最后一个单词。
- Xcopa:跨语言合理替代选择(XCOPA),一个类型学上多样化的多语言数据集,用于11种语言的因果常识推理。用于重现数据的命令
零样本学习
lm_eval --model hf --model_args pretrained=YOURHUGGINGFACEMODEL --tasks xcopa_it,hellaswag_it,lambada_openai_mt_it,belebele_ita_Latn, arc_it --device cuda:0 --batch_size 8
仅 MMLU_IT 5-shot
lm_eval --model hf --model_args pretrained=YOURHUGGINGFACEMODEL --tasks mmlu_it --num_shot 5 --device cuda:0 --batch_size 8
数据分析
数据可在此 gsheet中查看和下载,简单的分析和可视化已通过此 colab生成。
模型 | m_mmul 精度 5-shot | belebele_ita_Latn 精度 | belebele_ita_Latn 归一化精度 | hellaswag_it 精度 | hellaswag_it 归一化精度 | lambada_openai_mt_it 困惑度 | lambada_openai_mt_it 精度 | xcopa_it 精度 | arc_it 精度 | arc_it 归一化精度 | 平均分 |
---|---|---|---|---|---|---|---|---|---|---|---|
giux78/zefiro-7b-sft-qlora-ITA-v0.5 | 0.5246 | 0.4656 | 0.4656 | 0.4636 | 0.6097 | 22.5232 | 0.5154 | 0.67 | 0.1642 | 0.4397 | 0.4798222222 |
mii-llm/maestrale-chat-v0.2-alpha | 0.5163 | 0.4678 | 0.4678 | 0.519 | 0.6852 | 26.0037 | 0.4987 | 0.722 | 0.1206 | 0.4585 | 0.4951 |
FinancialSupport/saiga-7b | 0.4933 | 0.5222 | 0.5222 | 0.4824 | 0.6342 | 30.2369 | 0.4671 | 0.672 | 0.16 | 0.4748 | 0.4920222222 |
giux78/zefiro-7b-beta-ITA-v0.1 | 0.5203 | 0.45 | 0.45 | 0.4607 | 0.6129 | 25.8213 | 0.5013 | 0.666 | 0.0838 | 0.4294 | 0.4638222222 |
raicritis/Hermes7b_ITA | 0.3574 | 0.3689 | 0.3689 | 0.4112 | 0.5407 | 34.7106 | 0.4677 | 0.66 | 0.1249 | 0.3524 | 0.4057888889 |
DeepMount/Mistral-Ita-7b | 0.3879 | 0.38 | 0.38 | 0.3978 | 0.5123 | 89.99 | 0.3361 | 0.592 | 0 | 0.3747 | 0.3872444444 |
galatolo/cerbero-7B | 0.5137 | 0.5089 | 0.5089 | 0.4722 | 0.6135 | 23.4551 | 0.4964 | 0.672 | 0.1001 | 0.4465 | 0.4813555556 |
mii-11m/maestrale-chat-v0.3-alpha | 0.5164 | 0.5911 | 0.5911 | 0.5046 | 0.66 | 38.2427 | 0.4378 | 0.692 | 0.1343 | 0.4568 | 0.5093444444 |
giux78/zefiro-7b-dpo-qlora-ITA-v0.7 | 0.5203 | 0.4778 | 0.4778 | 0.4914 | 0.6428 | 23.6041 | 0.5174 | 0.684 | 0.1805 | 0.4611 | 0.4947888889 |
mii-llm/maestrale-chat-v0.3-beta | 0.5129 | 0.5644 | 0.5644 | 0.5067 | 0.6581 | 53.0646 | 0.4207 | 0.72 | 0.1463 | 0.4559 | 0.5054888889 |
swap-uniba/LLaMAntino-2-7b-hf-ITA | 0.3696 | 0.2433 | 0.2433 | 0.4113 | 0.5428 | 33.6146 | 0.4696 | 0.678 | 0.139 | 0.3456 | 0.3825 |
mistralai/Mistral-7B-v0.1 | 0.5253 | 0.41 | 0.41 | 0.4486 | 0.6122 | 30.2635 | 0.4894 | 0.658 | 0.1061 | 0.4149 | 0.4527222222 |
模型排名
下图中,模型按所有评估指标的平均值(不包括困惑度)排序。
下图中,模型按所有评估指标的平均值排序,其中困惑度经过归一化处理并计算如下
perplexity = (100 - perp) / 100:
单项指标排名
MMLU_IT 5-shot 未见提升
这是一个非常有趣的发现,与Mistral-7B-v0.1基础模型相比,所有模型都没有提升mmlu_it。似乎所有采用不同策略(持续预训练、SFT或DPO)微调的模型都能够提升该指标。我怀疑,当模型更新特定语言知识时,特定任务的深层知识会被遗忘。这就像添加更广泛的语言知识会使其在特定能力方面变弱。
Belebele
Maestrale 在此任务上表现出色,有趣的是,一个合并模型 Saiga-7B 在此任务上也表现良好。
Hellaswag
Maestrale 系列在 HellaSwag 上表现非常出色,接近 LLAMA-70B(一个 10 倍大的模型,准确率约为 70%)和 Mixtral-7x8(在此任务上准确率约为 75%)。
Lambada 困惑度
困惑度衡量模型在看到新数据时的惊讶程度。困惑度越低,训练效果越好。有趣的是,SFT 模型似乎比 DPO 模型表现更好,而且从 Maestrale 版本来看,SFT 越多,困惑度越差。
Lambada openai
Zefiro 系列在此基准测试中表现良好。
XCopa
Maestrale 系列在该评估中表现非常出色。
在 Arc-c 任务上,合并模型 Saiga-7b 是表现最好的模型。这很有价值,可以尝试理解为什么它在该指标上比 mistral-7b 强这么多
所有模型在所有任务上的比较
Zefiro 系列
Zefiro 系列的训练策略和数据集已在(文章)[https://medium.com/@giuxale/the-trilogy-of-zefiro-f0cd6f95ef94]中详细描述。如上所述,MMLU_IT 是唯一没有通过持续预训练、SFT 和 DPO 得到改进的指标。在大多数其他评估中,每种训练策略(持续、SFT、DPO)似乎都能提高 LLM 的能力。相对于 Mistral-7B-v0.1 基础模型,平均提升了约 5%(从 45% 到 50%)。在我看来,这是一个很好的指标,表明模型可以在特定语言任务上得到改进。我怀疑,通过更多数据进行更多训练,可以大幅提升性能。另一个有趣的发现是,在许多指标中,从持续预训练到 DPO,性能持续提升。
Maestrale 系列
Maestrale 是一个在意大利任务上表现非常出色,并在许多指标上名列前茅的LLM模型系列。数据显示,从0.3-alpha版本到0.3-beta版本,在某些情况下性能略有下降,这可能是一个值得理解和讨论的有趣现象,尤其是在困惑度指标上。无论如何,它在许多评估中都表现出色,并且整体表现最佳。
结论
在本文所考虑的评估任务中,通过单 GPU 训练的微调开源模型平均提升了基础模型 5% 的性能。通过更多数据进行更长时间的训练,这个数字可以大幅提高。在诸如 arc-c 和 hellaswag 等重要指标上,专门针对特定语言的 70 亿参数模型已经非常接近于大 10 倍的开源模型,如 LLama-70B 和 Mixtral-7x8。MMUL 是一个难以提高的指标。评估将成为 LLM 生态系统的重要组成部分。LLM 可以在不同方向上进行专业化,甚至可以同时进行。未来将出现更多专门的评估数据集和基准。每个 LLM 都可能具有待发现的独特之处。