项目介绍:llama-3-8b-gpt-4o-ru1.0-gguf
项目背景
llama-3-8b-gpt-4o-ru1.0-gguf
是基于 meta-llama/Meta-Llama-3-8B-Instruct 模型的一个微调版本。这个项目的目标是在经过优化和高质量的数据集上进行微调,以提升模型在多语言环境下的能力,特别是俄语的处理能力。数据集主要来源于 tagengo-gpt4 的较小子集,但通过采用 OpenAI 最新的多语言大模型 GPT-4o,提升了数据的质量。
模型特点
该模型特别针对俄语进行了优化,模型训练的 80% 示例为俄语。这使得 llama-3-8b-gpt-4o-ru1.0-gguf
在 MT-Bench 评估基准中的俄语得分上超越了 GPT-3.5-turbo,且与使用更大、更多样化数据集的 Suzume 持平。
如何使用
要在本地使用此模型,最简单的方法是使用 llama.cpp 等程序加载 GGUF 版模型(ruslandev/llama-3-8b-gpt-4o-ru1.0-gguf)。如果希望直接通过 Huggingface Transformers 栈使用模型,推荐采用 gptchain 框架。
使用指导:
git clone https://github.com/RuslanPeresy/gptchain.git
cd gptchain
pip install -r requirements-train.txt
python gptchain.py chat -m ruslandev/llama-3-8b-gpt-4o-ru1.0 \
--chatml true \
-q '[{"from": "human", "value": "Из чего состоит нейронная сеть?"}]'
评估分数
在 Ru/En MT-Bench 的评估中,llama-3-8b-gpt-4o-ru1.0
在俄语和英语上的得分分别为 8.12 和 8.01,俄语得分超过 GPT-3.5-turbo,英语得分表现也较为优秀。
训练过程
模型使用 axolotl 进行训练,采用的基础模型为 meta-llama/Meta-Llama-3-8B-Instruct
。在两个 NVIDIA A100 上进行了一次迭代的训练。数据集的主要来源为 ruslandev/tagengo-rus-gpt-4o
,进行了适当的准备和配置,以提升训练效率和效果。
训练超参数
- 学习率:1e-05
- 训练批次大小:2
- 评估批次大小:2
- 随机种子:42
- 使用设备:2个GPU
- 梯度累积步数:2
- 总训练批次大小:8
- 总评估批次大小:4
- 优化器:Adam (betas=(0.9,0.999), epsilon=1e-08)
- 学习率调度器类型:cosine
- 学习率预热步数:10
- 训练周期数量:1
训练结果
以下为训练过程中记录的一些损失指标:
训练损失 | 周期 | 步数 | 验证损失 |
---|---|---|---|
1.1347 | 0.016 | 1 | 1.1086 |
0.916 | 0.208 | 13 | 0.8883 |
0.8494 | 0.416 | 26 | 0.8072 |
0.8657 | 0.624 | 39 | 0.7814 |
0.8077 | 0.832 | 52 | 0.7702 |
框架版本
- Transformers 4.41.1
- Pytorch 2.2.2+cu121
- Datasets 2.19.1
- Tokenizers 0.19.1
这个项目展示了在特定语言上的模型微调如何用更少的数据达到更好的性能,为多语言自然语言处理任务的进一步发展提供了有力的探索方向。