跳到主要内容

文本大模型

把 Olmo 3 跑在自己的卡上:7B 要 4.47GB,32B 要 19.48GB

Ai2 的 Olmo 3 是当下极少数把预训练数据、后训练配方和中间 checkpoint 一起开源的模型族,Apache 2.0,65,536 上下文。这一页把每个变体真实的显存占用、单卡跑法和踩坑点讲清楚。

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 Think32B(64 层 / 40 查询头 / 8 KV 头 GQA)bf16 ≈64.5GB / Q8_0 34.25GB / Q6_K 26.45GB / Q4_K_M 19.48GB65,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 Instruct32Bbf16 ≈64.5GB / Q8_0 34.25GB / Q4_K_M 19.48GB / IQ4_XS 17.33GB65,536不吐思维链的对话与函数调用版本,默认 system prompt 直接写着「函数调用助手」。做多轮对话、RAG 后端、工具编排选它,首 token 延迟比 Think 低一个量级。注意 vLLM 的 auto tool choice 目前还有不吐结构化 tool call 的已知问题。
Olmo 3 7B Think7B(32 层 / 32 KV 头 MHA)bf16 ≈14.6GB / Q4_K_M ≈4.5GB65,536小卡上的推理版,同样输出 <think> 思维链,同样是 temperature 0.6 / top_p 0.95 / max_tokens 32768。适合单卡做数学与代码类任务的私有化推理,但它的 MHA 结构让长上下文的 KV 涨得比 GQA 模型快。
Olmo 3 7B Instruct7Bbf16 14.60GB / Q8_0 7.76GB / Q5_K_M 5.21GB / Q4_K_M 4.47GB / IQ4_XS 4.00GB65,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 / 32Bbf16 ≈14.6GB / ≈64.5GB65,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)7Bbf16 ≈14.6GB65,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 终端里完成。

  1. 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__)"
  2. 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
  3. 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
  4. 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 —

常见问题

Olmo 3 本地部署到底需要多大显存?

分档看。7B:Q4_K_M 4.47GB、Q8_0 7.76GB、bf16 14.60GB;32B:Q4_K_M 19.48GB、Q8_0 34.25GB、bf16 约 64.5GB。再加 KV cache —— 7B 是 32 个 KV 头的 MHA,64K 下约 9.5GB;32B 是 8 个 KV 头的 GQA,同样 64K 只有约 4.8GB。所以一张 RTX 3090 24GB($0.193/卡·时)跑量化 7B 绰绰有余,量化 32B 从 RTX 5090 32GB($0.723/卡·时)起步,bf16 32B 要 A100 PCIE 80GB($0.824/卡·时)。这几张卡在 NexGPU 上都是秒开秒停,试错成本就是几毛钱。

24GB 的 RTX 4090 能不能跑 Olmo 3.1 32B Think?

Q4_K_M 权重 19.48GB,理论上塞得进 24GB,但 Think 一次能写 32,768 个输出 token,加上 KV 之后 64K 全开会顶到墙上。要么把 --max-model-len 收到 16K 左右,要么换 IQ4_XS(17.33GB)。真想省事就直接上 RTX 5090 32GB($0.723/卡·时)或 RTX A6000 48GB($0.817/卡·时),跟 RTX 4090($0.540/卡·时)的差价按小时算根本不构成决策成本。NexGPU 上这三张卡都能立刻开,跑完就停。

Olmo 3 和 OLMo 2 有什么区别?还该继续用 OLMo 2 吗?

差距比版本号看起来大得多。OLMo 2 是 Olmo2ForCausalLM,上下文只有 4,096,分 7B / 13B / 32B 三档,32B Instruct 发布于 2025 年 3 月。Olmo 3 换成 Olmo3ForCausalLM,上下文 65,536 —— 整整 16 倍,还引入了 4,096 滑动窗口交错全注意力和 YaRN 外推,并且第一次有了带显式思维链的 Think 变体。除非你在做与 OLMo 2 checkpoint 严格对齐的复现实验,新项目直接上 Olmo 3.1。想两条线并排测一下,在 NexGPU 上开两台按秒计费的实例同时跑就行,测完一起停。

Olmo 3 能商用吗?许可证和数据合规怎么算?

Apache 2.0。而且它开的不只是权重:预训练数据 Dolma 3、后训练数据 Dolci、各训练阶段的中间 checkpoint、训练代码和日志全部公开,Ai2 另有一份 Responsible Use Guidelines 建议商用前读一遍。这是它和「开放权重但不开数据」那一类模型最本质的区别 —— 数据可审计意味着你的合规团队真的有东西可查。要把它跑在自己可控的环境里,NexGPU 覆盖 51 个国家和地区、1,175 个已验证可租节点、2,498 张 GPU,可以按数据落地要求挑位置。

为什么我的 Olmo 3 输出乱码,或者上下文只认 8K?

常见原因有三个。一,transformers 低于 4.57.0,不认识 olmo3 这个 model_type。二,引擎不支持 config 里的 YaRN rope_scaling(factor 8.0,original_max_position_embeddings 8192),于是只按 8,192 处理,长文档直接被截断。三,官方 config.json 里 "use_cache": false 是原样发布的,用 transformers 直接 generate 会慢得离谱。此外 vLLM 有过在线 serve 乱码而离线正常的 issue(#29478),auto tool choice 下不吐结构化 tool call 的 issue(#32534)也还开着,SGLang 至今没注册原生 Olmo3 类、走的是 transformers backend fallback(sgl-project/sglang#31175)。在 NexGPU 上开一台按秒计费的机器把版本组合一次试出来,比在本地反复重装环境快得多,问不明白还能在 Telegram 上直接找我们的双语支持,不用排工单。

微调 Olmo 3 需要什么卡?

7B 走 QLoRA,4-bit 基座约 4.5GB,一张 RTX 4090 24GB($0.540/卡·时)就够;bf16 LoRA 要装下 14.6GB 权重加优化器状态和激活,RTX A6000 48GB($0.817/卡·时)会舒服很多,Axolotl 这类框架已经有现成的 Olmo 3 7B LoRA 配方。32B 的全参数训练老实上 A100 SXM4 80GB($1.088/卡·时)多卡,或 H100 SXM 80GB($3.582/卡·时)。Olmo 3 真正的优势是 base 模型每个 stage 的中间 checkpoint 都放出来了,你可以从训练中途接着练,而不是只能在最终权重上贴 adapter。NexGPU 单节点最多 14 张 GPU、最大节点显存 2,152GB,多卡训练不用另外申请配额。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。