| --- |
| license: apache-2.0 |
| tags: |
| - moe |
| - frankenmoe |
| - merge |
| - mergekit |
| - lazymergekit |
| - mistralai/Mistral-7B-v0.1 |
| - mlabonne/drmistral-7b |
| base_model: |
| - mistralai/Mistral-7B-v0.1 |
| - mlabonne/drmistral-7b |
| --- |
| |
| # 2xMistral |
|
|
| 2xMistral is a Mixure of Experts (MoE) made with the following models using [LazyMergekit](https://colab.research.google.com/drive/1obulZ1ROXHjYLn6PPZJwRR6GzgQogxxb?usp=sharing): |
| * [mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) |
| * [mlabonne/drmistral-7b](https://huggingface.co/mlabonne/drmistral-7b) |
|
|
| ## 🧩 Configuration |
|
|
| ```yaml |
| base_model: mistralai/Mistral-7B-v0.1 |
| gate_mode: cheap_embed |
| experts: |
| - source_model: mistralai/Mistral-7B-v0.1 |
| positive_prompts: ["general"] |
| - source_model: mlabonne/drmistral-7b |
| positive_prompts: ["medical"] |
| ``` |
|
|
| ## 💻 Usage |
|
|
| ```python |
| !pip install -qU transformers bitsandbytes accelerate |
| |
| from transformers import AutoTokenizer |
| import transformers |
| import torch |
| |
| model = "AbstractPerspective/2xMistral" |
| |
| tokenizer = AutoTokenizer.from_pretrained(model) |
| pipeline = transformers.pipeline( |
| "text-generation", |
| model=model, |
| model_kwargs={"torch_dtype": torch.float16, "load_in_4bit": True}, |
| ) |
| |
| messages = [{"role": "user", "content": "Explain what a Mixture of Experts is in less than 100 words."}] |
| prompt = pipeline.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| 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"]) |
| ``` |