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.
It is based on a merge of the following models using
LazyMergekit:
Thanks
Argilla for providing the dataset and the training recipe
here. 💪
You can try it out in this
Space (GGUF Q4_K_M).
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.
NeuralBeagle14-7B ranks first on the Open LLM Leaderboard in the ~7B category.
It has the same average score as Beagle14-7B ("Show merges"), which could be due to might be due to an unlucky run.
I think I might be overexploiting argilla/distilabel-intel-orca-dpo-pairs at this point, since this dataset or its original version are present in multiple models.
I need to find more high-quality preference data for the next DPO merge.
Note that some models like udkai/Turdus and nfaheem/Marcoroni-7b-DPO-Merge are unfortunately contaminated on purpose (see the very high Winogrande score).
The evaluation was performed using
LLM AutoEval on Nous suite. It is the best 7B model to date.
You can find the complete benchmark on
YALL - Yet Another LLM Leaderboard.
1!pip install -qU transformers accelerate
2
3from transformers import AutoTokenizer
4import transformers
5import torch
6
7model = "mlabonne/NeuralBeagle14-7B"
8messages = [{"role": "user", "content": "What is a large language model?"}]
9
10tokenizer = AutoTokenizer.from_pretrained(model)
11prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
12pipeline = transformers.pipeline(
13 "text-generation",
14 model=model,
15 torch_dtype=torch.float16,
16 device_map="auto",
17)
18
19outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
20print(outputs[0]["generated_text"])