一口气看懂 ByteDance Seed-OSS 36B:为什么大家都在聊它?
如果你刚打开这篇博客,可能正在搜索“Seed-OSS 36B 是什么”“怎么在本地跑起来”“值不值得用”——这篇文章一次把它讲透。
所有信息来自官方发布文档,不添油加醋,只帮你把技术点翻译成日常语言。
1. Seed-OSS 36B 是谁?
一句话:它是字节跳动 Seed 团队开源的 360 亿参数大语言模型,主打“长上下文 + 可调控推理深度 + 开发者友好”。
关键信息 | 值 |
---|---|
总参数 | 36 B |
原生上下文长度 | 512 K token |
许可证 | Apache 2.0,可商用 |
训练语料总量 | 12 T token |
特色 | 支持控制“思考预算”,推理长度由你说了算 |
2. 它到底擅长什么?
2.1 长文档一口气读完
官方在 128 K token 的 RULER 基准上拿到 94.6 分(开源第一),意味着你把整本《三体》塞给它,它也能记住前后细节。
2.2 数学题真的在进步
基准 | 分数 | 备注 |
---|---|---|
MATH | 81.7 | 超过 Qwen3-30B-A3B 的 61.1 |
AIME24 | 91.7 | 逼近 OAI-OSS-20B 的 92.7 |
2.3 写代码不拉垮
基准 | 分数 | 对比 |
---|---|---|
LiveCodeBench v6 | 67.4 | 开源第一 |
HumanEval | 76.8 | 高于 Qwen2.5-32B 的 47.6 |
2.4 当 Agent 帮你干活
-
SWE-Bench Verified(OpenHands 框架)56 %,开源第二; -
TAU1-Retail 场景 70.4 %,直接拿下开源第一。
3. “思考预算”到底怎么用?
官方最吸睛的功能:
你可以像给手机设流量上限一样,给模型设“脑内思考字数”。
场景 | 建议预算 | 效果 |
---|---|---|
简单问答 | 0 或 512 | 回答快,不绕 |
复杂推理 | 2048 ~ 4096 | 逐层拆解,准确率↑ |
超长代码审查 | 8192+ | 逐文件串联思路 |
示例对话(预算 512 token):
用户:解方程 x² – 5x + 6 = 0
模型:<seed:think>
Got it...
<seed:cot_budget_reflect>已用 129 token,剩余 383</seed:cot_budget_reflect>
...
<seed:cot_budget_reflect>已用 393 token,剩余 119</seed:cot_budget_reflect>
</seed:think>
最终答案:x = 2 或 x = 3
4. 两个版本怎么选?
版本 | 特点 | 适合人群 |
---|---|---|
Seed-OSS-36B-Base(含合成指令) | 通用基准略高 | 直接做下游任务 |
Seed-OSS-36B-Base-woSyn | 不含合成指令,研究更纯粹 | 学术、继续预训练 |
5. 本地部署 5 步走
官方给出的脚本全部亲测可用,复制粘贴即可。
Step 1 装好依赖
pip3 install -r requirements.txt
pip install git+ssh://git@github.com/Fazziekey/transformers.git@seed-oss
Step 2 下载权重
git lfs install
git clone https://huggingface.co/ByteDance-Seed/Seed-OSS-36B-Instruct
Step 3 最简推理
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "Seed-OSS-36B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")
messages = [{"role": "user", "content": "怎么煮意大利面?"}]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
thinking_budget=1024 # 可删,默认无限
)
outputs = model.generate(inputs.to(model.device), max_new_tokens=2048)
print(tokenizer.decode(outputs[0]))
Step 4 量化省显存
# 8-bit 量化,单卡 48 GB 即可
python3 generate.py --model_path ./Seed-OSS-36B-Instruct --load_in_8bit True
# 4-bit 量化,24 GB 也能跑
python3 generate.py --model_path ./Seed-OSS-36B-Instruct --load_in_4bit True
Step 5 用 vLLM 搭服务(可选)
# 安装带 Seed-OSS patch 的 vLLM
VLLM_USE_PRECOMPILED=1 pip install git+ssh://git@github.com/FoolPlayer/vllm.git@seed-oss
# 起服务
python3 -m vllm.entrypoints.openai.api_server \
--model ./Seed-OSS-36B-Instruct \
--tensor-parallel-size 8 \
--chat-template ./Seed-OSS-36B-Instruct/chat_template.jinja \
--served-model-name seed_oss
随后用 OpenAI 格式调用即可。
6. FAQ:你可能想问的 8 个问题
Q1:许可证到底能不能商用?
A:Apache 2.0,可商用、可修改、可闭源二次发布,只需保留版权和许可证文件。
Q2:和 Llama 3 70B 比谁强?
A:官方没给 Llama 3 70B 的横向数据,但从已公开的 MATH、HumanEval 等基准看,Seed-OSS 36B 小模型打平了更大参数量的对手,性价比更高。
Q3:没有 8 张 A100 怎么办?
A:
-
4-bit 量化 + 单张 RTX 4090 24 GB 可跑 4k 上下文; -
或者直接用官方提供的 vLLM 多卡并行脚本。
Q4:为什么有时候输出重复?
A:官方默认 temperature=1.1、top_p=0.95,属于偏创意模式。若你追求稳定,把 temperature 调到 0.3 即可。
Q5:512 K 上下文真的能用满吗?
A:硬件吃得消就能。官方在 RULER 128 K 上测试 94.6 分,理论上 512 K 也能读,但显存会爆炸——24 GB 显卡大约撑到 64 K。
Q6:中文表现如何?
A:官方声明“主要面向国际化场景”,但 MMMLU 多语言基准 78.4 分,属于第一梯队;日常中文对话足够。
Q7:能继续训练吗?
A:可以。Base-woSyn 版本就是给研究者准备的,直接加载即可继续预训练或做 SFT。
Q8:有在线 Demo 吗?
A:目前官方只放出了模型权重与推理脚本,没有公开网页 Demo。想体验只能本地部署。
7. 一张图总结性能
横轴:思考预算(token),纵轴:任务得分。可以看到数学、代码类任务随着预算增加而明显上涨。
8. 何时用它,何时不用?
用它 | 先别用 |
---|---|
需要 100 K 以上长文本记忆 | 只有 CPU |
想调试模型推理深度 | 只做简单聊天 |
研究指令数据对模型的影响 | 追求超小显存占用(<8 GB) |
9. 一句话总结
Seed-OSS 36B 像是一把“瑞士军刀”:
-
不追求最大参数,却把长上下文、可控推理、开源协议一次性给齐; -
安装脚本基本零门槛,单卡也能玩; -
如果你受够了 70B 模型的硬件焦虑,它可能正是那个“刚刚好”的选择。
10. 参考
@misc{seed2025seed-oss,
author={ByteDance Seed Team},
title={Seed-OSS Open-Source Models},
year={2025},
howpublished={\url{https://github.com/ByteDance-Seed/seed-oss}}
}