全部 6 个数据中心运行正常

加密货币支付 · 无需身份核验 · 5 分钟以内 内获得 root 权限

选型 指南 · 阅读需 10 分钟

实际该跑哪种量化格式。

推理服务栈首先要问的就是数字格式,而这个答案能让您的月度账单相差八倍之多。权重最小的格式,未必是能让模型整体占用最小的那个。

简短的答案

经验法则
权重会精确地按名称中的比例缩小 — BF16 / FP16 2 B/param · FP8 1 B/param · 4-bit (AWQ, GPTQ) 0.5 B/param。其他部分则不会。
是否值得
Qwen 3 32B需要NVIDIA A100 PCIe,全精度下每月$1,091,4-bit 则是NVIDIA L4,每月$125。同一模型,同一上下文。
陷阱
键/值缓存不会跟着权重一起缩小。在 128k 上下文下,4-bit Llama 3.3 70B 中有 53 % 是缓存,只有 47 % 是权重。
4-bit 全面落后的场景
Llama 3.1 8B在128k 处,4-bit 需要23.0 GB,而 FP8 只需18.4 GB — 显存更多,质量反而更差

从这里开始

本页大部分内容都是运算,所以先说结论。四个问题就能决定格式,之所以按这个顺序提问,是因为每一个都有可能单独终结讨论。

模型在全精度下,连同您的上下文,是否已经放得下?那就用 BF16 运行,不必再往下读。量化是一种用更小的服务器换取同等效果的手段,而您已经买到了能用的那台。压缩一个本来就放得下的模型,没有任何好处。

您的上下文很短,而模型很大吗?这正是 4-bit 声名远扬的场景。权重占据了显存的大部分,把权重压缩到四分之一,几乎等于把所需服务器规模也压缩到四分之一。

您的上下文很长,而模型较小吗?请在支持 FP8 的显卡上使用 FP8。FP8 既能把权重减半,也能把缓存减半,超过某个长度后,真正起作用的是第二个减半—下表给出了它反超 4-bit 的确切临界点。

您是在一台服务器上为一个人提供服务吗?通过 Ollama 使用 GGUF 是迄今为止最省事的做法,您放弃的那部分吞吐量,本来单个用户也用不到。

接下来的内容会解释这四个答案为何如此,并给出数字,供您用自己的模型而非我们的模型去核对。如果您还没算清楚自己的模型到底需要多少显存,那部分运算属于另一篇指南,应该先看那一篇。

三种格式,四个名称

用于推理的常见数字格式其实只有三种,它们的区别只在一点:每个参数占用多少字节。其余的一切—AWQ、GPTQ、GGUF、bitsandbytes—都只是生成这三种格式之一的方法,而不是第四种格式。

三种数字格式,以及每个字节数字各自对应的内容
格式 每个权重的字节数 每个缓存元素的字节数 用途
BF16 / FP16原始发布的权重 2 2 公版品质
FP8由推理服务栈本身生成 1 1 接近公版,Hopper 与 Blackwell
4-bit (AWQ, GPTQ)预先准备好的权重文件 0.5 2 权重最小,缓存保持 FP16

把这两个数字列当成一对来看。它们在前两行相等,在第三行并不相等,正是这一处不对称,造成了本页下文的大多数意外之处。

您在模型仓库中实际会遇到的这四个名称,与上表的对应关系如下。

AWQ 与 GPTQ

殊途同归,都通向 4-bit。AWQ 通过观察激活值来判断哪些权重重要并加以保护;GPTQ 则逐层压缩,边压缩边修正误差。两者都会生成 vLLM 和 SGLang 可以直接加载的检查点,而且就同一个模型而言,二者之间的差距,小于其中任何一个与 16-bit 之间的差距。

GGUF

llama.cpp 系列格式,也是 Ollama 底层所使用的格式。与其说它是单一方法,不如说是一种容器:一个文件可以容纳十几种精度中的任意一种权重,当显卡太小时,还会把部分层溢出到系统内存中。对于一台服务器上的单个用户来说无可匹敌,但在真实并发场景下,是三者中最弱的一个。

FP8

与其说它是一种权重文件格式,不如说是一种模式。给推理服务栈提供 16-bit 权重,它会在加载时将其转换为 FP8,无需额外下载,也无需校准环节。它是这四种格式中唯一还能压缩缓存的一种,这也是它会出现在您意想不到之处的原因。

BF16 与 FP16

作者发布时的原始权重,也是其他每一行都以此为基准来衡量的参照系。每个参数两个字节,无需校准集,无需检查内核支持,也无需就质量争论什么。只要放得下,它就是正确答案,本页其余内容都是多余的。

调用这几种格式,各自只需一个参数标志。这些正是vLLM 指南中详细介绍的那些选项;这里想说明的只是它们之间的差异有多小。

同一台服务器,四种方式
# 1. Reference. The weights as published, nothing to prepare.
$ vllm serve meta-llama/Llama-3.3-70B-Instruct --dtype bfloat16

# 2. FP8, quantised while it loads. No second download, no calibration.
#    --kv-cache-dtype is the half everyone forgets: it is what
#    halves the CACHE as well as the weights.
$ vllm serve meta-llama/Llama-3.3-70B-Instruct \
    --quantization fp8 --kv-cache-dtype fp8

# 3. Four-bit AWQ. A DIFFERENT checkpoint, prepared by someone else.
$ vllm serve casperhansen/llama-3.3-70b-instruct-awq \
    --quantization awq_marlin

# 4. Four-bit GPTQ. Same idea, different repository and flag.
$ vllm serve TechxGenus/Llama-3.3-70B-Instruct-GPTQ \
    --quantization gptq_marlin

不会缩小的那一半

把权重量化为 4 位,并不会量化键/值缓存。AWQ 和 GPTQ 只压缩权重,仅此而已;缓存会保持在 16 位,除非您另外要求使用 FP8 缓存,而在 4-bit 权重文件上,大多数人从不这样做。这正是上表的第三列,也是下面的运算结果不如任何人预期的原因。

这一后果在单个模型上最容易看清楚。下面是 Llama 3.3 70B 在 4-bit 下、配置器提供的每个上下文长度对应的情况—权重与缓存的对比。

4-bit 70B 模型的权重与缓存,按上下文长度
上下文 权重 KV 缓存 缓存占比
4k token 35.0 GB 1.3 GB 3 %
8k token 35.0 GB 2.5 GB 7 %
32k token 35.0 GB 10.0 GB 22 %
128k token 35.0 GB 40.0 GB 53 %

权重那一列始终不变—这正是量化权重的全部意义所在。缓存那一列则随上下文线性增长,到最后一行时,缓存甚至比它所属的模型本身还要大。

在 128k 时,4-bit Llama 3.3 70B 中有 53 % 是缓存。 您把权重压缩到四分之一大小,但所需的服务器规格几乎没变,因为您压缩的那部分本来就不是问题所在。仅凭权重数字来估算长上下文部署规模的人,配置至少会少估一半以上。

把这个过程推得足够远,4-bit 就会彻底失去优势。FP8 把两部分都减半;4-bit 只把其中一部分压缩到四分之一,另一部分原封不动。因此,对每个模型而言,都存在一个两者交叉的上下文长度,模型越小,这个交叉点到来得越早—因为小模型能节省的权重本就不多,而每个 token 带来的缓存增长却是相同的。

按模型和上下文长度列出,FP8 与 4-bit 的总显存对比
模型 4k 8k 32k 128k
Llama 3.1 8B8 B 参数 · 32 层 · 8 个 KV 头 5.24-bit,相差 4.3 GB 5.84-bit,相差 4.0 GB 9.24-bit,相差 2.3 GB 23.0FP8 胜出 — 18.4 GB
Qwen 3 32B32 B 参数 · 64 层 · 8 个 KV 头 19.54-bit,相差 17.8 GB 20.74-bit,相差 17.2 GB 27.64-bit,相差 13.8 GB 55.2不相上下
Llama 3.3 70B70 B 参数 · 80 层 · 8 个 KV 头 41.74-bit,相差 39.5 GB 43.14-bit,相差 38.8 GB 51.74-bit,相差 34.5 GB 86.34-bit,相差 17.2 GB

数字以 GB 为单位,取两种格式中较小的一个,落败的格式名称标注在下方。请从左往右读,您会看到随着上下文变长,4-bit 一列的优势逐渐消失。

最后一行的领先优势始终保持,因为 700 亿参数意味着有大量权重可以节省。中间一行打成平手:在 128k 时,Qwen 3 32B 无论用哪种格式,花费完全相同,这时您应该为了质量而选择 FP8。第一行则完全反转 at 128k:4-bit 所需的显存反而多于 FP8,同时精度还更差。这种情况—显存更多,输出更差—正是我们见过最常见的量化失误,如果您只看权重文件的大小,根本发现不了。

您的显卡实际能做到什么

FP8 首先是一项硬件特性,其次才是软件特性。张量核心不支持 FP8 的显卡,依然能加载 FP8 权重文件—推理服务栈会在做乘法运算前,把权重解包为 16 位—但您只能保留下载体积上的节省,却得不到速度上的好处,而且完全用不上 FP8 缓存。4-bit 则恰恰相反:它到处都能运行,因为无论如何,权重在参与运算前都要先解包为 16 位。

产品目录中的显卡,按代次列出及其 FP8 支持情况
生成 我们出租的显卡 FP8
Ampere NVIDIA RTX A6000 48GB, NVIDIA A100 PCIe 40GB, NVIDIA A100 PCIe 80GB, NVIDIA A100 SXM4 80GB 硬件层面不支持—解包为 16-bit
Ada Lovelace NVIDIA L4 24GB, NVIDIA RTX 4090 24GB, NVIDIA L40S 48GB 在张量核心中—权重与缓存
Hopper NVIDIA H100 PCIe 80GB, NVIDIA H100 SXM5 80GB, NVIDIA H200 SXM5 141GB 在张量核心中—权重与缓存
Blackwell NVIDIA RTX 5090 32GB, NVIDIA B200 SXM6 180GB 在张量核心中—权重与缓存

那一列描述的是芯片本身,这和「FP8 在哪里才是明智之选」并不完全是同一个问题。产品目录中该格式旁边的备注列出了 Hopper and Blackwell,这说的是推理服务栈,而不是张量核心:那些代次的 FP8 内核和 FP8 缓存,经过的实战最多,踩过的坑最少。Ada Lovelace 能运行它。而如果部署要依赖它,我们会选择 Hopper 或 Blackwell。

在 Ampere 显卡上,FP8 只能节省下载体积,仅此而已。 NVIDIA RTX A6000, NVIDIA A100 PCIe和NVIDIA A100 SXM4 的张量核心没有 FP8 通路。如果您原本打算在这类显卡上把缓存减半,那是做不到的—上面 FP8 列中的显存数字,在这类硬件上根本达不到。请按先卡后格式的顺序,把两者放在一起选择。

在选卡之前,还有一件事值得了解。Llama 3.3 70B 在 FP8、8k 上下文下需要 81.9 GB,而一张 80 GB 显卡—其中包括 NVIDIA A100 PCIe—还差 1.9 GB。在电子表格上看不出明显差距,但在实际服务器上足以导致失败。能独立满足需求的是再高一档的显卡,配置器会在您付款之前,而不是之后,告诉您那是哪一款。

速度上的收益

生成一个 token,意味着从显存中读取一次活跃权重。每个权重占用的字节数越少,需要读取的字节就越少,也就意味着每秒能生成更多 token—而在未经批处理的单流上,这种关系几乎是线性的,因为显卡没有别的事情可等。这正是每 token 成本指南用来做除法的那同一个显存带宽上限,而且刻意取得保守。下面把它应用到一个足够小、能在我们出租的每台单卡服务器上运行的模型,这样格式和显卡就能在同一张表里对照着读。

8B 模型在各显卡、各格式下的单流生成速率
显卡 带宽 BF16 / FP16 FP8 4-bit (AWQ, GPTQ)
NVIDIA L424 GB · 每月$125 300 GB/s 约 8 token/秒 约 17 token/秒 约 34 token/秒
NVIDIA RTX A600048 GB · 每月$286 768 GB/s 约 22 token/秒 约 43 token/秒 约 86 token/秒
NVIDIA L40S48 GB · 每月$714 864 GB/s 约 24 token/秒 约 49 token/秒 约 97 token/秒
NVIDIA RTX 409024 GB · 每月$193 1008 GB/s 约 28 token/秒 约 57 token/秒 约 113 token/秒
NVIDIA A100 PCIe40 GB · 每月$392 1555 GB/s 约 44 token/秒 约 87 token/秒 约 175 token/秒
NVIDIA RTX 509032 GB · 每月$335 1792 GB/s 约 50 token/秒 约 101 token/秒 约 202 token/秒
NVIDIA A100 PCIe80 GB · 每月$1,091 1935 GB/s 约 54 token/秒 约 109 token/秒 约 218 token/秒
NVIDIA H100 PCIe80 GB · 每月$1,469 2000 GB/s 约 56 token/秒 约 113 token/秒 约 225 token/秒

Llama 3.1 8B放在单张显卡上,一次一条流。表中列出的每台服务器都能以全部三种格式容纳它,因此各行既可以横向比较,也可以纵向比较 — 而且每一行里三栏之间的比例都相同,因为这只由每个权重占用的字节数决定,别无其他。

阅读这张表时有两点需要留意。第一,它描述的是一次一个请求的情形,而几乎没有人是这样提供服务的:在连续批处理下,权重对整批请求只读取一次,因此限制因素变成了算力而非显存,两列之间的比例也会随之收窄。第二,反量化本身是有代价的。4-bit 权重在参与乘法运算前必须先解包,在小模型、低批次规模下,这一解包过程可能会吃掉「读取量更小」所带来的部分收益中相当明显的一份。这张表所指示的方向是可靠的,但具体的倍数并不是承诺。

它会让您付出什么

这是整个主题中,最应该对「言之凿凿的数字」保持怀疑的部分,包括我们自己给出的数字。量化误差在很大程度上取决于模型本身,而不是量化方法,公开发表的对比结果之所以彼此矛盾,是因为它们测的是不同模型、不同任务。能够诚实说出口的,只是这种误差的大致走向。

FP8 足够接近原始精度,因而不存在争议。它仍然是一种浮点格式—指数和尾数都保留,只是位数更少—而不是像 4-bit 权重文件那样,必须按分组比例映射到整数网格上。这就是它退化如此轻微、也无需校准环节的原因。大多数团队不做评测就直接采用它,而且大多数情况下都相安无事。

4-bit 是一种真实的取舍,而且影响并不均匀。平均基准分数通常变化很小。真正受影响的是长尾能力:长链推理、精确运算、稀有语言、严格的输出格式。一个在选择题测试中依然表现良好的模型,可能会开始生成格式错误的 JSON。

模型越大,越能吸收这种损失。在 70B 模型上使用 4-bit 是常规部署。而在 8B 模型上(每个参数承载的信息更多),效果下降才会变得明显—而且根据上表,这也是它收益最小的地方。

校准数据比方法名称本身更重要。AWQ 和 GPTQ 都是针对样本语料进行压缩的。一份用英文散文校准、却拿去处理代码的权重文件,表现会比该方法本应达到的水平更差,而这一点,任何基准测试表都不会告诉您。

这比任何表格(包括这一张)都更靠谱 — 这也是我们宁愿给您公式,而不是给您一个分数的原因。这就引出本页唯一一条不是算出来的建议:两种都跑一遍。您租用的服务器带 root 权限,也没有任何计量收费,把同一个模型在两个端口上各起一份,各自跑上百条您自己的提示词,只需一个晚上,得到的结论也是针对您自己的工作负载,而不是别人的。

按成本最低的顺序依次测试。 只要放得下,就先从 BF16 开始,因为它是您其他测试所需要的基准。接下来降到 FP8—同一份权重文件,只需一个参数标志,无需额外下载。只有在前两者都因显存不足而被排除后,才考虑 4-bit 权重文件,而且到那时,请拿它与 FP8 运行结果对比,而不是与您的预期对比。

换算成哪台服务器

这一切之所以重要,归根结底是账单问题。下面是我们产品目录中,能在三种格式下,于 8k 上下文中完整容纳各模型的最便宜服务器—「完整」指放在一张卡上,不做拆分,因为一旦模型跨卡拆分,就会牵涉到互联问题,那是另一篇指南的内容。

按格式列出,完整容纳各模型的最便宜服务器
模型 BF16 / FP16 FP8 4-bit (AWQ, GPTQ)
Llama 3.1 8B NVIDIA L4$125/月 · 需要 19.5 GB NVIDIA L4$125/月 · 需要 9.8 GB NVIDIA L4$125/月 · 需要 5.8 GB
Qwen 3 32B NVIDIA A100 PCIe$1,091/月 · 需要 75.9 GB NVIDIA RTX A6000$286/月 · 需要 37.9 GB NVIDIA L4$125/月 · 需要 20.7 GB
Llama 3.3 70B 4 × NVIDIA B200 SXM6$11,790/月 · 需要 163.9 GB 4 × NVIDIA H200 SXM5$8,405/月 · 需要 81.9 GB NVIDIA RTX A6000$286/月 · 需要 43.1 GB

以 8k 上下文、在我们实际出租的服务器上为准。当某个单元格列出多张卡时,指的是该卡所在的最小节点规格,而不是拆分后的模型:最大的几款卡以四卡、八卡为单位出售,因此要在全精度下避免拆分 70B 模型,最便宜的办法就是买下四张卡、只用其中一张。这正是量化存在的意义:避免付出这笔账单。

横向读中间一行:$1,091 对 $125,约为 9×。 同样的 Qwen 3 32B,同样的 8k 上下文,同样的单张卡,同样的 root 权限—区别只在于数字格式。这就是量化在商业上的全部意义,也是为什么它值得您花一晚上实测,而不只是花一下午阅读。

善用这张表格和被它误导,区别在于两个习惯。按您实际会用到的上下文量估算,而不是按模型的最大上下文 — 本页第二张表格,说的正是把两者混为一谈的后果。下单前先核对格式是否符合显卡,而不是下单后才核对:无论传哪个参数,NVIDIA RTX A6000, NVIDIA A100 PCIe和NVIDIA A100 SXM4都给不出 FP8 的数据。配置器会针对每个节点和每种格式,在您付款之前报告所需显存,以及能否放入单张显卡。如果您权衡的是租用与按 token 付费调用 API 之间的取舍,那笔收支平衡另有专门测算,而量化会让天平大幅倒向硬件这一边。

把格式和服务器放在一起选。

配置器会在您付款之前,报告您的模型在各精度下的需求,以及哪些节点能用单张卡容纳它。

登录

控制台、账单与带外访问。

还没有账户?

没有单独的注册流程。您的账户会在您 下第一笔订单时自动创建——您在付款步骤中选择邮箱和密码, 机器交付时,控制台也随之开通。

配置服务器

Language