yo37 commited on
Commit
6d7581d
·
verified ·
1 Parent(s): 4de17db

Update readme, chat_template

Browse files
Files changed (2) hide show
  1. README.md +11 -9
  2. chat_template.jinja +10 -10
README.md CHANGED
@@ -28,7 +28,7 @@ tags:
28
  <img src="https://img.shields.io/badge/Seed-Project Page-yellow"></a>
29
  <a href="https://github.com/ByteDance-Seed/seed-oss">
30
  <img src="https://img.shields.io/badge/Seed-Tech Report Coming Soon-red"></a>
31
- <a href="https://huggingface.co/ByteDance-Seed">
32
  <img src="https://img.shields.io/badge/Seed-Hugging Face-orange"></a>
33
  <br>
34
  <a href="./LICENSE">
@@ -36,7 +36,7 @@ tags:
36
  </p>
37
 
38
  > [!NOTE]
39
- > This model card is dedicated to the `Seed-OSS-36B-Instruct` model.
40
 
41
  ## News
42
  - [2025/08/20]🔥We release `Seed-OSS-36B-Base` (both with and without synthetic data versions) and `Seed-OSS-36B-Instruct`.
@@ -312,12 +312,12 @@ Incorporating synthetic instruction data into pretraining leads to improved perf
312
  </tr>
313
  <tr>
314
  <td align="center">ArcAGI V2</td>
315
- <td align="center">50.3</td>
316
- <td align="center"><b>41.7</b></td>
317
- <td align="center">37.8</td>
318
- <td align="center">14.4</td>
319
  <td align="center">-</td>
320
- <td align="center"><ins>40.6</ins></td>
321
  </tr>
322
  <tr>
323
  <td align="center">KORBench</td>
@@ -463,6 +463,8 @@ Incorporating synthetic instruction data into pretraining leads to improved perf
463
  </sup><br/><sup>
464
  - The results of Gemma3-27B are sourced directly from its technical report.
465
  </sup><br/><sup>
 
 
466
  - Generation configs for Seed-OSS-36B-Instruct: temperature=1.1, top_p=0.95. Specifically, for Taubench, temperature=1, top_p=0.7.
467
  </sup><br/><sup>
468
  </sup>
@@ -474,7 +476,7 @@ Incorporating synthetic instruction data into pretraining leads to improved perf
474
 
475
  Users can flexibly specify the model's thinking budget. The figure below shows the performance curves across different tasks as the thinking budget varies. For simpler tasks (such as IFEval), the model's chain of thought (CoT) is shorter, and the score exhibits fluctuations as the thinking budget increases. For more challenging tasks (such as AIME and LiveCodeBench), the model's CoT is longer, and the score improves with an increase in the thinking budget.
476
 
477
- ![thinking_budget](./thinking_budget.png)
478
 
479
  Here is an example with a thinking budget set to 512: during the reasoning process, the model periodically triggers self-reflection to estimate the consumed and remaining budget, and delivers the final response once the budget is exhausted or the reasoning concludes.
480
  ```
@@ -567,7 +569,7 @@ Use vllm >= 0.10.0 or higher for inference.
567
 
568
  - First install vLLM with Seed-OSS support version:
569
  ```shell
570
- VLLM_USE_PRECOMPILED=1 VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEEL=1 pip install git+ssh://git@github.com/FoolPlayer/vllm.git@seed-oss
571
  ```
572
 
573
  - Start vLLM API server:
 
28
  <img src="https://img.shields.io/badge/Seed-Project Page-yellow"></a>
29
  <a href="https://github.com/ByteDance-Seed/seed-oss">
30
  <img src="https://img.shields.io/badge/Seed-Tech Report Coming Soon-red"></a>
31
+ <a href="https://huggingface.co/collections/ByteDance-Seed/seed-oss-68a609f4201e788db05b5dcd">
32
  <img src="https://img.shields.io/badge/Seed-Hugging Face-orange"></a>
33
  <br>
34
  <a href="./LICENSE">
 
36
  </p>
37
 
38
  > [!NOTE]
39
+ > This model card is dedicated to the `Seed-OSS-36B-Base-Instruct` model.
40
 
41
  ## News
42
  - [2025/08/20]🔥We release `Seed-OSS-36B-Base` (both with and without synthetic data versions) and `Seed-OSS-36B-Instruct`.
 
312
  </tr>
313
  <tr>
314
  <td align="center">ArcAGI V2</td>
315
+ <td align="center">1.16</td>
316
+ <td align="center"><b>1.74</b></td>
317
+ <td align="center">0.87</td>
318
+ <td align="center">0</td>
319
  <td align="center">-</td>
320
+ <td align="center"><ins>1.45</ins></td>
321
  </tr>
322
  <tr>
323
  <td align="center">KORBench</td>
 
463
  </sup><br/><sup>
464
  - The results of Gemma3-27B are sourced directly from its technical report.
465
  </sup><br/><sup>
466
+ - The results of ArcAGI-V2 were measured on the official evaluation set, which was not involved in the training process.
467
+ </sup><br/><sup>
468
  - Generation configs for Seed-OSS-36B-Instruct: temperature=1.1, top_p=0.95. Specifically, for Taubench, temperature=1, top_p=0.7.
469
  </sup><br/><sup>
470
  </sup>
 
476
 
477
  Users can flexibly specify the model's thinking budget. The figure below shows the performance curves across different tasks as the thinking budget varies. For simpler tasks (such as IFEval), the model's chain of thought (CoT) is shorter, and the score exhibits fluctuations as the thinking budget increases. For more challenging tasks (such as AIME and LiveCodeBench), the model's CoT is longer, and the score improves with an increase in the thinking budget.
478
 
479
+ ![thinking_budget](./figures/thinking_budget.png)
480
 
481
  Here is an example with a thinking budget set to 512: during the reasoning process, the model periodically triggers self-reflection to estimate the consumed and remaining budget, and delivers the final response once the budget is exhausted or the reasoning concludes.
482
  ```
 
569
 
570
  - First install vLLM with Seed-OSS support version:
571
  ```shell
572
+ VLLM_USE_PRECOMPILED=1 VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEEL=1 pip install git+https://github.com/vllm-project/vllm.git
573
  ```
574
 
575
  - Start vLLM API server:
chat_template.jinja CHANGED
@@ -21,25 +21,25 @@
21
  8192: 1024,
22
  16384: 1024
23
  } -%}
24
- {# 找到 “大于等于 thinking_budget 的第一个档位 #}
25
  {%- set ns = namespace(interval = None) -%}
26
  {%- for k, v in budget_reflections_v05 | dictsort -%}
27
  {%- if ns.interval is none and thinking_budget <= k -%}
28
  {%- set ns.interval = v -%}
29
  {%- endif -%}
30
  {%- endfor -%}
31
- {# 若超过最大档位,则用最后一个档位的值 #}
32
  {%- if ns.interval is none -%}
33
  {%- set ns.interval = budget_reflections_v05[16384] -%}
34
  {%- endif -%}
35
- {# ---------- 预处理 system 消息 ---------- #}
36
  {%- if messages[0]["role"] == "system" %}
37
  {%- set system_message = messages[0]["content"] %}
38
  {%- set loop_messages = messages[1:] %}
39
  {%- else %}
40
  {%- set loop_messages = messages %}
41
  {%- endif %}
42
- {# ---------- 确保 tools 存在 ---------- #}
43
  {%- if not tools is defined or tools is none %}
44
  {%- set tools = [] %}
45
  {%- endif %}
@@ -51,7 +51,7 @@
51
  {%- elif t == "array" -%}list
52
  {%- else -%}Any{%- endif -%}
53
  {%- endmacro -%}
54
- {# ---------- 输出 system ---------- #}
55
  {%- if system_message is defined %}
56
  {{ bos_token + "system\n" + system_message }}
57
  {%- else %}
@@ -105,7 +105,7 @@ def {{ item.function.name }}(
105
 
106
  {{"工具调用请遵循如下格式:\n<seed:tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>value_1</parameter>\n<parameter=example_parameter_2>This is the value for the second parameter\nthat can span\nmultiple lines</parameter>\n</function>\n</seed:tool_call>\n"}}
107
  {%- endif %}
108
- {# 结束 system 块行尾 #}
109
  {%- if system_message is defined or tools is iterable and tools | length > 0 %}
110
  {{ eos_token }}
111
  {%- endif %}
@@ -121,7 +121,7 @@ def {{ item.function.name }}(
121
  {{ eos_token }}
122
  {%- endif %}
123
  {%- endif %}
124
- {# ---------- 逐条写出历史消息 ---------- #}
125
  {%- for message in loop_messages %}
126
  {%- if message.role == "assistant"
127
  and message.tool_calls is defined
@@ -157,15 +157,15 @@ def {{ item.function.name }}(
157
  {%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}
158
  {{ "\n" + message.content | trim + eos_token }}
159
  {%- endif %}
160
- {# 包括 tool 角色,在这个逻辑 #}
161
  {%- else %}
162
  {{ bos_token + message.role + "\n" + message.content + eos_token }}
163
  {%- endif %}
164
  {%- endfor %}
165
- {# ---------- 控制模型开始续写 ---------- #}
166
  {%- if add_generation_prompt %}
167
  {{ bos_token+"assistant\n" }}
168
  {%- if thinking_budget == 0 %}
169
- {{ think_begin_token+budget_begin_token }}
170
  {%- endif %}
171
  {%- endif %}
 
21
  8192: 1024,
22
  16384: 1024
23
  } -%}
24
+ {# Find the first gear that is greater than or equal to the thinking_budget. #}
25
  {%- set ns = namespace(interval = None) -%}
26
  {%- for k, v in budget_reflections_v05 | dictsort -%}
27
  {%- if ns.interval is none and thinking_budget <= k -%}
28
  {%- set ns.interval = v -%}
29
  {%- endif -%}
30
  {%- endfor -%}
31
+ {# If it exceeds the maximum gear, use the value of the last gear #}
32
  {%- if ns.interval is none -%}
33
  {%- set ns.interval = budget_reflections_v05[16384] -%}
34
  {%- endif -%}
35
+ {# ---------- Preprocess the system message ---------- #}
36
  {%- if messages[0]["role"] == "system" %}
37
  {%- set system_message = messages[0]["content"] %}
38
  {%- set loop_messages = messages[1:] %}
39
  {%- else %}
40
  {%- set loop_messages = messages %}
41
  {%- endif %}
42
+ {# ---------- Ensure tools exist ---------- #}
43
  {%- if not tools is defined or tools is none %}
44
  {%- set tools = [] %}
45
  {%- endif %}
 
51
  {%- elif t == "array" -%}list
52
  {%- else -%}Any{%- endif -%}
53
  {%- endmacro -%}
54
+ {# ---------- Output the system block ---------- #}
55
  {%- if system_message is defined %}
56
  {{ bos_token + "system\n" + system_message }}
57
  {%- else %}
 
105
 
106
  {{"工具调用请遵循如下格式:\n<seed:tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>value_1</parameter>\n<parameter=example_parameter_2>This is the value for the second parameter\nthat can span\nmultiple lines</parameter>\n</function>\n</seed:tool_call>\n"}}
107
  {%- endif %}
108
+ {# End the system block line #}
109
  {%- if system_message is defined or tools is iterable and tools | length > 0 %}
110
  {{ eos_token }}
111
  {%- endif %}
 
121
  {{ eos_token }}
122
  {%- endif %}
123
  {%- endif %}
124
+ {# ---------- List the historical messages one by one ---------- #}
125
  {%- for message in loop_messages %}
126
  {%- if message.role == "assistant"
127
  and message.tool_calls is defined
 
157
  {%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}
158
  {{ "\n" + message.content | trim + eos_token }}
159
  {%- endif %}
160
+ {# Include the tool role #}
161
  {%- else %}
162
  {{ bos_token + message.role + "\n" + message.content + eos_token }}
163
  {%- endif %}
164
  {%- endfor %}
165
+ {# ---------- Control the model to start continuation ---------- #}
166
  {%- if add_generation_prompt %}
167
  {{ bos_token+"assistant\n" }}
168
  {%- if thinking_budget == 0 %}
169
+ {{ think_begin_token + "\n" + budget_begin_token + "The current thinking budget is 0, so I will directly start answering the question." + budget_end_token + "\n" + think_end_token }}
170
  {%- endif %}
171
  {%- endif %}