跳到主要内容

文本大模型 · 细粒度混合专家(MoE)

DBRX 本地部署:132B MoE 到底吃多少显存

官方按量 API 已经退役,GitHub 上的 databricks/dbrx 仓库也已经不在了。今天还想用 DBRX,自建几乎是唯一的路。bf16 要 264GB 显存,IQ4_XS 量化后只剩 70.1GB —— 一张 A100 80GB 就够开跑。

DBRX 是 Databricks 与 MosaicML 团队在 2024 年 3 月放出的开放权重大模型,走的是细粒度 MoE 路线:132B 总参数,每个 token 只激活 36B。它有 16 个专家、每次选 4 个,而同期的 Mixtral-8x7B 和 Grok-1 都是 8 选 2 —— 官方的说法是这带来了 65 倍的专家组合数,也是它质量提升的关键。训练用掉 12T tokens,在 3072 张 H100、3.2Tbps InfiniBand 的集群上跑了三个月。指标上 MMLU 5-shot 73.7%(当年高于 GPT-3.5 的 70.0%)、HumanEval 0-shot 70.1%、GSM8k 5-shot 66.9%,Databricks Gauntlet 30 多项综合 66.8%,并且用不到 Grok-1 一半的参数量把它压过去了。架构细节是 RoPE + GLU + GQA,40 层、48 个注意力头、8 个 KV 头,tokenizer 直接借用 tiktoken 里的 GPT-4 词表,最大上下文 32K。

但你现在搜 DBRX,会先撞上三堵墙。第一,Databricks 在 2025 年 4 月 30 日把 DBRX Instruct 从 Foundation Model APIs 的按量付费上退役了,同一天 DBRX、Mistral、Mixtral 三个系列也一起从 Foundation Model Fine-tuning 下线 —— 托管这条路走不通了。第二,GitHub 上那个提供 generate.py、dbrx-full-ft.yaml、dbrx-lora-ft.yaml 的官方仓库 databricks/dbrx 已经搜不到了。第三,Hugging Face 上的原始 checkpoint 也被关闭,transformers 官方文档现在直接把示例代码指向 transformers-community/dbrx-instruct 这个为兼容性做的再上传。好消息是模型本身没死:DbrxForCausalLM 仍然是 transformers 里的一等公民,vLLM、llama.cpp、MLX 的支持都还在,社区的 GGUF 量化也还挂着。DBRX 从「可以调 API 的模型」变成了「只能自己跑的模型」。

所以选卡这件事,对 DBRX 来说不是可选项。bf16 权重 264GB,官方文档给的实跑门槛是至少 320GB 显存(可以跨多卡分摊);社区 GGUF 从 Q8_0 的 139.9GB 一路铺到 IQ1_M 的 29.8GB,中间 Q4_K_M 80.0GB、IQ4_XS 70.1GB 是最常用的两档。它的 GQA 只有 8 个 KV 头、40 层,32K 满上下文的 KV cache 大概只要 5GB 出头,所以显存基本全花在权重上 —— 这意味着「够不够装得下」几乎就是唯一的问题。NexGPU 在 51 个国家与地区有 1,175 个已验证可租节点、2,498 张 GPU、75 种型号,单节点最多 14 卡、最大整机显存 2,152GB,按秒计量、按小时计价,没有最低消费、没有开通费、不用提配额工单。想拼 320GB 还是想用单卡 80GB 塞个 IQ4_XS,都是开机就有的事。

01 —

DBRX 有哪些版本,各自要多少显存

只有一个尺寸的 132B-A36B,区别在精度与来源

版本参数量显存上下文说明
DBRX Instruct132B 总参 / 36B 激活(16 专家选 4)bf16 ≈264GB,官方建议实跑 ≥320GB32K(32,768)指令微调版,日常对话、RAG、代码问答都用它。知识截止 2023 年 12 月。
DBRX Base132B 总参 / 36B 激活bf16 ≈264GB32K未对齐的预训练底座,用于继续预训练、自定义 SFT 或复现论文,不要直接拿来当聊天模型。
transformers-community/dbrx-instruct132B 总参 / 36B 激活bf16 ≈264GB32K原始 checkpoint 关闭之后,transformers 官方文档示例改用的兼容再上传版,DbrxForCausalLM 直接加载。
GGUF Q8_0 / Q6_K132B-A36BQ8_0 139.9GB / Q6_K 108.1GB32K近无损档。想在多卡上避开 bf16 的 264GB 又不想损质量,这两个是上限选择。
GGUF Q4_K_M / IQ4_XS132B-A36BQ4_K_M 80.0GB / IQ4_XS 70.1GB32K自建的主力档。IQ4_XS 在 wiki.test 上的困惑度约 5.22–5.25,单张 80GB 卡就能全层上显存。
GGUF Q2_K / IQ2_XS / IQ1_M132B-A36BQ2_K 48.0GB / IQ2_XS 38.5GB / IQ1_M 29.8GB32K极限压缩档。做 imatrix 量化的作者本人标注 IQ3 及以下「非常敏感、不可靠」,只适合冒烟测试,别拿它评质量。

02 —

跑 DBRX 该租什么卡

显存按权重体积对齐,不做「差一点应该也行」的推荐

  • 单卡跑 IQ4_XS(70.1GB)做私有对话与评测

    A100 PCIE 80GB ×1$0.824/卡·时

    70.1GB 权重全上显存后还剩近 10GB,够 32K 满上下文的 KV cache,是 DBRX 唯一一档真正的单卡方案。

  • Q4_K_M(80.0GB)加大并发与长上下文

    RTX A6000 48GB ×2$0.817/卡·时(合 $1.634/时)

    两卡 96GB 给 80GB 权重留出 16GB 余量,llama.cpp 按层切分即可,成本比单张 H200 低一个数量级。

  • bf16 原生精度 + vLLM 张量并行做生产服务

    A100 SXM4 80GB ×4$1.088/卡·时(合 $4.352/时)

    4 卡 320GB 正好压住官方给的 320GB 门槛,NVLink 让 TP=4 的 MoE 全对全通信不至于成为瓶颈。

  • 低首 token 延迟、高并发的对外服务

    H100 SXM 80GB ×4$3.582/卡·时(合 $14.328/时)

    同样 320GB,但显存带宽与 FP8 支持能把 36B 激活参数的解码吃干抹净,适合真正有 QPS 压力的场景。

03 —

从零把 DBRX 跑起来

NexGPU 预置了 2,000+ 镜像,vLLM 与 PyTorch 都是现成的

  1. 01

    开机、选镜像、把权重拉下来

    在控制台按上面的表挑卡型,选 vLLM 或 PyTorch 预置镜像,SSH 或 Web 终端进去。bf16 权重 264GB,开着 hf_transfer 拉会快很多;注意原始 databricks/dbrx-instruct 是需要申请的门控仓库,走社区再上传版最省事。权重落盘一次,之后重启实例不用重下。

    HF_HUB_ENABLE_HF_TRANSFER=1 hf download transformers-community/dbrx-instruct --local-dir /workspace/dbrx
  2. 02

    bf16 多卡:用 vLLM 起 OpenAI 兼容服务

    4 张 A100 SXM4 80GB 上 TP=4。两个必须显式给的参数:--trust-remote-code(DBRX 的 tiktoken 系 tokenizer 需要),以及 --max-model-len 32768 —— 很多部署默认只开到 4K 上下文,不写这一行你会以为 32K 是假的。若遇到 tokenizer 报错,先查 tiktoken 版本,早期 vLLM 就是为 DBRX 把它钉死在 0.6.0 的。

    python -m vllm.entrypoints.openai.api_server --model /workspace/dbrx --tensor-parallel-size 4 --max-model-len 32768 --gpu-memory-utilization 0.95 --trust-remote-code
  3. 03

    单卡量化:llama.cpp 跑 IQ4_XS

    预算敏感就走这条。IQ4_XS 70.1GB 在一张 A100 PCIE 80GB 上能把 40 层全部 offload 到显存,-ngl 给满、-c 开到 32768,剩下的显存正好够 KV cache。DBRX 的 llama.cpp 支持是社区在 PR #6515 里合进去的,用近期版本即可,别用 2024 年初的老 build。

    llama-server -m /workspace/dbrx-instruct-IQ4_XS.gguf -ngl 99 -c 32768 --host 0.0.0.0 --port 8080
  4. 04

    验一发,然后接进你的系统

    两条路起来的都是 OpenAI 兼容端点,把 base_url 一改就能接现有代码。顺手记一下:DBRX 的 model card 明确写了它主要在英文语料上训练,非英语能力未做验证,中文任务先小样本试,别一上来就压全量流量。

    curl http://localhost:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"/workspace/dbrx","messages":[{"role":"user","content":"Explain fine-grained MoE routing in one paragraph."}]}'

这一趟到底要花多少钱

算一笔能对账的账。方案 A:单张 A100 PCIE 80GB 跑 IQ4_XS 做一轮 2,000 条的内部评测。下载并落盘 70.1GB 权重约 0.5 小时,llama.cpp 加载预热 0.2 小时,评测本体 3.3 小时,合计 4 小时 —— 4 × $0.824 = $3.296。方案 B:bf16 原生精度,264GB 权重需要 4 张 A100 SXM4 80GB 凑够 320GB,4 × $1.088 = $4.352/时,团队连开 8 小时试用就是 8 × $4.352 = $34.82。方案 C:同样 320GB 换成 4 张 H100 SXM 80GB,4 × $3.582 = $14.328/时,8 小时 $114.62 —— 快是真快,值不值你自己判断。别忘了存储:70.1GB 的 GGUF 按 $0.414/GB·月 的中位价是 70.1 × 0.414 ≈ $29.02/月;计算在实例停止那一刻就停止计费,存储会一直跑表到你销毁它。出流量按 $0.0081/GB 中位价计,把评测结果拷回本地那点数据基本可以忽略。

04 —

常见问题

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

bf16 权重是 264GB,官方文档给的实跑门槛是至少 320GB 显存,可以跨多卡分摊。量化之后门槛断崖式下降:Q8_0 139.9GB、Q6_K 108.1GB、Q4_K_M 80.0GB、IQ4_XS 70.1GB、Q2_K 48.0GB。因为 DBRX 的 GQA 只有 8 个 KV 头、40 层,32K 满上下文的 KV cache 才 5GB 出头,显存几乎全给了权重,所以「装得下就跑得动」。在 NexGPU 上,IQ4_XS 对应一张 A100 PCIE 80GB($0.824/卡·时),bf16 对应 4 张 A100 SXM4 80GB($1.088/卡·时),开机就能验。

官方仓库都下架了,DBRX 的权重现在去哪儿下?

GitHub 上的 databricks/dbrx 已经搜不到,Hugging Face 上的原始 checkpoint 也被关闭。目前最省事的是 transformers 官方文档指向的兼容再上传 transformers-community/dbrx-instruct,DbrxForCausalLM 可以直接加载;量化路线走社区 GGUF,mradermacher/dbrx-instruct-GGUF 提供从 Q2_K 到 Q8_0 的全套,dranger003/dbrx-instruct-iMat.GGUF 提供 imatrix 版本的 IQ1_S 到 IQ4_XS。264GB 的下载量在家用带宽上是场灾难,在 NexGPU 的节点上开 hf_transfer 拉,落一次盘就能反复开机复用。

一张 RTX 4090 24GB 能跑 DBRX 吗?

不能。DBRX 最小的公开量化是 IQ1_S 的 26.9GB,已经超过 24GB,而 1-bit 档的质量根本不能用来做判断。两张 4090 凑 48GB($1.080/时)刚好卡在 Q2_K 的 48.0GB 上,一点余量都没有。有意思的是算下来更该选 A100 PCIE 80GB:$0.824/时比双 4090 还便宜,显存却多出 32GB,直接能上 IQ4_XS。这就是 NexGPU 按秒计费、75 种卡型混租的意义 —— 选对卡往往比堆卡更省钱。

为什么我的 DBRX 只有 4K 上下文,说好的 32K 呢?

这是 DBRX 自建时最常见的坑。模型确实是按 32,768 的最大上下文预训练的,但不少部署路径默认只开到 4K,需要你显式指定:vLLM 加 --max-model-len 32768,llama.cpp 加 -c 32768。同时 --trust-remote-code 也要带上,DBRX 用的是 tiktoken 里的 GPT-4 词表,走的是慢速 tokenizer 路径;早期 vLLM 为此把 tiktoken 钉死在 0.6.0,报 tokenizer 相关错误时先查这个。在 NexGPU 的 vLLM 预置镜像里,这两行参数改完重启即可,实例停了就不计费。

DBRX 能商用吗?许可证有什么要注意的?

用的是 Databricks Open Model License,允许商用和研究,但有两条硬约束值得先看清楚:一是月活超过 7 亿的公司需要单独申请商业许可;二是明确禁止用 DBRX、其衍生模型或其任何输出去改进别的大模型 —— 也就是说拿 DBRX 蒸馏数据训自己的模型是违约的。另外还要遵守 Databricks 的开放模型可接受使用政策。这些都是自建时的合规前提,跟你在哪租卡无关;NexGPU 提供的是裸机算力与 SSH/Jupyter/REST API 访问,模型和数据完全在你自己的实例里,不经过我们的任何托管层。

2026 年了,还值得自建 DBRX 吗?

要看你为什么用它。如果只是想找一个通用中文对话模型,2024 年 3 月的 DBRX 在中文上并不合适 —— 它的 model card 写明主要在英文语料上训练、非英语能力未做验证。但如果你在复现 MoE 相关研究、有既存的 DBRX pipeline 需要维护、需要一个许可条款明确的开放权重 132B 模型做对照组,或者要评估细粒度 MoE(16 选 4)与粗粒度 MoE 的路由差异,那它依然是绕不开的一个样本 —— 而且现在托管 API 已经退役,自建是唯一入口。NexGPU 上 A100 80GB 一张 $0.824/卡·时、按秒计量,跑完一轮对比实验的成本大概是一杯咖啡,Telegram 上双语支持随时在线,不用排工单。

开始使用 NexGPU

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

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