Upgrade to Pro — share decks privately, control downloads, hide ads and more …

簡単に始めるSnowflakeの機械学習

 簡単に始めるSnowflakeの機械学習

DevelopersIO 2024のDay8で発表した内容となります。
- https://classmethod.jp/m/odyssey/

Nayuta S.

July 23, 2024
Tweet

More Decks by Nayuta S.

Other Decks in Technology

Transcript

  1. 本セッションの⽬的 • Snowflakeでは、ますます機械学習向けの機能が充実してきている。 ◦ Snowpark MLでは機械学習のロジックを、従来のPythonによる開発と同じように実装しつつ、 計算資源はSnowflakeにオフロードできる。 ◦ Snowflake AI

    and MLでは、SQLをインターフェースに、Snowflakeに格納したデータに対し て、LLM・機械学習機能で処理を実⾏できる。 5 • 以下を通して、実際に使い始める準備の機会にしたい ◦ 全体像を把握する(各機能について詳細な話はしない) ◦ 推しの機能について使い⼼地をご紹介する ◦ この1年ほどの経緯を踏まえて、 最新の機能がどうなっているのか分かるようにする。
  2. ⽬次 • Snowflakeについて • 機械学習について • Snowflakeの機械学習機能 • 使い⼼地のご紹介 ◦

    Snowpark ML ◦ ML Functions(時系列予測・要因分析) • 運⽤や結果の活⽤のご紹介 6
  3. Snowflakeの機械学習機能 12 Snowflakeにはネイティブで格納したデータを機械学習で利⽤する機能が搭載されている。 • Snowpark ML︓Pythonによる機械学習モデル構築 ◦ ML Modeling ◦

    Feature Store ◦ Model Registry • Snowflake AI and ML ※分析に関するところだけ記載 ◦ Cortex LLM Functions︓LLMによるテキスト処理 ◦ ML Functions︓機械学習による分析・推論 ◦ Document AI︓LLMによるドキュメント分析 2023/12にGA 2025/5にGA(既にPuPrのリージョン) 2023/12にGA 2024/5にGA 今年6⽉のData Cloud Summit 2024では、 Cortex SearchやFine-tuningなど、 新しい機能も発表︕
  4. 機械学習とは 14 •LLMなどを利⽤し、幅広い⼊⼒に対して、⼈間に近い出⼒をする機械学習アルゴリズムのこと。 •SnowflakeのSnowflake AI and MLではLLMを利⽤した機能も搭載されている。 ⼈⼯知能 (Artificial Intelligence,

    AI) 機械学習 (Machine Learning, ML) •LLMよりも⼩さなモデルを利⽤し、0から訓練しても⼀般に現実的な時間で利⽤できる、 特定のタスクに特化した機械学習アルゴリズムのこと。 •Snowpark MLやSnowflake AI and MLのML Functionsではこれらアルゴリズムを利⽤できる。 LLMの登場で、多くの⼈がイメージする ”⼈⼯知能(AI)” が実現しつつある。 今回の発表では、以下の使い分けで説明する。
  5. MLによる解決のアプローチ 16 機械学習を使って解決したい場合、以下の選択肢がある。 • 既存のツール・サービスを活⽤ ◦既存のAI・機械学習系のクラウドサービスやサードパーティ製品を活⽤ ◦Snowflake AI and MLの組み込み機能の利⽤など

    • ⼀般的な⼿法(アルゴリズム)を使⽤ ◦AI・機械学習⽤のフレームワークやライブラリを活⽤して有名な⼿法を適⽤ ◦Snowpark MLのAPIの利⽤など • 独⾃⼿法(アルゴリズム)の開発 ◦既存の⼿法を応⽤したり、独⾃⼿法を開発する マネージド性⾼ カスタム性⾼
  6. データ種別と適⽤領域 17 データ種別 • テーブルデータ(トランザクションデータなど) ◦ 分類、予測、異常検知、レコメンデーション • テキスト(⾃然⾔語) ◦

    ドキュメント分類、キーワード抽出、 回答⽣成など • 画像・動画 ◦ 画像分類、物体検出 など Transaction Text Image Movie 適⽤領域 • 流通・⼩売 ◦ 需要・売上予測、在庫予測、 ⾃動発注、レコメンデーション など • 製造 ◦ 異常検知、故障予測、予知保全 など • ⾦融 ◦ 不正検出、与信判定 など • エンターテイメント・ゲーム ◦ ⾒込み顧客判定、離反予測、 不正検出、レコメンデーション など 必要なデータ種別と適⽤領域から、実現したいタスクに対してどんな準備が必要なのか考える。
  7. Snowflakeの機械学習機能(再掲) 20 Snowflakeにはネイティブで格納したデータを機械学習で利⽤する機能が搭載されています。 • Snowpark ML︓Pythonによる機械学習モデル構築 ◦ ML Modeling ◦

    Feature Store ◦ Model Registry • Snowflake AI and ML ※分析に関するところだけ記載 ◦ Cortex LLM Functions︓LLMによるテキスト処理 ◦ ML Functions︓機械学習による分析・推論 ◦ Document AI︓LLMによるドキュメント分析
  8. Cortex LLM Functions 22 •LLMを使ったFunctionsが利⽤可能 ◦COMPLETE︓選択した⾔語モデルを使⽤して回答を⽣成する ◦EMBED_TEXT︓英語の⼊⼒テキストをエンベディングする ◦EXTRACT_ANSWER︓与えられた質問に対する答えをテキストから抽出する ◦SENTIMENT︓英語の⼊⼒テキストの感情を-1〜1のスコアで返す ◦TRANSLATE︓指定したソース⾔語からターゲット⾔語へテキストを翻訳する

    ◦SUMMARIZE︓英語の⼊⼒テキストの要約を返す •AWS US Eastなど⼀部リージョンで利⽤可能 •token(⽂字数)に応じてコストがかかる •Cortex Fine-tuning︓モデルのFine Tuning ◦アメリカのリージョンだけでパブリックプレビュー ※ https://dev.classmethod.jp/articles/snowflake-try-cortex-llm-functions/ より引⽤
  9. 各機能でなにができるのか 25 主要なタスク ビジネス課題例 機能 回帰 発電量の推定など Snowpark ML 分類

    分類の⾃動化・離反予測など Snowpark ML, ML Functions 時系列予測 未来の売上の推定など ML Functions 異常検知 予知保全・不正検出など ML Functions 感情分析 ユーザーの感情分析 Cortex LLM Functions 要因分析 重要な要因の特定 ML Functions ドキュメントの分析 領収書処理など Document AI
  10. データの流れ Snowpark DataFrame Snowpark ML Modeling Snowpark ML Model Registry

    Snowpark MLの処理の流れ 29 ⽣データ 前処理 モデル 訓練 推論
  11. ML Functionsについて 43 <よいところ> •SQLから簡単に機械学習による分析・予測が実⾏できる。 •機械学習に関する知識は不要。 <知っておきたいところ> • アルゴリズムの詳細はSnowflakeが公開している情報に限られるため、評価は実際に試してみてになる。 •

    性能が出ない場合は、カスタマイズできないため、データ側をエンリッチすることとなる。 • 現時点でモデル管理はないため、定期的にモデルを更新する場合は、モデル名に⽇付を⼊れるなど運⽤側 で⼯夫が必要。
  12. まとめ 48 • SnowflakeのML機能で、幅広い機械学習タスクに対応することができる。 • 従来の機械学習向けに、⼤きく分けて2つのアプローチがある ◦ PythonによるSnowpark ML ◦

    SQLによるML Functions • タスクによる定期実⾏ができ、 Snowpark MLのモデルはModel Registryで管理できる。 • 推論結果はテーブルに保存することで、ダッシュボードやstreamlitでシームレスに利⽤ できる。