|
--- |
|
license: apache-2.0 |
|
tags: |
|
- merge |
|
- mergekit |
|
- lazymergekit |
|
- fblgit/UNA-TheBeagle-7b-v1 |
|
- udkai/Turdus |
|
--- |
|
|
|
# Marcoroni-7b-DPO-Merge |
|
|
|
Marcoroni-7b-DPO-Merge is a merge of the following models using [mergekit](https://github.com/cg123/mergekit) and inspired by [Maxime Labonne's work](https://medium.com/@mlabonne): |
|
* [fblgit/UNA-TheBeagle-7b-v1](https://huggingface.co./fblgit/UNA-TheBeagle-7b-v1) |
|
* [udkai/Turdus](https://huggingface.co./udkai/Turdus) |
|
|
|
## 🧩 Configuration |
|
|
|
```yaml |
|
models: |
|
- model: madatnlp/marcoroni-7b-v3-safetensor |
|
# no parameters necessary for base model |
|
- model: fblgit/UNA-TheBeagle-7b-v1 |
|
parameters: |
|
density: 0.3 |
|
weight: 0.5 |
|
- model: udkai/Turdus |
|
parameters: |
|
density: 0.7 |
|
weight: 0.3 |
|
merge_method: ties |
|
base_model: madatnlp/marcoroni-7b-v3-safetensor |
|
parameters: |
|
normalize: true |
|
dtype: float16 |
|
``` |
|
|
|
## 💻 Example Python Code |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline |
|
|
|
model_name_or_path = "nfaheem/Marcoroni-7b-DPO-Merge" |
|
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, |
|
device_map="auto", |
|
revision="main") |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True) |
|
|
|
prompt = "Write a story about llamas" |
|
system_message = "You are a story writing assistant" |
|
prompt_template=f'''{prompt} |
|
''' |
|
|
|
print("\n\n*** Generate:") |
|
|
|
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda() |
|
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512) |
|
print(tokenizer.decode(output[0])) |
|
|
|
# Inference can also be done using transformers' pipeline |
|
|
|
print("*** Pipeline:") |
|
pipe = pipeline( |
|
"text-generation", |
|
model=model, |
|
tokenizer=tokenizer, |
|
max_new_tokens=512, |
|
do_sample=True, |
|
temperature=0.7, |
|
top_p=0.95, |
|
top_k=40, |
|
repetition_penalty=1.1 |
|
) |
|
|
|
print(pipe(prompt_template)[0]['generated_text']) |
|
``` |