在 Kubernetes 上集中式的 vLLM 以实现可扩展的 LLM 基础设施

主要观点:

  • 之前文章介绍 vLLM 相比传统 LLM 服务系统能提升 14 倍吞吐量,对高效 GPU 利用很重要,而公司需管理跨生产服务的 vLLM 实例。
  • Kubernetes 可用于管理中央 vLLM 部署,将 vLLM 高效 GPU 利用与可扩展可靠的编排平台结合能打造生产就绪的 LLM 基础设施。
  • 集中式 vLLM 有诸多好处,如避免单独服务运行和管理 vLLM 实例的弊端,提高资源利用率、降低成本等。
  • 在 Kubernetes 上运行 vLLM 有资源管理、设备插件、服务生命周期管理、负载均衡等关键能力。
  • 详细介绍了在 Kubernetes 上部署 vLLM 的步骤,包括创建集群、安装设备插件、指定模型及资源请求、创建部署和服务等,通过 tolerations 和 nodeSelector 确保 pod 调度到 GPU 节点,最后可通过端口转发访问服务。

关键信息:

  • vLLM 可提升吞吐量且对 GPU 利用重要。
  • Kubernetes 适合管理中央 vLLM 部署。
  • 集中式 vLLM 避免单独服务运行 vLLM 的弊端。
  • Kubernetes 上运行 vLLM 的关键能力。
  • 在 Kubernetes 上部署 vLLM 的具体步骤及相关配置。

重要细节:

  • 创建 5 节点 Kubernetes 集群,含两个节点池,一个是 3 个 CPU 节点,一个是 2 个 GPU 节点。
  • 为使用 gated 模型需创建 Kubernetes 秘密对象并提供 Hugging Face 令牌。
  • 在部署 manifest 中指定模型、资源请求等,如“meta-llama/Llama-3.1-8B”模型需约 16GB 模型权重及额外内存。
  • 利用 Kubernetes 的 tolerations 和 nodeSelector 确保 pod 调度到 GPU 节点。
  • 创建服务以引导流量到 pod,通过端口转发可访问服务,应用可通过内部端点访问推理服务。
阅读 25
0 条评论