Model reference · open weights
Intern-S1-Pro is an open-weight language model from internlm. Intern-S1-Pro (FP8) weighs 919 GB; the smallest configuration that runs it is 8× H200 141 GB.
Summary of the internlm/Intern-S1-Pro model card, 2026-10-01
What it is
| Released by | internlm |
|---|---|
| Released | 2026-02-02 |
| VRAM | 919 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … 8× A100 80 GB 14 smaller cards | — | — | — | |
| 8× H200 141 GB tensor parallel | 32 | 8 | all 256K | 138 GB a card |
| 8× B200 180 GB tensor parallel | 118 | 29 | all 256K | 176 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 924 GB | 929 GB |
| 5 | 930 GB | 954 GB |
| 8 | 935 GB | 973 GB |
| 16 | 947 GB | 1023 GB |
| 32 | 973 GB | 1124 GB |
| 64 | 1023 GB | 1326 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Intern-S1-Pro (above) ↗ | — | FP8 | 919 GB | 8× H200 141 GB |
| Intern-S1-Pro-BF16 ↗ | 917.0B | BF16 | 1834 GB | none of the reference configurations |
From the model card
💻Github Repo • 🤗Model Collections • 📜Technical Report • 💬Online Chat
We introduce Intern-S1-Pro, a trillion-scale MoE multimodal scientific reasoning model. Intern-S1-Pro scales to 1T total parameters with 512 experts, activating 8 experts per token (22B activated parameters). The model delivers top-tier performance on advanced reasoning benchmarks and achieves leading results across key AI4Science domains (chemistry, materials, life-science, earth, etc.), while maintaining strong general multimodal and text capabilities.
We evaluate the Intern-S1-Pro on various benchmarks, including general datasets and scientific datasets. We report the performance comparison with the recent VLMs and LLMs below.
Note: Underline means the best performance among open-sourced models, Bold indicates the best performance among all models.
We use the OpenCompass and VLMEvalKit to evaluate all models.
We recommend using the following hyperparameters to ensure better results
top_p = 0.95
top_k = 50
min_p = 0.0
temperature = 0.8
[!IMPORTANT] Running a trillion-parameter model using the native Hugging Face forward method is challenging. We strongly recommend using an LLM inference engine (such as LMDeploy, vLLM, or SGLang) to host Intern-S1-Pro and accessing the model via API.
Intern-S1-Pro can be deployed using any of the following LLM inference frameworks:
Detailed deployment examples for these frameworks are available in the Model Deployment Guide.
Many Large Language Models (LLMs) now feature Tool Calling, a powerful capability that allows them to extend their functionality by interacting with external tools and APIs. This enables models to perform tasks like fetching up-to-the-minute information, running code, or calling functions within other applications.
A key advantage for developers is that a growing number of open-source LLMs are designed to be compatible with the OpenAI API. This means you can leverage the same familiar syntax and structure from the OpenAI library to implement tool calling with these open-source models. As a result, the code demonstrated in this tutorial is versatile—it works not just with OpenAI models, but with any model that follows the same interface standard.
To illustrate how this works, let's dive into a practical code example that uses tool calling to get the latest weather forecast (based on lmdeploy api server).
from openai import OpenAI
import json
def get_current_temperature(location: str, unit: str = "celsius"):
"""Get current temperature at a location.
Args:
location: The location to get the temperature for, in the format "City, State, Country".
unit: The unit to return the temperature in. Defaults to "celsius". (choices: ["celsius", "fahrenheit"])
Returns:
the temperature, the location, and the unit in a dict
"""
return {
"temperature": 26.1,
"location": location,
"unit": unit,
}
def get_temperature_date(location: str, date: str, unit: str = "celsius"):
"""Get temperature at a location and date.
Args:
location: The location to get the temperature for, in the format "City, State, Country".
date: The date to get the temperature for, in the format "Year-Month-Day".
unit: The unit to return the temperature in. Defaults to "celsius". (choices: ["celsius", "fahrenheit"])
Returns:
the temperature, the location, the date and the unit in a dict
"""
return {
"temperature": 25.9,
"location": location,
"date": date,
"unit": unit,
}
def get_function_by_name(name):
if name == "get_current_temperature":
return get_current_temperature
if name == "get_temperature_date":
return get_temperature_date
tools = [{
'type': 'function',
'function': {
'name': 'get_current_temperature',
'description': 'Get current temperature at a location.',
'parameters': {
'type': 'object',
'properties': {
'location': {
'type': 'string',
'description': 'The location to get the temperature for, in the format \'City, State, Country\'.'
},
'unit': {
'type': 'string',
'enum': [
'celsius',
'fahrenheit'
],
'description': 'The unit to return the temperature in. Defaults to \'celsius\'.'
}
},
'required': [
'location'
]
}
}
}, {
'type': 'function',
'function': {
'name': 'get_temperature_date',
'description': 'Get temperature at a location and date.',
'parameters': {
'type': 'object',
'properties': {Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.