Snowpark ML、Snowflake Notebooks、Snowflake特徴量ストアを使用してMLを簡単に構築、展開
Snowflakeは、2021年にSnowparkを発表して以来、データクラウドのAI/MLワークロードへの拡張に重点的に投資してきました。Snowparkは、Pythonなどの一般的なプログラミング言語を安全に展開して処理するSnowflakeのライブラリとランタイムのセットです。
これまでSnowflakeは、伸縮性のあるコンピュートエンジンなど、Snowflakeのプラットフォームを使用してAI/MLの開発から実稼働までの道のりを大幅に短縮するための新たな方法を開拓してきました。Snowparkは、論理的に統合されているが物理的に分離されているSnowflakeのストレージとコンピュートのスケーリングとパフォーマンスを活用します。そのため、お客様はAI/MLとデータエンジニアリングのユースケースにおいて、パフォーマンスが3.5倍高速化し、コストが34%低下(中央値)しています。2023年9月現在、すでに多くの組織がデータで直接処理を実行することでメリットを得ており、Snowflakeのお客様の35%以上が週単位でSnowparkを使用しています。
開発から実稼働までのMLワークフロー全体をさらに加速させるために、Snowflakeプラットフォームは、特徴量とモデルの両方を安全に実稼働させるための新しい開発インターフェースとより多くの機能によって進化を続けています。では、これらの発表をまとめてみましょう。
Snowflake NotebooksでSQLとPythonを使用してインタラクティブな開発
Snowflake Notebooks(プライベートプレビュー中)は、新しい開発インターフェイスです。PythonとSQLのユーザーのためにインタラクティブでセルベースのプログラミング環境を提供し、Snowparkでのデータの探索、処理、実験を可能にします。Snowflakeのこのビルトインのノートブックにより、開発者はコードの記述と実行、Snowpark MLによるモデルのトレーニングと展開、Streamlitのグラフ要素を使用した結果の視覚化などを、すべてSnowflakeの統合された安全なプラットフォーム内で行えます。また、このノートブックはSnowflakeのロールベースのアクセス制御(RBAC)にネイティブに統合されているため、企業データを損なわずにコードや結果を安全に共有してコラボレーションすることが容易です。Snowflake Notebooksのセルベースのレイアウトにより、開発者はコードの作成と実行、結果の視覚化、メモの取得、インサイトの共有をすべて1か所で行えるようになるため、データサイエンスと機械学習の領域での実験と探索のタスクを制限なく行えるようになります。
Snowpark MLライブラリでAI/MLワークフローを合理化
Snowpark MLには、SnowflakeでエンドツーエンドのMLワークフローを行うためのPythonライブラリと基礎インフラストラクチャ(Snowpark MLモデリングAPIやSnowpark MLオペレーションAPIなど)が含まれます。Snowpark MLは、データの前処理、特徴量エンジニアリング、モデルトレーニング、統合デプロイメントを単一の使いやすいPythonライブラリに統合します。Snowflakeは最近、Snowpark MLモデリングAPI(近日中に一般提供開始)を発表しました。Snowpark MLモデリングAPIでは、Scikit-learnやXGBoostなどの一般的なMLフレームワークを使用して、Snowflakeからデータを移動することなく特徴量エンジニアリングやモデルトレーニングを行えます。Snowpark MLでは、使い慣れたPython APIで、これらのフレームワークを使用して直感的なモデル開発を行うことができます。Snowpark MLは、バックグラウンドでSnowflakeのスケーラブルなコンピューティングプラットフォームを利用して、データ処理オペレーションを並列処理します。
Snowpark MLオペレーションでは、Snowparkモデルレジストリ(近日中にパブリックプレビュー開始)により、Snowflakeでのスケーラブルかつ安全なモデルの展開と管理が可能になります。また、TensorFlowやPyTorchのディープラーニングモデルやHugging FaceのオープンソースLLMから、Snowparkコンテナサービス(GPUコンピュートプールを含む)への展開のサポートも拡張されています。Snowparkモデルレジストリは、ネイティブなSnowflakeモデルエンティティを基盤として構築されており、組み込みのバージョン管理サポート、ロールベースのアクセス制御、SQL APIを備えているため、SQLとPythonの両方のユーザーに対応するより合理化された管理が可能になります。
Snowflake特徴量ストアによる特徴量パイプラインの保存、管理、自動化
Snowflake特徴量ストア(プライベートプレビュー中)は、データサイエンティストとMLエンジニアがモデルのトレーニングと推論のためのML特徴量を作成、保存、管理、提供するための統合ソリューションです。Snowpark MLライブラリからアクセスできるPython API、特徴量の定義、管理、取得のためのSQLインターフェイス、特徴量のメタデータ管理と継続的な特徴量処理のためのマネージドインフラストラクチャで構成されています。Snowflake特徴量ストアを使用することで、MLチームはモデルのトレーニングや推論で使用される特徴量のシングル・ソース・オブ・トゥルース(信頼できる唯一の情報源)を最新の状態に維持できます。