Olmo 3 出自 Allen Institute for AI(Ai2),2025 年 11 月首发,分 7B 和 32B 两档,每档有 Base、Instruct、Think 三种形态。它和其他「开源模型」的差别不在权重,而在 Ai2 把整条 model flow 都放出来了:预训练用的 Dolma 3(9.3T token 的池子里混出 5.9T 用于主预训练,另有 Dolmino 中训练与 Longmino 长上下文阶段)、后训练用的 Dolci(SFT / DPO / RLVR 三套)、以及每个训练阶段的中间 checkpoint,全部 Apache 2.0。2025 年 12 月的 Olmo 3.1 又把 32B 的 Think 和 Instruct 用 224 张卡续训了 21 天 RL,AIME 涨了 5 分以上、IFBench 涨了 20 分以上,架构一个字没改。
架构上的几个数字直接决定你要租多大的卡。两档都是 Olmo3ForCausalLM,max_position_embeddings 是 65,536,靠 YaRN(factor 8.0,从 8,192 外推)撑起来,注意力是「每 4 层一层全注意力、其余走 4,096 滑动窗口」的交错结构。7B 是 32 层、hidden 4096、32 个查询头配 32 个 KV 头 —— 是 MHA 不是 GQA,这在 2026 年的 7B 里相当罕见,意味着它的 KV cache 比同尺寸模型胖得多,好在 24 层滑窗把大头兜住了。32B 是 64 层、hidden 5120、40 个查询头配 8 个 KV 头的标准 GQA,反而是长上下文时 KV 最省的一档。词表 100,278,rope_theta 500,000。
部署这件事上 Olmo 3 不算完全顺滑,值得先知道。transformers 必须 4.57.0 以上,否则连 olmo3 这个 model_type 都认不出来;官方 config.json 里 use_cache 是 false 原样发布的,直接 generate 会慢到怀疑人生;vLLM 侧有过在线 serve 输出乱码而离线 LLM 类正常的 issue,工具调用在 auto tool choice 下不吐结构化结果的 issue 也还没闭环;SGLang 至今没注册原生 Olmo3 类,走的是 transformers backend fallback。GGUF 那条路反而稳:llama.cpp 从 b7120 起支持,Ollama 上架了 olmo-3 和 olmo-3.1。所以最省钱的顺序永远是:租一台按秒计费的机器,先把版本组合和 smoke test 跑通,再决定上多大的卡。
01 —
Olmo 3 家族有哪些版本,各要多大显存
GGUF 体积取自 bartowski 的量化仓库实际文件大小,bf16 按权重体积算,上下文全部是 65,536。
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| Olmo 3.1 32B Think | 32B(64 层 / 40 查询头 / 8 KV 头 GQA) | bf16 ≈64.5GB / Q8_0 34.25GB / Q6_K 26.45GB / Q4_K_M 19.48GB | 65,536 | 旗舰长思维链版本,也是第一个完全开源的 32B thinking 模型。MATH 96.1、HumanEvalPlus 91.4、IFEval 89.0。输出带 <think> 标签,官方建议 temperature 0.6、top_p 0.95、max_tokens 32768 —— 一次能写掉三万多 token,超时和 KV 都要留余量。 |
| Olmo 3.1 32B Instruct | 32B | bf16 ≈64.5GB / Q8_0 34.25GB / Q4_K_M 19.48GB / IQ4_XS 17.33GB | 65,536 | 不吐思维链的对话与函数调用版本,默认 system prompt 直接写着「函数调用助手」。做多轮对话、RAG 后端、工具编排选它,首 token 延迟比 Think 低一个量级。注意 vLLM 的 auto tool choice 目前还有不吐结构化 tool call 的已知问题。 |
| Olmo 3 7B Think | 7B(32 层 / 32 KV 头 MHA) | bf16 ≈14.6GB / Q4_K_M ≈4.5GB | 65,536 | 小卡上的推理版,同样输出 <think> 思维链,同样是 temperature 0.6 / top_p 0.95 / max_tokens 32768。适合单卡做数学与代码类任务的私有化推理,但它的 MHA 结构让长上下文的 KV 涨得比 GQA 模型快。 |
| Olmo 3 7B Instruct | 7B | bf16 14.60GB / Q8_0 7.76GB / Q5_K_M 5.21GB / Q4_K_M 4.47GB / IQ4_XS 4.00GB | 65,536 | 最适合单卡私有化的一档:MATH 87.3、IFEval 85.6、HumanEvalPlus 77.2。量化到 Q4_K_M 只有 4.47GB,一张 24GB 卡带满 64K 上下文都绰绰有余,是绝大多数自建部署的正确起点。 |
| Olmo-3-1025-7B / Olmo-3-1125-32B(Base) | 7B / 32B | bf16 ≈14.6GB / ≈64.5GB | 65,536 | 基座模型的仓库名带日期戳,直接搜「Olmo-3-7B」是搜不到的,这一点坑过不少人。7B base 在 dolma3_mix-6T-1025 上吃了 5.93T token,32B base 在 dolma3_mix-5.5T-1125 上吃了 5.50T;各 stage 的中间 checkpoint(stage1-stepXXX 之类)全部公开,适合继续预训练或自建后训练。 |
| Olmo 3.1 RL-Zero 7B(Math / Code) | 7B | bf16 ≈14.6GB | 65,536 | 从 base 直接做 RLVR 的对照组,Olmo 3.1 里换成了更长更稳的训练run。它是给强化学习研究者当干净基线用的,不是拿来当聊天助手 —— 别拿它跑对话评测然后说 Olmo 不行。 |
02 —
Olmo 3 跑起来该租哪张卡
显存按「权重 + KV cache」实算。7B 是 MHA,64K 下 KV 约 9.5GB;32B 是 GQA,同样 64K 只吃约 4.8GB —— 大模型反而更省 KV,这是 Olmo 3 的反直觉之处。
Olmo 3 7B Instruct / Think 的 Q4_K_M(4.47GB)单卡试跑与批量评测
RTX 3090 24GB$0.193/卡·时
全站最便宜的 24GB 卡,比 16GB 的 Tesla T4($0.298)还便宜,量化后的 7B 连同 64K 上下文一起塞进去仍有大量余量,跑通 pipeline 的第一步就该用它。
Olmo 3 7B bf16 拉满 65,536 上下文(14.6GB 权重 + 约 9.5GB KV)
RTX 5090 32GB$0.723/卡·时
7B 用的是 32 个 KV 头的 MHA,那 8 层全注意力在 64K 下就要吃掉约 8GB KV,加权重刚好把 24GB 卡顶到墙上;32GB 才留得下并发和 CUDA graph 的余量。
Olmo 3.1 32B Think 的 Q4_K_M(19.48GB)单卡长思维链服务
RTX A6000 48GB$0.817/卡·时
32B 的 KV 在 64K 下只有约 4.8GB,但 Think 一次能写 32,768 个输出 token,48GB 让你同时开几路请求而不必去改 --max-model-len;只跑单路的话 RTX 5090 32GB($0.723/卡·时)也装得下。
Olmo 3.1 32B bf16 原始权重 + vLLM 生产服务
A100 PCIE 80GB$0.824/卡·时
64.5GB 权重加 64K 的约 4.8GB KV 大约 69GB,单卡起得来但要压 --gpu-memory-utilization、适当收 max-model-len;要 64K 全开还带并发就上 2 张($1.648/时),或换 A100 SXM4 80GB($1.088/卡·时)走 NVLink。
03 —
从零把 Olmo 3 部署起来
四步,全部在 NexGPU 实例的 SSH、Jupyter 或 Web 终端里完成。
- 01
开一台带 vLLM 的实例,先把版本钉死
在 2,000+ 预置镜像里选 vLLM 或 PyTorch 镜像,开机即用,不需要申请配额。Olmo 3 的 model_type 是 olmo3,transformers 低于 4.57.0 会直接报 unknown architecture;同样重要的是它的 YaRN rope_scaling(factor 8.0,original_max_position_embeddings 8192),老引擎不认就会把上下文悄悄截到 8,192。
pip install -U "transformers>=4.57.0" vllm && python -c "import transformers; print(transformers.__version__)" - 02
只拉你真正要跑的那一档权重
32B 的 bf16 权重约 64.5GB,Q4_K_M 只有 19.48GB,差了三倍多。NexGPU 存储中位价 $0.414/GB·月,下多了是真花钱,而且实例停机后算力不计费、存储会一直算到销毁为止。
hf download allenai/Olmo-3.1-32B-Think --local-dir /workspace/olmo31-32b-think - 03
起 OpenAI 兼容端点,上线前先做离线冒烟测试
vLLM 一条命令就能开出 /v1/chat/completions。但社区报过在线 serve 输出乱码、而离线 LLM 类完全正常的情况(vllm-project/vllm#29478,v0.11.2,最后按 not planned 关闭),所以先用 Python 的 LLM 类跑一句话验证,再切在线服务。另外 transformers 路线记得显式打开 use_cache —— 官方 config 里它是 false。
vllm serve /workspace/olmo31-32b-think --served-model-name olmo3 --max-model-len 65536 --gpu-memory-utilization 0.92 - 04
想几分钟出结果就走 GGUF
llama.cpp 从 b7120 起支持 Olmo 3 的 GGUF(32B 的量化用的是 b7340),Ollama 上架了 olmo-3 和 olmo-3.1 两条线,默认的 olmo-3.1:32b 就是 19GB 的 Q4、带 64K 上下文。提示词格式是 <|im_start|> / <|im_end|>,和 ChatML 一致。这条路在一张 RTX 3090 上几分钟就能出第一个 token。
ollama run olmo-3.1:32b-think
跑一次 Olmo 3 到底多少钱
按秒计费、按小时定价,没有起租时长、没有开通费、没有配额申请。举个具体的:你要在 Olmo 3.1 32B Think 上复现一遍 AIME 和 IFEval。选 RTX A6000 48GB,$0.817/卡·时,跑 Q4_K_M(19.48GB)。下权重加起服务算 0.5 小时,评测跑 7.5 小时,一共 8 小时 —— 0.817 × 8 = $6.54。权重加日志占 25GB,跑完三天就销毁:25 × $0.414 × 3 ÷ 30 = $1.04。把 2GB 结果导出去:2 × $0.0081 = $0.02。合计 $7.60。换成 A100 PCIE 80GB 跑 bf16 原始权重,算力是 $0.824 × 8 = $6.59 差不多,但权重本身就占 64.5GB,三天存储要 64.5 × $0.414 × 3 ÷ 30 = $2.67,加导出合计 $9.28 —— 量化省下的不只是显存。更省的做法是先在 7B 上把 pipeline 调通:RTX 3090 24GB $0.193/卡·时 跑三小时,0.193 × 3 = $0.58,不到一杯咖啡的零头。实例一停,算力计费当场停止;存储会一直算到你把它销毁为止。
04 —
