SOLAR-MoE
Collection
SOLAR-10.7b MoE configurations β’ 5 items β’ Updated β’ 1
How to use macadeliccc/SOLAR-math-2x10.7b with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="macadeliccc/SOLAR-math-2x10.7b")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("macadeliccc/SOLAR-math-2x10.7b")
model = AutoModelForCausalLM.from_pretrained("macadeliccc/SOLAR-math-2x10.7b")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use macadeliccc/SOLAR-math-2x10.7b with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "macadeliccc/SOLAR-math-2x10.7b"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "macadeliccc/SOLAR-math-2x10.7b",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/macadeliccc/SOLAR-math-2x10.7b
How to use macadeliccc/SOLAR-math-2x10.7b with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "macadeliccc/SOLAR-math-2x10.7b" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "macadeliccc/SOLAR-math-2x10.7b",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "macadeliccc/SOLAR-math-2x10.7b" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "macadeliccc/SOLAR-math-2x10.7b",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use macadeliccc/SOLAR-math-2x10.7b with Docker Model Runner:
docker model run hf.co/macadeliccc/SOLAR-math-2x10.7b
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("macadeliccc/SOLAR-math-2x10.7b")
model = AutoModelForCausalLM.from_pretrained("macadeliccc/SOLAR-math-2x10.7b")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))This model is part of MoE experimentation. The other solar models in the collection are available here
If you like this model, version 2 is even better! It is competitve with GPT-3.5 Turbo and Gemini Pro. It exceeds the scores of Mixtral8x7b macadeliccc/SOLAR-math-2x10.7b-v0.2
Example also available in colab
from transformers import AutoModelForCausalLM, AutoTokenizer
def generate_response(prompt):
"""
Generate a response from the model based on the input prompt.
Args:
prompt (str): Prompt for the model.
Returns:
str: The generated response from the model.
"""
# Tokenize the input prompt
inputs = tokenizer(prompt, return_tensors="pt")
# Generate output tokens
outputs = model.generate(**inputs, max_new_tokens=512, eos_token_id=tokenizer.eos_token_id, pad_token_id=tokenizer.pad_token_id)
# Decode the generated tokens to a string
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response
# Load the model and tokenizer
model_id = "macadeliccc/SOLAR-math-2x10.7b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True)
prompt = "Explain the proof of Fermat's Last Theorem and its implications in number theory."
print("Response:")
print(generate_response(prompt), "\n")
| Model | AGIEval | GPT4All | TruthfulQA | Bigbench | Average |
|---|---|---|---|---|---|
| SOLAR-math-2x10.7b | 47.2 | 75.18 | 64.73 | 45.15 | 58.07 |
| Task | Version | Metric | Value | Stderr | |
|---|---|---|---|---|---|
| agieval_aqua_rat | 0 | acc | 30.31 | Β± | 2.89 |
| acc_norm | 30.31 | Β± | 2.89 | ||
| agieval_logiqa_en | 0 | acc | 43.78 | Β± | 1.95 |
| acc_norm | 43.93 | Β± | 1.95 | ||
| agieval_lsat_ar | 0 | acc | 21.74 | Β± | 2.73 |
| acc_norm | 19.13 | Β± | 2.60 | ||
| agieval_lsat_lr | 0 | acc | 57.25 | Β± | 2.19 |
| acc_norm | 56.47 | Β± | 2.20 | ||
| agieval_lsat_rc | 0 | acc | 68.77 | Β± | 2.83 |
| acc_norm | 68.03 | Β± | 2.85 | ||
| agieval_sat_en | 0 | acc | 78.16 | Β± | 2.89 |
| acc_norm | 79.13 | Β± | 2.84 | ||
| agieval_sat_en_without_passage | 0 | acc | 47.57 | Β± | 3.49 |
| acc_norm | 44.66 | Β± | 3.47 | ||
| agieval_sat_math | 0 | acc | 41.36 | Β± | 3.33 |
| acc_norm | 35.91 | Β± | 3.24 |
Average: 47.2%
| Task | Version | Metric | Value | Stderr | |
|---|---|---|---|---|---|
| arc_challenge | 0 | acc | 59.22 | Β± | 1.44 |
| acc_norm | 61.43 | Β± | 1.42 | ||
| arc_easy | 0 | acc | 84.26 | Β± | 0.75 |
| acc_norm | 83.63 | Β± | 0.76 | ||
| boolq | 1 | acc | 88.69 | Β± | 0.55 |
| hellaswag | 0 | acc | 65.98 | Β± | 0.47 |
| acc_norm | 84.29 | Β± | 0.36 | ||
| openbookqa | 0 | acc | 34.20 | Β± | 2.12 |
| acc_norm | 47.20 | Β± | 2.23 | ||
| piqa | 0 | acc | 81.83 | Β± | 0.90 |
| acc_norm | 82.59 | Β± | 0.88 | ||
| winogrande | 0 | acc | 78.45 | Β± | 1.16 |
Average: 75.18%
| Task | Version | Metric | Value | Stderr | |
|---|---|---|---|---|---|
| truthfulqa_mc | 1 | mc1 | 48.47 | Β± | 1.75 |
| mc2 | 64.73 | Β± | 1.53 |
Average: 64.73%
| Task | Version | Metric | Value | Stderr | |
|---|---|---|---|---|---|
| bigbench_causal_judgement | 0 | multiple_choice_grade | 61.05 | Β± | 3.55 |
| bigbench_date_understanding | 0 | multiple_choice_grade | 68.56 | Β± | 2.42 |
| bigbench_disambiguation_qa | 0 | multiple_choice_grade | 35.27 | Β± | 2.98 |
| bigbench_geometric_shapes | 0 | multiple_choice_grade | 31.20 | Β± | 2.45 |
| exact_str_match | 0.00 | Β± | 0.00 | ||
| bigbench_logical_deduction_five_objects | 0 | multiple_choice_grade | 30.00 | Β± | 2.05 |
| bigbench_logical_deduction_seven_objects | 0 | multiple_choice_grade | 23.43 | Β± | 1.60 |
| bigbench_logical_deduction_three_objects | 0 | multiple_choice_grade | 46.00 | Β± | 2.88 |
| bigbench_movie_recommendation | 0 | multiple_choice_grade | 35.60 | Β± | 2.14 |
| bigbench_navigate | 0 | multiple_choice_grade | 57.50 | Β± | 1.56 |
| bigbench_reasoning_about_colored_objects | 0 | multiple_choice_grade | 55.80 | Β± | 1.11 |
| bigbench_ruin_names | 0 | multiple_choice_grade | 45.98 | Β± | 2.36 |
| bigbench_salient_translation_error_detection | 0 | multiple_choice_grade | 40.58 | Β± | 1.56 |
| bigbench_snarks | 0 | multiple_choice_grade | 66.85 | Β± | 3.51 |
| bigbench_sports_understanding | 0 | multiple_choice_grade | 71.40 | Β± | 1.44 |
| bigbench_temporal_sequences | 0 | multiple_choice_grade | 56.40 | Β± | 1.57 |
| bigbench_tracking_shuffled_objects_five_objects | 0 | multiple_choice_grade | 24.00 | Β± | 1.21 |
| bigbench_tracking_shuffled_objects_seven_objects | 0 | multiple_choice_grade | 17.09 | Β± | 0.90 |
| bigbench_tracking_shuffled_objects_three_objects | 0 | multiple_choice_grade | 46.00 | Β± | 2.88 |
Average: 45.15%
Average score: 58.07%
Elapsed time: 04:05:27
@misc{kim2023solar,
title={SOLAR 10.7B: Scaling Large Language Models with Simple yet Effective Depth Up-Scaling},
author={Dahyun Kim and Chanjun Park and Sanghoon Kim and Wonsung Lee and Wonho Song and Yunsu Kim and Hyeonwoo Kim and Yungi Kim and Hyeonju Lee and Jihoo Kim and Changbae Ahn and Seonghoon Yang and Sukyung Lee and Hyunbyung Park and Gyoungjin Gim and Mikyoung Cha and Hwalsuk Lee and Sunghun Kim},
year={2023},
eprint={2312.15166},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Detailed results can be found here
| Metric | Value |
|---|---|
| Avg. | 73.37 |
| AI2 Reasoning Challenge (25-Shot) | 68.43 |
| HellaSwag (10-Shot) | 86.31 |
| MMLU (5-Shot) | 66.90 |
| TruthfulQA (0-shot) | 64.21 |
| Winogrande (5-shot) | 83.35 |
| GSM8k (5-shot) | 71.04 |
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="macadeliccc/SOLAR-math-2x10.7b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)