2.4. 通过对 llm-d 使用分布式推测部署模型


与 llm-d 的分布式干扰是一个 Kubernetes 原生开源框架,旨在大规模服务大型语言模型(LLM)。您可以与 llm-d 一起使用分布式干扰来简化 generative AI 的部署,专注于在各种硬件加速器中实现高性能和成本效益。

使用 llm-d 的分布式追踪主要功能包括:

  • 使用前缀缓存感知路由和不aggregated 服务等优化来有效地处理大型模型。
  • 集成到标准的 Kubernetes 环境中,它利用 Envoy 代理等专用组件来处理网络和路由,以及高性能库,如 vLLM 和 NVIDIA Inference Transfer Library (NIXL)。
  • 测试的方法和众所周知的预设减少了大规模部署推销的复杂性,因此用户可以专注于构建应用程序,而不是管理基础架构。

使用 Red Hat OpenShift AI 的分布式推测服务模型包括以下步骤:

  1. 安装 OpenShift AI.
  2. 启用单一模型服务平台。
  3. 在 Kubernetes 集群上启用分布式干扰.
  4. 创建 LLMInferenceService 自定义资源(CR)。
  5. 部署模型。

此流程描述了如何为 LLMInferenceService 资源创建自定义资源(CR)。您可以将默认的 InferenceService 替换为 LLMInferenceService

先决条件

  • 您已启用了单一模型服务平台。
  • 您可以访问运行 4.19.9 或更高版本的 OpenShift 集群。
  • 在集群中没有安装 OpenShift Service Mesh v2。
  • 您的集群管理员在 openshift-ingress 命名空间中创建了 GatewayClass 和一个名为 openshift-ai-inference 的网关,如 带有 OpenShift Container Platform Networking 的网关 API 所述。

    重要

    检查 网关 API 部署拓扑。仅在可信命名空间中使用共享网关。

  • 您的集群管理员已在 OpenShift 中安装了 LeaderWorkerSet Operator。如需更多信息,请参阅 Leader Worker Set Operator 文档
  • 如果您在裸机集群中运行 OpenShift:您的集群管理员已设置了 MetalLB Operator,以便为 openshift-ai-inference Gateway 服务提供类型为 LoadBalancer 的外部 IP 地址。如需更多信息,请参阅使用 MetalLB 进行负载平衡。确保 LoadBalancer 配置为如下:

    • 具有标准 Kubernetes Service 清单。
    • spec 部分中具有 type:LoadBalancer

流程

  1. 以开发者身份登录 OpenShift 控制台。
  2. 使用以下信息创建 LLMInferenceService CR:

    apiVersion: serving.kserve.io/v1alpha1
    kind: LLMInferenceService
    metadata:
      name: sample-llm-inference-service
    spec:
      replicas: 2
      model:
        uri: hf://RedHatAI/Qwen3-8B-FP8-dynamic
        name: RedHatAI/Qwen3-8B-FP8-dynamic
      router:
        route: {}
        gateway: {}
        scheduler: {}
      template:
        containers:
        - name: main
          resources:
            limits:
              cpu: '4'
              memory: 32Gi
              nvidia.com/gpu: "1"
            requests:
              cpu: '2'
              memory: 16Gi
              nvidia.com/gpu: "1"
    Copy to Clipboard Toggle word wrap

    在 inference 服务的 spec 部分自定义以下参数:

    • replicas - 指定副本数量。
    • model - 根据模型的存储方式(uri)和模型名称(名称)提供 URI。

      • S3 bucket: s3://<bucket-name>/<object-key>
      • 持久性卷声明(PVC): pvc://<claim-name>/<pvc-path>
      • OCI 容器镜像: oci://<registry_host>/<org_or_username>/<repository_name><tag_or_digest>
      • HuggingFace: hf://<model>/<optional-hash>
    • router - 提供 HTTPRoute 和网关,或者留空来自动创建 HTTPRoute 和网关。
  3. 保存该文件。

2.4.1. 使用 llm-d 的分布式追踪示例

这些示例演示了如何在常见场景中通过 llm-d 使用分布式推测。

2.4.1.1. 单节点 GPU 部署

使用单 GPU-per-replica 部署模式用于开发、测试或部署较小的模型,如 7-billion-parameter 模型。

有关使用单节点 GPU 部署的示例,请参阅 单节点 GPU 部署示例

2.4.1.2. 多节点部署

有关使用多节点部署的示例,请参阅 DeepSeek-R1 多节点部署示例

您可以配置调度程序,以跟踪跨推线端点的键值(KV)缓存块,并将请求路由到具有最高缓存命中率的端点。此配置通过最大化缓存重复使用来提高吞吐量并缩短延迟。

例如,请参阅 Precise Prefix KV Cache Routing

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat