我们推出了Solar Pro Preview,这是一款拥有220亿参数的先进大型语言模型(LLM),专为单GPU部署而设计。与参数小于300亿的LLM相比,Solar Pro Preview展现出更卓越的性能,其表现甚至可与规模达自身三倍以上的模型(如拥有700亿参数的Llama 3.1)相媲美。
Solar Pro Preview的开发基于我们先前深度扩展方法的增强版本,该方法将拥有140亿参数的Phi-3-medium模型扩展至220亿参数,旨在能在配备80GB VRAM的GPU上运行。我们精心制定的训练策略和数据集显著提升了Phi-3-medium的性能,尤其在MMLU-Pro和IFEval基准测试中表现突出,这两项基准均被广泛认可用于评估模型的知识水平和指令遵循能力。
Solar Pro Preview是正式版Solar Pro的预发布版本,在语言覆盖范围上存在一定限制,最大上下文长度为4K。尽管如此,我们相信Solar Pro Preview不仅是一款高效且功能强大的模型,还具备进一步扩展以支持更多语言和功能的潜力。正式版Solar Pro将于2024年11月发布,届时将提供英语以外的更多语言支持以及更长的上下文窗口。如欲了解最新动态,请订阅我们的邮件列表。如果您对该模型有任何反馈或疑问,欢迎访问我们的模型讨论区与我们直接交流。
Solar Pro Preview 是一款指令调优语言模型。该模型专为遵循指令和参与对话任务而设计。
作为指令调优模型,Solar Pro Preview 使用 ChatML 模板,以在对话和指令遵循任务中实现最佳性能。这种方式与模型的训练数据相契合,能够产生更准确且相关的响应。例如,采用 ChatML 模板格式化的问题如下所示,模型会在 <|im_start|>assistant 之后生成答案。请注意,Solar Pro Preview 目前不支持系统提示词。此功能将在正式版本中推出。
<|im_start|>user
Please, introduce yourself.<|im_end|>
<|im_start|>assistant以下是一个推理代码示例,详细说明了模型加载、聊天模板应用以及模型回答生成的过程。
# 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
tokenizer = AutoTokenizer.from_pretrained("upstage/solar-pro-preview-instruct")
model = AutoModelForCausalLM.from_pretrained(
"upstage/solar-pro-preview-instruct",
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 也可作为 API 在 Upstage Console 中使用,我们还提供了其他易于使用的方法。如果您想了解这些选项,请访问我们的 博客页面。
Solar Pro Preview 通过多种基准进行了评估。
| 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 | |
|---|---|---|---|---|---|---|
| 发布日期 | 2024.09.08 | 2024.05.02 | 2024.08.20 | 2024.06.25 | 2024.06.18 | 2024.06.16 |
| 模型大小 | 22B | 14B | 41.9B (6.6B) | 27B | 8B | 70B |
| 许可证 | 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 |
(*) 由于该模型倾向于生成聊天模板,因此无法准确确定分数。
为便于复现我们的评估结果,下方列出了所使用的评估工具及设置。所有评估均在 NVIDIA DGX H100 上进行。
| 评估任务 | 评估设置 | 指标 | 评估工具 |
|---|---|---|---|
| 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 | prompt_level_strict_acc 与 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 |
不同的批处理大小以及 GPU 类型等实验环境可能会导致结果略有差异。
如对模型有任何疑问或建议,请访问讨论区。
了解更多:
也可尝试: