はじめに
こんにちはサイオステクノロジーの小野です。前回はOpenShiftでGPUを利用するための設定方法について解説しました。今回はいよいよOpenShift AIを導入してJupyterNotebookを起動するところまでを解説します。
OpenShift AIの4つの主な機能
OpenShift AIのトップ画面は以下のようになります。
OpenShift AIには大きく4つの機能があります。
- Data Science Projects
- データサイエンスのプロジェクトを作成することができます。プロジェクト内ではワークベンチの作成、パイプラインの作成(MLOps)、モデルのデプロイ、ストレージの作成、データ接続の設定、権限設定が行えます。
- Data Science Pipelines
- パイプラインの管理、設定を行います。ここでMLOpsにおけるデータの収集からモデルの評価までを自動化できます。
- Distributed Workload Metrics
- 分散ワークロードの管理、設定を行います。分散ワークロードとはモデルの学習や推論を行う際に、複数のマシンやクラスターに分散して処理を行うことです。これによって大規模なモデルでも高速な処理が可能になります。
- Model Serving
- モデルのサービングの管理、設定を行います。推論用にモデルをデプロイ、管理、公開し、未知のデータに対して推論サービスとして使用できるようにします。
OpenShift AI構築方法
前提条件
バージョン
- OpenShift:4.17
- OpenShift AI:2.13.1
構築に必要なもの1
- リソース
- ノード数:2つ
- CPU:8CPU
- RAM:32GiB
- 今回はAWSのインスタンスタイプm6a.2xlargeを2つ使用
- サブスクリプション
- Red Hat OpenShift AI Self-Managed のサブスクリプション
機能に応じて利用するもの
- GPUノード(AIの学習や推論に使用)
- IDP設定(セキュリティ管理に使用)
- S3互換のオブジェクトストレージ(モデルの保存やパイプラインの作成に使用)
- モデルサービング用のOperator
- Red Hat OpenShift Service Mesh
- Red Hat OpenShift Serverless
導入手順
OpenShift AI オペレータインストール
最初にOperator > OperatorHubで「OpenShift AI」と検索します。
「Red Hat OpenShift AI」を選択してインストールを押します。
インストール時の設定はデフォルトと同じく以下のように設定します。設定したらインストールを押します。
更新チャネル | stable |
バージョン | 2.13.1 |
インストールモード | クラスターのすべてのnamespace |
インストール済みのnamespace | Operator推奨のnamespace:redhat-ods-operator |
更新の承認 | 自動 |
インストール済みのOperatorでRed Hat OpenShift AIのステータスがSuccessedになっていたらインストール完了です。
CR(DataScienceCluster)設定
OpenShift AIオペレータの詳細画面に移動し、「DataScienceCluster」のインスタンスを作成します。
公式ドキュメント2に従い、必要なコンポーネントをManagedに設定します。
コンポーネントは以下の10種類あります。
- codeflare
- 分散ワークロードに利用されます。
- kserve
- 大規模モデルのサービングに利用されます。OpenShift Service MeshとOpenShift Serverlessをインストールしている必要があります。
- trustyai
- モデルのモニタリングを行います。OpenShift AI 2.13でテクノロジープレビュー(2.7以前で利用した機能は削除)
- ray
- 分散ワークロードに利用されます。
- kueue
- 分散ワークロードに利用されます。
- workbenches
- ワークベンチの作成に利用されます。
- dashboard
- ダッシュボードを使用可能にするために利用されます。
- modelmeshserving
- 中小規模モデルのサービングに利用されます。
- datasciencepipelines
- MLOpsのパイプラインを作成するために利用されます。
- trainingoperator
- 分散ワークロードに利用されます。
今回はYAMLビューを選択し、以下のように設定しました。
spec:
components:
codeflare:
managementState: Managed
kserve:
serving:
ingressGateway:
certificate:
type: OpenshiftDefaultIngress
managementState: Managed
name: knative-serving
managementState: Removed
trustyai:
managementState: Removed
ray:
managementState: Managed
kueue:
managementState: Managed
workbenches:
managementState: Managed
dashboard:
managementState: Managed
modelmeshserving:
managementState: Managed
datasciencepipelines:
managementState: Managed
trainingoperator:
managementState: Removed
Red Hat OpenShift AI の詳細画面のData Science Clusterタブに移動して、作成したインスタンスのステータスが「Phase:Ready」になっていれば作成完了です。
正常性確認
OpenShift AIの正常性確認としてWebログイン、プロジェクトを作成、ワークベンチ作成、JupyterNotebookを起動するまでを行います。
webログイン
OpenShiftコンソール画面の右上の格子状のアイコンを選択し、Red Hat OpenShift AIを開きます。
ログインを求められるのでKubeadmin or IDP設定したuserでログインします。
Data Science Projects作成
OpenShift AIコンソール画面の左のData Science Projectsを開きます。
右上のCreate data science projectを押します。
プロジェクトの名前を記入してCreateを押せばプロジェクトを作成できます。
ワークベンチ作成
作成したプロジェクトの画面から、Workbenchesタブに移動します。
Create workbenchを選択します。
以下の項目を設定して、Create Workbenchを選択します。
Name | ワークベンチ名 |
Image selection | ノートブックで扱いたいライブラリを選択3 |
Container size | ワークベンチのサイズ |
Accelerator | GPUを用いる場合:NVIDIA GPU |
Cluster storage | 新しく作るか既存のものを選択 |
作成したワークベンチのStatusがRunning になって、Openのリンクが押せるようになったらワークベンチ作成完了です。
JupyterNotebook起動
作成したワークベンチのOpenのリンクを開きます。
ログインを求められるのでログインします。
Authorize Accessという画面が出てくるので、Allow selected permissionsを押します。
JupyterLabの画面が表示されればJupyterNotebookの起動が完了です。
最後に
以上の手順によりJupyterNotebookを起動することができました。これによりOpenShift上で機械学習を行うことができます。しかしながら、ここまではMLOpsの前半にすぎません。次回からはMLOpsで重要なパイプラインの設定やサービングの設定について解説する予定なので楽しみにしてください。
参考
- OpenShift AIの要件:https://docs.redhat.com/ja/documentation/red_hat_openshift_ai_self-managed/2.13/html/installing_and_uninstalling_openshift_ai_self-managed/installing-and-deploying-openshift-ai_install#installing-and-deploying-openshift-ai_install
- コンポーネント設定:https://docs.redhat.com/ja/documentation/red_hat_openshift_ai_self-managed/2.13/html/installing_and_uninstalling_openshift_ai_self-managed/installing-and-managing-openshift-ai-components_component-install
- ノートブックのライブラリ:https://docs.redhat.com/ja/documentation/red_hat_openshift_ai_self-managed/2.13/html/working_on_data_science_projects/using-project-workbenches_projects#creating-a-workbench-select-ide_projects
- OpenShiftのGPU設定の方法について:https://tech-lab.sios.jp/archives/44040