2.6. モデルサービングランタイム


モデルサービングランタイムを使用すると、シングルモデルサービングプラットフォームでモデルを提供できます。モデルサービングランタイムの設定は、ServingRuntime および InferenceService カスタムリソース定義 (CRD) によって定義されます。

2.6.1. ServingRuntime

ServingRuntime CRD は、モデルをデプロイおよび管理するための環境であるサービスランタイムを作成します。さまざまな形式のモデルを動的にロードおよびアンロードする Pod のテンプレートを作成し、さらに推論リクエスト用のサービスエンドポイントを公開します。

次の YAML 設定は、vLLM ServingRuntime for KServe の例です。この設定には、さまざまなフラグ、環境変数、コマンドライン引数が含まれています。

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
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: 8
quay.io/modh/vllm@sha256:8a3dd8ad6e15fe7b8e5e471037519719d4d8ad3db9d69389f2beded36a6f5b21
          name: kserve-container
          ports:
               - containerPort: 8080
                   protocol: TCP
    multiModel: false 9
    supportedModelFormats: 10
        - autoSelect: true
           name: vLLM
1
ランタイムで使用する推奨アクセラレーター。
2
サービングランタイムの表示に使用する名前。
3
監視用のメトリクスをスクレイピングするために Prometheus が使用するエンドポイント。
4
監視用のメトリクスをスクレイピングするために Prometheus が使用するポート。
5
ランタイムコンテナー内でモデルファイルが保存される場所へのパス。
6
ランタイムコンテナー仕様内の {{.Name}} テンプレート変数で指定されたモデル名をランタイム環境に渡します。{{.Name}} 変数は、InferenceService メタデータオブジェクトの spec.predictor.name フィールドにマップされます。
7
ランタイムコンテナーを起動するエントリーポイントコマンド。
8
サービングランタイムによって使用されるランタイムコンテナーイメージ。このイメージは、使用するアクセラレーターの種類によって異なります。
9
ランタイムをシングルモデルサービングに使用することを指定します。
10
ランタイムでサポートされるモデル形式を指定します。

2.6.2. InferenceService

InferenceService CRD は、推論クエリーを処理し、それをモデルに渡して、推論出力を返すサーバーまたは推論サービスを作成します。

推論サービスは次のアクションも実行します。

  • モデルの場所と形式を指定します。
  • モデルを提供するために使用するサービスランタイムを指定します。
  • gRPC または REST 推論のパススルールートを有効にします。
  • デプロイされたモデルの 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 ServingRuntime for KServe
      storage:
        key: aws-connection-my-storage
        path: models/granite-7b-instruct/
    tolerations:
      - effect: NoSchedule
        key: nvidia.com/gpu
        operator: Exists

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.