跳转至正文

基础设施前置条件

本文件将指导您选择运行 llm-d 的 Kubernetes 基础设施。它涵盖了 llm-d 的基本硬件和软件要求、集群配置,以及针对基础设施提供商(云平台、特定发行版)的特定配置。

llm-d 基础设施

llm-d 在以下配置上进行测试,支持最前沿的 AI 加速器

  • Kubernetes: 1.29 或更高版本
    • 您的集群调度器必须支持在同一网络域内放置多个 Pod,以运行多主机推理
    • 推荐使用 Kubernetes v1.33.0+ 以获得完整的 Sidecar 初始化容器支持 (restartPolicy: Always)。如果使用 Kubernetes v1.28.x 或更低版本,Pod 可能会因 Sidecar 支持不完整而卡在 Init:0/1 状态。
  • 近几代数据中心级加速器
    • AMD MI250X 或更新型号
    • Google TPU v5e, v6e 及更新型号
    • NVIDIA L4, A100, H100, H200, B200 及更新型号
  • 高速节点间网络
    • 加速器专用
      • AMD Infinity Fabric, InfiniBand 网卡
      • Google TPU ICI
      • NVIDIA NVLink, InfiniBand 或 RoCE 网卡
    • 主机及南北向流量
      • 高速(100Gbps+ 聚合吞吐量)数据中心网卡
  • 主机
    • 每台机器 80 个以上 x86 或 ARM 核心
    • 500GiB 或更多内存
    • PCIe 5+

较旧的配置可能可以运行(尤其是稍旧的加速器),但测试属于尽力而为性质。

(可选)vLLM 容器镜像

llm-d 提供了衍生自 vLLM 上游的容器镜像,这些镜像已在受支持的硬件上经过测试,并安装了所有必要的优化库。若要使用您自己的镜像进行构建和部署,您应当集成:

  • 通用
    • vLLM: 0.10.0 或更高版本
    • NIXL: 0.5.0 或更高版本
    • UCX: 0.19.0 或更高版本
  • NVIDIA 专用
    • NVSHMEM: 3.3.9 或更高版本

llm-d 指南期望 vLLM 镜像遵循一系列惯例:

  • 通用
    • 必须至少有一个兼容 vLLM 的 Python 版本(3.9 到 3.12)
      • 我们推荐至少 3.10+
    • 必须捆绑所需的系统库
      • LD_LIBRARY_PATH 必须包含 vLLM 运行所需的所有系统库
    • PATH 必须包含 vLLM 二进制文件,且直接调用 vllm 应当以正确的 Python 环境(如虚拟环境)启动
    • 默认镜像命令(或未指定时的 entrypoint)应以服务配置启动 vLLM,并接受额外参数
      • 带有 args 的 Pod 应当能看到传递给 vLLM 的所有参数
      • 带有 command: ["vllm", "serve"] 的 Pod 应当覆盖任何镜像默认设置
  • 缓存
    • 默认编译缓存目录环境变量应位于 /tmp/cache/compile/<NAME> 下的共享根路径
      • 例如:设置 VLLM_CACHE_ROOT=/tmp/cache/compile/vllm 以确保 vLLM 编译到临时目录
      • 未来版本的 vLLM 将建议将 Pod 卷挂载到 /tmp/cache,以减轻某些缓存因重启而失效的问题。
    • 不要硬编码模型缓存目录和模型缓存环境变量
      • 未来版本的 llm-d 将提供 vLLM 模型加载的惯例
  • 硬件
    • 遵循您硬件生态系统的最佳实践,包括:
      • 预期从标准主机位置挂载硬件特定的驱动程序和库
      • 内核的提前(AOT)编译
    • NVIDIA 专用
      • LD_LIBRARY_PATH 包含 /usr/local/nvidia/lib64 目录,以便 Kubernetes GPU operator 注入合适的驱动程序

(可选)为多主机推理安装 LeaderWorkerSet

LeaderWorkerSet (LWS) Kubernetes 工作负载控制器专门用于部署服务工作负载,其中每个副本由分布在多个主机(特别是加速器节点)上的多个 Pod 组成。llm-d 默认使用 LWS 进行多主机推理部署,以实现 Rank 到 Pod 的映射、拓扑感知放置(以确保最佳加速器网络性能),以及全有或全无(all-or-nothing)的故障和重启语义,以便在节点或加速器故障时进行恢复。

在使用 LWS 部署 llm-d 指南时,请参考 LWS 安装指南 安装 0.7.0 或更高版本。

在主流基础设施提供商上安装

以下文档描述了针对集群基础设施提供商经过测试的 llm-d 设置,以及会影响模型服务器访问加速器方式的特定部署设置。

这些提供商配置会定期进行测试。

在继续之前,请遵循特定提供商的文档,确保您的 Kubernetes 集群和硬件已正确配置。

其他提供商

为了将新的基础设施提供商添加到我们的主流支持路径中,我们要求提供以下支持:

  • 关于配置平台以支持一个或多个主流路径指南的文档
  • 为指南贡献适当的配置,以处理提供商特定的差异
  • 验证受支持指南的自动化测试环境
  • 至少有一名有记录的平台维护者,负责回应 GitHub issue,并可在 llm-d Slack 频道 #sig-installation 中进行定期讨论。
内容来源

此内容自动同步自 llm-d/llm-d 仓库 main 分支下的 guides/prereq/infrastructure/README.md

📝 如需建议修改,请编辑源文件创建 issue