LoginSignup
3
0

Snowflake Cortexについて調べてたら凄いワクワクしてきた!

Last updated at Posted at 2023-12-15

Snowflake Advent Calendar 2023の16日目の記事です。

はじめに

先日、Snowflake Cortexという新機能を知りました。

11月に行われたSnowflakeのイベント、Snowday 2023で発表されたものですが、あまり認識できていなかったので調べてみることにします。

機能内容

2つの公式ブログを読みながら理解を進めていきます。

Snowflake内から離れることなく、企業が迅速にデータを分析し、AIアプリケーションを構築できるようにする、Snowflakeの新しいインテリジェントなフルマネージド型サービス

とのことで、下記のような全体像の2行目左側にSnowflake Cortexがあります。右側にはSnowflake Container Services。

この2つが、Snowflakeの生成AI機能を使うための選択肢だと書かれています。
173057E8-A095-43C8-8AFC-38F18B701E6C.png

図に Serverless AI & LLM Functions とありますが、SQLまたはPythonで色々な MLモデル・LLMモデルを使用した機能(サーバーレス関数) が利用できます。
AI/LLMを実行するGPU等のインフラはSnowflakeがフルマネージドで用意してくれるので、ユーザーが構築する必要がないというのが大きな売り。

また、データの近くで実行できるので 最短ルートで高速に安全に処理できる というのも大きいと。

以下に各機能を列挙していきます。

LLMベースのモデルを使った関数

機能 概要
回答の抽出 非構造化データから情報を抽出する。
センチメント検出 テーブル全体のテキストのセンチメントを検出する。
テキスト要約 長い文書をまとめてより迅速に利用できるようにする。
翻訳 テキストを大規模に翻訳する。

MLベースのモデルを使った関数

機能 概要
予測 過去の時系列データでトレーニングを行い、季節性やスケーリングなどを自動的に処理することによってその時系列の未来を予測。
Time-Series Forecasting
異常検知 時系列データの外れ値を特定する。データパイプラインのモニタリングなどで活用。
Anomaly Detection
Contribution Explorer 2つの異なるユーザー定義時間間隔にまたがる特定のメトリクスの変化に寄与するディメンションを迅速に特定。
Contribution Explorer
分類 データを事前定義されたクラスまたはラベルに分類することで、データのパターンに基づいてより適切な推奨を作成できる。

より汎用的なユースケースに使用できる最先端のモデルを使った関数

機能 概要
Complete プロンプトに対して、Llama 2などの最先端のオープンソースLLMを使用してテキスト補完応答を返す。
Text2SQL Snowflake LLMを使用して、自然言語からSQL生成。ユーザーが独自のアプリケーションを構築可能。

以下は、2つ目のブログにのみ記載がありました。

機能 概要
Embed Text ユーザーが選択した埋め込みモデルを使用して、与えられたテキスト入力をベクトル埋め込みに変換。
ベクトル距離 ベクトル間の距離を計算するために、開発者はコサイン類似度(vector_cosine_distance())、L2ノルム(vector_l2_distance())、内部積(vector_inner_product())の3つの関数から選択。
ネイティブベクトルデータ型 これらの関数をデータに対して実行できるようにするために、ベクトルもネイティブサポートされるデータ型になった。

また、先程の全体図ではCortexの上に配置されていたDocument AI、Universal Search、Snowflake Copilotの3つがどんな位置づけなのか(Cortexとは別物なのか)気になりました。

image.png

その答えは、「Cortexで提供される関数を活用して開発された機能・サービス」 となるようです。

機能 概要
Document AI PDFやWord、画像などからデータ抽出する。Cortexの「回答の抽出」を利用(多分)。
Universal Search LLMを活用した検索機能で、Snowflakeアカウント内のデータベースオブジェクト、Snowflakeマーケットプレイスのデータ製品、ネイティブアプリ、Snowflakeドキュメントの記事を検索可能。買収したNeevaの検索エンジンを利用(これがCortexのものなのかは不明)。
Snowflake Copilot 自然言語でSQLを生成するためのLLMアシスタント。Cortexの「Text2SQL」を利用。

考察・感想

調べてみた印象ですが、一言でいうと、「Snowflakeが提供するAI系機能の総称」 という感じでしょうか。

各機能を個別に見ると全く新しいものではなく、既存で他に実現する方法がある機能も多いですが、 フルマネージドにデータの近くで、高速・安全・簡単に使える という点が嬉しいことだと思います。

まだ各機能はプレビュー段階で、一般公開までにさらなる変更や進化があるかもしれません。

AWSにおけるSagemakerのようなものになっていくかも?
参考:Amazon SageMakerサービスまとめ 令和4年12月版

かなり多くのAI機能があり、Snowdayのサブタイトルである THE WAY TO AI の通り、AIに対してものすごいリソースを投入して強化しているのが分かります。

これらの機能を利用して世界を変革していくのはSnowflakeユーザーである我々。
しっかり理解して価値のあることに活用していきたいです。

個人的に興味があるのは、予測、異常検知、Contribution Explorer、Text2SQLあたり。
普段の仕事でAIに親しみがない開発者でも簡単に素早く低コストでAI・LLMを活用できるはず!ワクワクしてきますね!

料金

そういえば、これらの機能を使った場合の料金がどうなるかは情報がないですね。

ビッグデータでこういった機能を利用するならかなりのマシンパワーが必要になるシーンもあるだろうし、莫大な開発・買収コストもかかっているので単純にウェアハウス料金だけってこともない気がしていますが・・

いずれにしても、Snowflake Cortexを使って新しい価値を作っていくのが非常に楽しみです。
引き続きウォッチしていきたいと思います。

・・・と書いた後にこちらのページに記載があるのを発見しました。

具体的にいくら、という書き方ではなくコンピュートとストレージの料金がかかりますよと。ちょっと詳細は不明ですが。

余談

Cortexとは、直訳すると「皮質」という意味だそうです。
以下はChatGPTに聞いた内容。

Cortexは異なる文脈で使用されることがあります。
例えば、Cortexは、人間の脳の外部の部分を指す医学的な用語としても使用されます。また、機械学習やディープラーニングの文脈では、CortexはNeural Network(ニューラルネットワーク)の構造やモデルを指すことがあります。

別でCortexというOSSのプロダクトもあるようで、説明を読むと似たものにも見えますね。

Cortex(コーテックス)は、インフラの専門家ではないデータサイエンティストに、機械学習モデルをクラウドサービスにデプロイし、管理・運用する手段を提供するOSSです。

現在は1年以上メンテされていない状態なので、開発者がSnowflakeに入社してたりして?

参考

公式ブログ2本

クラスメソッドさん

動画

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0