Snowflakeはプログラマビリティを拡大し、AI/MLおよびストリーミングパイプライン開発のサポートを強化
注:本記事は(2023年6月28日)に公開された(Snowflake Expands Programmability to Bolster Support for AI/ML and Streaming Pipeline Development)を翻訳して公開したものです。この記事の翻訳には機械翻訳を使用しています。
Snowflakeでは、データ・サイエンティスト、データ・エンジニア、アプリケーション開発者がデータ・クラウドでより迅速かつ効率的に構築できるよう支援しています。そのため、年次ユーザーカンファレンスであるSnowflake Summit 2023では、ガバナンスを脅かすことなく、選択した言語のためにSnowflakeのデータプログラマビリティをさらに拡張する新機能を発表しました。
今年のサミットでの重要な強調点は、Snowparkライブラリとランタイム開発者が、SQL 以外のコードをさらに簡単に、より安全にデプロイし、処理するために使用できるイノベーションの強化と拡張です。Snowpark Python UDFおよびストアドプロシージャを使用してデータをさらに簡単に処理できるようにするために、Python 3.9および3.10のサポートと非構造化データのサポートがパブリックプレビューで追加されました。Snowflake でのコードのセキュリティとガバナンスを強化するために、プライベートプレビューでPython パッケージの詳細なallowlists とblocklists も追加しました。API とエンドポイントを安全な方法で統合できるようになり、プライベートプレビューで外部ネットワークアクセスが可能になりました。これには、ユーザが指定したネットワークロケーションへのネットワークトラフィックのみを許可するセキュリティ機能が含まれます。
これらは、Snowparkのイノベーションのほんの一部に過ぎず、Snowflakeをまたいで、データクラウドにおけるプログラマビリティの範囲と可能性を拡大し続け、顧客が以下のことができるユニークなイノベーションを提供し続けています。
- エンドツーエンドのAI/MLワークフローの簡素化、高速化、スケーリング
- ストリーミング機能の拡充
- 観測性とDevOps体験の向上
エンドツーエンドのAI/MLワークフローの簡素化、高速化、スケーリング
AI/ML ワークフローは、モデルの開発、操作、および消費の3 つのステップに大別されます。エンド・ツー・エンドのプロセスでは、AIを駆使した洞察から得られる価値を活用するために、多くのデータ、エンジニアリング、ビジネス・チームを横断するコラボレーションが必要です。しかし、これらのチームのほとんどは異なるテクノロジーを使用し、異なるプログラミング言語で動作するため、データのコピーはサイロ化された環境に移動され、ほとんどの組織でワークフロー全体をシステム化してスケーリングすることが困難になります。
より広範な開発セットに力を入れるために、Snowpark Container Services(プライベートプレビュー)をローンチし、開発者がGPUなどの設定可能なハードウェアオプションを備えた安全なSnowflake管理インフラストラクチャを使用してコンテナ化されたモデルを簡単に展開、管理、スケーリングできるようにしました。この新しいSnowparkランタイムにより、ユーザーはコンテナのコンピューティングとクラスターの管理とメンテナンスという複雑な操作に対処する必要がなくなり、管理されたデータをSnowflakeアカウントの外に移動することでセキュリティリスクにさらされることもなくなります。プログラミング言語(R など) とハードウェア(GPU など) の両方に追加された柔軟性により、開発のスピードが向上し、Snowflake Native Apps経由でホストノートブックやLLM などの洗練されたアプリを展開できるようになります。AI/MLの開発、運用、消費を合理化するためのその他のSnowparkのイノベーションには、以下のものが含まれる。
機能エンジニアリングを加速し、AI/MLトレーニングを簡素化するSnowpark ML Modeling API
ML Modeling API(パブリックプレビュー)とML Operations API(プライベートプレビュー)で構成されるSnowpark ML APIは、SnowflakeでのエンドツーエンドのML開発と展開を容易にします。開発側では、Snowpark ML Modeling APIは機能エンジニアリングをスケールアウトし、Snowflakeでのモデルトレーニングを簡素化します。
Snowpark ML Modeling APIを使用すると、ストアドプロシージャを作成したり並列化を利用したりすることなく、SnowflakeのデータにネイティブにSklearnスタイルの処理を実装できます。
また、データサイエンティストは、より簡単なユーザーエクスペリエンスのためにストアドプロシージャを介してインポートすることなく、データにネイティブでSklearn およびXGBoost を使用して、Snowpark 内のデータに精通したAPI のモデルを直接トレーニングできます。
組織のすべてのAI/MLモデルを格納および管理するためのSnowpark Model Registry
モデルの開発後、データサイエンティストは、Snowpark Model Registry(プライベートプレビュー)を含むSnowpark ML Operations APIを使用して、Snowflakeにモデルをシームレスに展開することもできます。これにより、組織のML モデルがマシン学習モデル操作(MLOps) を効率化およびスケーリングするための統合リポジトリが提供されます。
このレジストリは、データサイエンティストが成功した実験をMLエンジニアに引き継ぎ、Snowflakeインフラストラクチャでの生産にモデルとして展開するプロセスの一環として、共同作業を効率化するためのモデルの集中的な公開と発見を提供します。
データとモデルをインタラクティブアプリとして生きるためにStreamlit in Snowflake
Streamlit in Snowflake(パブリックプレビュー)は、Pythonで構築されたインタラクティブアプリでデータとMLモデルを生き生きとさせます。アプリケーション開発のためのコンポーネント豊富でユーザーフレンドリーなStreamlitオープンソースライブラリと、Snowflakeプラットフォームのスケーラビリティ、信頼性、セキュリティ、ガバナンスを組み合わせたものです。
Streamlit は、データサイエンティストとPython 開発者に、データとモデルをインタラクティブなエンタープライズ対応アプリケーションにすばやく変換する機能を提供します。
Snowflakeにおける簡素化したストリーミングパイプライン
Dynamic Tables(パブリックプレビュー)により、ストリーミング機能を拡張しています。Dynamic Tablesは、バッチデータとストリーミングデータの両方を変換するための連続データパイプラインを大幅に簡素化します。これで、Create Table as Select(CTAS)ステートメントと同じくらい簡単にストリーミングデータパイプラインを作成できます。Snowpipe Streaming(まもなくGA)とともに、Snowflakeはバッチとストリーミングシステムの境界を取り除き、ストリーミングパイプラインをこれまで以上に容易にします。
Dynamic Tableは、クエリとして定義され、そのクエリの結果をテーブルとして継続的に維持する新しいテーブルです。Dynamic Tableは、複数のソースオブジェクト間で結合および集約し、ソースの変更に応じて結果を増分的に更新できます。Dynamic Tables を使用すると、顧客は更新の頻度に関するクエリと情報を提供し、Snowflake は自動的に結果をマテリアライズします。これは、データの事前計算を実行する責任が、データエンジニアによって完了される手動ステップではなく、自動化されることを意味します。
オブザーバビリティの向上とエンドツーエンドの開発者の経験
エンドツーエンドのアプリケーション、パイプライン、およびML モデルの構築を容易に、迅速に、そして簡単にするために、開発者がより効率的に作業できるように、開発者になじみのある能力と経験をもたらしたいと考えています。そのために、私たちはサミットでDevOpsとオブザーバビリティ機能のセットをローンチし、開発者が共同で構築し、簡単にテストし、より早くトラブルシューティングし、安定した状態で操作し、全体的な生産性を向上させることができるようにしました。
これには、Git 統合(プライベートプレビュー) などの機能が含まれます。これにより、アプリケーションコードとgit およびgit ワークフローを簡単に統合できます。ユーザーは、Snowflake 内のGit レポに存在するアセットを表示、実行、編集、およびコラボレーションできます。
また、Snowflake CLIのプライベートプレビューも発表しました。Snowflake CLIは、Snowflake上のアプリケーション中心のワークロード用に明示的に設計されたオープンソースのコマンドラインインターフェイスです。開発者はシンプルなコマンドを使用して、Streamlit、Native App、Snowpark Containers、Snowparkなどのワークロード間でSnowflakeで実行されるアプリケーションを作成、管理、更新、および表示できます。
イベントテーブルを使用したロギングとトレース(パブリックプレビュー)では、Snowflake の内外からログを探索し、Snowflake のエンジンを使用したトラブルシューティングを行い、Snowflake のコードのデバッグ機能を向上させます。
これらのすべての機能は、Snowflake 内のアプリとデータの両方の完全なDevOps およびソフトウェア開発ライフサイクルをクリーンにクリックし、より生産性の高い開発者ワークフローを可能にします。
What’s next:
Snowflakeは、お客様が企業データ上で安全にLLMを実行し、組み込み機能やUIとしてAIドリブン機能を提供することで、データに生成可能なAIをもたらしています。サミットでのMLデモをチェックして、その仕組みを確認してください。
詳細情報:
- このクイックスタートガイドに従って、Snowpark for Python を使用するデータエンジニアリングとML の使用を開始します。
- このクイックスタートガイドを使用して、Snowflake Python ワークシート(パブリックプレビュー)のSnowpark を試します。
- LinkedInとTwitterで、Snowflakeからの最新ニュースやお知らせを受け取る。