Views
No views yet
| Intern-S1-mini | Qwen3-8B | GLM-4.1V | MiMo-VL-7B-RL-2508 | ||
|---|---|---|---|---|---|
| General | MMLU-Pro | 74.78 | 73.7 | 57.1 | 73.93 |
| MMMU | 72.33 | N/A | 69.9 | 70.4 | |
| MMStar | 65.2 | N/A | 71.5 | 72.9 | |
| GPQA | 65.15 | 62 | 50.32 | 60.35 | |
| AIME2024 | 84.58 | 76 | 36.2 | 72.6 | |
| AIME2025 | 80 | 67.3 | 32 | 64.4 | |
| MathVision | 51.41 | N/A | 53.9 | 54.5 | |
| MathVista | 70.3 | N/A | 80.7 | 79.4 | |
| IFEval | 81.15 | 85 | 71.53 | 71.4 | |
| Scientific | SFE | 35.84 | N/A | 43.2 | 43.9 |
| Physics | 28.76 | N/A | 28.3 | 28.2 | |
| SmolInstruct | 32.2 | 17.6 | 18.1 | 16.11 | |
| ChemBench | 76.47 | 61.1 | 56.2 | 66.78 | |
| MatBench | 61.55 | 45.24 | 54.3 | 46.9 | |
| MicroVQA | 56.62 | N/A | 50.2 | 50.96 | |
| ProteinLMBench | 58.47 | 59.1 | 58.3 | 59.8 | |
| MSEarthMCQ | 58.12 | N/A | 50.3 | 47.3 | |
| XLRS-Bench | 51.63 | N/A | 49.8 | 12.29 |
1top_p = 1.0
2top_k = 50
3min_p = 0.0
4temperature = 0.8Please use transformers>=4.55.2 to ensure the model works normally.
1from transformers import AutoProcessor, AutoModelForCausalLM
2import torch
3
4model_name = "internlm/Intern-S1-mini-FP8"
5processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
6model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)
7
8messages = [
9 {
10 "role": "user",
11 "content": [
12 {"type": "text", "text": "tell me about an interesting physical phenomenon."},
13 ],
14 }
15]
16
17inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)
18
19generate_ids = model.generate(**inputs, max_new_tokens=32768)
20decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
21print(decoded_output)1from transformers import AutoProcessor, AutoModelForCausalLM
2import torch
3
4model_name = "internlm/Intern-S1-mini-FP8"
5processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
6model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)
7
8messages = [
9 {
10 "role": "user",
11 "content": [
12 {"type": "image", "url": "http://images.cocodataset.org/val2017/000000039769.jpg"},
13 {"type": "text", "text": "Please describe the image explicitly."},
14 ],
15 }
16]
17
18inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)
19
20generate_ids = model.generate(**inputs, max_new_tokens=32768)
21decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
22print(decoded_output)pip install decord. To avoid OOM, please install flash_attention and use at least 2 GPUS.1from transformers import AutoProcessor, AutoModelForCausalLM
2import torch
3
4model_name = "internlm/Intern-S1-mini-FP8"
5processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
6model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)
7
8messages = [
9 {
10 "role": "user",
11 "content": [
12 {
13 "type": "video",
14 "url": "https://huggingface.co/datasets/hf-internal-testing/fixtures_videos/resolve/main/tennis.mp4",
15 },
16 {"type": "text", "text": "What type of shot is the man performing?"},
17 ],
18 }
19 ]
20
21inputs = processor.apply_chat_template(
22 messages,
23 return_tensors="pt",
24 add_generation_prompt=True,
25 video_load_backend="decord",
26 tokenize=True,
27 return_dict=True,
28 ).to(model.device, dtype=torch.float16)
29
30generate_ids = model.generate(**inputs, max_new_tokens=32768)
31decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
32print(decoded_output)| Model | A100(GPUs) | H800(GPUs) | H100(GPUs) | H200(GPUs) |
|---|---|---|---|---|
| internlm/Intern-S1-mini | 1 | 1 | 1 | 1 |
| internlm/Intern-S1-mini-FP8 | - | 1 | 1 | 1 |
lmdeploy serve api_server internlm/Intern-S1-mini-FP8 --reasoning-parser intern-s1 --tool-call-parser intern-s1vllm serve internlm/Intern-S1-mini-FP8 --trust-remote-code1python3 -m sglang.launch_server \
2 --model-path internlm/Intern-S1-mini-FP8 \
3 --trust-remote-code \
4 --grammar-backend none1# install ollama
2curl -fsSL https://ollama.com/install.sh | sh
3# fetch model
4ollama pull internlm/interns1-mini
5# run model
6ollama run internlm/interns1-mini
7# then use openai client to call on http://localhost:11434/v11
2from openai import OpenAI
3import json
4
5
6def get_current_temperature(location: str, unit: str = "celsius"):
7 """Get current temperature at a location.
8
9 Args:
10 location: The location to get the temperature for, in the format "City, State, Country".
11 unit: The unit to return the temperature in. Defaults to "celsius". (choices: ["celsius", "fahrenheit"])
12
13 Returns:
14 the temperature, the location, and the unit in a dict
15 """
16 return {
17 "temperature": 26.1,
18 "location": location,
19 "unit": unit,
20 }
21
22
23def get_temperature_date(location: str, date: str, unit: str = "celsius"):
24 """Get temperature at a location and date.
25
26 Args:
27 location: The location to get the temperature for, in the format "City, State, Country".
28 date: The date to get the temperature for, in the format "Year-Month-Day".
29 unit: The unit to return the temperature in. Defaults to "celsius". (choices: ["celsius", "fahrenheit"])
30
31 Returns:
32 the temperature, the location, the date and the unit in a dict
33 """
34 return {
35 "temperature": 25.9,
36 "location": location,
37 "date": date,
38 "unit": unit,
39 }
40
41def get_function_by_name(name):
42 if name == "get_current_temperature":
43 return get_current_temperature
44 if name == "get_temperature_date":
45 return get_temperature_date
46
47tools = [{
48 'type': 'function',
49 'function': {
50 'name': 'get_current_temperature',
51 'description': 'Get current temperature at a location.',
52 'parameters': {
53 'type': 'object',
54 'properties': {
55 'location': {
56 'type': 'string',
57 'description': 'The location to get the temperature for, in the format \'City, State, Country\'.'
58 },
59 'unit': {
60 'type': 'string',
61 'enum': [
62 'celsius',
63 'fahrenheit'
64 ],
65 'description': 'The unit to return the temperature in. Defaults to \'celsius\'.'
66 }
67 },
68 'required': [
69 'location'
70 ]
71 }
72 }
73}, {
74 'type': 'function',
75 'function': {
76 'name': 'get_temperature_date',
77 'description': 'Get temperature at a location and date.',
78 'parameters': {
79 'type': 'object',
80 'properties': {
81 'location': {
82 'type': 'string',
83 'description': 'The location to get the temperature for, in the format \'City, State, Country\'.'
84 },
85 'date': {
86 'type': 'string',
87 'description': 'The date to get the temperature for, in the format \'Year-Month-Day\'.'
88 },
89 'unit': {
90 'type': 'string',
91 'enum': [
92 'celsius',
93 'fahrenheit'
94 ],
95 'description': 'The unit to return the temperature in. Defaults to \'celsius\'.'
96 }
97 },
98 'required': [
99 'location',
100 'date'
101 ]
102 }
103 }
104}]
105
106
107
108messages = [
109 {'role': 'user', 'content': 'Today is 2024-11-14, What\'s the temperature in San Francisco now? How about tomorrow?'}
110]
111
112openai_api_key = "EMPTY"
113openai_api_base = "http://0.0.0.0:23333/v1"
114client = OpenAI(
115 api_key=openai_api_key,
116 base_url=openai_api_base,
117)
118model_name = client.models.list().data[0].id
119response = client.chat.completions.create(
120 model=model_name,
121 messages=messages,
122 max_tokens=32768,
123 temperature=0.8,
124 top_p=0.8,
125 stream=False,
126 extra_body=dict(spaces_between_special_tokens=False, enable_thinking=False),
127 tools=tools)
128print(response.choices[0].message)
129messages.append(response.choices[0].message)
130
131for tool_call in response.choices[0].message.tool_calls:
132 tool_call_args = json.loads(tool_call.function.arguments)
133 tool_call_result = get_function_by_name(tool_call.function.name)(**tool_call_args)
134 tool_call_result = json.dumps(tool_call_result, ensure_ascii=False)
135 messages.append({
136 'role': 'tool',
137 'name': tool_call.function.name,
138 'content': tool_call_result,
139 'tool_call_id': tool_call.id
140 })
141
142response = client.chat.completions.create(
143 model=model_name,
144 messages=messages,
145 temperature=0.8,
146 top_p=0.8,
147 stream=False,
148 extra_body=dict(spaces_between_special_tokens=False, enable_thinking=False),
149 tools=tools)
150print(response.choices[0].message.content)enable_thinking=False in tokenizer.apply_chat_template1text = tokenizer.apply_chat_template(
2 messages,
3 tokenize=False,
4 add_generation_prompt=True,
5 enable_thinking=False # think mode indicator
6)enable_thinking parameter in your requests.1from openai import OpenAI
2import json
3
4messages = [
5{
6 'role': 'user',
7 'content': 'who are you'
8}, {
9 'role': 'assistant',
10 'content': 'I am an AI'
11}, {
12 'role': 'user',
13 'content': 'AGI is?'
14}]
15
16openai_api_key = "EMPTY"
17openai_api_base = "http://0.0.0.0:23333/v1"
18client = OpenAI(
19 api_key=openai_api_key,
20 base_url=openai_api_base,
21)
22model_name = client.models.list().data[0].id
23
24response = client.chat.completions.create(
25 model=model_name,
26 messages=messages,
27 temperature=0.8,
28 top_p=0.8,
29 max_tokens=2048,
30 extra_body={
31 "enable_thinking": False,
32 }
33)
34print(json.dumps(response.model_dump(), indent=2, ensure_ascii=False))1extra_body={
2 "chat_template_kwargs": {"enable_thinking": False}
3}@misc{bai2025interns1scientificmultimodalfoundation,
title={Intern-S1: A Scientific Multimodal Foundation Model},
author={Lei Bai and Zhongrui Cai and Maosong Cao and Weihan Cao and Chiyu Chen and Haojiong Chen and Kai Chen and Pengcheng Chen and Ying Chen and Yongkang Chen and Yu Cheng and Yu Cheng and Pei Chu and Tao Chu and Erfei Cui and Ganqu Cui and Long Cui and Ziyun Cui and Nianchen Deng and Ning Ding and Nanqin Dong and Peijie Dong and Shihan Dou and Sinan Du and Haodong Duan and Caihua Fan and Ben Gao and Changjiang Gao and Jianfei Gao and Songyang Gao and Yang Gao and Zhangwei Gao and Jiaye Ge and Qiming Ge and Lixin Gu and Yuzhe Gu and Aijia Guo and Qipeng Guo and Xu Guo and Conghui He and Junjun He and Yili Hong and Siyuan Hou and Caiyu Hu and Hanglei Hu and Jucheng Hu and Ming Hu and Zhouqi Hua and Haian Huang and Junhao Huang and Xu Huang and Zixian Huang and Zhe Jiang and Lingkai Kong and Linyang Li and Peiji Li and Pengze Li and Shuaibin Li and Tianbin Li and Wei Li and Yuqiang Li and Dahua Lin and Junyao Lin and Tianyi Lin and Zhishan Lin and Hongwei Liu and Jiangning Liu and Jiyao Liu and Junnan Liu and Kai Liu and Kaiwen Liu and Kuikun Liu and Shichun Liu and Shudong Liu and Wei Liu and Xinyao Liu and Yuhong Liu and Zhan Liu and Yinquan Lu and Haijun Lv and Hongxia Lv and Huijie Lv and Qidang Lv and Ying Lv and Chengqi Lyu and Chenglong Ma and Jianpeng Ma and Ren Ma and Runmin Ma and Runyuan Ma and Xinzhu Ma and Yichuan Ma and Zihan Ma and Sixuan Mi and Junzhi Ning and Wenchang Ning and Xinle Pang and Jiahui Peng and Runyu Peng and Yu Qiao and Jiantao Qiu and Xiaoye Qu and Yuan Qu and Yuchen Ren and Fukai Shang and Wenqi Shao and Junhao Shen and Shuaike Shen and Chunfeng Song and Demin Song and Diping Song and Chenlin Su and Weijie Su and Weigao Sun and Yu Sun and Qian Tan and Cheng Tang and Huanze Tang and Kexian Tang and Shixiang Tang and Jian Tong and Aoran Wang and Bin Wang and Dong Wang and Lintao Wang and Rui Wang and Weiyun Wang and Wenhai Wang and Yi Wang and Ziyi Wang and Ling-I Wu and Wen Wu and Yue Wu and Zijian Wu and Linchen Xiao and Shuhao Xing and Chao Xu and Huihui Xu and Jun Xu and Ruiliang Xu and Wanghan Xu and GanLin Yang and Yuming Yang and Haochen Ye and Jin Ye and Shenglong Ye and Jia Yu and Jiashuo Yu and Jing Yu and Fei Yuan and Bo Zhang and Chao Zhang and Chen Zhang and Hongjie Zhang and Jin Zhang and Qiaosheng Zhang and Qiuyinzhe Zhang and Songyang Zhang and Taolin Zhang and Wenlong Zhang and Wenwei Zhang and Yechen Zhang and Ziyang Zhang and Haiteng Zhao and Qian Zhao and Xiangyu Zhao and Xiangyu Zhao and Bowen Zhou and Dongzhan Zhou and Peiheng Zhou and Yuhao Zhou and Yunhua Zhou and Dongsheng Zhu and Lin Zhu and Yicheng Zou},
year={2025},
eprint={2508.15763},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2508.15763},
}