なぜ重要か
モデル登録時にメソッドごとの設定を繰り返し指定する負担を減らし、共通設定を統一できます。Online Serviceでは要求サイズを明示できるため、プロビジョニング結果を運用上確認しやすくなります。MLジョブと実験runの関連も追跡可能になります。
対象となるチーム
- MLプラットフォーム・MLOpsチーム
- モデルRegistryを管理するデータサイエンスチーム
- Feature StoreとOnline Serviceを運用する機械学習基盤チーム
- 実験履歴やデータ・ジョブ系譜を管理するガバナンス担当者
提供条件
- 対象パッケージはsnowflake-ml-python 1.54.0です。
- 提供ステータスはリリースノートに記載なし。
- エディションおよびリージョンの要件はリリースノートに記載なし。
- Online Serviceのサイズ上限はアカウント側の上限が適用されます。
- 追加の前提機能・権限要件はリリースノートに記載なし。
ユースケース
- 複数のモデルメソッドでcase_sensitiveやmax_batch_sizeを共通化し、登録時の設定ばらつきを抑える。
- Feature StoreのOnline Serviceをワークロードに応じてXSから3XLまで指定し、作成後にget_online_service_status()でサイズを確認する。
- MLジョブから作成した実験runについて、どのジョブに由来するかをExperiment Trackingで追跡する。
- 過去のFeature Viewメタデータに未知のキーやlegacyのrefresh_modeが含まれていても、読み取り時のデシリアライズ失敗を避ける。
- quoted identifierのowner roleを持つモデルや、既存Feature Viewのonline storage有効化時に発生していたエラーを解消する。
仕組みと使い方
Registryでは、log_model(..., options={"case_sensitive": True, "max_batch_size": N})のようにグローバル設定を指定すると、すべてのメソッドへ適用されます。個別のmethod_optionsがある場合は、そちらがグローバル値を上書きします。Feature Storeではcreate_online_service(size="M")のようにsizeを指定できます。指定可能な値は"XS"、"S"、"M"、"L"、"XL"、"2XL"、"3XL"で、大文字・小文字は区別されません。作成後はget_online_service_status()でprovisioned sizeを取得できます。Experiment Trackingでは、MLジョブ内部でrunを作成すると、source provenanceに包含するMLジョブのIDが追加記録されます。
導入ステップ
- 利用対象の環境でsnowflake-ml-pythonのバージョンを1.54.0へ更新できるか確認する。
- モデル登録処理を棚卸しし、共通化できるcase_sensitiveとmax_batch_sizeをlog_modelのoptionsへ移す。
- Online Serviceの必要サイズを検討し、create_online_service(size=...)を使った検証環境でプロビジョニング結果を確認する。
- get_online_service_status()のsizeが期待値と一致するか、アカウント上限を含めて確認する。
- MLジョブ内で作成するrunについて、source provenanceにMLジョブIDが記録されることを検証する。
- 既存コードで非推奨APIを使用していないか確認し、将来の削除に備えて移行計画を作成する。
運用上の注意
- sizeを省略した場合はサーバー側のデフォルトが適用され、アカウントで上限が設定されている場合はその上限までのサイズになります。
- サイズが記録される前に作成されたOnline Serviceでは、get_online_service_status()のsizeがNoneになります。
- Feature Viewメタデータの未知のキーは読み取り時に無視され、保存されません。legacyのrefresh_modeも永続化されません。
- snowflake.ml.fileset.FileSet、CamelCaseのcortex関数名、partitioned_inference_api、MLJob.submit_*のadditional_payloadsなどは非推奨です。
- HuggingfacePipelineModelも非推奨で、いずれも将来のリリースで削除される予定です。
制約事項
- 提供ステータス、エディション、リージョン、詳細な権限要件はリリースノートに記載なし。
- Online Serviceのsize指定は指定可能な7段階の値に限られ、実際のプロビジョニングサイズはアカウント上限の影響を受けます。
- 既存サービスなど、サイズが記録されていないサービスのstatusではsizeを判定できません。
- グローバルなoptionsはmethod_optionsで上書きされるため、全メソッドに必ず同じ値が適用されるわけではありません。
- 非推奨APIの削除時期や具体的な移行期限はリリースノートに記載なし。
次に確認すること
- 公式のSnowflake ML Pythonインストール要件と互換性情報を確認する。
- 利用アカウントでOnline Serviceのサイズ上限、必要な権限、利用可能なリージョンを確認する。
- 検証環境でlog_modelのoptionsとmethod_optionsの優先順位をテストする。
- 非推奨APIの移行先であるDataset、DataConnector、custom_model.partitioned_api、importsなどの公式ドキュメントを確認する。
公式情報
仕様・提供条件は更新される可能性があります。導入前に必ず公式リリースノートを確認してください。
https://docs.snowflake.com/release-notes/clients-drivers/snowpark-ml-2026