@_akhaliq: Solar Open2 250B 刚刚在 Hugging Face 上发布 https://huggingface.co/upstage/Solar-Open2-250B…
摘要
Upstage 发布了 Solar Open2 250B,这是一个 2500 亿参数的混合专家模型,仅需 150 亿活跃参数,采用混合注意力机制,支持高效长上下文推理,最高可达 100 万 token,专为代理型用例(如工具调用和多步推理)设计。
查看缓存全文
缓存时间: 2026/07/22 18:27
Solar Open2 250B 刚刚在 Hugging Face 上发布:https://huggingface.co/upstage/Solar-Open2-250B…
upstage/Solar-Open2-250B · Hugging Face
来源:https://huggingface.co/upstage/Solar-Open2-250B Solar Open 2 (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/assets/solar-open2.gif)
https://huggingface.co/upstage/Solar-Open2-250B#solar-open-2Solar Open 2
Solar Open 2 是 Upstage 的 250B-15B 开放权重大语言模型,专为智能体场景(如办公效率、文档密集型工作和编码)而构建。其具有线性注意力的混合注意力混合专家(MoE)架构即使在长上下文设置下也能实现高效推理。
技术报告 (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/Solar_Open_2_Tech_Report.pdf) | 博客 (https://www.upstage.ai/blog/en/solar-open-2?utm_source=hf&utm_medium=referral&utm_campaign=so2-launch&utm_content=modelcard) | Upstage 网站 (https://www.upstage.ai/) | 尝试 Demo(至 7/31) (https://open2-beta.upstage.ai/)
https://huggingface.co/upstage/Solar-Open2-250B#highlights亮点
Highlights_en (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/assets/Highlights_en.png) Highlights_kr (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/assets/Highlights_kr.png)
- **智能体专家:**专为智能体工作流设计——工具调用、多步推理和端到端任务执行。在智能体基准测试中与最强的开放权重模型竞争。
- **极低推理成本:**一个 250B 参数的 MoE,每次 token 仅激活 15B,基于混合注意力栈构建,该栈交织了三个线性注意力层和一个 softmax 注意力层——以小型模型的推理成本获得大型模型的能力。
- **100 万 Token 上下文:**线性注意力层在其循环状态中固有地编码 token 顺序,因此完全移除位置编码(NoPE),突破了 RoPE 外推限制。48 层中只有 12 层保留 KV 缓存,将长上下文内存控制在大约是同形状全 softmax 模型的四分之一。
- **高效低成本训练:**通过从 Solar Open 1 (102B) 选择性权重转移初始化——仅继承因架构变化而保留的 2.3% 的权重,其余部分随机初始化——这提高了起点并加速了 250B 规模下的早期收敛。
- **多语言:**英语、韩语和日语。
https://huggingface.co/upstage/Solar-Open2-250B#model-overview模型概述
| 字段 | 值 |
|---|---|
| 模型名称 | Solar Open 2 (250B-A15B) |
| 架构 | 混合注意力混合专家 (MoE) |
| 总参数 | 250B (250,287,794,944) |
| 激活参数 | 15B (每个 token) |
| 层数 | 48 |
| 隐藏大小 | 4096 |
| 注意力机制 | 混合 — Softmax + 线性注意力,模式 [Softmax, Linear×3] × 12 |
| 位置编码 | NoPE(无旋转位置编码) |
| 注意力头数 (GQA) | (Softmax) 64 查询 / 8 KV, (Linear) 64 查询 |
| 专家数 | 321 (320 个路由 + 1 个共享) |
| 激活专家数 | 8 个路由 (top-8) + 1 个共享 |
| 词表大小 | 196,608 |
| 上下文长度 | 100 万 |
| 预训练 Token 数 | ~12 万亿 |
| 支持语言 | 英语、韩语、日语 |
| 训练硬件 | NVIDIA B200 GPU |
| 训练 GPU 时间 | 200 万 GPU 小时 |
| 许可协议 | Upstage Solar 许可协议(见 LICENSE (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/LICENSE)) |
| 硬件要求 | 最低:H200 × 4 台 / 推荐:H200 × 8 台 |
https://huggingface.co/upstage/Solar-Open2-250B#performance性能
https://huggingface.co/upstage/Solar-Open2-250B#english-benchmarks英语基准测试
| 基准测试 | Solar Open 2 250B-A15B | Solar Open 100B 102B-A12B | Command A+ 218B-A25B | Mistral Medium 3.5 128B dense, high | MiMo-V2.5 310B-A15B | DeepSeek-V4-Flash 284B-A13B, max |
|---|---|---|---|---|---|---|
| 知识 & 推理 | ||||||
| MMLU-Pro | 86.2 | 80.4 | 79.0 | 81.2 | 84.6 | 85.9 |
| GPQA-Diamond | 86.3 | 66.2 | 75.6 | 77.5 | 83.0 | 88.9 |
| HLE (w/o tools) | 28.8 | 11.5 | 11.4 | 12.8 | 24.3 | 32.3 |
| LiveCodeBench (v6) | 92.4 | 56.5 | 86.1 | 84.9 | 89.1 | 92.3 |
| ArtifactsBench | 55.9 | 43.4 | 42.8 | 49.8 | 59.3 | 61.0 |
| HMMT 260 | 93.9 | 68.9 | 73.5 | 62.9 | 61.4 | 94.7 |
| AIME 2026 | 95.7 | 87.7 | 96.0 | 89.0 | 92.3 | 97.0 |
| IF / 长上下文 | ||||||
| Multi-Challenge | 61.0 | 40.5 | 45.8 | 49.8 | 39.0 | 62.0 |
| IFBench | 80.0 | 57.7 | 73.9 | 69.0 | 67.1 | 80.3 |
| AA-LCR | 62.3 | 36.0 | 46.0 | 61.0 | 62.7 | 63.7 |
| 智能体 | ||||||
| SWE-Bench Verified | 70.4 | 15.4 | 14.4 | 69.6 | 73.0 | 73.8 |
| Terminal Bench Hard | 28.3 | 2.3 | 25.0 | 33.3 | 41.7 | 34.1 |
| APEX-Agents | 16.6 | 2.4 | 1.6 | 6.1 | 13.4 | 13.2 |
| MCP-Atlas | 58.2 | 34.4 | 27.2 | 30.7 | 63.9 | 58.2 |
| τ3 (banking) | 19.6 | 7.4 | 5.8 | 5.8 | 8.7 | 22.3 |
| GDPval-AA v2 (ELO) | 1128 | – | 712 | 929 | 1145 | 1187 |
https://huggingface.co/upstage/Solar-Open2-250B#korean-benchmarks韩语基准测试
| 基准测试 | Solar Open 2 250B-A15B | Solar Open 100B 102B-A12B | MiMo-V2.5 310B-A15B | DeepSeek-V4-Flash 284B-A13B, max | Claude Haiku 4.5 closed | GPT-5.4 mini closed |
|---|---|---|---|---|---|---|
| KMMLU-Pro | 78.4 | 64.0 | 69.1 | 78.9 | 67.9 | 78.1 |
| CLIcK | 90.7 | 78.9 | 78.4 | 89.2 | 53.5 | 89.6 |
| HAE-RAE v1.1 | 73.8 | 73.3 | 61.7 | 73.1 | 38.5 | 69.4 |
| Ko-AIME’25† | 97.7 | 80.0 | 88.0 | 98.0 | 81.7 | 90.7 |
| HRM8K | 92.2 | 87.6 | 90.7 | 93.4 | 90.6 | 91.3 |
| KBank-MMLU† | 80.8 | 65.5 | 71.0 | 79.5 | 68.9 | 79.0 |
| KBL | 75.5 | 65.5 | 69.8 | 72.8 | 69.9 | 75.3 |
| KorMedMCQA | 93.0 | 84.4 | 87.7 | 94.1 | 87.0 | 94.2 |
| Ko-GDPval† | 86.8 | 3.4 | 81.0 | 85.0 | 68.3 | 59.4 |
† 内部基准测试。
https://huggingface.co/upstage/Solar-Open2-250B#quickstart快速开始
以下示例假设具有 8 个 GPU,每个 GPU 至少 141 GB 内存(例如 NVIDIA H200 或 B200 GPU)。实际内存需求取决于上下文长度和服务设置。
https://huggingface.co/upstage/Solar-Open2-250B#transformersTransformers
使用具有原生 Solar Open 2 支持的 Upstage Transformers 分支 (https://github.com/upstageAI/transformers/tree/v5.14.1-solar-open2) 进行本地实验。对于生产服务,我们推荐使用 vLLM。
安装依赖项:
在运行此命令之前,请为您的平台安装支持 CUDA 的 PyTorch 构建。
fla-core启用优化的 KDA 内核;没有它,Transformers 会使用一个慢得多的 PyTorch 回退。
python -m pip install -U \ "git+https://github.com/upstageAI/[email protected]" \ "fla-core[cuda]>=0.5.1" \ accelerate einops
运行模型:
`` import torch from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = “upstage/Solar-Open2-250B”
tokenizer = AutoTokenizer.from_pretrained( model_id, trust_remote_code=False, ) model = AutoModelForCausalLM.from_pretrained( model_id, device_map=“auto”, dtype=torch.bfloat16, trust_remote_code=False, ) model.eval()
messages = [ {“role”: “user”, “content”: “What is Upstage?”}, ] prompt = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, reasoning_effort=“high”, think_render_option=“preserved”, ) input_device = model.get_input_embeddings().weight.device model_inputs = tokenizer(prompt, return_tensors=“pt”).to(input_device)
generated_ids = model.generate( **model_inputs, max_new_tokens=32768, do_sample=True, temperature=1.0, top_p=1.0, )
new_token_ids = generated_ids[0, model_inputs.input_ids.shape[-1] :].tolist() think_end_id = tokenizer.convert_tokens_to_ids(“<|think:end|>”)
if think_end_id in new_token_ids: # Split immediately after the final <|think:end|> token. answer_start = len(new_token_ids) - new_token_ids[::-1].index(think_end_id) else: # No end marker usually means generation stopped while the model was reasoning. answer_start = len(new_token_ids)
reasoning = tokenizer.decode( new_token_ids[:answer_start], skip_special_tokens=True, ).strip() answer = tokenizer.decode( new_token_ids[answer_start:], skip_special_tokens=True, ).strip()
print(“[reasoning]”, reasoning) print(“[answer]”, answer) ``
如果回答为空,通常意味着在推理块结束之前生成已达到 max_new_tokens。增加 max_new_tokens 并重试。
https://huggingface.co/upstage/Solar-Open2-250B#serving-with-vllm-recommended使用 vLLM 提供服务(推荐)
https://huggingface.co/upstage/Solar-Open2-250B#option-1-docker选项 1:Docker
下面的镜像基于 vLLM v0.22.0 和 CUDA 12.9。
docker run --rm --gpus all --ipc=host \ -p 8000:8000 \ -v "${HF_HOME:-$HOME/.cache/huggingface}:/root/.cache/huggingface" \ upstage/vllm-solar-open2 \ upstage/Solar-Open2-250B \ --served-model-name solar-open2-250b \ --tensor-parallel-size 8 \ --enable-expert-parallel \ --moe-backend triton \ --default-chat-template-kwargs '{"think_render_option":"preserved"}' \ --reasoning-parser solar_open2 \ --tool-call-parser solar_open2 \ --enable-auto-tool-choice \ --logits-processors vllm.v1.sample.logits_processor.solar_open2:SolarOpen2TemplateLogitsProcessor
https://huggingface.co/upstage/Solar-Open2-250B#option-2-install-from-source选项 2:从源码安装
安装 Upstage 分支 (https://github.com/UpstageAI/vllm/tree/v0.22.0-solar-open2) 同时重用匹配的 vLLM v0.22.0 CUDA 12.9 wheel 包:
`` pip install -U uv
VLLM_PRECOMPILED_WHEEL_LOCATION=“https://github.com/vllm-project/vllm/releases/download/v0.22.0/vllm-0.22.0%2Bcu129-cp38-abi3-manylinux_2_28_x86_64.whl”
VLLM_USE_PRECOMPILED=1
uv pip install –reinstall-package vllm –torch-backend=cu129
“git+https://github.com/UpstageAI/[email protected]”
``
启动服务器:
vllm serve upstage/Solar-Open2-250B \ --served-model-name solar-open2-250b \ --tensor-parallel-size 8 \ --enable-expert-parallel \ --moe-backend triton \ --default-chat-template-kwargs '{"think_render_option":"preserved"}' \ --reasoning-parser solar_open2 \ --tool-call-parser solar_open2 \ --enable-auto-tool-choice \ --logits-processors vllm.v1.sample.logits_processor.solar_open2:SolarOpen2TemplateLogitsProcessor
发送聊天补全请求:
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "solar-open2-250b", "messages": [ {"role": "user", "content": "What is Upstage?"} ], "max_tokens": 131584, "temperature": 1.0, "top_p": 1.0, "reasoning_effort": "high" }'
https://huggingface.co/upstage/Solar-Open2-250B#quantized-versions量化版本
由 NotaAI (https://huggingface.co/nota-ai) 提供的官方量化模型可用于更小 GPU 配置的部署:
- Solar-Open2-250B-Nota-INT4-GlobalPruned (https://huggingface.co/nota-ai/Solar-Open2-250B-Nota-INT4-GlobalPruned)
- Solar-Open2-250B-Nota-NVFP4 (https://huggingface.co/nota-ai/Solar-Open2-250B-Nota-NVFP4)
- Solar-Open2-250B-Nota-INT4 (https://huggingface.co/nota-ai/Solar-Open2-250B-Nota-INT4)
https://huggingface.co/upstage/Solar-Open2-250B#capabilities能力
https://huggingface.co/upstage/Solar-Open2-250B#reasoning推理
使用 reasoning_effort="high" 进行推理,reasoning_effort="none" 进行直接回答。推荐的 vLLM 配置将推理块限制为 131,072 个 token。
| 设置 | 行为 |
|---|---|
none | 直接回答 |
high | 推理,上限为 131,072 个 token |
max_tokens 限制完整回答(包括推理和最终答案),因此请留出超出推理上限的空间。
`` from openai import OpenAI
client = OpenAI(api_key=“EMPTY”, base_url=“http://localhost:8000/v1”)
response = client.chat.completions.create( model=“solar-open2-250b”, messages=[ { “role”: “user”, “content”: “Prove that the square root of 2 is irrational.”, }, ], reasoning_effort=“high”, temperature=1.0, top_p=1.0, max_tokens=131584, )
The reasoning trace is returned separately from the final answer.
print(response.choices[0].message.reasoning) print(response.choices[0].message.content) ``
https://huggingface.co/upstage/Solar-Open2-250B#tool-calling工具调用
工具调用遵循标准的 OpenAI 函数调用接口。使用 --tool-call-parser solar_open2 和 --enable-auto-tool-choice 启动服务器。
`` from openai import OpenAI
client = OpenAI(api_key=“EMPTY”, base_url=“http://localhost:8000/v1”)
tools = [ { “type”: “function”, “function”: { “name”: “get_weather”, “description”: “Get current weather for a location”, “parameters”: { “type”: “object”, “properties”: { “location”: {“type”: “string”}, }, “required”: [“location”], }, }, }, ]
response = client.chat.completions.create( model=“solar-open2-250b”, messages=[ { “role”: “user”, “content”: “What’s the weather in Seoul?”, }, ], tools=tools, )
print(response.choices[0].message.tool_calls) ``
https://huggingface.co/upstage/Solar-Open2-250B#agentic-use智能体使用
Anthropic 的 Claude Code 和 Nous Research 的 Hermes Agent 都可以在本地通过 vLLM 服务的 Solar Open 2 上运行(见 vLLM 部署指南)。单个 vLLM 服务器暴露两个接口:Claude Code 通过 Anthropic 兼容的 /v1/messages 端点连接,Hermes Agent 通过 OpenAI 兼容的 /v1 端点(模型 id solar-open2-250b)连接,每个只需要几个环境变量或一个 provider 条目——无需设置脚本。通过模型上下文协议(MCP)暴露的工具通过相同的工具调用接口到达模型,并且两个智能体都原生支持 MCP。
https://huggingface.co/upstage/Solar-Open2-250B#claude-codeClaude Code
vLLM 暴露了一个 Anthropic 兼容的 /v1/messages 端点,因此 Claude Code 直接连接——无需代理:
export ANTHROPIC_BASE_URL=http://localhost:8000 export ANTHROPIC_AUTH_TOKEN=dummy # any non-empty value export ANTHROPIC_MODEL=solar-open2-250b export ANTHROPIC_SMALL_FAST_MODEL=solar-open2-250b claude
模型名称必须与服务器的 --served-model-name(solar-open2-250b)匹配。
前提条件:已安装 Claude Code CLI 并且 vLLM 服务器正在运行。
https://huggingface.co/upstage/Solar-Open2-250B#hermes-agentHermes Agent
在 ~/.hermes/config.yaml 中将本地 vLLM 服务器注册为自定义的 OpenAI 兼容 provider:
model: provider: custom default: solar-open2-250b base_url: http://localhost:8000/v1 api_key: dummy
https://huggingface.co/upstage/Solar-Open2-250B#best-practices最佳实践
推荐使用的 客户端生成设置(客户端/API 调用方应发送的值)
Solar Open 2 是一个具备推理能力的模型。对于复杂或智能体任务,使用 reasoning_effort="high"。推荐的 vLLM 配置会保留推理轨迹。
| 参数 | 推荐值 | 说明 |
|---|---|---|
reasoning_effort | high | 推荐用于复杂推理和智能体任务 |
temperature | 1.0 | |
top_p | 1.0 | |
max_tokens | 最多 256K | 覆盖推理 + 输出预算 |
按推理模式的推荐设置
| 模式 | temperature | top_p | max_tokens |
|---|---|---|---|
reasoning_effort="none" | 1.0 | 1.0 | 最多 128K |
reasoning_effort="high" | 1.0 | 1.0 | 最多 256K |
- 将
max_tokens设置得足够高(最多 256K)——推理轨迹可能很长,否则可能会截断回答。 - 默认保留推理轨迹(
think_render_option=preserved)。 - 多轮对话:保留对话历史中的先前推理轨迹。默认的
think_render_option=preserved会自动处理此问题——在构建后续请求时不要从之前的轮次中去除推理。 - **解析:**OpenAI 兼容的服务器在单独的
message.reasoning字段中返回推理;使用本地transformers时,请自行根据推理标记分割原始输出。
https://huggingface.co/upstage/Solar-Open2-250B#license许可协议
Solar Open 2 依据 Upstage Solar 许可协议 (https://huggingface.co/upstage/Solar-Open2-250B/blob/main/LICENSE) 分发。
相似文章
Upstage推出'Solar open2',性能与DeepSeek V4 Flash相当。
Upstage发布了Solar Open 2,这是一个拥有2500亿参数、采用混合注意力机制的开放权重MoE模型,性能与DeepSeek V4 Flash相当,同时在智能体工作流中表现出高效性。
@_akhaliq: A.X K2 刚刚在 Hugging Face 上发布 大规模稀疏MoE (688B / 33B 激活参数) https://huggingface.co/skt/A.X-K2
SKT 在 Hugging Face 上发布了 A.X K2,一个 688B 参数的稀疏 MoE 语言模型,拥有 33B 激活参数,原生采用 FP8 训练,并具备 Think/Non-Think 推理模式。
@mishig25: 开源真的回来了 http://hf.co/mistralai/Mistral-Medium-3.5-128B…
Mistral AI发布了Mistral Medium 3.5,这是一个开源的128B稠密模型,支持256k上下文、多模态输入、可配置推理和智能体能力。
deepseek-ai/DeepSeek-V4-Flash-DSpark
DeepSeek 发布 V4 系列混合专家语言模型(Pro 1.6T/49B 激活参数,Flash 284B/13B 激活参数),支持百万 token 上下文,采用混合注意力和推测解码,声称具有最佳开源模型性能。
JetBrains/Mellum2-12B-A2.5B-Thinking
JetBrains releases Mellum2-12B-A2.5B-Thinking, an open-source Mixture-of-Experts reasoning model with 131k context length, trained with RLVR for explicit chain-of-thought reasoning.