license: cc-by-nc-4.0
base_model: mlabonne/NeuralBeagle14-7B
tags:
- merge
- mergekit
- lazymergekit
- dpo
- rlhf
NeuralBeagle14-7B
Update 01/16/24: NeuralBeagle14-7B is probably the best 7B model you can find. π
NeuralBeagle14-7B is a DPO fine-tune of mlabonne/Beagle14-7B using the argilla/distilabel-intel-orca-dpo-pairs preference dataset and my DPO notebook from this article.
Thanks Argilla for providing the dataset and the training recipe here. πͺ
π Applications
This model uses a context window of 8k. It is compatible with different templates, like chatml and Llama's chat template.
Compared to other 7B models, it displays good performance in instruction following and reasoning tasks. It can also be used for RP and storytelling.
π Evaluation
The evaluation was performed using LLM AutoEval on Nous suite. It is the best 7B model to date.
Model | Average | AGIEval | GPT4All | TruthfulQA | Bigbench |
---|---|---|---|---|---|
mlabonne/NeuralBeagle14-7B π | 60.25 | 46.06 | 76.77 | 70.32 | 47.86 |
mlabonne/Beagle14-7B π | 59.4 | 44.38 | 76.53 | 69.44 | 47.25 |
mlabonne/NeuralDaredevil-7B π | 59.39 | 45.23 | 76.2 | 67.61 | 48.52 |
argilla/distilabeled-Marcoro14-7B-slerp π | 58.93 | 45.38 | 76.48 | 65.68 | 48.18 |
mlabonne/NeuralMarcoro14-7B π | 58.4 | 44.59 | 76.17 | 65.94 | 46.9 |
openchat/openchat-3.5-0106 π | 53.71 | 44.17 | 73.72 | 52.53 | 44.4 |
teknium/OpenHermes-2.5-Mistral-7B π | 52.42 | 42.75 | 72.99 | 52.99 | 40.94 |
You can find the complete benchmark on YALL - Yet Another LLM Leaderboard.
It's also on top of the Open LLM Leaderboard:
Compared to Beagle14, there's no improvement in this benchmark. This might be due to an unlucky run, but I think I might be overexploiting argilla/distilabel-intel-orca-dpo-pairs at this point. Another preference dataset could improve it even further. Note that the Beagle models perform better than Turdus, which is purposely contaminated on Winogrande (very high score).
π» Usage
!pip install -qU transformers accelerate
from transformers import AutoTokenizer
import transformers
import torch
model = "mlabonne/NeuralBeagle14-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"])