我们推出 Intern-S2-Mobius,这是一个基于 Mobius-v0 架构构建的 35B 基础模型,该架构由 Xtuner 和 LMDeploy 实现。与传统的 Transformer 模型将知识存储和推理计算逐层绑定不同,Mobius 将知识组织为全局共享的 记忆模块,并让多个 推理器 通过迭代查询和精炼,针对这一共享记忆库持续优化隐藏状态。
这种知识与推理的分离赋予 Intern-S2-Mobius 两大原生能力:反向残差连接,使推理阶段能够访问其局部层级结构之外的知识;以及 动态潜在推理,将深思熟虑、精炼优化和多 token 预测内化到高密度连续状态中。Intern-S2-Mobius 在 Qwen3.5-35B 的基础上进行持续预训练,并进一步通过 SFT 和 RL 进行后训练,在保持强大下游能力的同时,实现了显著更高的端到端推理效率,技术报告中显示其加速效果接近 4 倍。
知识与推理解耦的架构。 Intern-S2-Mobius 将传统的逐层 FFN 知识存储替换为全局共享的记忆模块,从而实现知识向量与推理算子的分离。这使得每个推理器都能访问更广泛的知识空间,相比标准 Transformer 布局,知识压缩效率得到提升。
反向残差连接。 通过共享记忆模块,浅层和深层的推理阶段可以跨模型访问知识,而非仅依赖前向的逐层信息流。这实现了更灵活的跨层知识组合,帮助模型以更少的推理步骤综合有效信息。
动态潜在推理。 Mobius 在解码之前通过循环潜在迭代精炼连续的隐藏状态。这内化了部分推理过程,减少了对冗长可见思维链的依赖,并动态地为不同 token 分配计算资源。
更简洁的推理,更高的推理效率。 在推理基准测试中,Intern-S2-Mobius 取得了与 Qwen3.5-35B 基线相当或更优的成绩,同时生成了明显更短的推理轨迹并具有更高的请求吞吐量,在报告的评估中实现了接近 4 倍的端到端推理加速。
强大的通用与科学任务表现。 Intern-S2-Mobius 在通用推理基准上相较 Qwen3.5-35B 提升了报告的平均得分,并在 Biology-Instructions、Mol-Instructions 和 MolecularIQ 等科学任务上展现出显著的增益。
图1:推理基准上的推理效率。Intern-S2-Mobius 在保持强劲推理性能的同时,相较 Transformer 基线提升了请求吞吐量,其增益主要来源于更短、更紧凑的推理轨迹。
图2:由 Qwen3.5 持续预训练得到的 Mobius 的平均输出长度。
我们在多种基准测试上对 Intern-S2-Mobius 进行了评估,涵盖通用数据集与科学数据集。下表展示了与 Qwen3.5-35B 的性能对比。所有模型均使用 OpenCompass 进行评测。对于文本基准,Intern-S2-Mobius 在 MMLU Pro、SimpleQA 和 HLE 上的最大推理长度为 64K tokens,其余文本基准则为 128K tokens。
图3:通用与科学基准上的性能对比。每行中的最高分以 加粗 标注。
图4:Intern-S2-Mobius-35B 与 Qwen3.5-35B 在线性代数选择题上的逐步推理对比。两个模型均选出了正确答案(选项 C)。Token 数量使用 Qwen3.5-35B tokenizer 计算。Mobius 以更少的 token 完成相同推理步骤,主要得益于模型消除了重复的推导与校验过程。
Intern-S2-Mobius 发布版本为 35B 模型,权重格式为 bfloat16。本指南提供以下配置的部署示例:
注意:以下命令为参考配置。推理框架仍在积极开发中,生产环境调优时请参阅最新框架文档并结合本地验证结果。
Intern-S2-Mobius 可通过以下任一 LLM 推理框架进行部署:
为获得更优效果,我们建议使用以下超参数配置:
top_p = 1
top_k = 50
min_p = 0.0
temperature = 0.8请使用支持Intern-S2-Mobius的最新版LMDeploy。以下示例展示单GPU部署方式。
lmdeploy serve api_server \
internlm/Intern-S2-Mobius \
--trust-remote-code \
--backend pytorch \
--tp 1 \
--speculative-algorithm qwen3_5_mtp \
--speculative-num-draft-tokens 4 \
--dtype bfloat16 \
--max-batch-size 64 lmdeploy serve api_server \
internlm/Intern-S2-Mobius \
--trust-remote-code \
--backend pytorch \
--dtype bfloat16 \
--tp 1 请使用支持远程代码加载的最新版 Transformers。
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
model_path = "internlm/Intern-S2-Mobius"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
model_path,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
device_map="auto",
).eval()
messages = [
{"role": "user", "content": "Give me a short introduction to Intern-S2-Mobius."}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
output_ids = model.generate(
**inputs,
max_new_tokens=512,
do_sample=True,
temperature=0.8,
top_p=1,
)
response_ids = output_ids[0][inputs["input_ids"].shape[-1]:]
print(tokenizer.decode(response_ids, skip_special_tokens=True))请使用最新的 vLLM Docker 镜像,或通过源码构建以支持 Intern-S2-Mobius。
vllm serve \
internlm/Intern-S2-Mobius \
--trust-remote-code \
--tensor-parallel-size 2 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--spec-method mtp \
--spec-tokens 4vllm serve \
internlm/Intern-S2-Mobius \
--trust-remote-code \
--tensor-parallel-size 2 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder 请使用 lmsysorg/sglang:dev Docker 镜像,或基于近期源码构建并启用 Intern-S2-Mobius 支持。关于 Docker 命令、已验证的部署方案、基准测试及使用示例,请参阅 SGLang cookbook。
sglang serve \
--model-path internlm/Intern-S2-Mobius \
--trust-remote-code \
--tp 2 \
--reasoning-parser qwen3 \
--tool-call-parser qwen3_coder \
--speculative-algorithm NEXTN \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4sglang serve \
--model-path internlm/Intern-S2-Mobius \
--trust-remote-code \
--tp 2 \
--reasoning-parser qwen3 \
--tool-call-parser qwen3_coder