🚀 Fietje 2 Chat
Fietje 2 Chat是一款面向荷兰语的开源高效大语言模型(LLM)的聊天版本。它基于DPO(Direct Preference Optimization)进行微调,在荷兰语文本生成方面表现出色,虽参数规模仅27亿,但性能可与两倍规模的强大荷兰语LLM相媲美。
🚀 快速开始
你可以点击以下链接体验不同版本的Fietje:
还能在此处与Fietje聊天!
✨ 主要特性
- 高效轻量:参数规模仅27亿,却能在荷兰语文本生成任务上与两倍规模的模型相抗衡。
- DPO微调:基于DPO技术进行微调,使模型在对话场景中表现更优。
- 开源开放:模型开源,方便开发者进行二次开发和研究。
📚 详细文档
关于Fietje的创建、评估以及使用示例等详细内容,可查看此GitHub仓库。
📄 许可证
本项目采用MIT许可证。
🔗 引用信息
如果你在工作中使用了Fietje或CulturaX + Wikipedia过滤子集,请引用以下论文:
@misc{vanroy2024fietjeopenefficientllm,
title={Fietje: An open, efficient LLM for Dutch},
author={Bram Vanroy},
year={2024},
eprint={2412.15450},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2412.15450},
}
⚠️ 注意事项
本模型存在与phi - 2以及一般大语言模型相同的局限性,如可能会产生幻觉、出现错误等,使用时请自行承担风险!
🔧 技术细节
训练和评估数据
Fietje 2 Chat是在指令模型的基础上进行微调的,使用了以下数据集(括号内为每个数据集的训练样本数量,总计18,653个样本):
为了找到收敛的组合,对许多不同的学习率、beta值和批量大小进行了研究,你可以在W&B运行记录中找到所有相关信息。
训练过程
感谢佛兰芒超级计算机中心(VSC)提供计算能力以完成此项目。考虑到作业等待时间,在一块A100 80GB显卡上进行一次训练大约需要九个小时。
训练使用了出色的alignment - handbook,并以DeepSpeed作为后端。确切的训练配方和SLURM脚本可在GitHub仓库中找到。
训练超参数
训练过程中使用了以下超参数:
- beta: 0.2
- learning_rate: 2e - 06
- train_batch_size: 8
- eval_batch_size: 4
- seed: 42
- distributed_type: multi - GPU
- gradient_accumulation_steps: 2
- total_train_batch_size: 16
- optimizer: Adam with betas=(0.9,0.98) and epsilon = 1e - 07
- lr_scheduler_type: cosine
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 1.0
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
奖励/选中 |
奖励/拒绝 |
奖励/准确率 |
奖励/差距 |
对数概率/拒绝 |
对数概率/选中 |
对数几率/拒绝 |
对数几率/选中 |
0.2515 |
1.0 |
1166 |
0.2842 |
-1.1549 |
-3.6363 |
0.8867 |
2.4815 |
-657.6813 |
-451.3364 |
-1.2868 |
-1.3528 |
框架版本
- Transformers 4.39.1
- Pytorch 2.1.2+cu121
- Datasets 2.18.0
- Tokenizers 0.15.2