Model reference · open weights
Intern-S1-Pro is an open-weight language model from internlm. Intern-S1-Pro-BF16 (BF16) weighs 1834 GB; it needs more than the reference configurations below.
Summary of the internlm/Intern-S1-Pro model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | internlm |
|---|---|
| Released | 2026-02-02 |
| VRAM | 1834 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … 8× B200 180 GB 16 smaller cards | — | — | — | |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 1839 GB | 1843 GB |
| 5 | 1845 GB | 1869 GB |
| 8 | 1850 GB | 1888 GB |
| 16 | 1862 GB | 1938 GB |
| 32 | 1888 GB | 2039 GB |
| 64 | 1938 GB | 2241 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Intern-S1-Pro ↗ | — | FP8 | 919 GB | 8× H200 141 GB |
| Intern-S1-Pro-BF16 (above) ↗ | 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.