使用 LLM-D 安装
本指南提供了将 vLLM Semantic Router (vsr) 与 LLM-D 结合部署的分步说明。这也将说明一个关键设计模式,即使用 vsr 作为 model selector,结合使用 LLM-D 作为 endpoint selector。
Model selector 提供将 LLM 查询路由到多个完全不同的 LLM 模型之一的能力,而 endpoint selector 则选择多个 endpoint 之一,每个 endpoint 服务一个等效模型(通常是完全相同的基础模型)。因此,此部署展示了 vLLM Semantic Router 作为 model selector 如何与 LLM-D 等 endpoint selector 解决方案完美互补。
由于 LLM-D 有多种部署配置,其中一些需要更大的硬件设置,我们将演示 LLM-D 与 vsr 配合工作的基线版本,以介绍核心概念。当使用更复杂的 LLM-D 配置和生产级良好路径时,这些核心概念同样适用,如 LLM-D 仓库中此链接所述。
此外,我们将使用 LLM-D 与 Istio 作为 Inference Gateway,以构建在本仓库中记录的 Istio 部署示例的步骤和硬件设置之上。无论是否使用 vsr,Istio 也常用作 LLM-D 的默认网关。
架构概览
部署包含以下组件:
- vLLM Semantic Router:为基于 Envoy 的 Gateway 提供智能请求路由和处理决策
- LLM-D:用于大规模 LLM 推理的分布式推理平台,具有 SOTA 性能。
- Istio Gateway:Istio 的 Kubernetes Gateway API 实现,底层使用 Envoy 代理
- Gateway API Inference Extension:通过 ExtProc 服务器扩展 Gateway API 用于推理的附加 API
- 两个 vLLM 实例各服务一个模型:此拓扑中用于演示 Semantic Router 的示例后端 LLM
前置条件
开始之前,请确保已安装以下工具:
- Docker - 容器运行时
- minikube - 本地 Kubernetes
- kind - Kubernetes in Docker
- kubectl - Kubernetes CLI
- Helm - Kubernetes 包管理器
- istioctl - Istio CLI
我们在下面的描述中使用 minikube。如上所述,本指南构建在本仓库的 vsr + Istio 部署指南之上,因此将参考该指南的公共部分并在此添加增量步骤。
与 Istio 指南一样,您需要一台至少有 2 个 GPU 支持的机器来运行本练习,以便我们可以部署并测试使用 vsr 在两个不同的 LLM 基础模型之间进行模型路由。