初始化项目,由ModelHub XC社区提供模型
Model: BramVanroy/fietje-2-chat Source: Original Platform
This commit is contained in:
107
README.md
Normal file
107
README.md
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
language:
|
||||
- nl
|
||||
license: mit
|
||||
tags:
|
||||
- trl
|
||||
- fietje
|
||||
- alignment-handbook
|
||||
- dpo
|
||||
base_model: BramVanroy/fietje-2-instruct
|
||||
datasets:
|
||||
- BramVanroy/ultra_feedback_dutch_cleaned
|
||||
- BramVanroy/orca_dpo_pairs_dutch_cleaned
|
||||
pipeline_tag: text-generation
|
||||
inference: false
|
||||
model-index:
|
||||
- name: fietje-2-chat
|
||||
results: []
|
||||
---
|
||||
|
||||
<p align="center" style="margin:0;padding:0">
|
||||
<img src="https://huggingface.co/BramVanroy/fietje-2-chat/resolve/main/img/fietje-2b-banner-rounded.png" alt="Fietje banner" width="800" style="margin-left:'auto' margin-right:'auto' display:'block'"/>
|
||||
</p>
|
||||
|
||||
<div style="margin:auto; text-align:center">
|
||||
<h1 style="margin-bottom: 0">Fietje 2 Chat</h1>
|
||||
<em>An open and efficient LLM for Dutch</em>
|
||||
</div>
|
||||
|
||||
<blockquote class="tip" style="padding: 1.5em; border: 0">
|
||||
<p align="center" style="text-align: center; margin: 0">
|
||||
<a href="https://huggingface.co/BramVanroy/fietje-2">👱♀️ Base version</a> -
|
||||
<a href="https://huggingface.co/BramVanroy/fietje-2-instruct">🤖 Instruct version</a> -
|
||||
<a href="https://huggingface.co/BramVanroy/fietje-2-chat">💬 Chat version</a> (this one) -
|
||||
<a href="https://huggingface.co/BramVanroy/fietje-2-chat-GGUF">🚀 GGUF of Chat</a>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
This is the chat version of Fietje, a DPO-tuned (aligned) continuation on [the instruct version](https://huggingface.co/BramVanroy/fietje-2-instruct). Fietje is an adapated version of [microsoft/phi-2](https://huggingface.co/microsoft/phi-2), tailored to Dutch text generation by training on 28B tokens. It is small and efficient with a size of 2.7 billion parameters while performing almost on par with more powerful Dutch LLMs of twice its size like [GEITje 7B Ultra](https://huggingface.co/BramVanroy/GEITje-7B-ultra).
|
||||
|
||||
A thorough description of the creation and evaluation of Fietje as well as usage examples are available in [this Github repository](https://github.com/BramVanroy/fietje).
|
||||
|
||||
## Citation
|
||||
|
||||
If you use Fietje or the [CulturaX + Wikipedia filtered subset](https://huggingface.co/datasets/BramVanroy/wikipedia_culturax_dutch) in your work, please cite to the following paper:
|
||||
|
||||
```bibtex
|
||||
@article{vanroy2024fietje,
|
||||
author="Vanroy, Bram",
|
||||
title="Fietje: An open, efficient LLM for Dutch",
|
||||
url="https://www.clinjournal.org/clinj/article/view/213",
|
||||
journal="Computational Linguistics in the Netherlands Journal",
|
||||
volume="14",
|
||||
year="2025",
|
||||
pages="473--504"
|
||||
}
|
||||
```
|
||||
|
||||
## Intended uses & limitations
|
||||
|
||||
The same limitations as [phi-2](https://huggingface.co/microsoft/phi-2#limitations-of-phi-2), and LLMs in general, apply here. LLMs hallucinate, make mistakes, and should not be trusted. Use at your own risk!
|
||||
|
||||
## Training and evaluation data
|
||||
|
||||
Fietje 2 Chat was finetuned from [the instruct model](https://huggingface.co/BramVanroy/fietje-2-instruct) on the following datasets. Number of training samples per dataset given in brackets, totalling 18,653 samples.
|
||||
|
||||
- [BramVanroy/ultra_feedback_dutch_cleaned](https://huggingface.co/datasets/BramVanroy/ultra_feedback_dutch_cleaned) subset `dpo_hq`: a cleaned version of [BramVanroy/ultra_feedback_dutch](https://huggingface.co/datasets/BramVanroy/ultra_feedback_dutch) (9186)
|
||||
- [BramVanroy/orca_dpo_pairs_dutch_cleaned](https://huggingface.co/datasets/BramVanroy/orca_dpo_pairs_dutch_cleaned) subset `dpo_all`: a cleaned version of [BramVanroy/orca_dpo_pairs_dutch](https://huggingface.co/datasets/BramVanroy/orca_dpo_pairs_dutch) (9467)
|
||||
|
||||
A lot of different learning rates, beta, en batch sizes were investigated in search of a converging combination. You can find them all in [the W&B runs](https://wandb.ai/bramvanroy/dpo-fietje-2b).
|
||||
|
||||
## Training procedure
|
||||
|
||||
I am thankful to the [Flemish Supercomputer Center](https://www.vscentrum.be/) (VSC) for providing the computational power to accomplish this project. Accounting for waiting for jobs, training a single run took around nine hours on one A100 80GB.
|
||||
|
||||
Training was done with the wonderful [alignment-handbook](https://github.com/huggingface/alignment-handbook), using DeepSpeed as a back-end. Exact training recipes and SLURM script are given in the [Github repository](https://github.com/BramVanroy/fietje).
|
||||
|
||||
|
||||
### Training hyperparameters
|
||||
|
||||
The following hyperparameters were used during training:
|
||||
- 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
|
||||
|
||||
### Training results
|
||||
|
||||
| Training Loss | Epoch | Step | Validation Loss | Rewards/chosen | Rewards/rejected | Rewards/accuracies | Rewards/margins | Logps/rejected | Logps/chosen | Logits/rejected | Logits/chosen |
|
||||
|:-------------:|:-----:|:----:|:---------------:|:--------------:|:----------------:|:------------------:|:---------------:|:--------------:|:------------:|:---------------:|:-------------:|
|
||||
| 0.2515 | 1.0 | 1166 | 0.2842 | -1.1549 | -3.6363 | 0.8867 | 2.4815 | -657.6813 | -451.3364 | -1.2868 | -1.3528 |
|
||||
|
||||
|
||||
### Framework versions
|
||||
|
||||
- Transformers 4.39.1
|
||||
- Pytorch 2.1.2+cu121
|
||||
- Datasets 2.18.0
|
||||
- Tokenizers 0.15.2
|
||||
Reference in New Issue
Block a user