1.2. model-serving 运行时


您可以使用模型服务运行时在单模式服务平台上提供模型。模型服务运行时的配置由 ServingRuntimeInferenceService 自定义资源定义(CRD)定义。

1.2.1. ServingRuntime

ServingRuntime CRD 创建一个服务运行时,这是一个用于部署和管理模型的环境。它为不同格式动态加载和卸载模型的 pod 创建模板,并公开服务端点以推断请求。

以下 YAML 配置是 KServe model-serving 运行时的 vLLM ServingRuntime 示例。配置包括各种标志、环境变量和命令行参数。

apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
  annotations:
    opendatahub.io/recommended-accelerators: '["nvidia.com/gpu"]' 
1

    openshift.io/display-name: vLLM ServingRuntime for KServe 
2

  labels:
    opendatahub.io/dashboard: "true"
  name: vllm-runtime
  namespace: <namespace>
spec:
  annotations:
    prometheus.io/path: /metrics 
3

    prometheus.io/port: "8080" 
4

  containers:
    - args:
        - --port=8080
        - --model=/mnt/models 
5

        - --served-model-name={{.Name}} 
6

      command: 
7

        - python
        - '-m'
        - vllm.entrypoints.openai.api_server
      env:
        - name: HF_HOME
          value: /tmp/hf_home
      image: quay.io/modh/vllm@sha256:8a3dd8ad6e15fe7b8e5e471037519719d4d8ad3db9d69389f2beded36a6f5b21 
8

      name: kserve-container
      ports:
        - containerPort: 8080
          protocol: TCP
  multiModel: false 
9

  supportedModelFormats: 
10

    - autoSelect: true
      name: vLLM
Copy to Clipboard Toggle word wrap
1
建议与运行时搭配使用的加速器。
2
显示服务运行时的名称。
3
Prometheus 用来提取用于监控指标的端点。
4
Prometheus 用来提取用于监控指标的端口。
5
模型文件存储在运行时容器中的路径。
6
将运行时容器规格中的 {{.Name}} 模板变量指定的模型名称传递给运行时环境。{{.Name}} 变量映射到 InferenceService 元数据对象的 spec.predictor.name 字段。
7
启动运行时容器的 entrypoint 命令。
8
服务运行时使用的运行时容器镜像。此镜像根据所使用的加速器类型而有所不同。
9
指定运行时用于单模式服务。
10
指定运行时支持的模型格式。

1.2.2. InferenceService

InferenceService CRD 创建一个服务器或推测服务,该进程会查询,将其传递给模型,然后返回 inference 输出。

inference 服务还执行以下操作:

  • 指定模型的位置和格式。
  • 指定用于服务模型的服务运行时。
  • 为 gRPC 或 REST inference 启用 passthrough 路由。
  • 为部署的模型定义 HTTP 或 gRPC 端点。

以下示例显示了部署带有 vLLM 运行时的 granite 模型时生成的 InferenceService YAML 配置文件:

apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  annotations:
    openshift.io/display-name: granite
    serving.knative.openshift.io/enablePassthrough: 'true'
    sidecar.istio.io/inject: 'true'
    sidecar.istio.io/rewriteAppHTTPProbers: 'true'
  name: granite
  labels:
    opendatahub.io/dashboard: 'true'
spec:
  predictor:
    maxReplicas: 1
    minReplicas: 1
    model:
      modelFormat:
        name: vLLM
      name: ''
      resources:
        limits:
          cpu: '6'
          memory: 24Gi
          nvidia.com/gpu: '1'
        requests:
          cpu: '1'
          memory: 8Gi
          nvidia.com/gpu: '1'
      runtime: vllm-runtime
      storage:
        key: aws-connection-my-storage
        path: models/granite-7b-instruct/
    tolerations:
      - effect: NoSchedule
        key: nvidia.com/gpu
        operator: Exists
Copy to Clipboard Toggle word wrap

1.2.3. 加速器的模型保留运行时

OpenShift AI 包含对 NVIDIA、AMD 和 Intel Gaudi 加速器的支持。OpenShift AI 还包括预安装的模型服务运行时,提供加速器支持。

1.2.3.1. NVIDIA GPU

您可以使用 vLLM NVIDIA GPU ServingRuntime for KServe 运行时提供 NVIDIA 图形处理单元(GPU)的模型。要使用运行时,您必须在 OpenShift AI 中启用 GPU 支持。这包括在集群中安装和配置 Node Feature Discovery Operator。如需更多信息,请参阅安装 Node Feature Discovery Operator启用 NVIDIA GPU

1.2.3.2. Intel Gaudi Accelerators

您可以使用 vLLM Intel Gaudi Accelerator ServingRuntime for KServe runtime 为 Intel Gaudi 加速器提供模型。要使用运行时,您必须在 OpenShift AI 中启用混合处理(HPU)支持。这包括安装 Intel Gaudi Base Operator 和配置硬件配置集。如需更多信息,请参阅 Intel Gaudi Base Operator OpenShift 安装和使用 硬件配置集

有关推荐的 vLLM 参数、环境变量、支持的配置等信息,请参阅 带有 Intel® Gaudi® AI Accelerators 的 vLLM

注意

warm-up 是一个模型初始化和性能优化步骤,可用于减少冷启动延迟和第一延迟。根据模型大小,温设置可能会导致模型加载时间较长。

虽然在生产环境中强烈建议您避免性能限制,但您可以选择跳过非生产环境的温设置,以减少模型加载时间并加快模型开发和测试周期。要跳过 warm-up,请按照 自定义部署模型运行时的参数 中所述的步骤,在模型部署 的配置参数 部分中添加以下环境变量:

`VLLM_SKIP_WARMUP="true"`
Copy to Clipboard Toggle word wrap

1.2.3.3. AMD GPU

您可以使用 vLLM AMD GPU ServingRuntime for KServe 运行时提供 AMD GPU 的模型。要使用运行时,您必须在 OpenShift AI 中为 AMD 图形处理单元(GPU)启用支持。这包括安装 AMD GPU operator 和配置硬件配置集。如需更多信息,请参阅 AMD 文档中的 在 OpenShift 上部署 AMD GPU Operator,以及使用硬件配置集

1.2.4. 支持的模型保留运行时

OpenShift AI 包含多个预安装的模型运行时。您可以使用预安装的模型服务运行时启动服务模型,而无需自行修改或定义运行时。您还可以添加自定义运行时来支持模型。

如需支持的模型运行时和部署要求的列表,请参阅 支持的配置

有关添加自定义运行时的帮助,请参阅为单模型服务平台添加自定义模型运行时

1.2.5. 测试和验证的模型保留运行时

测试和验证的运行时是社区版本,针对特定的 OpenShift AI 版本进行测试和验证。

每次有新版本的 OpenShift AI 时,红帽都会测试经过测试和验证的运行时的当前版本。如果在 OpenShift AI 发行周期中发布经过测试和验证的运行时的新版本,它将在以后的发行版本中进行测试和验证。

如需了解 OpenShift AI 中经过测试和验证的运行时列表,请参阅支持的配置。https://access.redhat.com/articles/rhoai-supported-configs

注意

红帽不支持经过测试和验证的运行时。您需要确保已授权使用您添加的任何经过测试和验证的运行时,以及正确配置和维护它们。

如需更多信息,请参阅 OpenShift AI 中的测试和验证运行时

其他资源

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部