OpenShift AIのシングルモデルサービング環境を構築してみた

はじめに

こんにちはサイオステクノロジーの小野です。以前の記事でOpenShift AIのモデルサービング機能を利用してAIモデルを推論APIとして提供する方法を解説しました。今回はOpenShift AIのモデルサービング機能を利用してLLMをデプロイする方法について解説します。

OpenShift AIを利用したLLMデプロイ

OpenShift AIはシングルモデルサービング環境を構築することで公開LLMをデプロイすることが可能になります。

公開LLMとは

LLMをはじめとしたAIのモデルは公開されて自由にダウンロードできるものがあります。

それらのモデルは利用規約やライセンスに従う限り自由に利用することが可能です。

KServe

KServeとはKubernetes上で機械学習モデルを推論・生成サービスとして提供するためのソフトウェアです。KServeはKnativeとIstioを利用して構築されてます。Knativeはモデルをデプロイ、管理するために利用され、IstioはモデルをAPI提供するために利用されます。

vLLM

OpenShift AIでデプロイするモデルのランタイムとして vLLM ServingRuntime for KServe があります。

vLLMとはLLMの推論およびサービングを行うためのオープンソースライブラリです。トークン数やメモリ管理設定を行うことができます。また、他のサービングライブラリと比較して高速に推論ができる特徴があります。

OpenShift AI構築

モデルサービングの種類

OpenShit AIでAIモデルをデプロイするには二つの手法があります。一つがマルチモデルサービング形式です。これは、比較的中小規模のAIモデルをデプロイする際に使われます。もう一つはシングルモデルサービング形式です。これは、LLMのような大規模なモデルをデプロイする際に使われます。今回はLLMをデプロイするのでシングルモデルサービングの構築を行います。

必要な前提条件

  • GPU設定(詳しくは過去の記事を参照してください https://tech-lab.sios.jp/archives/44040
    • Node Feature Discovery Operator
    • NVIDIA GPU Operator
    • 使用インスタンスタイプ:g6.xlarge
  • OpenShift AI:2.16
  • OpenShift Serverless:1.35.0
  • OpenShift Service Mesh:2.6.4-0
  • Red Hat – Authorino (Technical Preview):1.1.1
    • デプロイしたLLMサーバーに認証機能をつける場合必須です

OpenShift AIでのシングルモデルサービング環境構築

シングルモデルサービングオペレータインストール

シングルモデルサービング形式のモデルサーバーを構築するにはOpenShift AIのクラスターを作成する前に3つのオペレータをインストールする必要があります。それぞれのリソースはOpenShiftクラスター構築時に自動的に作成されます。

Authorinoオペレータインストール

Operator > OperatorHubでAuthorinoと検索します。「Red Hat – Authorino (Technical Preview)」を選択してインストールを押下します。

Red Hat AuthorinoのOperator

現時点(2025年2月6日)ではバージョン1.1.1をインストールします。

Authorino Operatorのインストール

ステータスがSucceededになったらインストール完了です。

ステータスがSucceededになったらインストール完了

Serverlessオペレータインストール

Operator > OperatorHubでOpenShift Serverlessと検索します。

「Red Hat OpenShift Serverless」を選択してインストールを押下します。

Red Hat OpenShift ServerlessのOperator

現時点(2025年2月6日)ではバージョン1.35.0をインストールします。

Serverless Operatorのインストール

ステータスがSucceededになったらインストール完了です。

ステータスがSucceededになったらインストール完了

ServiceMeshオペレータインストール

Operator > OperatorHubでOpenShift Service Meshと検索します。

「Red Hat OpenShift Service Mesh」を選択してインストールを押下します。

Red Hat OpenShift Service MeshのOperator

現時点(2025年2月6日)ではバージョン2.6.4-0をインストールします。

Service Mesh Operatorのインストール

ステータスがSucceededになったらインストール完了です。

ステータスがSucceededになったらインストール完了

OpenShift AIオペレータインストール

OpenShift AIオペレータのインストールは以前の記事を参考にして下さい。今回はバージョン2.16.0をインストールします。

Red Hat OpenShift AIのOperator。今回はバージョン2.16.0を利用する。

OpenShift AIのCR設定

今回はシングルモデルサービング形式の構築をするのでKServeをインストールします。

以下のようにDataScienceClusterのコンポーネントを設定します:

spec:
  components:
    codeflare:
      managementState: Managed
    dashboard:
      managementState: Managed
    datasciencepipelines:
      managementState: Managed
    kserve:
      managementState: Managed
      serving:
        ingressGateway:
          certificate:
            type: OpenshiftDefaultIngress
        managementState: Managed
        name: knative-serving
    kueue:
      managementState: Managed
    modelmeshserving:
      managementState: Managed
    modelregistry:
      managementState: Removed
      registriesNamespace: rhoai-model-registries
    ray:
      managementState: Managed
    workbenches:
      managementState: Managed
    trainingoperator:
      managementState: Removed
    trustyai:
      managementState: Managed

DataScienceClusterのコンポーネント設定

DataScienceClusterのステータスがPhase:Readyになったら作成完了です。

ステータスがPhase:Readyになったら作成完了

DataScienceProject作成

DataScienceCluster作成が完了したら、OpenShift AIを開いてDataScienceProjectを作成してください。以前の記事を参考してください。

シングルモデルサービングサーバ作成

DataScienceProjectが作成できたら、Modelsの項目に移動してください。

シングルモデルサービングの環境が構築できているとSigle-model serving platformの項目があります。これを選択します。

Data Science ProjectのModelsにSingle-model serving platformの項目ができる

右上に「Sigle-model serving enabled」と表示されればシングルモデルサービングのデプロイが可能になります。

右上に「Sigle-model serving enabled」と表示されればシングルモデルサービングが可能になる

おわりに

以上の操作により、OpenShift AIにLLMをデプロイする準備が整いました。次回は実際にLLMをデプロイしてAPI利用するところをお見せします。

次回:OpenShift AIにLLMをデプロイしてみた

参考

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です