モデルレジストリーの管理
Red Hat OpenShift AI Self-Managed でのモデルレジストリーの管理
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
OpenShift AI 管理者は、OpenShift AI 内のモデルレジストリーの権限を作成、削除、管理できます。
第1章 モデルレジストリーの概要 リンクのコピーリンクがクリップボードにコピーされました!
モデルレジストリーとモデルカタログは現在、Red Hat OpenShift AI 2.22 でテクノロジープレビュー機能として利用できます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
モデルレジストリーは、人工知能/機械学習 (AI/ML) モデルのライフサイクルにおける重要なコンポーネントであり、あらゆる機械学習運用 (MLOps) プラットフォームまたは ML ワークフローの重要な部分です。モデルレジストリーは、機械学習モデルの開始からデプロイメントに関連するメタデータを保持する中央リポジトリーとして機能します。このメタデータには、デプロイメント環境やプロジェクトの起源などの概要や、トレーニングハイパーパラメーター、パフォーマンスメトリクス、デプロイメントイベントなどの複雑な詳細が含まれます。モデルレジストリーは、モデルの実験と提供の間の橋渡しとして機能し、ML ライフサイクルの関係者に安全で共同的なメタデータストアインターフェイスを提供します。
モデルレジストリーは、モデルを保存、共有、バージョン管理、デプロイ、追跡するための構造化され整理された方法を提供します。
OpenShift AI でモデルレジストリーを使用するには、OpenShift クラスター管理者がモデルレジストリーコンポーネントを有効にする必要があります。詳細は、モデルレジストリーコンポーネントの有効化 を参照してください。
モデルレジストリーコンポーネントが有効になったら、OpenShift AI 管理者は OpenShift AI でモデルレジストリーを作成し、レジストリーを扱うデータサイエンティストにモデルレジストリーへのアクセス権を付与できます。詳細は、モデルレジストリーの管理 を参照してください。
モデルレジストリーにアクセスできるデータサイエンティストは、モデルレジストリー機能を使用して、モデルを保存、共有、バージョン管理、デプロイ、および追跡できます。詳細は、モデルレジストリーの使用 を参照してください。
モデルカタログ機能が追加されたことで、組織が登録、デプロイ、カスタマイズできる利用可能なモデルを検出できるようになりました。この機能は、ユーザーを Granite ファミリーのモデル、および LAB-tuning ワークフローで使用される教師モデルとジャッジモデルに接続するところから始まります。
LAB-tuning ワークフローの使用の詳細は、LAB-tuning を使用したモデルのカスタマイズ を参照してください。
モデルカタログ機能は現在、非接続環境ではサポートされていません。
第2章 モデルレジストリーの作成 リンクのコピーリンクがクリップボードにコピーされました!
モデルレジストリーを作成して、モデルを保存、共有、バージョン管理、デプロイ、追跡することができます。
前提条件
- OpenShift AI 管理者権限を持つユーザーとして OpenShift AI にログインしている。
- クラスター管理者が OpenShift AI デプロイメントでモデルレジストリーコンポーネントを有効にした。詳細は、モデルレジストリーコンポーネントの有効化 を参照してください。
少なくとも MySQL バージョン 5.x を使用する外部 MySQL データベースにアクセスできる。ただし、Red Hat では MySQL バージョン 8.x の使用を推奨しています。
注記ML メタデータコンポーネントがデータベースに正常に接続するために、
mysql_native_password認証プラグインが必要です。mysql_native_passwordは、MySQL 8.4 以降ではデフォルトで無効になっています。データベースで MySQL 8.4 以降を使用している場合は、MySQL デプロイメントを更新してmysql_native_passwordプラグインを有効にする必要があります。mysql_native_passwordプラグインを有効にする方法の詳細は、MySQL ドキュメントの Native Pluggable Authentication を参照してください。デフォルトでは、OpenShift の MySQL テンプレートは
caching_sha2_password認証プラグインを使用します。OpenShift の MySQL 用テンプレートを使用した場合、モデルレジストリーがデータベースインスタンスに正常に接続できるように、テンプレートを手動で更新してmysql_native_passwordを使用する必要があります。詳細は、ナレッジベースソリューション Model registry fails to connect to MySQL database due to an authentication plugin mismatch を参照してください。
手順
- OpenShift AI ダッシュボードから、Settings → Model registry settings をクリックします。
Create model registry をクリックします。
Create model registry ダイアログが開きます。
- Name フィールドに、モデルレジストリーの名前を入力します。
オプション: Edit resource name をクリックし、Resource name フィールドにモデルレジストリーの特定のリソース名を入力します。デフォルトでは、リソース名はモデルレジストリーの名前と一致します。
重要リソース名は、OpenShift でリソースに付けられるラベルです。リソース名は 253 文字を超えることはできません。小文字の英数字または - で構成され、先頭と末尾は英数字である必要があります。リソース名は作成後に編集できません。
リソース名は、OpenShift クラスター内の他のモデルレジストリーリソースの名前と一致しないようにしてください。
- オプション: Description フィールドに、モデルレジストリーの説明を入力します。
Connect to external MySQL database セクションで、モデルデータが保存されている外部データベースの情報を入力します。
Host フィールドにデータベースのホスト名を入力します。
-
データベースが
rhoai-model-registriesnamespace で実行している場合は、データベースのホスト名のみを入力します。 -
データベースが
rhoai-model-registriesとは異なる namespace で実行されている場合は、データベースホスト名の詳細を<host name>.<namespace>.svc.cluster.local形式で入力します。
-
データベースが
- Port フィールドに、データベースのポート番号を入力します。
- Username フィールドに、データベースに接続するデフォルトのユーザー名を入力します。
- Password フィールドに、デフォルトのユーザーアカウントのパスワードを入力します。
- Database フィールドに、データベース名を入力します。
オプション: データベース接続で証明書を使用するには、Add CA certificate to secure database connection を選択します。
-
odh-trusted-ca-bundleConfigMap のca-bundle.crtバンドルを使用するには、Use cluster-wide CA bundle をクリックします。 -
odh-trusted-ca-bundleConfigMap のodh-ca-bundle.crtバンドルを使用するには、Use Red Hat OpenShift AI CA bundle をクリックします。 Choose from existing certificates をクリックします。
rhoai-model-registriesnamespace 内の任意の ConfigMap またはシークレットのキーを選択できます。- Resource リストから、ConfigMap またはシークレットを選択します。
- Key リストからキーを選択します。
新しい証明書を ConfigMap としてアップロードするには、Upload new certificate をクリックします。
証明書の PEM ファイルを Certificate フィールドにドラッグアンドドロップするか、Upload をクリックしてローカルマシンのファイルシステムからファイルを選択します。
注記証明書をアップロードすると、
ca.crtキーを持つdb-credentialConfigMap が作成されます。証明書をシークレットとしてアップロードするには、OpenShift
rhoai-model-registriesnamespace にシークレットを作成し、モデルレジストリーを作成するときに、それを既存の証明書として選択する必要があります。OpenShift でシークレットを作成する方法の詳細は、シークレットを使用して Pod に機密データを指定する を参照してください。
-
- Create をクリックします。
モデルレジストリーのリソース名またはタイプを見つけるには、レジストリー名の横にあるヘルプアイコン
をクリックします。リソース名とタイプは、OpenShift でリソースを検索するのに使用されます。
検証
- 新しいモデルレジストリーが Model registry settings ページに表示されます。
- モデルレジストリーを編集するには、その横にあるアクションメニュー (⋮) をクリックし、Edit model registry をクリックします。
- Model registry タブからモデルをモデルレジストリーに登録できます。モデルレジストリーの使用に関する詳細は、モデルレジストリーの使用 を参照してください。
第3章 モデルレジストリーの編集 リンクのコピーリンクがクリップボードにコピーされました!
モデルレジストリー名、説明、データベース接続の詳細など、既存のモデルレジストリーの詳細を編集できます。
前提条件
- OpenShift AI 管理者権限を持つユーザーとして OpenShift AI にログインしている。
- クラスター管理者が OpenShift AI デプロイメントでモデルレジストリーコンポーネントを有効にした。詳細は、モデルレジストリーコンポーネントの有効化 を参照してください。
- OpenShift AI デプロイメントに少なくとも 1 つのモデルレジストリーが含まれている。
手順
- OpenShift AI ダッシュボードから、Settings → Model registry settings をクリックします。
編集するモデルレジストリーの横にあるアクションメニュー (⋮) をクリックし、Edit model registry をクリックします。
Edit model registry ダイアログが開きます。
- オプション: Name フィールドで、モデルレジストリーの名前を編集します。
- オプション: Description フィールドで、モデルレジストリーの説明を編集します。
オプション: Connect to external MySQL database セクションで、レジストリーのモデルデータが保存されている外部データベースの情報を編集します。
Host フィールドにデータベースのホスト名を入力します。
-
データベースが
rhoai-model-registriesnamespace で実行している場合は、データベースのホスト名のみを入力します。 -
データベースが
rhoai-model-registriesとは異なる namespace で実行されている場合は、データベースホスト名の詳細を<host name>.<namespace>.svc.cluster.local形式で入力します。
-
データベースが
- Port フィールドに、データベースのポート番号を入力します。
- Username フィールドに、データベースに接続するデフォルトのユーザー名を入力します。
- Password フィールドに、デフォルトのユーザーアカウントのパスワードを入力します。
- Database フィールドに、データベース名を入力します。
オプション: データベース接続で証明書を使用するには、Add CA certificate to secure database connection を選択します。
-
odh-trusted-ca-bundleConfigMap のca-bundle.crtバンドルを使用するには、Use cluster-wide CA bundle をクリックします。 -
odh-trusted-ca-bundleConfigMap のodh-ca-bundle.crtバンドルを使用するには、Use Red Hat OpenShift AI CA bundle をクリックします。 Choose from existing certificates をクリックします。
rhoai-model-registriesnamespace 内の任意の ConfigMap またはシークレットのキーを選択できます。- Resource リストから、ConfigMap またはシークレットを選択します。
- Key リストからキーを選択します。
新しい証明書を ConfigMap としてアップロードするには、Upload new certificate をクリックします。
証明書の PEM ファイルを Certificate フィールドにドラッグアンドドロップするか、Upload をクリックしてローカルマシンのファイルシステムからファイルを選択します。
注記証明書をアップロードすると、
ca.crtキーを持つdb-credentialConfigMap が作成されます。証明書をシークレットとしてアップロードするには、OpenShift
rhoai-model-registriesnamespace にシークレットを作成し、モデルレジストリーを作成するときに、それを既存の証明書として選択する必要があります。OpenShift でシークレットを作成する方法の詳細は、シークレットを使用して Pod に機密データを指定する を参照してください。
-
- Update をクリックします。
検証
- モデルレジストリーは、更新された詳細とともに Model registry settings ページに表示されます。
第4章 モデルレジストリー権限の管理 リンクのコピーリンクがクリップボードにコピーされました!
組織内の個々のユーザーとユーザーグループ、およびプロジェクト内のサービスアカウントのモデルレジストリーへのアクセスを管理できます。
OpenShift AI は、モデルレジストリーで使用する <model-registry-name>-users グループを自動的に作成します。OpenShift でこのグループにユーザーを追加するか、クラスター管理者に追加を依頼できます。
モデルレジストリー Operator は、OpenShift のロールベースアクセス制御 (RBAC) を使用し、rhoai-model-registries namespace にさまざまな RBAC リソースを作成します。
各モデルレジストリーインスタンスに対して、Operator は registry-users-<model registry instance name> ロールと、<model registry instance name>-users という OpenShift グループを作成します。個々のユーザー、サービスアカウント、またはグループにモデルレジストリーインスタンスへのアクセス権を付与するには、クラスター管理者がインスタンスの registry-users-<model registry instance name> ロールへのロールバインディングを作成する必要があります。
<model registry instance name>-users グループには registry-users-<model registry instance name> ロールにバインドされたロールがあります。クラスター管理者は、ユーザーごとにロールバインディングを作成しなくても、このグループにユーザーを追加してモデルレジストリーインスタンスへのアクセス権を付与できます。
OpenShift での RBAC の管理に関する詳細は、RBAC を 使用したパーミッションの定義および適用 を参照してください。
前提条件
- OpenShift AI 管理者権限を持つユーザーとして OpenShift AI にログインしている。
- デプロイメント内に利用可能なモデルレジストリーが存在する。
- アクセスを許可するユーザーとグループが、OpenShift にすでに存在している。詳細は、ユーザーとグループの管理 を参照してください。
手順
- OpenShift AI ダッシュボードから、Settings → Model registry settings をクリックします。
アクセスを管理するモデルレジストリーの横にある Manage permissions をクリックします。
モデルレジストリーの権限ページが開きます。
1 つ以上の OpenShift グループにプロジェクトへのアクセスを提供します。
- Users タブの Groups セクションで、Add group をクリックします。
Select a group ドロップダウンリストからグループを選択します。
注記すべてのクラスターユーザーのアクセスを有効にするには、グループリストに
system:authenticatedを追加します。-
入力内容を確定するには、Confirm (
) をクリックします。
- オプション: さらにグループを追加するには、グループの追加 をクリックしてプロセスを繰り返します。
1 人以上のユーザーにモデルレジストリーへのアクセスを許可します。
- Users タブの Users セクションで、Add user をクリックします。
- Type username フィールドに、アクセスを許可するユーザーのユーザー名を入力します。
-
入力内容を確定するには、Confirm (
) をクリックします。
- オプション: さらにユーザーを追加するには、Add user をクリックしてプロセスを繰り返します。
プロジェクト内のすべてのサービスアカウントにモデルレジストリーへのアクセス権を付与します。
- Projects タブの Projects セクションで、Add project をクリックします。
- Select or enter a project フィールドで、アクセスを許可するプロジェクトの名前を選択または入力します。
-
入力内容を確定するには、Confirm (
) をクリックします。
- オプション: 追加のプロジェクトを追加するには、Add project をクリックしてプロセスを繰り返します。
検証
- モデルレジストリーへのアクセス権を付与されたユーザー、グループ、およびアカウントは、そのレジストリー内のモデルを登録、表示、編集、バージョン管理、デプロイ、削除、アーカイブ、および復元できます。
- Permissions タブの Users セクションと Groups セクションには、モデルレジストリーへのアクセス権を付与したそれぞれのユーザーとグループが表示されます。
- Projects タブの Projects セクションには、モデルレジストリーへのアクセス権を付与したプロジェクトが表示されます。
モデルレジストリーへのアクセスを許可すると、アクセス権を持つユーザーはモデルレジストリー機能を使用してモデルを保存、共有、バージョン管理、デプロイ、追跡できるようになります。詳細は、モデルレジストリーの使用 を参照してください。
第5章 モデルレジストリーの削除 リンクのコピーリンクがクリップボードにコピーされました!
不要になったモデルレジストリーを削除できます。
モデルレジストリーを削除しても、モデルレジストリーに接続されているデータベースは削除されません。残っているデータベースを削除するには、クラスター管理者に問い合わせてください。
前提条件
- OpenShift AI 管理者権限を持つユーザーとして OpenShift AI にログインしている。
- デプロイメント内に利用可能なモデルレジストリーが存在する。
手順
- OpenShift AI ダッシュボードから、Settings → Model registry settings をクリックします。
- 削除するモデルレジストリーの横にあるアクションメニュー (⋮) をクリックします。
- Delete model registry をクリックします。
- 表示される Delete model registry? ダイアログで、テキストフィールドにモデルレジストリーの名前を入力して、削除することを確認します。
- Delete model registry をクリックします。
検証
- モデルレジストリーが Model registry settings ページに表示されなくなります。