Model reference · open weights
SOLAR is an open-weight language model from upstage. SOLAR-10.7B-Instruct-v1.0 (FP16) weighs 21.5 GB; the smallest configuration that runs it is RTX 4090 24 GB.
Summary of the upstage/SOLAR-10.7B-Instruct-v1.0 model card, 2026-10-01
What it is
| Released by | upstage |
|---|---|
| Released | 2023-12-12 |
| Parameters | 10.7B |
| VRAM | 21.5 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 4K each | |||
| RTX 3060 12 GB … RTX 4060 Ti 16 GB 2 smaller cards | — | — | |
| RTX 3090 24 GB | 1 | all 4K | 23.4 GB |
| RTX 4090 24 GB | 1 | all 4K | 23.4 GB |
| RTX 5090 32 GB | 11 | all 4K | 31.0 GB |
| L40S 48 GB | 27 | all 4K | 44.0 GB |
| A100 80 GB | 69 | all 4K | 78.2 GB |
| H100 80 GB | 65 | all 4K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 85 | all 4K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 102 | all 4K | 107 GB |
| H200 141 GB | 140 | all 4K | 138 GB |
| B200 180 GB | 186 | all 4K | 176 GB |
| 2× RTX 4060 Ti 16 GB tensor parallel | 10 | all 4K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 29 | all 4K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 29 | all 4K | 23.4 GB a card |
| Requests at once | 4K tokens each |
|---|---|
| 1 | 22.9 GB |
| 5 | 26.1 GB |
| 8 | 28.6 GB |
| 16 | 35.0 GB |
| 32 | 47.9 GB |
| 64 | 73.6 GB |
One card, with vLLM's small-card settings.
From the model card
(This model is upstage/SOLAR-10.7B-v1.0 fine-tuned version for single-turn conversation.)
We introduce SOLAR-10.7B, an advanced large language model (LLM) with 10.7 billion parameters, demonstrating superior performance in various natural language processing (NLP) tasks. It's compact, yet remarkably powerful, and demonstrates unparalleled state-of-the-art performance in models with parameters under 30B.
We present a methodology for scaling LLMs called depth up-scaling (DUS) , which encompasses architectural modifications and continued pretraining. In other words, we integrated Mistral 7B weights into the upscaled layers, and finally, continued pre-training for the entire model.
SOLAR-10.7B has remarkable performance. It outperforms models with up to 30B parameters, even surpassing the recent Mixtral 8X7B model. For detailed information, please refer to the experimental table. Solar 10.7B is an ideal choice for fine-tuning. SOLAR-10.7B offers robustness and adaptability for your fine-tuning needs. Our simple instruction fine-tuning using the SOLAR-10.7B pre-trained model yields significant performance improvements.
For full details of this model please read our paper.
We utilize state-of-the-art instruction fine-tuning methods including supervised fine-tuning (SFT) and direct preference optimization (DPO) [1].
We used a mixture of the following datasets
where we were careful of data contamination by not using GSM8K samples when generating data and filtering tasks when applicable via the following list.
filtering_task_list = [
'task228_arc_answer_generation_easy',
'ai2_arc/ARC-Challenge:1.0.0',
'ai2_arc/ARC-Easy:1.0.0',
'task229_arc_answer_generation_hard',
'hellaswag:1.1.0',
'task1389_hellaswag_completion',
'cot_gsm8k',
'cot_gsm8k_ii',
'drop:2.0.0',
'winogrande:1.1.0'
]
Using the datasets mentioned above, we applied SFT and iterative DPO training, a proprietary alignment strategy, to maximize the performance of our resulting model.
[1] Rafailov, R., Sharma, A., Mitchell, E., Ermon, S., Manning, C.D. and Finn, C., 2023. Direct preference optimization: Your language model is secretly a reward model. NeurIPS.
[2] Yu, L., Jiang, W., Shi, H., Yu, J., Liu, Z., Zhang, Y., Kwok, J.T., Li, Z., Weller, A. and Liu, W., 2023. Metamath: Bootstrap your own mathematical questions for large language models. arXiv preprint arXiv:2309.12284.
Recently, there have been contamination issues in some models on the LLM leaderboard. We note that we made every effort to exclude any benchmark-related datasets from training. We also ensured the integrity of our model by conducting a data contamination test [3] that is also used by the HuggingFace team [4, 5].
Our results, with result < 0.1, %: being well below 0.9, indicate that our model is free from contamination.
The data contamination test results of HellaSwag and Winograde will be added once [3] supports them.
| Model | ARC | MMLU | TruthfulQA | GSM8K |
|---|---|---|---|---|
| SOLAR-10.7B-Instruct-v1.0 | result < 0.1, %: 0.06 | result < 0.1, %: 0.15 | result < 0.1, %: 0.28 | result < 0.1, %: 0.70 |
[3] https://github.com/swj0419/detect-pretrain-code-contamination
[4] https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/474#657f2245365456e362412a06
[5] https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/265#657b6debf81f6b44b8966230
| Model | H6 | Model Size |
|---|---|---|
| SOLAR-10.7B-Instruct-v1.0 | 74.20 | ~ 11B |
| mistralai/Mixtral-8x7B-Instruct-v0.1 | 72.62 | ~ 46.7B |
| 01-ai/Yi-34B-200K | 70.81 | ~ 34B |
| 01-ai/Yi-34B | 69.42 | ~ 34B |
| mistralai/Mixtral-8x7B-v0.1 | 68.42 | ~ 46.7B |
| meta-llama/Llama-2-70b-hf | 67.87 | ~ 70B |
| tiiuae/falcon-180B | 67.85 | ~ 180B |
| SOLAR-10.7B-v1.0 | 66.04 | ~11B |
| mistralai/Mistral-7B-Instruct-v0.2 | 65.71 | ~ 7B |
| Qwen/Qwen-14B | 65.86 | ~ 14B |
| 01-ai/Yi-34B-Chat | 65.32 | ~34B |
| meta-llama/Llama-2-70b-chat-hf | 62.4 | ~ 70B |
| mistralai/Mistral-7B-v0.1 | 60.97 | ~ 7B |
| mistralai/Mistral-7B-Instruct-v0.1 | 54.96 | ~ 7B |
This model has been fine-tuned primarily for single-turn conversation, making it less suitable for multi-turn conversations such as chat.
Make sure you have the correct version of the transformers library installed:
pip install transformers==4.35.2
Use the following Python code to load the model:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Upstage/SOLAR-10.7B-Instruct-v1.0")
model = AutoModelForCausalLM.from_pretrained(
"Upstage/SOLAR-10.7B-Instruct-v1.0",
device_map="auto",
torch_dtype=torch.float16,
)
conversation = [ {'role': 'user', 'content': 'Hello?'} ]
prompt = tokenizer.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, use_cache=True, max_length=40Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.