Snowflake Model Registry のユーザーインターフェース¶
注釈
Model Registry Snowsight UI は、一般的にすべてのデプロイメントで利用可能です。
SPCS Model Servingの推論サービス UI は、AWS、Azure、および GCP の商業デプロイメントのみで使用できるプレビュー版できます。
Snowsightの Models のページで、すべての機械学習モデルを見つけることができます。メタデータやデプロイメントを表示することもできます。
モデルの詳細¶
Models ページには、Snowflake Model Registryに作成して記録されたモデル、または USAGE か READ 権限経由でアクセスしたモデルが表示されます。これらは、どちらも Snowpark ML および外部ソースモデル(Hugging Faceのモデルなど)で開発されたモデルです。Cortex微調整 モデルも表示されます。今後のリリースでは、Snowflakeで作成できる他のモデルタイプも含まれる可能性があります。
モデルページを表示するには、ナビゲーションメニューで AI & ML » Models を選択します。結果のリストには、現在のロールがアクセスできるすべてのデータベースとスキーマのSnowflake Model Registry内のすべてのモデルが含まれます。
注釈
モデルが表示されない場合は、ロールに 必要な権限 があることを確認してください。
モデルの詳細ページを開くには、 Models リストの該当行をクリックします。ここに表示される詳細ページには、モデルの説明、タグ、バージョンなどの主要なモデル情報が表示されます。
モデルの説明を編集したり、モデルを削除したりするには、右上の ... を選択します。
モデルのバージョンをクリックすると、以下のようなバージョンの詳細ページが開きます。このページは、メトリックスなどのモデルバージョンのメタデータと、PythonまたはSQLから呼び出すことができる利用可能なメソッドのリストを表示します。
モデル関数を呼び出すコードを表示するには、その横にある SQL または Python リンクを選択します。このコードスニペットをSnowsight SQL ワークシートまたはPythonノートブックにコピーできます。
メタデータの追加や修正、モデルのバージョンを削除するには、右上の ... を選択します。
Files タブには、モデル・バージョンの基礎となるアーティファクトのリストが含まれています。このページから個々のファイルをダウンロードできます。このページを利用するには、ユーザーのモデルに対する OWNERSHIP または READ 権限が必要です。
Lineage タブには、モデルのトレーニングに使用されたデータセット、Feature Storeからの機能ビュー、ソースデータテーブルを含む、モデルの完全なデータフロー系統情報が表示されます。
ユーザーモデルをデプロイする¶
モデルレジストリページから SPCS Model Servingに直接モデルをデプロイできます。
注釈
Snowflakeモデルレジストリは、SPCS Model Servingへのユーザーモデルのデプロイのみをサポートしています。
モデルをデプロイするには、以下の手順を完了します。
モデルのリストからモデルを選択します。
モデルの詳細ページから、Versions セクションに移動します。
バージョン詳細ページを開くには、バージョンのリストからモデルのバージョンを選択します。
バージョンの詳細ページから、Deploy ボタンを選択します。
開いたペインで、デプロイされるサービスの名前を入力します。
デプロイされるサービスの RESTAPI エンドポイントを作成するかどうかを選択します。
デプロイされるサービスのコンピューティングプールを選択します。
(オプション)パフォーマンスとリソースの使用量をカスタマイズするために、ワーカーの数、CPU、メモリなど、詳細設定から細かくカスタマイズできます。
Deploy を選択します。
デプロイメントプロセスは、サービスを作成するのに最大15分かかることがあります。
デプロイメントが完了すると、サービスがメインのモデルレジストリページの Inference Services タブに表示されます。
外部サービスからモデルをインポートしてデプロイする¶
注釈
現在、 `Hugging Face<https://huggingface.co/>`_ のみがモデルプロバイダーとしてサポートされています。
外部プロバイダーから事前トレーニング済みのモデルをインポートし、推論用のSnowflakeサービスとしてデプロイすることができます。外部モデルをインポートするには、以下の手順に従います。
ナビゲーションメニューで AI & ML » Models を選択します。
Import model を選択します。
Import model ダイアログが開きます。
Model handle フィールドに、プロバイダーからのモデルハンドルを入力するか、Snowflakeで検証済みのモデルのリストから1つを選択します。
Task リストで、モデルが実行するタスクを選択します。
オプション:モデルリポジトリからカスタムのPythonコードをダウンロードできるようにするには、 Trust remote code チェックボックスを選択します。
警告
モデルが任意のコードをダウンロードできるようにすることは、セキュリティ上のリスクとみなす必要があります。Snowflake上でのリモートコードの実行は、十分に評価し、信頼できるモデルからのみ許可します。
Optional: To import a gated model, enter the name of the Snowflake secret for your Hugging Face token in the Hugging Face token secret field.
Your Hugging Face token secret should be a generic text secret, with your Hugging Face token as a value. For information on how to create a generic text secret, see CREATE SECRET.
オプション:Advanced settings を展開します。
モデルの入出力トークン変換を実行するには、 Tokenizer model フィールドにトークナイザーモデルを入力します。
ハイパーパラメーターを追加するには、 Add parameter を選択し、モデルが認識する名前と値を入力します。
Model name フィールドに、Snowflakeモデルレジストリで使用する名前を入力します。
Version name フィールドに、登録するバージョンを入力します。
Database and schema リストで、このモデルをリンクするデータベースを選択します。
オプション:Advanced settings を展開します。
モデルの実行環境にpipの要件を追加するには、 Add Pip requirement を選択し、パッケージのpip 要件指定子 を追加します。PyPi から提供されたパッケージのみがサポート対象です。
Comment フィールドに、モデルに関する有用な情報を入力します。
Continue to deployment を選択します。
Deploy (model handle) ダイアログが開きます。
モデルをデプロイするには、以下の手順に従います。
Service name フィールドに、サービスが実行される名前を入力します。
Snowflakeは、モデル名とバージョンに基づいたデフォルトを提供します。
オプション:モデルのサービスに対して API エンドポイントを自動的に作成するかどうかを変更するには、 Create REST API endpoint を選択またはクリアします。
Compute pool リストで、サービスを実行するための既存のコンピューティングプールを選択します。
オプション:サービスが実行されるコンピューティングプールのインスタンス数を調整します。
最大値は、コンピューティングプールのノード数によって制限されます。
CPU コンピューティングプールのオプション:コンピューティングプール内にあるサービスの利用可能なリソースに関する詳細を提示するには、 Advanced settings を展開します。
Number of workers
Max batch rows
CPU:仮想コア数(ミリ単位)
GPU:物理的な GPUs の数(GPU のコンピューティングプールでは 必須 )
Memory:使用可能な最大メモリ量
モデルをインポートし、ユーザーがモデルにアクセスするために介するサービスを作成するには、 Deploy を選択します。
モデルのインポートをキャンセルしたり、モデルの詳細に戻ることもできます。
デプロイが開始されると、ダイアログに Query ID が表示されます。このクエリは、モデルのインポートとサービスのデプロイを行うためのジョブを作成します。いずれかのジョブをモニタリングするためのクエリでは ありません 。
次のいずれかを実行します。
ダイアログを閉じるには、 Done を選択します。
クエリをモニタリングするには、 Open query monitoring を選択します。
Snowflakeは、モデルおよびサービスのデプロイメントに対して次のアクションを実行します。
プロバイダーから必要なファイルをダウンロードします。
モデルをモデルレジストリにアップロードし、ログに記録します。
サービスを実行するためのモデル固有のコンテナイメージを作成します。
モデルイメージをサービスとしてデプロイします。
注釈
Snowflakeがこれらの操作を実行するのにかかる時間は、モデルのサイズ、利用可能なコンピューティングリソース、ネットワーク設定など、いくつかの要因に依存します。
デプロイでエラーが発生した場合は、関連付けられた SQL クエリで詳細を確認してください。ナビゲーションメニューで Monitoring » Query History を選択し、 SYSTEM$DEPLOY_MODEL への呼び出しを含むデプロイメントクエリを見つけます。
モデルとサービスのデプロイメントのモニタリング¶
外部モデルがロードされ、デプロイの準備が整うと、Snowflakeは自動的に関連サービスの登録を開始します。以下の手順でデプロイメントをモニタリングします。
ナビゲーションメニューで Monitoring » Services & jobs を選択します。
Jobs タブで、インポートを開始した時点で作成された、サービスの場所とコンピューティングプールに一致するジョブを選択します。
このジョブには
MODEL_DEPLOY_IDENTIFIERという形式の名前がついています。モデルのインポートによって実行される各サービスのデプロイメントでは、関連付けられたジョブの一意の識別子が作成されます。モデルのデプロイメントをモニタリングするには、 Logs タブを選択します。
モデルのデプロイメントが完了すると、Snowflakeはサービスをビルドしてデプロイするためのジョブを開始します。
Jobs タブに戻り、
MODEL_BUILD_IDENTIFIERというジョブを選択します。この識別子はモデルのデプロイメントジョブと同じです。
サービスコンテナのビルドをモニタリングするには、 Logs タブに戻ります。
このジョブが完了すれば、サービスはデプロイ済みで準備が整ったことになります。
モデル推論サービス¶
SPCS Modeling Servingで作成されたモデル推論サービスは、Model Registry UI で見ることができます。メインのモデルリストページには、任意のモデルに対して作成された推論サービスのステータスが表示されます。
モデル名とモデルのバージョンを選択すると、モデルのバージョン詳細ページの Inference Services タブを使用してデプロイされた推論サービスの詳細を確認したり、推論サービスを一時停止することができます。これは、サービスが公開する関数のリストも示します。SQL またはPythonの使用コードスニペットを表示したり、コピーしたりできます。
Open Details を選択して、サービスパラメーターを表示します。デプロイされた推論サービスの詳細を表示するには、サービスパラメーターペインから Open Service Details を選択します。メインのモデルレジストリページの Inference Services タブからサービスの詳細にもアクセスできます。
モデルモニタリング¶
モデルモニターがアタッチされているモデルでは、モデル詳細ページのモデルモニターを使用してモデルモニタリングメトリックを視覚化することができます。
モニタリングダッシュボードを表示するには、希望のモデルモニターを選択します。
Compare を選択すると、モデルバージョンのメニューが表示されます。このモデルバージョンと比較する2番目のモデルバージョンを選択してください。
モニタリングは、モデル精度、モデルドリフト、機能ドリフトの大容量メトリックをサポートします。計算および表示されるメトリックを選択するには、 Settings アイコンを選択して、必要なメトリックを選択します。
