|
--- |
|
license: apache-2.0 |
|
tags: |
|
- moe |
|
- frankenmoe |
|
- merge |
|
- mergekit |
|
- lazymergekit |
|
- mlabonne/AlphaMonarch-7B |
|
- Syed-Hasan-8503/Tess-Coder-7B-Mistral-v1.0 |
|
base_model: |
|
- mlabonne/AlphaMonarch-7B |
|
- Syed-Hasan-8503/Tess-Coder-7B-Mistral-v1.0 |
|
language: |
|
- en |
|
library_name: transformers |
|
model-index: |
|
- name: MonarchCoder-MoE-2x7B |
|
results: |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: AI2 Reasoning Challenge (25-Shot) |
|
type: ai2_arc |
|
config: ARC-Challenge |
|
split: test |
|
args: |
|
num_few_shot: 25 |
|
metrics: |
|
- type: acc_norm |
|
value: 70.99 |
|
name: normalized accuracy |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: HellaSwag (10-Shot) |
|
type: hellaswag |
|
split: validation |
|
args: |
|
num_few_shot: 10 |
|
metrics: |
|
- type: acc_norm |
|
value: 87.99 |
|
name: normalized accuracy |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: MMLU (5-Shot) |
|
type: cais/mmlu |
|
config: all |
|
split: test |
|
args: |
|
num_few_shot: 5 |
|
metrics: |
|
- type: acc |
|
value: 65.11 |
|
name: accuracy |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: TruthfulQA (0-shot) |
|
type: truthful_qa |
|
config: multiple_choice |
|
split: validation |
|
args: |
|
num_few_shot: 0 |
|
metrics: |
|
- type: mc2 |
|
value: 71.25 |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: Winogrande (5-shot) |
|
type: winogrande |
|
config: winogrande_xl |
|
split: validation |
|
args: |
|
num_few_shot: 5 |
|
metrics: |
|
- type: acc |
|
value: 80.66 |
|
name: accuracy |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
dataset: |
|
name: GSM8k (5-shot) |
|
type: gsm8k |
|
config: main |
|
split: test |
|
args: |
|
num_few_shot: 5 |
|
metrics: |
|
- type: acc |
|
value: 69.37 |
|
name: accuracy |
|
source: |
|
url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=abideen/MonarchCoder-MoE-2x7B |
|
name: Open LLM Leaderboard |
|
--- |
|
|
|
# MonarchCoder-MoE-2x7B |
|
|
|
![image/jpeg](https://cdn-uploads.huggingface.co/production/uploads/64e380b2e12618b261fa6ba0/eoHRSEuT-_TtlrPX7PrOW.jpeg) |
|
|
|
MonarchCoder-MoE-2x7B is a Mixure of Experts (MoE) made with the following models using [LazyMergekit](https://colab.research.google.com/drive/1obulZ1ROXHjYLn6PPZJwRR6GzgQogxxb?usp=sharing): |
|
* [mlabonne/AlphaMonarch-7B](https://huggingface.co/mlabonne/AlphaMonarch-7B) |
|
* [Syed-Hasan-8503/Tess-Coder-7B-Mistral-v1.0](https://huggingface.co/Syed-Hasan-8503/Tess-Coder-7B-Mistral-v1.0) |
|
|
|
The main aim behind creating this model is to create a model that performs well in reasoning, conversation, and coding. AlphaMonarch performs amazing on reasoning and conversation tasks. Merging AlphaMonarch with a coding model yielded MonarchCoder-2x7B which performs better on OpenLLM, Nous, and HumanEval benchmark. |
|
|
|
## 🏆 Evaluation results |
|
``` |
|
| Metric |MonarchCoder-Moe-2x7B||MonarchCoder-7B||AlphaMonarch| |
|
|---------------------------------|---------------------|-----------------|------------| |
|
|Avg. | 74.23 | 71.17 | 75.99 | |
|
|HumanEval | 41.15 | 39.02 | 34.14 | |
|
|HumanEval+ | 29.87 | 31.70 | 29.26 | |
|
|MBPP | 40.60 | * | * | |
|
|AI2 Reasoning Challenge (25-Shot)| 70.99 | 68.52 | 73.04 | |
|
|HellaSwag (10-Shot) | 87.99 | 87.30 | 89.18 | |
|
|MMLU (5-Shot) | 65.11 | 64.65 | 64.40 | |
|
|TruthfulQA (0-shot) | 71.25 | 61.21 | 77.91 | |
|
|Winogrande (5-shot) | 80.66 | 80.19 .| 84.69 | |
|
|GSM8k (5-shot) . | 69.37 | 65.13 | 66.72 | |
|
``` |
|
|
|
## 🧩 Configuration |
|
|
|
```yaml |
|
base_model: paulml/OGNO-7B |
|
gate_mode: hidden |
|
dtype: bfloat16 |
|
experts: |
|
- source_model: mlabonne/AlphaMonarch-7B |
|
positive_prompts: |
|
- "Mathematics" |
|
- "Logical Reasoning" |
|
- "Intelligent Conversations" |
|
- "Thoughtful Analysis" |
|
- "Biology" |
|
- "Medicine" |
|
- "Problem-solving Dialogue" |
|
- "Physics" |
|
- "Emotional intelligence" |
|
|
|
negative_prompts: |
|
- "History" |
|
- "Philosophy" |
|
- "Linguistics" |
|
- "Literature" |
|
- "Art and Art History" |
|
- "Music Theory and Composition" |
|
- "Performing Arts (Theater, Dance)" |
|
|
|
- source_model: Syed-Hasan-8503/Tess-Coder-7B-Mistral-v1.0 |
|
positive_prompts: |
|
- "Coding" |
|
- "Algorithm Design" |
|
- "Problem Solving" |
|
- "Software Development" |
|
- "Computer" |
|
- "Code Refactoring" |
|
- "Web development" |
|
- "Machine learning" |
|
negative_prompts: |
|
- "Education" |
|
- "Law" |
|
- "Theology and Religious Studies" |
|
- "Communication Studies" |
|
- "Business and Management" |
|
- "Agricultural Sciences" |
|
- "Nutrition and Food Science" |
|
- "Sports Science" |
|
|
|
``` |
|
|
|
## 💻 Usage |
|
|
|
```python |
|
!pip install -qU transformers bitsandbytes accelerate |
|
|
|
from transformers import AutoTokenizer |
|
import transformers |
|
import torch |
|
|
|
model = "abideen/MonarchCoder-MoE-2x7B" |
|
|
|
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"]) |
|
``` |