跳到主要内容

5 篇博文 含有标签「quantization」

查看所有标签

量化质量悬崖:当 int4 通过中位数评估却在长尾场景失效时

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个团队将 fp16 模型更换为 int4 量化模型,以将推理成本减半。评估套件在精心挑选的测试集上的得分与原始模型相比差距不到一个百分点。于是,在“基准测试表现无差异”的理由下,模型正式发布。六个星期后,支持团队收到了受监管客户关于灾难性故障的反馈——生成的代码完全是胡言乱语,低资源语言的回复漂移到了另一种文字,多步算术运算自信地给出了偏差一个数量级的数字。基准测试没有撒谎。它只是测量了中位数,而量化并不是对中位数的均匀征税,它是对长尾分布的非均匀征税。

这就是量化质量悬崖:你的评估套件、发布纪律和成本节约叙事同时崩溃,因为你用来批准更换的指标,对于你所摧毁的能力完全没有信号反馈。最近的基准测试让这种影响变得具体。在长上下文任务中,8-bit 量化保留了准确性,仅下降了约 0.8%,而 4-bit 方法在相同工作负载下损失高达 59%——这种退化对于任何没有对长尾输入进行过采样(oversample)的测试集来说都是不可见的。中位数移动了一个点,而长尾移动了十五、三十甚至五十个点。

静默量化:为什么你今天付费的模型不再是上个季度购买的那个

· 阅读需 12 分钟
Tian Pan
Software Engineer

你账单上的模型名称与上季度完全一致。API 响应中的版本字符串也没有改变。模型卡片和定价页面看起来也一模一样。然而,你的评估得分却下降了 0.5 分,拒绝模式以你提示词中未要求的方式发生了偏移,上周二还收到了几起客户投诉,称输出结果“感觉不一样”。你调试了代码,却一无所获。代码没变。权重变了。

静默量化(Silent quantization)是你合同约定的模型与供应商实际交付的模型之间的差距。之所以发生这种情况,是因为推理经济学持续收紧——每一美元的 GPU 算力在本季度必须承载比上季度更多的请求——而消化这种压力的最廉价方式,就是在更廉价的精度层级上重新托管同一个模型。FP16 变成了 FP8。在某些路由中,FP8 变成了 FP4。混合精度分片被替换进来。版本字符串没有变动,因为版本字符串从来都不是精度合约,而是一份营销合约。

边缘 LLM 推理:当延迟、隐私或成本迫使你离开云端

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个在单张 RTX 4090 上运行的经过微调的 7B 参数模型,可以在特定领域任务上超越 GPT-4,同时在初始硬件投资之后每个 token 的成本为零。这不是理论上的说法——Diabetica-7B,一个专注于糖尿病的模型,在临床查询上达到了 87.2% 的准确率,在同一基准测试中击败了 GPT-4 和 Claude 3.5。但前提是什么?你需要准确理解边缘推理何时有意义,何时只是昂贵的干扰。

大多数团队默认使用云端 API,因为它们简单。你发送一个 HTTP 请求,就能得到 token 返回。但这种简单性有一个成本,它的扩展方式是许多工程师在为时已晚之前没有预料到的——而且成本并不总是以金钱来衡量的。

多模型推理服务的 GPU 显存计算:为什么大多数团队会过度配置 3 倍资源

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数运行 LLM 推理的团队将 GPU 配置视作一场猜谜游戏。他们看到模型在 FP16 精度下需要 “140 GB”,便感到恐慌,于是申请四张 A100-80GB 显卡,然后就觉得万事大吉了。他们没有计算的是 KV 缓存、并发和量化是如何相互作用并决定实际显存占用的——而这种误算通常意味着他们多支付了 3 倍的冤枉钱。

这套计算并不复杂。但在签署云服务合同之前,几乎没有人去计算。本文将详细介绍这些精确的公式,揭示隐藏的显存黑洞,并解释装箱(bin-packing)策略,让你能在原本只够运行一个模型的硬件预算下服务四个模型。

生产环境下的自托管 LLM:没人告诉你的 GPU 显存计算公式

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数决定自托管 LLM 的工程师都会从同样的计算开始:模型有 70B 参数,FP16 每参数 2 字节,所以是 140 GB。他们检查发现两块 A100-80GB GPU 能容纳 160 GB,感到很满意,于是订购了硬件。然后进入生产环境,却发现还没服务一个真实用户,显存(VRAM)就已经耗尽了。

模型权重只是故事的一部分。让几乎每个团队都感到意外的部分是 KV 缓存(KV cache)—— 理解它会改变你的每一个决定,从量化选择到推理框架,再到你实际需要的 GPU 数量。