--- library_name: transformers tags: - merge license: apache-2.0 datasets: - argilla/distilabel-intel-orca-dpo-pairs language: - en --- # ChatHercules-2.5-Mistral-7B-DPO ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6437292ecd93f4c9a34b0d47/VW32vrPx2giqo5Od8Tyz0.png) ChatHercules-2.5-Mistral-7B is a merge of the following models using [LazyMergekit](https://colab.research.google.com/drive/1obulZ1ROXHjYLn6PPZJwRR6GzgQogxxb?usp=sharing): * [Locutusque/Hercules-2.5-Mistral-7B](https://huggingface.co/Locutusque/Hercules-2.5-Mistral-7B) * [openchat/openchat-3.5-0106](https://huggingface.co/openchat/openchat-3.5-0106) I then use DPO to fine-tune the product of the merge on 20% of argilla/distilabel-intel-orca-dpo-pairs ## 🧩 Configuration ```yaml slices: - sources: - model: Locutusque/Hercules-2.5-Mistral-7B layer_range: [0, 32] - model: openchat/openchat-3.5-0106 layer_range: [0, 32] merge_method: slerp base_model: Locutusque/Hercules-2.5-Mistral-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 = "hydra-project/ChatHercules-2.5-Mistral-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"]) ``` ## Evaluation results ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6437292ecd93f4c9a34b0d47/Rua1QoEPYNPqL1Z1W4dpf.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6437292ecd93f4c9a34b0d47/44UUHS9xx5gtCUhvLVdAo.png)