Edit model card

Disclaimer and Requirements

This model is a clone of upstage/solar-pro-preview-instruct compressed using ZipNN. Compressed losslessly to 67% its original size, ZipNN saved ~15GB in storage and potentially ~40TB in data transfer monthly.

Requirement

In order to use the model, ZipNN is necessary:

pip install zipnn

Use This Model

# Use a pipeline as a high-level helper
from transformers import pipeline
from zipnn import zipnn_hf

zipnn_hf()

messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="royleibov/solar-pro-preview-instruct-ZipNN-Compressed")
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
from zipnn import zipnn_hf

zipnn_hf()

tokenizer = AutoTokenizer.from_pretrained("royleibov/solar-pro-preview-instruct-ZipNN-Compressed")
model = AutoModelForCausalLM.from_pretrained(
    "royleibov/solar-pro-preview-instruct-ZipNN-Compressed",
    device_map="cuda",  
    torch_dtype="auto",  
    trust_remote_code=True,
)

ZipNN

ZipNN also allows you to seemlessly save local disk space in your cache after the model is downloaded.

To compress the cached model, simply run:

python zipnn_compress_path.py safetensors --model royleibov/solar-pro-preview-instruct-ZipNN-Compressed --hf_cache

The model will be decompressed automatically and safely as long as zipnn_hf() is added at the top of the file like in the example above.

To decompress manualy, simply run:

python zipnn_decompress_path.py --model royleibov/solar-pro-preview-instruct-ZipNN-Compressed --hf_cache

Solar Pro Preview: The most intelligent LLM on a single GPU

Summary

We introduce Solar Pro Preview, an advanced large language model (LLM) with 22 billion parameters designed to fit into a single GPU. Solar Pro Preview shows superior performance compared to LLMs with less than 30 billion parameters and delivers performance comparable to models over three times its size, such as Llama 3.1 with 70 billion parameters.

Solar Pro Preview is developed using an enhanced version of our previous depth up-scaling method, which scales a Phi-3-medium model with 14 billion parameters to 22 billion parameters, intended to run on a GPU with 80GB of VRAM. Our carefully curated training strategy and dataset have significantly enhanced performance from Phi-3-medium, particularly on the MMLU-Pro and IFEval benchmarks, both respected for evaluating a model’s knowledge and instruction-following abilities.

Solar Pro Preview is a pre-release version of the official Solar Pro, with limitations on language coverage and a maximum context length of 4K. However, we believe Solar Pro Preview not only stands out as a highly efficient and capable model, but has the potential to be further extended to cover more languages and capabilities. The official version of Solar Pro will be released this November 2024 with expanded language support beyond English and longer context windows. To stay informed about the latest updates, please sign up for our mailing list. If you have any feedback or questions about the model, please visit our model discussion board and connect with us directly.

Usage

Solar Pro Preview is an instruction-tuned language model. This model is specifically designed to follow instructions and engage in conversational tasks.

Chat Template

As an instruction-tuned model, Solar Pro Preview uses the ChatML template for optimal performance in conversational and instruction-following tasks. This approach aligns with the model's training data and is likely to yield more accurate and relevant responses. For instance, a question formatted in the ChatML template looks like the following, where the model generates the answer after <|im_start|>assistant. Note that system prompts are not currently supported in Solar Pro Preview. This feature will be available in the official release.

<|im_start|>user
Please, introduce yourself.<|im_end|>
<|im_start|>assistant

Text Generation

Below is an example inference code that details loading the model, applying the chat template, and generating the model answer.

# Install requirements
# !pip install transformers==4.44.2 torch==2.3.1 flash_attn==2.5.8 accelerate==0.31.0

# Load model
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from zipnn import zipnn_hf

zipnn_hf()

tokenizer = AutoTokenizer.from_pretrained("royleibov/solar-pro-preview-instruct-ZipNN-Compressed")
model = AutoModelForCausalLM.from_pretrained(
    "royleibov/solar-pro-preview-instruct-ZipNN-Compressed",
    device_map="cuda",  
    torch_dtype="auto",  
    trust_remote_code=True,
)
# Apply chat template
messages = [
    {"role": "user", "content": "Please, introduce yourself."},
]
prompt = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
# Generate text
outputs = model.generate(prompt, max_new_tokens=512)
print(tokenizer.decode(outputs[0]))

Solar Pro Preview is also available as an API in Upstage Console and we provide other easy-to-use methods as well. If you'd like to explore these options, please visit our blog page.

Evaluation

Solar Pro Preview is evaluated over a variety of benchmarks.

Solar-pro-preview Phi-3-medium-4K-instruct Phi-3.5-MoE-instruct Gemma 2 27B IT Llama-3.1-8B-instruct Llama-3.1-70B-instruct
Release Date 2024.09.08 2024.05.02 2024.08.20 2024.06.25 2024.06.18 2024.06.16
Model size 22B 14B 41.9B (6.6B) 27B 8B 70B
License MIT MIT MIT gemma llama3.1 llama3.1
MMLU 79.14 78.02 78.66 76.13 68.25 82.09
MMLU Pro 52.11 47.51 46.99 45.68 37.88 53.01
IFEval 84.37 64.37 69.15 75.36 77.40 84.13
ARC-C 68.86 66.55 68.34 74.06 60.24 70.39
GPQA 36.38 35.78 34.38 36.38 35.26 41.06
HellaSwag 86.36 85.68 85.97 86.02 80.08 86.42
EQBench 77.91 76.78 77.22 80.32 65.80 82.52
BigBench Hard 67.31 63.09 62.58 64.88 51.06 69.54
MUSR 45.85 42.28 46.79 45.67 29.68 47.22
GSM8K 89.69 84.76 82.26 62.85 75.97 92.12
MBPP 61.59 60.27 N/A (*) 63.08 52.20 65.51

(*) Since the model tends to generate a chat template, the score can't be accurately determined.

Evaluation Protocol

For easy reproduction of our evaluation results, we list the evaluation tools and settings used below. All evaluations are conducted with NVIDIA DGX H100.

Evaluation setting Metric Evaluation tool
MMLU 5-shot macro_avg / acc lm-eval-harness #928e8bb
MMLU Pro 5-shot macro_avg / acc lm-eval-harness #928e8bb
IFEval 0-shot, chat_template mean of prompt_level_strict_acc and instruction_level_strict_acc lm-eval-harness #928e8bb
ARC-C 25-shot acc_norm lm-eval-harness #928e8bb
GPQA 0-shot acc_norm lm-eval-harness #928e8bb
HellaSwag 10-shot acc_norm lm-eval-harness #928e8bb
EQBench 0-shot, chat_template eqbench score lm-eval-harness #928e8bb
BigBench Hard 3-shot macro_avg / acc_norm lm-eval-harness #928e8bb
MUSR 0-shot macro_avg / acc_norm lm-eval-harness #928e8bb
GSM8K 8-shot, CoT acc, exact_match & strict_extract lm-eval-harness #928e8bb
MBPP 0-shot pass@1 bigcode-evaluation-harness #0f3e95f

The results may vary slightly for different batch sizes and experimental environment such as GPU type.

Contact us

For any questions and suggestions regarding the model, please visit the discussion board.

Learn more:

Also try out:

Downloads last month
15
Inference Examples
Inference API (serverless) does not yet support model repos that contain custom code.

Model tree for royleibov/solar-pro-preview-instruct-ZipNN-Compressed

Finetuned
(2)
this model