58 lines
2.0 KiB
Markdown
58 lines
2.0 KiB
Markdown
---
|
|
license: apache-2.0
|
|
tags:
|
|
- moe
|
|
- merge
|
|
- deepseek-ai/deepseek-coder-6.7b-instruct
|
|
- ise-uiuc/Magicoder-S-CL-7B
|
|
- WizardLM/WizardMath-7B-V1.0
|
|
- WizardLM/WizardCoder-Python-7B-V1.0
|
|
---
|
|
|
|
# Magician-MoE-4x7B
|
|
|
|
Magician-MoE-4x7B is a Mixure of Experts (MoE) made with the following models:
|
|
* [deepseek-ai/deepseek-coder-6.7b-instruct](https://huggingface.co/deepseek-ai/deepseek-coder-6.7b-instruct)
|
|
* [ise-uiuc/Magicoder-S-CL-7B](https://huggingface.co/ise-uiuc/Magicoder-S-CL-7B)
|
|
* [WizardLM/WizardMath-7B-V1.0](https://huggingface.co/WizardLM/WizardMath-7B-V1.0)
|
|
* [WizardLM/WizardCoder-Python-7B-V1.0](https://huggingface.co/WizardLM/WizardCoder-Python-7B-V1.0)
|
|
|
|
## 🧩 Configuration
|
|
|
|
```yaml
|
|
base_model: ise-uiuc/Magicoder-S-CL-7B
|
|
gate_mode: cheap_embed
|
|
experts:
|
|
- source_model: deepseek-ai/deepseek-coder-6.7b-instruct
|
|
positive_prompts: ["You are an AI coder","coding","Java expert"]
|
|
- source_model: ise-uiuc/Magicoder-S-CL-7B
|
|
positive_prompts: ["You are an AI programmer","programming","C++ expert"]
|
|
- source_model: WizardLM/WizardMath-7B-V1.0
|
|
positive_prompts: ["Math problem solving","Think step by step","Math expert"]
|
|
- source_model: WizardLM/WizardCoder-Python-7B-V1.0
|
|
positive_prompts: ["Great at Deep learning","Algorithm and Data Structure","Python expert"]
|
|
```
|
|
|
|
## 💻 Usage
|
|
|
|
```python
|
|
!pip install -qU transformers bitsandbytes accelerate
|
|
|
|
from transformers import AutoTokenizer
|
|
import transformers
|
|
import torch
|
|
|
|
model = "FelixChao/Magician-MoE-4x7B"
|
|
|
|
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"])
|
|
``` |