🤖
[イベントレポート] Snowflake MLの最新情報とMLOpsの効率的な運用ガイド #SWTTokyo2025
株式会社truestar データサイエンスグループのyusukeです。
当エントリでは、2025年09月11日(木)、12日(金)にグランドプリンスホテル新高輪 国際館パミールで開催された『Snowflake World Tour TOKYO 2025』のセッション『【Snowflake MLの最新情報とMLOpsの効率的な運用ガイド】』の参加・聴講内容をレポートします。
セッション概要
公式サイトのセッションタイムテーブルによるセッション概要は以下の通りです。
セッションレポート
ここからは本セッションの参加・聴講内容をレポートします。
(レポートと記載しましたが、自分にとって印象的だった部分がメインになっています)
SnowflakeのMLの特徴
- MLを行うための環境について
- MLとDWHの環境は別々になることが頻繁に発生している
- 例えばデータはDWHにあるが、MLモデルの開発には使い慣れたNotebookを使い、モデルのデプロイ先はまた別のコンテナ環境を構築、更にモデルの監視のための3rdPartyツールを使用するなど
- 全体像をみると複数のツールにまたがっており、管理コストが高くなる
- SnowflakeのMLはSnowflake内で完結するのがメリット
- MLとDWHの環境は別々になることが頻繁に発生している
- SnowflakeにおけるModelのライフサイクル
- 主なライフサイクルとしては以下のステップが存在する
- 開発と反復
- オーケストレーションと自動化
- 管理
- デプロイと提供
- 監視
- それぞれのステップに対してSnowflakeのベストプラクティスがありセッション内で紹介された
- 主なライフサイクルとしては以下のステップが存在する
- コンテナランタイム(CR)の利用
- MLの開発やデプロイなどで利用できる
- コンテナランタイムとは、最新のMLパッケージがインストールされているコンテナ環境のこと
- Snowflakeのコンピュートとしては、ウェアハウス(WH)とコンテナランタイム(CR)が存在する
- Notebookをコンテナランタイム上で実行させるように設定が可能
- ウェアハウスはDWHに特化したコンピュータで、コンテナランタイムはMLやNotebookなどに最適化されたコンピュートリソースとのこと
- ウェアハウスはDWHに特化したコンピュータで、コンテナランタイムはMLやNotebookなどに最適化されたコンピュートリソースとのこと
- 上記画像がNotebookを実行する環境としてのウェアハウスとコンテナランタイムの比較表
- 基本的にコンテナランタイムの方ができることが多い
- GPUを使うような処理を実行する場合はコンテナランタイムを使う必要がある
- コンテナランタイムのほうコスト効率が良い。
- 他にもモデルをデプロイする環境としても利用することも可能。リアルタイムな推論を実行させたい場合は、コンテナランタイムを使う方が良い
- データコネクタでデータをロード
- MLモデルの開発時に活用
- データをコンテナランタイムにデータを展開できる
- データの移行の際にはウェアハウスのコストが発生しないのがポイント
- 展開されたデータは、Notebook上でデータフレームとして取り扱うことができる
- 利用に応じてコンテナをスケールアウト
- 開発や自動化などに活用
- コンテナランタイムは動的にスケールアウトする設計になっている
- 実行中にもコンピュートリソースを変更するので、無駄を削減しコスト効率が良い
- 特徴量ストア
- MLモデルのトレーニングや推論に使うための特徴量を効率的に管理、共有するための機能
- データサイエンティストがそれぞれ独自の特徴量を作って、わからなくなる事が多い
- 特徴量生成のロジックを格納することで、担当が変わってもどうやって特徴量を作成した可がわかるようになる。ブラックボックス化しがちな部分を管理できる機能
- データのリネージ機能もあり、同じ特徴量を別々の箇所で作成するなどの重複作業を軽減できる
- データサイエンスエージェント
- SnowflakeMLの中でも新しい機能
- SnowflakeNotebook上で呼び出して利用が可能
- データの準備、前処理、特徴量エンジニアリング、学習などのMLモデル開発のステップを支援したり自動化が可能
- データサイエンスの専門家ではないビジネスユーザーでもMLモデルを開発できるようになるかもしれない
- モデルレジストリ
- MLモデルの管理をする際に活用
- ローカルのNotebookや別ツールで開発したMLモデルなどもSnowflake上で一元管理することが可能
- 外部のモデルでもコードの書き換えなどは不要で、データに近い環境でモデルを実行することが可能
- データに近い環境でモデルを実行させることは本番適用には不可欠
- モデルの推論環境として、前述したコンテナランタイムを使うことも可能なのでモデルの保管場所とデプロイ場所がSnowflakeにまとめられる
- また、分析に使うデータがSnowflake以外の場所にある場合、MLモデルは様々なツールで開発されモデルが散在しがちな状況をSnowflakeで一括管理することが可能。
まとめ
感想としては「SnowflakeのML機能も思っているよりイケてそう!」というのが一番です!
これまではSnowflake = DWHって印象だったので、ML機能はあくまでオマケで実運用としては他のツールと併用するんだろうなと思っていました。しかし、本セッションを通して十分SnowflakeだけでもMLやMLOpsまでできるんじゃないかと思えるように印象が変わりました。
特に、コンテナランタイムについてはぜひとも自分で試して、どれぐらいの使い勝手なのかを試してみようと思いました!