🚀 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