3.2. KServe を使用した Llama モデルのデプロイ


OpenShift AI で Llama スタックと検索拡張生成 (RAG) ワークロードを使用するには、vLLM モデルサーバーを使用して Llama モデルをデプロイし、KServe を標準デプロイメントモードで設定する必要があります。

前提条件

  • Red Hat OpenShift AI にログインしている。
  • OpenShift クラスターのクラスター管理者権限を持っている。
  • Llama Stack Operator をアクティブ化した。
  • KServe がインストールされている。
  • シングルモデルサービングプラットフォームを有効にした。シングルモデルサービングプラットフォームを有効にする方法の詳細は、シングルモデルサービングプラットフォームの有効化 を参照してください。
  • ダッシュボード設定で、シングルモデルサービングプラットフォームにアクセスできる。ダッシュボード設定オプションの設定に関する詳細は、ダッシュボードのカスタマイズ を参照してください。
  • Node Feature Discovery Operator と NVIDIA GPU Operator のインストールを含め、OpenShift AI で GPU サポートが有効になっている。詳細は、Node Feature Discovery Operator のインストールNVIDIA GPU の有効化 を参照してください。
  • OpenShift CLI (OpenShift Dedicated) のインストール または OpenShift CLI (Red Hat OpenShift Service on AWS) のインストール の説明に従って、OpenShift コマンドラインインターフェイス (oc) をインストールした。
  • データサイエンスプロジェクトを作成した。
  • 環境に vLLM サービングランタイムがインストールされており、利用可能である。
  • URI - v1 接続タイプを含むモデルのストレージ接続を作成した。このストレージ接続では、Llama 3.2 モデルアーティファクトの場所を定義する必要があります。たとえば、oci://quay.io/redhat-ai-services/modelcar-catalog:llama-3.2-3b-instruct です。ストレージ接続の作成の詳細は、データサイエンスプロジェクトへの接続の追加 を参照してください。
手順

この手順は、OpenShift AI バージョン 2.19 以降でのみサポートされています。

  1. OpenShift AI ダッシュボードでプロジェクトの詳細ページに移動し、Models タブをクリックします。
  2. Single-model serving platform タイルで、Select single-model をクリックします。
  3. Deploy model ボタンをクリックします。

    Deploy model ダイアログが開きます。

  4. モデルのデプロイメントプロパティーを設定します。

    1. Model deployment name フィールドに、デプロイメントの一意の名前を入力します。
    2. Serving runtime フィールドで、ドロップダウンリストから vLLM NVIDIA GPU serving runtime for KServe を選択します。
    3. Deployment mode フィールドで、ドロップダウンリストから Standard を選択します。
    4. Number of model server replicas to deploy1 に設定します。
    5. Model server size フィールドで、ドロップダウンリストから Custom を選択します。

      • CPUs requested1 core に設定します。
      • Memory requested10 GiB に設定します。
      • CPU limit2 core に設定します。
      • Memory limit14 GiB に設定します。
      • AcceleratorNVIDIA GPUs に設定します。
      • Accelerator count1 に設定します。
    6. Connection type ドロップダウンリストから適切なデータ接続を選択します。
  5. Additional serving runtime arguments フィールドで、次の推奨される引数を指定します。

    --dtype=half
    --max-model-len=20000
    --gpu-memory-utilization=0.95
    --enable-chunked-prefill
    --enable-auto-tool-choice
    --tool-call-parser=llama3_json
    --chat-template=/app/data/template/tool_chat_template_llama3.2_json.jinja
    Copy to Clipboard Toggle word wrap
    1. Deploy をクリックします。

      注記

      モデルのデプロイには数分かかることがあります。特にクラスターにデプロイする最初のモデルの場合は時間がかかる可能性があります。関連するイメージがダウンロードされるため、初回のデプロイには 10 分以上かかる場合があります。

検証

  1. kserve-controller-manager および odh-model-controller Pod が実行されていることを確認します。

    1. 新しいターミナルウィンドウを開きます。
    2. CLI から OpenShift クラスターにログインします。
    3. OpenShift Web コンソールの右上隅で、ユーザー名をクリックし、Copy login command を選択します。
    4. ログイン後、Display token をクリックします。
    5. Log in with this token をコピーし、OpenShift コマンドラインインターフェイス (CLI) に貼り付けます。

      $ oc login --token=<token> --server=<openshift_cluster_url>
      Copy to Clipboard Toggle word wrap
    6. 次のコマンドを入力して、kserve-controller-manager および odh-model-controller Pod が実行されていることを確認します。

      $ oc get pods -n redhat-ods-applications | grep -E 'kserve-controller-manager|odh-model-controller'
      Copy to Clipboard Toggle word wrap
    7. 次の例のような出力が表示されることを確認します。

      kserve-controller-manager-7c865c9c9f-xyz12   1/1     Running   0          4m21s
      odh-model-controller-7b7d5fd9cc-wxy34        1/1     Running   0          3m55s
      Copy to Clipboard Toggle word wrap
    8. kserve-controller-manager Pod と odh-model-controller Pod のどちらも表示されない場合は、デプロイに問題がある可能性があります。また、Pod がリストに表示されているが、その StatusRunning に設定されていない場合は、Pod のログでエラーを確認します。

      $ oc logs <pod-name> -n redhat-ods-applications
      Copy to Clipboard Toggle word wrap
    9. 推論サービスのステータスを確認します。

      $ oc get inferenceservice -n llamastack
      $ oc get pods -n <data science project name> | grep llama
      Copy to Clipboard Toggle word wrap
      • デプロイすると、次のリソースが自動的に作成されます。

        • ServingRuntime リソース。
        • InferenceService リソース、Deployment、Pod、およびその Pod を参照するサービス。
      • サーバーが実行中であることを確認します。以下に例を示します。

        $ oc logs llama-32-3b-instruct-predictor-77f6574f76-8nl4r  -n <data science project name>
        Copy to Clipboard Toggle word wrap

        次の例のログと同様の出力を確認します。

        INFO     2025-05-15 11:23:52,750 __main__:498 server: Listening on ['::', '0.0.0.0']:8321
        INFO:     Started server process [1]
        INFO:     Waiting for application startup.
        INFO     2025-05-15 11:23:52,765 __main__:151 server: Starting up
        INFO:     Application startup complete.
        INFO:     Uvicorn running on http://['::', '0.0.0.0']:8321 (Press CTRL+C to quit)
        Copy to Clipboard Toggle word wrap
      • デプロイしたモデルは、デプロイ先プロジェクトのデータサイエンスプロジェクト詳細ページの Models タブに表示されます。
  2. /v1/chat/completions API を照会したときに Pod ログに ConvertTritonGPUToLLVM エラーが表示され、vLLM サーバーが再起動するか、500 Internal Server エラーが返される場合は、次の回避策を適用します。

    モデルをデプロイする前に、デプロイメントダイアログの Additional serving runtime arguments フィールドから --enable-chunked-prefill 引数を削除します。

    次のようなエラーが表示されます。

    /opt/vllm/lib64/python3.12/site-packages/vllm/attention/ops/prefix_prefill.py:36:0: error: Failures have been detected while processing an MLIR pass pipeline
    /opt/vllm/lib64/python3.12/site-packages/vllm/attention/ops/prefix_prefill.py:36:0: note: Pipeline failed while executing [`ConvertTritonGPUToLLVM` on 'builtin.module' operation]: reproducer generated at `std::errs, please share the reproducer above with Triton project.`
    INFO:     10.129.2.8:0 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る