68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
|
|
---
|
||
|
|
license: apache-2.0
|
||
|
|
tags:
|
||
|
|
- merge
|
||
|
|
- mergekit
|
||
|
|
- lazymergekit
|
||
|
|
- argilla/distilabeled-Marcoro14-7B-slerp
|
||
|
|
- mlabonne/NeuralMarcoro14-7B
|
||
|
|
datasets:
|
||
|
|
- mlabonne/chatml_dpo_pairs
|
||
|
|
- argilla/distilabel-intel-orca-dpo-pairs
|
||
|
|
---
|
||
|
|
|
||
|
|
# NeuDist-Ro-7B
|
||
|
|
|
||
|
|
NeuDist-Ro-7B is a merge of the following models using [LazyMergekit](https://colab.research.google.com/drive/1obulZ1ROXHjYLn6PPZJwRR6GzgQogxxb?usp=sharing):
|
||
|
|
* [argilla/distilabeled-Marcoro14-7B-slerp](https://huggingface.co/argilla/distilabeled-Marcoro14-7B-slerp)
|
||
|
|
* [mlabonne/NeuralMarcoro14-7B](https://huggingface.co/mlabonne/NeuralMarcoro14-7B)
|
||
|
|
|
||
|
|
As an experiment to find the best base merge to further fine-tuning, expect a lot of experiments named using parts of the component models until a clear winner emerges in the benchmarks
|
||
|
|
|
||
|
|
In this case merging 2 DPOs of the same model
|
||
|
|
|
||
|
|
## 🧩 Configuration
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
slices:
|
||
|
|
- sources:
|
||
|
|
- model: argilla/distilabeled-Marcoro14-7B-slerp
|
||
|
|
layer_range: [0, 32]
|
||
|
|
- model: mlabonne/NeuralMarcoro14-7B
|
||
|
|
layer_range: [0, 32]
|
||
|
|
merge_method: slerp
|
||
|
|
base_model: mlabonne/NeuralMarcoro14-7B
|
||
|
|
parameters:
|
||
|
|
t:
|
||
|
|
- filter: self_attn
|
||
|
|
value: [0, 0.5, 0.3, 0.7, 1]
|
||
|
|
- filter: mlp
|
||
|
|
value: [1, 0.5, 0.7, 0.3, 0]
|
||
|
|
- value: 0.5
|
||
|
|
dtype: bfloat16
|
||
|
|
```
|
||
|
|
|
||
|
|
## 💻 Usage
|
||
|
|
|
||
|
|
```python
|
||
|
|
!pip install -qU transformers accelerate
|
||
|
|
|
||
|
|
from transformers import AutoTokenizer
|
||
|
|
import transformers
|
||
|
|
import torch
|
||
|
|
|
||
|
|
model = "flemmingmiguel/NeuDist-Ro-7B"
|
||
|
|
messages = [{"role": "user", "content": "What is a large language model?"}]
|
||
|
|
|
||
|
|
tokenizer = AutoTokenizer.from_pretrained(model)
|
||
|
|
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
|
||
|
|
pipeline = transformers.pipeline(
|
||
|
|
"text-generation",
|
||
|
|
model=model,
|
||
|
|
torch_dtype=torch.float16,
|
||
|
|
device_map="auto",
|
||
|
|
)
|
||
|
|
|
||
|
|
outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
|
||
|
|
print(outputs[0]["generated_text"])
|
||
|
|
```
|