技术深度解析
核心创新在于 Ray Serve、vLLM 与 GKE 如何将各自优势编织成一个统一的推理网络。让我们逐层剖析。
Ray Serve 是一个基于 Ray 分布式计算框架构建的模型服务库。它提供声明式 API 来定义部署图、自动请求批处理,以及基于队列深度或自定义指标的动态扩缩。关键之处在于,Ray Serve 通过 Ray Kubernetes Operator 与 Kubernetes 集成,该 Operator 将 Ray 集群作为自定义资源进行管理。这使得 Ray 集群能够根据流量自动扩缩其工作节点(承载 GPU 驱动的 vLLM 副本),无需人工干预。
vLLM 是一个开源推理引擎,通过 PagedAttention 实现了业界领先的吞吐量。PagedAttention 是一种内存管理算法,它将 KV 缓存视为非连续页面,类似于操作系统中的虚拟内存。这消除了碎片化问题,使得 GPU 内存利用率接近 100%。vLLM 还实现了连续批处理——引擎会在早期请求完成后动态地将新到达的请求加入当前批次,而非等待固定批次完成。结合 FlashAttention-2 内核,vLLM 的吞吐量比 Hugging Face Transformers 或 Text Generation Inference(TGI)高出 2-4 倍。
GKE(Google Kubernetes Engine) 提供了编排层。借助 GKE 的节点自动预配和 GPU 资源配额,集群可以按需启动 A100 或 H100 节点。与 Ray Serve 的集成意味着,当创建新的 Ray Serve 部署时,GKE 会自动预配所需的 GPU 节点;当流量消退时,它会缩容至零。
| 指标 | 传统方案(Hugging Face + 静态集群) | Ray Serve + vLLM + GKE | 提升幅度 |
|---|---|---|---|
| 延迟(p50,Llama 3 70B) | 1.8s | 0.4s | 快 4.5 倍 |
| 吞吐量(请求/秒,8xA100) | 45 | 180 | 高 4 倍 |
| GPU 利用率(平均) | 35% | 85% | 好 2.4 倍 |
| 每百万 Token 成本(Llama 3 70B) | $1.20 | $0.48 | 降低 60% |
| 扩缩时间(0 到 8 块 GPU) | 15 分钟(手动) | 2 分钟(自动) | 快 7.5 倍 |
数据要点: 该表显示,这套技术栈在延迟、吞吐量、利用率和成本方面实现了同步提升。60% 的成本降低并非理论推测——它源于消除闲置 GPU 容量并最大化每块 GPU 的吞吐量。
对于希望复现此方案的工程师而言,开源生态已相当成熟。`ray-project/ray` GitHub 仓库(超过 35,000 星)包含 Serve 模块和 Kubernetes Operator。`vllm-project/vllm` 仓库(超过 30,000 星)包含引擎以及与 Ray 的集成示例。Google 提供了在 GKE 上使用 Ray Serve 部署 vLLM 的官方文档,包括 Helm Chart 和 Terraform 模板。
关键参与者与案例研究
这一集成并非孤立的实验,而是由各项目的核心维护者推动,并被大型企业广泛采用。
Ray 由 Anyscale 开发,该公司由 Ray 框架的创建者(包括 UC Berkeley 教授、Databricks 联合创始人 Ion Stoica)创立。Anyscale 平台提供托管 Ray 集群,但开源 Ray 项目仍是主要发行版。Ray Serve 模块之所以被迅速采用,是因为它抽象了分布式推理的复杂性——开发者只需使用 `@serve.deployment` 定义部署,Ray 即可处理副本、负载均衡和健康检查。
vLLM 由 UC Berkeley 的 Woosuk Kwon 和 Ion Stoica 教授领导的团队创建。它源于高效 LLM 服务的研究,并迅速成为开源推理的事实标准。该项目现由 vLLM 团队维护,并获得了 NVIDIA、Google 和 Microsoft 的贡献。与 Ray 的集成是经过深思熟虑的设计选择——vLLM 原生支持 Ray 进行跨多 GPU 的分布式张量并行。
Google Cloud 投入了大量资源,使 GKE 成为 AI 工作负载的首选平台。GKE 团队发布了 Ray Serve + vLLM 的参考架构,并附有性能基准测试。Google 内部团队也在 Vertex AI Model Garden 和 Duet AI 等产品中使用这一技术栈。
| 解决方案 | 开源 | Kubernetes 原生 | PagedAttention | 弹性扩缩 | 成本模型 |
|---|---|---|---|---|---|
| Ray Serve + vLLM + GKE | 是 | 是 | 是 | 是 | 按使用量付费 GPU |
| NVIDIA Triton + TensorRT-LLM | 部分 | 通过 K8s | 否 | 有限 | 预留 GPU |
| Hugging Face TGI | 是 | 通过 Helm | 否 | 手动 | 预留 GPU |
| Amazon SageMaker | 否 | 否 | 否 | 自动扩缩 | 按小时付费 |
数据要点: 该表显示,Ray Serve + vLLM + GKE 技术栈是唯一完全开源、Kubernetes 原生且结合了 PagedAttention 与弹性扩缩的解决方案。NVIDIA Triton 等竞品虽性能出色,但需要专有组件。