Model reference · open weights
Intern-S2-Mobius is an open-weight language model from internlm. Intern-S2-Mobius-FP8 (FP8) weighs 38.5 GB; the smallest configuration that runs it is L40S 48 GB.
Summary of the internlm/Intern-S2-Mobius model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | internlm |
|---|---|
| Released | 2026-07-29 |
| Parameters | 36.0B |
| VRAM | 38.5 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 5090 32 GB 5 smaller cards | — | — | — | |
| L40S 48 GB | 10 | 3 | 135K | 44.0 GB |
| A100 80 GB FP8 without its speed-up here | 125 | 46 | all 256K | 78.2 GB |
| H100 80 GB | 103 | 38 | all 256K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 156 | 57 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 201 | 74 | all 256K | 107 GB |
| H200 141 GB | 305 | 113 | all 256K | 138 GB |
| B200 180 GB | 427 | 158 | all 256K | 176 GB |
| 2× RTX 4090 24 GB tensor parallel | 10 | 4 | 148K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel · FP8 without its speed-up here | 11 | 4 | 152K | 23.4 GB a card |
| 2× RTX 5090 32 GB tensor parallel | 62 | 23 | all 256K | 31.0 GB a card |
| 2× L40S 48 GB tensor parallel | 149 | 55 | all 256K | 44.0 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 41.3 GB | 41.8 GB |
| 5 | 42.5 GB | 45.0 GB |
| 8 | 43.4 GB | 47.4 GB |
| 16 | 45.7 GB | 53.8 GB |
| 32 | 50.5 GB | 66.6 GB |
| 64 | 60.0 GB | 92.2 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Intern-S2-Mobius ↗ | 36.0B | BF16 | 73.0 GB | A100 80 GB |
| Intern-S2-Mobius-FP8 (above) ↗ | 36.0B | FP8 | 38.5 GB | L40S 48 GB |
From the model card
💻Github Repo • 🤗Model Collections • 🌳Arch Space
We introduce Intern-S2-Mobius, a 35B foundation model built on the Mobius-v0 architecture realized by Xtuner and LMDeploy. Instead of binding knowledge storage and reasoning computation layer by layer as in conventional Transformer models, Mobius organizes knowledge into a globally shared Memory and lets multiple Reasoners iteratively query and refine hidden states against this shared repository.
This knowledge-reasoning separation gives Intern-S2-Mobius two native capabilities: Backward Residual Connection, where reasoning stages can access knowledge beyond their local layer hierarchy, and Dynamic Latent Reasoning, where deliberation, refinement, and multi-token prediction are internalized into high-density continuous states. Continual-pretrained from Qwen3.5-35B and further post-trained with SFT and RL, Intern-S2-Mobius preserves strong downstream capability while achieving substantially higher end-to-end inference efficiency, with nearly 4x speedup reported in the technical report.
Knowledge-reasoning decoupled architecture. Intern-S2-Mobius separates knowledge vectors from reasoning operators by replacing layer-bound FFN knowledge storage with a globally shared Memory. This gives each Reasoner access to a broader knowledge space and improves knowledge compression compared with a standard Transformer layout.
Backward Residual Connection. Through shared Memory, shallow and deep reasoning stages can access knowledge across the model rather than relying only on forward layer-wise information flow. This enables more flexible cross-layer knowledge composition and helps the model synthesize useful information in fewer reasoning steps.
Dynamic Latent Reasoning. Mobius refines continuous hidden states through recurrent latent iteration before decoding. This internalizes part of the deliberation process, reduces reliance on long visible chain-of-thought, and dynamically allocates computation to different tokens.
Higher inference efficiency with concise reasoning. On reasoning benchmarks, Intern-S2-Mobius reaches comparable or stronger scores than the Qwen3.5-35B baseline while producing markedly shorter reasoning traces and higher request throughput, leading to nearly 4x end-to-end inference speedup in the reported evaluation.
Strong general and scientific performance. Intern-S2-Mobius improves the reported average score over Qwen3.5-35B on general reasoning benchmarks, and shows large gains on scientific tasks such as Biology-Instructions, Mol-Instructions, and MolecularIQ.
We evaluate the Intern-S2-Mobius on various benchmarks, including general datasets and scientific datasets. We report the performance comparison with Qwen3.5-35B below. We use the OpenCompass to evaluate all models. For text benchmarks, Intern-S2-Mobius is evaluated with a maximum inference length of 64K tokens on MMLU Pro, SimpleQA, and HLE, and 128K tokens on the remaining text benchmarks.
on a linear-algebra multiple-choice question. Both models select the correct
answer (Option C). Token counts are computed using the Qwen3.5-35B tokenizer. Mobius completes the same reasoning steps with fewer tokens, which mainly benefits from the model's elimination of repeated derivation and checks.
The Intern-S2-Mobius release is a 35B model stored in bfloat16 weight format. This guide provides deployment examples for the following configurations:
NOTE: The commands below are reference configurations. Inference frameworks are under active development, so use the latest framework documentation and your local validation results when tuning production deployments.
Intern-S2-Mobius can be deployed using any of the following LLM inference frameworks:
We recommend using the following hyperparameters to ensure better results
top_p = 1
top_k = 50
min_p = 0.0
temperature = 0.8
Use the latest LMDeploy with Intern-S2-Mobius support. The examples below use single-GPU serving.
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
Use a recent Transformers version with remote-code loading enabled.
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))
Us
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.