项目介绍:Llama-3-Instruct-8B-SPPO-Iter2
Llama-3-Instruct-8B-SPPO-Iter2是一个以语言生成为主的模型,其目的是通过优化模型的自身决策过程,提高语言模型的对话效果和一致性。这个项目的核心是使用“自我演练偏好优化(Self-Play Preference Optimization)”的方法进行模型对齐,从而开发出更智能的对话系统。
项目背景
该模型基于Meta-Llama-3-8B-Instruct架构进行构建,并通过多次迭代进行优化。目前的版本是第二次迭代(Iter2)。整个过程中使用了openbmb/UltraFeedback数据集,该数据集被分为三部分,每部分用于一次迭代。所有的模型回应均为合成数据,以模拟真实对话情境。
模型描述
- 模型类型:8B参数的GPT类模型,专注于合成数据集的微调
- 使用语言:主要为英语
- 许可证:Apache-2.0
- 微调基础模型:meta-llama/Meta-Llama-3-8B-Instruct
链接到其他模型
评估结果
AlpacaEval排行榜评估结果
该评估显示,Iter2在各项指标上均有改善,具体结果如下:
模型 | LC. 胜率 | 胜率 | 平均长度 |
---|---|---|---|
Iter1 | 31.73 | 31.74 | 1962 |
Iter2 | 35.15 | 35.98 | 2021 |
Iter3 | 38.77 | 39.85 | 2066 |
Open LLM排行榜评估结果
通过lm-evaluation-harness工具(版本0.4.1)进行,Iter2的整体表现如下:
模型 | arc_challenge | truthfulqa_mc2 | winogrande | gsm8k | hellaswag | mmlu | 平均值 |
---|---|---|---|---|---|---|---|
Iter1 | 63.82 | 54.96 | 76.40 | 75.44 | 79.80 | 65.65 | 69.35 |
Iter2 | 64.93 | 56.48 | 76.87 | 75.13 | 80.39 | 65.67 | 69.91 |
Iter3 | 65.19 | 58.04 | 77.11 | 74.91 | 80.86 | 65.60 | 70.29 |
训练超参数
以下是训练时使用的主要超参数:
- 学习速率:5e-07
- eta:1000
- 每设备训练批量大小:8
- 梯度累计步骤:1
- 随机种子:42
- 分布式类型:deepspeed_zero3
- 设备数量:8
- 优化器:RMSProp
- 学习率调度类型:线性
- 学习率调度预热比例:0.1
- 总训练周期:6.0(在epoch=1.0时停止)
此项目通过优化语言模型的偏好,使模型在处理语言生成任务时更加自如,提升了对话的流畅度与连贯性。它的成功为进一步改善自然语言处理应用提供了有力的支持。