用于大型语言模型服务和部署的最佳云GPU
在生产环境中服务大型语言模型需要具备足够显存以存储模型权重的GPU、用于生成标记的高速内存带宽,以及支持自动扩展的基础设施。vLLM、TGI 和 TensorRT-LLM 等框架通常用于优化大型语言模型的推理吞吐量。本指南列出了适合大规模托管和服务大型语言模型的云GPU提供商。
目前尚无匹配此指南的GPU供应商。请稍后再查。
租用GPU时,LLM推理的实际需求
部署大型语言模型(LLM)与训练它是截然不同的工作负载。训练受吞吐量限制且对延迟容忍;推理则对延迟敏感,受内存限制且请求呈爆发式。租用GPU通过API部署LLM时,瓶颈很少是纯计算性能(FLOPS)。关键在于你能在显存中容纳多少模型及其KV缓存,显存的传输速度,以及在每用户每秒生成的token数崩溃前,你能批处理多少并发请求。
KV缓存是大多数人低估的部分。每个活跃请求都会存储其上下文的注意力键和值,这个占用随着序列长度和并发用户数增长。一个在空闲时能轻松运行的模型,一旦推送带有长提示的真实流量,可能立即耗尽内存。这就是为什么推理部署通常需要比模型权重本身更多的显存余量。
如何根据模型大小选择GPU
实际的第一个问题是模型是否能放入一块GPU,还是必须拆分到多块GPU。结合上文比较,考虑以下因素:
- 显存容量决定了哪些模型能适配。量化到FP8或INT8的7B–13B模型可以用单块中端加速卡推理,而70B的BF16模型通常需要高显存卡或多GPU节点。极大型的前沿模型实际上需要多块顶级GPU联结。
- 内存带宽决定了token生成速度。自回归解码每生成一个token都要读取全部权重,因此数据中心卡上的HBM内存比同等模型大小的基于GDDR的消费级卡生成token快得多。对于交互式聊天,带宽往往比计算更重要。
- 支持的精度决定了模型压缩的激进程度。支持FP8和INT8张量的卡可以在更少显存和更高吞吐量下推理更大模型,前提是推理堆栈和模型量化方案兼容。
- 互连在模型跨多GPU时很重要。张量并行推理在每层都需在GPU间交换激活,因此节点内NVLink级别的互连比仅PCIe配置显著降低延迟。单GPU部署时,互连无关紧要。
单GPU与多GPU推理
如果模型及其峰值KV缓存能放入一块GPU,就保持单GPU。单GPU推理完全避免跨设备通信开销,且操作更简单。只有当模型确实无法放下时,才采用张量并行或多节点推理,因为每增加一块GPU都会带来同步成本并增加自动扩缩复杂度。需要多GPU时,优先选择上述列表中配备高显存卡和快速节点内互连的实例,而非松散耦合的多卡拼接。
对推理重要而非训练的供应商特性
除了硬件,供应商的运营模式决定部署的可行性。针对推理工作负载而非训练,优先考虑:
- 冷启动和设置时间成为一等大事。一个在流量峰值间可缩减至零的推理端点,每次扩容都要付出冷启动代价,因此快速配置和镜像缓存直接影响尾部延迟。
- 计费粒度改变爆发流量的经济性。按秒或按分钟计费适合自动扩缩的端点,按小时计费则不利于此类模式。
- 按需可靠性优于抢占实例通常是正确选择。抢占或Spot实例适合训练和批处理作业,但对面向用户的端点风险较大,中途回收会中断实时流量。Spot仍适合非交互式批量推理。
- 持久存储和快速模型加载减少重启痛苦。每次重启都从冷对象存储加载数GB权重会增加几分钟停机时间;缓存或挂载卷能缩短加载时间。
- 网络和出站流量影响大规模成本。高吞吐推理可能产生大量出站数据,部署高流量前请核查出站条款。
批量与实时及成本分布
尽早决定优化哪种模式。实时交互推理重视首token时间和稳定的每用户token速率,偏好高带宽内存和适中批量大小。批量或离线推理重视总吞吐量,可在更廉价或可抢占硬件上打包大批量,牺牲单请求延迟换取更低的每token成本。许多团队两者兼顾:为实时用户提供响应式按需层,用Spot支持批量生成层。
在租用成本上,推理覆盖全光谱。量化小模型用中端卡成本低且普遍可用;前沿模型用多GPU高显存节点稀缺、昂贵且需求峰值时可能受限。因价格不断变动且因地区和承诺不同,以上实时比较为真实依据,比较实例时应综合显存、带宽等级、互连和计费模式,而非仅看标价。
常见问题
我需要多少显存来推理LLM?
预算应包括所选精度下的模型权重及为KV缓存预留的充足余量,KV缓存随上下文长度和并发用户数增长。粗略指导:量化的小型和中型模型可用单块中端卡推理,高精度大型模型需高显存卡或多GPU。始终按峰值并发而非空闲容量规划。
Spot或抢占GPU适合LLM推理吗?
对于面向用户的实时端点,通常不适合,因为回收会中断活跃请求并强制冷启动。Spot实例适合离线或批量推理,中断只会延迟吞吐而不会破坏交互会话。许多团队为实时流量保留按需容量,用Spot处理批量任务。
为什么内存带宽比计算更重要?
逐token解码每生成一个token都要从内存读取模型权重,因此生成速度受限于GPU内存传输速度而非峰值FLOPS。这就是为什么配备HBM的数据中心卡比持有同模型的消费卡生成token更快,以及为何带宽是上述比较中的关键指标。
我应该用一块GPU推理还是拆分到多块?
只要模型及其峰值KV缓存能放入一块GPU,就用单GPU,避免跨设备通信并简化扩展。只有模型确实放不下时才用多GPU张量并行,且应选择配备高显存卡和快速节点内互连的实例。