トレーニング済みモデルをアプリに組み込みます¶
このトピックでは、以前にトレーニングしたモードを Snowflake Native App 内に含める方法について説明します。
ワークフロー - モデルをアプリに追加¶
以下のプロシージャは、プロバイダーが Snowflake ML モデルを作成し、アプリに追加する典型的なワークフローの概要を示しています。
プロバイダーは、Snowflake ML モデルを開発し、 Snowflake Model Registry にログします。
プロバイダーはSnowflake Model Registryからモデルアーティファクトをエクスポートし、ステージングにアップロードして、アプリケーションパッケージからアクセスできるようにします。
プロバイダーは、アプリのセットアップスクリプトでモデルを作成します。
アプリは、インストール中またはアップグレード後に、コンシューマーアカウント内のこれらの成果物からモデルを作成します。オプションで、アプリはアプリケーションロールにモデルへのアクセスを付与することができます。
プロバイダーが機械学習モデルへのアクセスを許可するようにアプリを構成した場合、コンシューマーは機械学習モデルを使用します。
注釈
プロバイダーは、コンシューマーにモデル上のアクセスを許可する必要はありません。モデルは、アプリが内部的に使用するオブジェクトとして作成できますが、コンシューマーからはアクセスできません。
機械学習モデルの開発¶
プロバイダーは新しい機械学習モデルを開発したり、既存のモデルをアプリに組み込むことができます。
モデル開発の情報については、 Snowflake ML Model Development をご参照ください。
Snowflake Model Registry でのモデルの管理については、 Snowflakeモデルレジストリ をご参照ください。
モデルの成果物をエクスポートし、ステージングにアップロードします。¶
モデルをアプリに含めるには、プロバイダーはモデルの成果物をエクスポートし、アプリケーションパッケージにアクセスできるステージングにアップロードする必要があります。
モデルの成果物を手動でエクスポートし、ステージングにアップロードします。¶
モデルの成果物をダウンロードします。 Snowflakeモデルレジストリ をご参照ください。
以下のいずれかの方法を使用して、アプリのリソースがあるステージングに機械学習の成果物をアップロードします。
Snowsightを使用してファイルをアップロードするには、 Snowsightを使用したファイルのステージング をご参照ください。
Snowflake CLI を使用してファイルをアップロードするには、
snow app deployコマンドを使用します。 アプリケーションパッケージとアプリケーションオブジェクトを一緒に作成する方法 をご参照ください。SQL を使ってファイルをアップロードするには、 ローカルファイルシステムからのデータファイルのステージング をご参照ください。
ストアドプロシージャを使ってモデルの成果物をエクスポートし、ステージにアップロードします。¶
プロバイダーは、モデル成果物をダウンロードしてステージにアップロードするプロセスを自動化するためのテンプレートとして、以下のストアドプロシージャの例を使用することができます。
コンシューマーアカウントにモデルオブジェクトを作成します。¶
コンシューマーアカウントにモデルオブジェクトを作成するために、プロバイダーは次の例に示すように、セットアップスクリプトに必要な SQL コマンドを追加します。
オプションとして、プロバイダーはアプリケーションロールにモデル上の USAGE 権限を付与することで、コンシューマーにモデルへのアクセス権限を付与することができます。
アプリ内のモデルへのアクセス¶
アプリの一部として内部的にモデルを使用するには、プロバイダーは、次の例に示すように、セットアップスクリプトに SELECT ステートメントを追加します。
モデルをコンシューマーとして使用¶
プロバイダーがコンシューマーにモデルへのアクセス権限を与えた場合、コンシューマーは以下のコマンドを実行してモデルにアクセスすることができます。
このコマンドを実行するには、コンシューマーは以下のいずれかのロールを使用する必要があります。
モデルに付与された USAGE 権限。
アプリケーションオブジェクトの OWNERSHIP 権限。