注:本記事は(2021年7月8日)に公開された(Snowpark Use Cases for Data Science)を翻訳して公開したものです。

今年のSnowflake Summitは、世界のデータを集結させるというSnowflakeのビジョンをさらに前進させるエキサイティングな発表がたくさんありました。非構造化データサードパーティデータクラウドを含め、組織がデータの価値を最大化できるよう、Snowflakeはデータのプログラマビリティの高度化をさらに押し進めます。これによりユーザーはさまざまなプログラミング言語やプログラミングモデルでさらなる柔軟性と拡張性が得られ、Snowflakeデータクラウドを活用した機械学習(ML)を実現できるようになります。

Snowflakeのデータサイエンスパートナーは、これらの進化をいち早く活用し、下記のデータサイエンスワークフローのさまざまなステップでユーザーのエクスペリエンスを高めています。

  • 特徴量エンジニアリング
  • MLモデル推論
  • SQLを使用したSnowflakeでのエンドツーエンドなML

特徴量エンジニアリングの促進

数々の発表の中で、SnowparkとJavaユーザー定義関数(UDF)は、当社のデータサイエンスパートナーにもたらすメリットという点で際立っていました。これによりパートナーは、当社との共通の顧客に向けて、Snowflakeのエンジンが誇るほぼ無制限のパフォーマンス、伸縮性、およびスケールから得られる更なるメリットを提供できます。

Snowparkは、複雑なデータパイプラインを簡単に構築できるよう設計されており、Dataiku、H20.ai、およびZepl(今はDataRobotのプラットフォームの一部)でのノートブックベースのプログラミングの一環としてコードを使用しているデータエンジニア、データサイエンティスト、および開発者に力をもたらします。Snowparkでは、DataFrameといった使い慣れたプログラミング概念と好みの言語を用いながら特徴量エンジニアリング作業を加速できるほか、これらのワークロードをSnowflake内で直接実行できます。Snowparkは現在、Scala用がパブリックプレビュー版として提供されていますが、将来的にはJava、Python、その他の言語のサポートも計画されています。

H20.aiノートブックのドライバーレスAIトレーニングを呼び出すDataFrameをSnowparkで作成する

Dataikuでデータ作成パイプラインを構築しているノーコードおよびローコードユーザーも、SnowflakeのエンジンとJava UDFを使用することでメリットを得ることができます。現在パブリックプレビュー版で提供されているJava UDFでは、Javaで書かれたワークロードをSnowflakeのJVM(Java仮想マシン)で実行できます。Dataikuの場合、コアエンジンはJavaなので、データ準備関数を再パッケージしてデータ準備をプッシュダウンすると便利です。これにより、Snowflake内での実行時にユーザー、ジョブ、またはデータの数に合わせて手間なくスケールを調整できると同時に、アーキテクチャをシンプル化できます。

特徴量エンジニアリングの加速に関係するもう1つの発表は、Amazon SageMaker Data WranglerでSnowflakeがデータソースとして正式にサポートされるようになったことです。この新たな統合により、共通の顧客はData Wranglerから直接Snowflake内でデータに接続してクエリを実行でき、データ準備と特徴量エンジニアリングを加速できます。300を超えるデータ変換が組み込まれているため、コードを一切書くことなく正規化、変換、結合を行うことができます。

Snowflake内でのモデル推論によりプロダクションへのパスをシンプル化

組織は、MLワークフローにおいて、モデルを安全かつ確実にプロトタイプからプロダクションへと導くという点で依然として苦労しています。モデル推論を大規模に実行するために、オペレーションチームは、管理された信頼できる情報源からモデルをデプロイする別の環境へとプロダクションデータを移行する必要があります。大量のデータを移行することは、コストがかかると同時にセキュリティ面でも問題があるため、モデルの実稼働が阻まれることが少なくありません。

データを現在の場所から移動させる複雑さに対応するため、ML開発およびオペレーションチームはモデルをデータのもとに移動させるアプローチにシフトしようと考えました。これを可能にするのが、現在パブリックプレビュー版で提供されているJava UDFです。Java UDFは、Javaで書かれたトレーニング済モデルを使用して、Snowflake内で推論を実行できます。

SnowflakeのデータサイエンスパートナーであるDataRobotとH20.aiには、すでに、モデルをJARファイルとしてエクスポートし、それらをSnowflake内にデプロイして、スケーラブルでバッチ指向のモデル推論を実現する機能があります。Dataikuも、SnowflakeにJava UDFとしてDataikuモデルをデプロイできるよう、この機能に取り組んでいると発表しました。

DataRobotは、JARをアップロードし、関連するUDFを作成して、Snowflakeで直接推論を実行するスクリプトを生成

ただし、モデルをSnowflake内で実行すると言っても、共通の顧客が自ら選んだMLプラットフォームをモデルのモニタリングに使用できないというわけではありません。たとえば、DataRobotの場合、顧客は経時的なモデルドリフトの分析のため、サービスと予測データをDataRobot MLOpsに取り込むことができます。

SQLを使用してSnowflake内でネイティブにMLモデルを構築し、管理する

適切な予測モデルの構築、トレーニング、およびデプロイにはツールや詳しい技術的知識が必要となるため、MLモデルの構築は複雑になりがちです。これには、どのモデルを使用するか、どのように調整するかといった面だけでなく、豊かな専門知識を持つ多くのアナリストやビジネスエキスパートにとって馴染のないプログラミング言語を使用してすべてを行わなければならないという点も含まれます。

MLを誰でも扱えるものにするため、SnowflakeとAWSの共通の顧客は間もなく、SageMaker Autopilotの機能を活用して、Snowflake内でSQLを使用しながら最高のMLモデルをネイティブかつ自動的に構築、デプロイできるようになります。いったんデータを準備して、表形式で利用可能な状態にすると、SageMaker Autopilotがそのデータに基づいて自動的にMLモデルを構築、トレーニング、調整します。その際、顧客は完全な可視性とコントロールを維持できます。

SQLを使用してSnowflake with Amazon SageMaker Autopilot内でネイティブに新型コロナウイルス診断予測モデルを構築

間もなく提供開始されるSnowflake with Amazon SageMaker Autopilotのプライベートプレビュー版の一部として、Snowflakeのネイティブ機能に、モデルを管理する機能と、すでにデプロイされたモデルからSQLを使用して新しい予測をリクエストする機能が加わりました。

次の展開

Snowpark Acceleratedプログラム参加パートナーによるSnowparkおよびJava UDFに関する発表をご覧ください。

上記の内容を体験するには、以下の方法があります。

  • Snowflakeガイドにアクセスし、手順説明に従ってSnowfparkの使用を開始する
  • SnowflakeからPartner Connectにアクセスし、DataRobot、Zepl(DataRobotのプラットフォームの一部)、Dataiku、またはH20.aiの使用を開始する
  • 近日提供されるSnowflake with Amazon SageMaker Data Wranglerのデモに登録する

Snowflake with Amazon SageMaker Autopilotのプライベートプレビュー版を試し、SQLを使用した機械学習の未来を切り拓きたい方は、こちらからサインアップしてください。

将来の見通しに関する記述

この投稿には、明示、暗示を問わず、Snowflakeの(i)ビジネス戦略、(ii)製品、サービス、技術(開発中のものを含む)(iii)市場の成長、トレンド、競合に関する考察(iv)当社の製品と第三者プラットフォームとの統合、相互運用性、利用可能性などに関する将来の見通しに関する記述が含まれています。これらの将来の見通しに関する記述は、Snowflakeが証券取引委員会に提出した2021年4月30を末日とする四半期報告書(フォーム10-Q)内の表題「Risk Factors(リスク要素)」以下の記述やその他の記述を含め、若干のリスク、不確かさ、および推測を伴います。これらのリスク、不確かさ、および推測を踏まえると、実際の結果はこれらの将来の見通しに関する記述で予想または暗示された事柄と大きくかつ不利な形で異なる場合があります。よって、これから起こることの予測として、将来の見通しに関する記述に依存することはおやめください。

© 2021 Snowflake Inc.  All rights reserved.  Snowflake、Snowflakeのロゴ、およびその他ここに記載されるすべてのSnowflake製品、機能、サービス名は、米国およびその他の国々におけるSnowflake Inc.の登録商標または商標です。本書で言及または使用されているその他のブランド名やロゴはすべて識別のみを目的としており、それぞれの保有者の商標である可能性があります。Snowflakeとかかる保有者との間には、提携、スポンサー、または推奨関係があるとは限りません。