Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
簡単に始めるSnowflakeの機械学習
Search
Nayuta S.
July 23, 2024
Technology
2.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
簡単に始めるSnowflakeの機械学習
DevelopersIO 2024のDay8で発表した内容となります。
-
https://classmethod.jp/m/odyssey/
Nayuta S.
July 23, 2024
More Decks by Nayuta S.
See All by Nayuta S.
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
220
AIを活用したStreamlitアプリ開発のTipsと、ほかのAI機能との棲み分け
nayuts
0
980
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
2.2k
Snowflakeで実践する、生成AIを活用した「自然言語によるデータとの対話」
nayuts
0
720
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
1.9k
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
nayuts
1
920
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
890
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
1.6k
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
520
Other Decks in Technology
See All in Technology
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
120
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
100
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
100
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
280
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
230
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.9k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.7k
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
1
110
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
480
人間はどの意思決定を手放せるのか
kawasima
15
8k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Test your architecture with Archunit
thirion
2
2.4k
Music & Morning Musume
bryan
48
7.4k
A better future with KSS
kneath
240
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Agile that works and the tools we love
rasmusluckow
331
22k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
We Have a Design System, Now What?
morganepeng
55
8.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Transcript
簡単に始める Snowflakeの機械学習 2024.7.23 データ事業本部 鈴⽊那由太
例)本セッションの スクリーンショットは禁⽌ です。 後⽇『DevelopersIO』で記事が 公開されます。 そちらをお待ちください。 2 ご注意事項
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 3 お願い
はじめに 4
本セッションの⽬的 • Snowflakeでは、ますます機械学習向けの機能が充実してきている。 ◦ Snowpark MLでは機械学習のロジックを、従来のPythonによる開発と同じように実装しつつ、 計算資源はSnowflakeにオフロードできる。 ◦ Snowflake AI
and MLでは、SQLをインターフェースに、Snowflakeに格納したデータに対し て、LLM・機械学習機能で処理を実⾏できる。 5 • 以下を通して、実際に使い始める準備の機会にしたい ◦ 全体像を把握する(各機能について詳細な話はしない) ◦ 推しの機能について使い⼼地をご紹介する ◦ この1年ほどの経緯を踏まえて、 最新の機能がどうなっているのか分かるようにする。
⽬次 • Snowflakeについて • 機械学習について • Snowflakeの機械学習機能 • 使い⼼地のご紹介 ◦
Snowpark ML ◦ ML Functions(時系列予測・要因分析) • 運⽤や結果の活⽤のご紹介 6
スピーカー紹介 7 ⽒名 鈴⽊ 那由太(スズキ ナユタ) 所属 データ事業本部 インテグレーション部 機械学習チーム
受賞 2024 Japan AWS Top Engineers(Analytics)
Snowflakeについて 8
Snowflakeとは 9 • AIデータクラウド(SaaS) • 独⾃の SQLクエリエンジン・アーキテクチャを採⽤することで、従来型のDWHでは対応 できなかったパフォーマンス最⼤化・シンプルな操作・無制限の同時処理を実現している。 • サービスのコンポーネントすべてがパブリッククラウドインフラストラクチャで実⾏される。
◦ AWS ◦ Google ◦ Azure • Snowsight(ウェブインターフェイス)・Pythonなどのプログラム・SQLクライアントなどから アクセスできる。
Snowflakeとは 10 • 共有ディスクデータベースアーキテクチャと⾮共有データベースアーキテクチャの ハイブリッドアーキテクチャであるため、前述のメリットが得られる。 • Query processing層のマシンタイプを選択して、かける費⽤とマシンパワーを調整できる。 ※ https://docs.snowflake.com/ja/user-guide/intro-key-concepts
より2024/07/06に引⽤
Snowflakeのメリット 11 • コンピュートリソースのスケールアウト・スケールアップが⾮常に簡単で管理が楽 • SaaSのため初期構築が簡単 • StreamlitやWorksheetなど分析のためのインターフェースも充実している • ネイティブのAI・機械学習機能により気軽により発展的な分析を実施できる
• 各種パブリッククラウドとの連携も⼿厚い ◦ 例えば、AWSのS3バケットに対して直接ロード・アンロードができるなど
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など、 新しい機能も発表︕
機械学習について 13
機械学習とは 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)” が実現しつつある。 今回の発表では、以下の使い分けで説明する。
MLとの使い分け 15 AI(⽣成AI)が常に良いわけではなく、今後は使い分けが重要になる ⽣成AIの課題 •モデルが⼤きいため、従来⼿法よりもレスポンスが遅い場合が多く、 ⼤量のデータに対してバッチ処理する場合は既存⼿法の⽅が良い場合がある。 •出⼒がコントロールしにくく、ハルシネーションが起こる可能性がある。 既存⼿法のメリット •本番運⽤に関する知⾒が既に豊富にある。 •モデルがLLMと⽐較して軽量なので、レスポンスが早くコストメリットが⾼い場合が多い。
•LLMに⽐べて、再現性のある出⼒を得やすい。
MLによる解決のアプローチ 16 機械学習を使って解決したい場合、以下の選択肢がある。 • 既存のツール・サービスを活⽤ ◦既存のAI・機械学習系のクラウドサービスやサードパーティ製品を活⽤ ◦Snowflake AI and MLの組み込み機能の利⽤など
• ⼀般的な⼿法(アルゴリズム)を使⽤ ◦AI・機械学習⽤のフレームワークやライブラリを活⽤して有名な⼿法を適⽤ ◦Snowpark MLのAPIの利⽤など • 独⾃⼿法(アルゴリズム)の開発 ◦既存の⼿法を応⽤したり、独⾃⼿法を開発する マネージド性⾼ カスタム性⾼
データ種別と適⽤領域 17 データ種別 • テーブルデータ(トランザクションデータなど) ◦ 分類、予測、異常検知、レコメンデーション • テキスト(⾃然⾔語) ◦
ドキュメント分類、キーワード抽出、 回答⽣成など • 画像・動画 ◦ 画像分類、物体検出 など Transaction Text Image Movie 適⽤領域 • 流通・⼩売 ◦ 需要・売上予測、在庫予測、 ⾃動発注、レコメンデーション など • 製造 ◦ 異常検知、故障予測、予知保全 など • ⾦融 ◦ 不正検出、与信判定 など • エンターテイメント・ゲーム ◦ ⾒込み顧客判定、離反予測、 不正検出、レコメンデーション など 必要なデータ種別と適⽤領域から、実現したいタスクに対してどんな準備が必要なのか考える。
Snowflakeの機械学習機能 18
Snowflakeの機械学習機能 19 ※ https://quickstarts.snowflake.com/guide/intro_to_machine_learning_with_snowpark_ml_for_python より2024/0720に引⽤
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によるドキュメント分析
Snowpark ML 21 •Snowflake内で完結するML ワークフローを実現するための、Pythonライブラリとそのインフラストラクチャ •前処理、特徴量エンジニアリング、モデルトレーニングに使い慣れたPythonフレームワークを使⽤できる •ML Modeling・Feature Store・Model Registryの3つからなる
※ https://docs.snowflake.com/developer-guide/snowpark-ml/overviewより2024/0720に引⽤
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/ より引⽤
ML Functions 23 •機械学習を使ったFunctionsが利⽤可能 ◦Anomaly Detection( 異常検知) ◦Forecasting(時系列予測) ◦Classification(分類) ※パブリックプレビュー
◦Contribution Explorer( 要因分析 ) ※パブリックプレビュー
Document AI 24 •Snowflake独⾃の⼤規模⾔語モデル (LLM) であるArctic-TILT を使⽤してドキュメントからデータを抽出する機能 •⼿書きのテキストだけでなく、ロゴやチェックマークなども読み取り情報を抽出することが可能 •ウェアハウスとストレージコストに加え、AI Services
computeの費⽤が発⽣ •英語のドキュメントの処理をサポート ※ https://dev.classmethod.jp/articles/snowflake-try-document-ai-tutorial/ より引⽤
各機能でなにができるのか 25 主要なタスク ビジネス課題例 機能 回帰 発電量の推定など Snowpark ML 分類
分類の⾃動化・離反予測など Snowpark ML, ML Functions 時系列予測 未来の売上の推定など ML Functions 異常検知 予知保全・不正検出など ML Functions 感情分析 ユーザーの感情分析 Cortex LLM Functions 要因分析 重要な要因の特定 ML Functions ドキュメントの分析 領収書処理など Document AI
使い⼼地のご紹介 26
Snowflakeの機械学習機能 27 本⽇は 箇所を中⼼にご紹介する。 • Snowpark ML • Snowflake AI
and ML ◦ Cortex LLM Functions ◦ ML Functions ◦ Document AI
Snowpark ML 28
データの流れ Snowpark DataFrame Snowpark ML Modeling Snowpark ML Model Registry
Snowpark MLの処理の流れ 29 ⽣データ 前処理 モデル 訓練 推論
Snowpark ML Modeling 30 •Scikit-learn互換(有名な機械学習ライブラリ互換)の APIにより、PythonからSnowflakeのリソースを使い、 機械学習モデルを構築・利⽤できる。 •データはSnowpark Pythonのデータフレームが主な対象。 実⾏イメージ
※ https://dev.classmethod.jp/articles/try-quickstart-snowpark-ml-modeling/ より
Snowpark DataFrame 31 •Pythonで⼤規模なデータを利⽤できるAPI。処理はSnowflakeのコンピュートを使う。 実⾏イメージ ※ https://dev.classmethod.jp/articles/snowpark-python-dataframes-oparation-table-data/ より
Model Registry 32 •Pythonから利⽤する。Snowpark MLで訓練したモデルをバージョン情報やメトリクスを含めて登録できる。 •パイプラインごと登録できる点も⼤きなポイントとなる。 •推論時に取り出してSnowpark DataFrameに対して推論を実⾏する。 •SQLから呼び出すこともできる。 実⾏イメージ
※ https://dev.classmethod.jp/articles/try-snowparkml-model-registry-preview/ より
Model Registry 33 •Pythonスクリプトで登録したモデルを確認することができる。 •AI & MLメニューやDataメニューから、 Snowsightからも確認できるようになっている。(パブリックプレビュー)
Snowflake Notebooksからの利⽤ 34 •パブリックプレビュー中の、特に機械学習向けのインターフェースとなる。 •Gitとの連携もできる。 •以前はローカルなどでJupyter Notebook環境を構築し、ネットワーク越しにSnowflakeに認証・接続する 必要があった。
Python Worksheetからの利⽤ 35 •SnowsightからWorksheetを使うことで簡単なPythonプログラムを実⾏することができる。 •UIからストアドプロシージャ化や定期的なタスク実⾏をすることもできる。
Snowpark MLのメリット 36 •データが格納されているSnowflake上のリソースを使い、シームレスに機械学習モデルの構築・運⽤が できる。 •データ前処理・モデルのトレーニング・推論にSnowflakeのウェアハウスを利⽤でき、 ⾼いスケーリングが期待できる。 •Snowflakeだけでモデルの開発ができ(Notebook)、機械学習パイプライン全体のバージョン管理が できる(Model Registry)。
•訓練済みの機械学習パイプラインをSQLから簡単に呼び出せるため、定期バッチ化しやすく、 データエンジニアとの分担もしやすい。
Snowpark MLについて知っておきたいこと 37 •従来のPythonによる機械学習モデル開発にある程度慣れている必要がある。 •慣れていない場合は、若⼲のキャッチアップが必要。 •データのドリフトによるモデルの劣化など、モデルモニタリング機能については今後に期待。
ML Functions 38
ML Functions 39 •機械学習を使ったFunctionsが利⽤可能 ◦Anomaly Detection( 異常検知) ◦Forecasting(時系列予測) ◦Classification(分類) ※パブリックプレビュー
◦Contribution Explorer( 要因分析 ) ※パブリックプレビュー
時系列予測 40 •Snowflakeに格納したデータに対してSQLで時系列モデルを訓練・推定することができる。 •アルゴリズムは勾配ブースティングマシンを採⽤している。 実⾏イメージ ※ https://dev.classmethod.jp/articles/snowflake-cortex-ml-based-functions-multi-time-series-preview/ より
要因分析 41 • 時系列データに対して適⽤できる。 • 過去データとテストしたい期間のデータを⼊⼒し、各セグメントごとに期待される値と実際の値を⽐較し、 その⽐(RELATIVE_CHANGE)や差(SURPRISE)により、どのセグメントが期待と実際が乖離していたか評価することで、 起きている事象の要因を分析する。 ※ 説明に必要な出⼒に絞って表⽰した結果
※※ Contribution Explorerの例を実施した際の結果 (https://docs.snowflake.com/en/user-guide/ml-functions/contribution-explorer) 実⾏イメージ
Snowflake AI & ML Studio 42 •現時点で、いくつかのML Functionに対して提供中(パブリックプレビュー) •UIの案内にしたがって操作すると、選択した機能を実⾏するためのSQLがワークシートに⽣成される
ML Functionsについて 43 <よいところ> •SQLから簡単に機械学習による分析・予測が実⾏できる。 •機械学習に関する知識は不要。 <知っておきたいところ> • アルゴリズムの詳細はSnowflakeが公開している情報に限られるため、評価は実際に試してみてになる。 •
性能が出ない場合は、カスタマイズできないため、データ側をエンリッチすることとなる。 • 現時点でモデル管理はないため、定期的にモデルを更新する場合は、モデル名に⽇付を⼊れるなど運⽤側 で⼯夫が必要。
運⽤や結果の活⽤のご紹介 44
定期実⾏ 45 • タスクでストアドプロシージャを定期実⾏できる。タスク間の前後関係も定義できる。 • Python・SQLともに対応しており、ML機能の定期実⾏には⼗分。 • より複雑な依存関係がある場合などは、AirflowやDagsterなど別のオーケストレーターと併⽤することになる。 実⾏イメージ ※
https://dev.classmethod.jp/articles/snowpark-ml-stored-procedure-task/ より
ダッシュボード作成 46 •ワークシートでテーブルに対するクエリを記述し、結果をチャートとして表⽰できる。 •基本的な作図をサポートしており、基本的なダッシュボード⽤途ではこれで⼗分。 実⾏イメージ
Streamlitでのデータアプリ化 47 •ネイティブにウェアハウスでホストされるStreamlitをサポートしている。 •Pythonを使い、Snowparkで簡単にSnowflakeのデータをクエリし、データアプリで表⽰できる。 •より複雑な作図や分析を⾏いたい場合にも利⽤できる。 実⾏イメージ
まとめ 48 • SnowflakeのML機能で、幅広い機械学習タスクに対応することができる。 • 従来の機械学習向けに、⼤きく分けて2つのアプローチがある ◦ PythonによるSnowpark ML ◦
SQLによるML Functions • タスクによる定期実⾏ができ、 Snowpark MLのモデルはModel Registryで管理できる。 • 推論結果はテーブルに保存することで、ダッシュボードやstreamlitでシームレスに利⽤ できる。
None
None