内容提要
Chip Huyen在P99大会上指出,模型训练是一次性成本,推理成本则反复发生,比例可达1:10至1:100。她建议关注首token延迟和goodput等指标,并从模型与服务两方面优化:量化、蒸馏、批处理、预填充解码分离、并行及提示缓存。提示缓存命中率可达90%以上,显著降低成本。评估推理服务时,除成本和延迟外,还须关注模型质量。
延伸解读
推理成本为何是长期负担
Chip Huyen指出,模型训练是一次性成本,而推理成本会反复发生,比例可达1:10至1:100。这意味着如果推理太贵,训练投入可能永远无法收回。对于使用API或自托管服务的团队,理解这一经济结构有助于将优化重点从训练转向推理,避免只关注前期投入而忽视持续开销。
评估推理服务不能只看成本和延迟
Huyen提醒,许多推理优化技术会改变模型行为或降低质量。因此选择推理服务时,除了比较成本和延迟,还应关注模型在标准基准上的表现是否相似。否则,看似便宜的方案可能以牺牲输出质量为代价,最终影响用户体验和业务效果。
提示缓存:高命中率带来显著节省
提示缓存通过复用共享前缀,避免重复处理相同文本。Huyen的开源工具Sniffly在Claude Code日志中发现缓存命中率高达90%至97%。她建议将提示中稳定的部分放在前面,可变部分放在后面,以提升命中率。这种优化易于实施,能大幅降低延迟和成本。
模型优化与服务优化的选择
若你能访问模型权重、自行训练或微调模型,可考虑量化、蒸馏等模型优化,它们会改变权重并可能影响输出。若你直接使用现成模型,则更适合服务优化,如批处理、预填充解码分离、并行和提示缓存,这些技术不改变权重,专注于调度和复用请求。
Q&A
为什么说推理成本比训练成本更值得关注?
因为训练是一次性成本,而推理成本会反复发生。在模型整个生命周期中,训练与推理的算力比例可达1:10到1:100,推理模型消耗更多token,比例更高。如果推理太贵,训练成本就无法收回。
评估推理服务时应该关注哪些延迟指标?
应关注首token延迟(或Time to Publish,即用户看到第一个token的时间)和goodput。goodput衡量满足延迟目标的请求数,而吞吐量只衡量处理的请求数。最佳指标取决于对用户最重要的因素。
量化是如何降低推理成本的?有什么代价?
量化通过降低存储权重和激活值的精度(如从32位浮点降到8位整数)来减少内存占用和计算量,从而降低成本并加速推理。代价是模型质量会有轻微下降,但通常可以做到内存大幅减少而质量退化最小。
蒸馏技术有什么潜在的法律风险?
蒸馏是用大模型生成训练数据来训练小模型。但许多模型提供商禁止用其模型训练竞争模型,因此使用蒸馏技术前必须检查许可证,避免违反条款。
提示缓存如何帮助降低推理成本?
提示缓存将请求中重复的共享文本(如系统提示、示例、代码库、文档)处理一次并缓存,后续请求直接复用,从而节省计算和延迟。缓存命中率可达90%以上,显著降低成本。建议将提示中稳定的部分放在前面,可变部分放在后面以提高命中率。
预填充和解码分离为什么能提升推理效率?
预填充处理输入token,可并行计算,受计算能力限制;解码生成输出token,需顺序进行,受内存带宽限制。将两者分离到不同机器,可以针对性地分配资源:若想改善首token延迟,就增加预填充机器;若想改善每个输出token的时间,就增加解码机器。