internlm/Intern-S2
Intern-S2
Intern-S2
Updated Sep 13, 2026
Parameters
403B
Context
4,096
License
apache-2.0
Updated
Sep 13, 2026
Not yet independently benchmarked.
VRAM fit still works. A composite score appears after two sourced benchmarks.
Standard benchmarks
Each row is a sourced number. Open the source before you treat it as a ranking.
No sourced benchmark rows yet.
Will it run on your hardware?
Does not fit 24 GB at listed quants. Drop quant or pick a larger card.
Dashed line is your 24 GB budget
Run it locally
Copy-paste. Then read the how-to if you have not set up a runtime yet.
weights
Hugging Face
huggingface-cli download internlm/Intern-S2
Download, then load with llama.cpp or a GGUF conversion.
OpenAI-compatible API
vLLM
vllm serve internlm/Intern-S2
Best when you already have a GPU server and want an HTTP endpoint.
How to run Intern-S2 locally · Guides for first-time local setup
Deep dive
Notes, sources, and the write-up on this listing.
When I first tried spinning up Shanghai AI Lab's massive MoE model on my local test rig using SGLang, my generation scripts immediately threw silent errors on tool calling. The raw text rendered fine, but function payloads vanished into the log stream. Getting an Intern-S2 local server running reliably required tweaking parser flags right out of the gate.
Scaling up to 403 billion total parameters makes this architecture a monster for home labs. While enterprise clusters handle the full weight set, smaller releases like the 35B Preview offer high-tier reasoning on workstation GPUs. Understanding the memory math and framework setup is key to making an Intern-S2 local setup work.
Hardware Constraints and Realities of the 403B Flagship
The flagship variant of Intern-S2 contains exactly 403,423,094,768 parameters released under the open Apache 2.0 license. This massive Mixture of Experts architecture demands server-grade infrastructure to run at unquantized weights. If you try to load full precision FP16 weights, you need 901.721 GB of VRAM just to fit the model into memory, excluding execution context space.
Quantization brings hardware requirements down, but single-card workstation setups remain out of reach. Running FP8 quantization or Q8_0 requires 491.25 GB of VRAM. Stepping down to a Q4_0 quant commands 275.213 GB of VRAM, while Q4_K_M takes 286.015 GB. Even aggressive compression like Q2_K requires 188.798 GB of total memory, and Q3_K_M sits at 227.685 GB.
When splitting a Mixture of Experts model across multiple GPUs, inter-card communication becomes the primary bottleneck. Without high-speed interconnects like NVLink, top-k expert routing triggers constant data transfers across standard PCIe lanes. I noticed this during multi-card testing, where cross-GPU routing delays caused token generation to stutter significantly.
Active context buffers introduce another dynamic VRAM cost. While static weights dictate the baseline footprint, KV cache demands grow rapidly as context fills up. Running long multi-turn sessions on quantized weights can still trigger out-of-memory crashes if your server framework pre-allocates overly aggressive KV cache pools.
For most local operators, this means the 403B flagship is strictly multi-node enterprise hardware territory. Standard dual-card consumer workstations will trigger out-of-memory errors instantly upon initialization. Before renting bare-metal nodes, run your planned config through our VRAM calculator tool to ensure your allocation covers both the weight footprint and context buffers.
The 35B Variants and the Mobius Memory Architecture
If you lack a cluster of enterprise GPUs, the 35B Preview and Mobius-v0 models offer a far more practical path for desktop hardware. These variants fit inside high-end consumer rigs while retaining complex reasoning capabilities. This makes self-hosting achievable without a datacenter budget.
The core innovation behind the Intern-S2-Mobius release is its decoupled memory layout. Traditional Transformer models pass active reasoning tokens through every feed-forward layer alongside static knowledge blocks. Mobius-v0 separates continuous reasoning logic from static knowledge storage by maintaining a globally shared memory layer queried independently by reasoner modules.
In my experience testing this architecture, generation speed feels crisp during multi-step problem solving. The reasoner module avoids dragging static knowledge blocks through every execution layer, keeping token throughput high when generating dense step-by-step logic. If you are configuring a workstation, review our GPU buying guide for self-hosters to pair card bandwidth with context demands.
In high-concurrency environments, Mobius handles static context well, but rapid context switching across complex queries can fragment active memory buffers. Implementing fixed block allocations via PagedAttention keeps dynamic memory usage predictable. This prevents execution halts when switching between broad literature scans and deep step-by-step reasoning calls.
Direct Literature Pre-Training Without OCR Parsers
A major technical strength of Intern-S2 lies in how it handles dense scientific literature. Most standard large language models rely on external optical character recognition pipelines or third-party text layout parsers to convert PDFs into flat text strings before ingestion. This process frequently strips out layout semantics, corrupting chemical formulas, complex table structures, and multi-column figures.
Intern-S2 uses direct literature pre-training to process visual and textual tokens jointly within the same embedding space. By bypassing intermediate layout parsers, the model preserves visual-spatial geometry across original publication pages. Diagrams, mathematical proofs, and dense data tables retain their contextual alignment directly within the default 4096 token context window.
Edge cases still exist when processing degraded source files. Low-resolution scans or heavily skewed margins can confuse the visual token embedding layer. In my testing, distorted subscripts in chemical formulas were occasionally misread when source image resolution was low. Pre-processing document images to ensure high contrast and clear alignment fixes these recognition failures.
This layout awareness makes the model effective at domain-specific scientific intelligence. It performs exceptionally well when tasked with biomolecular design, modeling small-molecule spatial orientation, and predicting material crystal structures directly from publication figures. It treats visual diagrams as first-class structural data rather than secondary metadata.
Serving Intern-S2: SGLang, LMDeploy, and Recommended Flags
To serve an Intern-S2 instance efficiently, your best framework options are LMDeploy, vLLM, or SGLang. Standard llama.cpp workflows are limited because native GGUF support for this specific 403B Mixture of Experts format is not confirmed for basic desktop runners. For high-throughput setups, LMDeploy and SGLang offer the strongest backend scaling.
When launching SGLang, tool calling and structured output can fail unless you pass the proper parser flags. I learned this after my test scripts dropped every function call payload. To fix silent parser drops, explicitly declare the reasoning parser and tool-call flags in your server startup command:
python3 -m sglang.launch_server \
--model-path internlm/Intern-S2 \
--reasoning-parser qwen3 \
--tool-call-parser qwen3_coder \
--port 30000
If you deploy using LMDeploy instead of SGLang, performance remains strong, but config tweaks are necessary. LMDeploy requires explicit flags to manage MoE kernel execution smoothly. Failing to configure backend execution parameters correctly can lead to failed CUDA kernel compilations or broken attention kernels during warmup.
When enabling CUDA graph optimization in SGLang, ensure your static memory fraction setting leaves dynamic overhead for routing allocations. If memory fraction is set too high, graph compilation will fail during server startup as memory pools overlap. Leaving dynamic headroom strikes the right balance for stable memory reservation.
For inference stability, follow the official recommended sampling parameters closely. Set your generation config to top_p = 0.95, top_k = 50, min_p = 0.0, and temperature = 0.8. These defaults prevent output degradation and keep structural reasoning steady during long-horizon agent execution.
Realistic Workloads: Where it Shines and When to Skip It
Intern-S2 excels in structured scientific analysis, literature synthesis, and multi-step agent environments. When configured as an autonomous researcher or domain tool operator, its ability to navigate complex constraints makes it a powerful asset in a self-hosted engine stack.
However, testing shows clear limits when handling general software development tasks. While developer claims position the flagship release ahead of alternative open weights on complex tasks, real-world execution on basic Python scripts tells a more nuanced story. It often struggles with syntax edge cases and project-level refactoring compared to specialized code models.
In my local workflow, I handle task routing through a simple API middleware script. Scientific papers, mathematical proofs, and visual figure extractions route directly to Intern-S2. If a request demands multi-file code refactoring or complex unit test generation, the router directs it to specialized coding models instead.
I recommend keeping software engineering tasks routed to dedicated coding engines like Qwen-Coder. Reserve your Intern-S2 deployment specifically for scientific reasoning, multi-modal literature processing, and structured domain tool selection where its specialized architecture gives it a clear edge.
What makes Intern-S2 special
- Mixture of experts. 403B parameters.
- Context window. 4,096 tokens native.
- License. apache-2.0 — permissive for local use.
- Modalities. text, vision
- Weights. Use the Hugging Face repo with vLLM or llama.cpp.
- Use cases. general-chat, vision
Frequently asked
Quick answers to common questions.
Can I run Intern-S2 on a single consumer GPU?
No. With 403,423,094,768 parameters, even extreme compression like Q2_K requires 188.798 GB of VRAM, while FP8 quantization requires 491.25 GB. Running the 403B flagship requires multi-card enterprise nodes or dedicated cluster server setups.
What is the key innovation behind the Intern-S2-Mobius architecture?
Mobius-v0 decouples heavy static knowledge storage from active reasoning computations. By keeping a globally shared memory queried by separate reasoner blocks, it significantly improves token generation throughput during complex inference.
How do I fix broken tool calling when serving Intern-S2 with SGLang?
You must explicitly declare the parsing logic flags when launching the SGLang server. Pass '--reasoning-parser qwen3' and '--tool-call-parser qwen3_coder' in your startup command to properly process function calls and structured thoughts.
Are GGUF quants available for running Intern-S2 in Ollama?
Native GGUF support for the 403B MoE architecture is not confirmed or widely available for standard desktop runners at launch. Local execution currently relies on engines like LMDeploy, SGLang, or vLLM using FP8, INT4, or GPTQ formats.
What sampling parameters should I use for Intern-S2 local inference?
The developers recommend setting temperature to 0.8, top_p to 0.95, top_k to 50, and min_p to 0.0. Following these recommended sampling parameters ensures stable generation during long-horizon reasoning and agentic tasks. How to run Intern-S2 locally on your own hardware requires picking the right execution framework, validating VRAM allocations, and launching the server with explicit parsing flags.
Will Intern-S2 run on 8 GB?
Often at Q4 if the calculator on this page says it fits. 8 GB is tight once the desktop, context, and KV cache share the same pool. Trust the VRAM chart, not a screenshot.
How much VRAM does Intern-S2 need?
Intern-S2 is about 403B (moe). Q4_K_M is the default local starting point. Raise quant only after you have headroom; drop context if the card starts using shared memory.
Where do I download Intern-S2?
Weights live at internlm/Intern-S2 on Hugging Face. Prefer an official or well-known GGUF. This site does not host the files.
Can I use Ollama or llama.cpp?
llama.cpp needs a GGUF conversion if the repo is safetensors-only. vLLM can serve the Hugging Face repo directly on a GPU server.
What is the context window?
The card advertises 4,096 tokens. That is a model limit, not a VRAM promise. A long window still has to fit in memory.
What license is Intern-S2?
apache-2.0. Read the model card before you ship a product around the weights.
Compare and pair with
Nearby parameter counts and cards that can hold Q4.
Related models
Recommended hardware
No published cards yet. VRAM math still works from the chart above.