⛷️
【参加メモ】Dash DesaiによるSnowflake Cortex AI大解説
はじめに
本記事は、7/23(火) 15:30から開催された「Dash DesaiによるSnowflake Cortex AI大解説!」参加
レポートです。
1.Cortex LLM関数
1-1.基盤モデル概要
Arcticを含む複数モデルが利用可能。
Snowflakeが抽象化し提供しており、ロールアクセスコントールも可能。
いずれもサーバーレスで機能し、データがSnowflake外に移動することはない。
1-2.タスク特化のLLM関数
プロンプトエンジニアリングも不要で、簡単に利用可能。
- サマライズ (SNOWFLAKE.CORTEX.SUMMARIZE)
- 感情分析 (SNOWFLAKE.CORTEX.SENTIMENT)
- 回答抽出 (SNOWFLAKE.CORTEX.EXTRACT_ANSWER)
- 翻訳 (SNOWFLAKE.CORTEX.TRANSLATE)
1-3.Complete関数
プロンプトを自由に記述してLLMを活用可能。
Arcticを含む様々なモデルを利用可能。
1-4.COUNT_TOKENS関数
利用するモデル・関数に応じたトークン数を確認できる。
SNOWFLAKE.CORTEX.COUNT_TOKENS( <function_name> , <input_text> )
1-5.デモ
電話応対のトランスクリプトデータを使ったデモ。
SQLを用いたデモ(Snowsight)
SQLを用いて翻訳や感情分析、要約のデモを実施。
Complete関数では、プロンプトでjson形式での出力を指示していました。
提供モデルとリージョン
下記ページを参照。モデルの切替は関数の引数を変更するだけ。
Streamlitによるデモ
翻訳や感情分析をインタラクティブに選択できるアプリのデモ。
下記のクイックスタートで実践可能!
2.Fine-Tuning
2-1. Fine-Tuning概要
- アカウント内のデータをもとに既存モデルを微調整が可能。(教師あり学習)
- サーバーレス、ロールベースアクセスコントールも可能。
- Fine-Tuningにおいても、データはSnowflakeアカウント内のみで完結。
- Studio内のGUIまたはSQLで利用可能。
- 利用方法はComplete関数のモデル名を置き換えるだけ。
2-2.デモ
通信事業者のデータとNotebookを用いて、顧客リクエストをカテゴライズするタスクのデモ。
- 大規模モデルではよい結果を得られるがコストがかかるため、小規模モデルをFine-Tuningしてコスト削減を図る。
- カテゴライズした結果をNotebook上で可視化。
- LLM関数を用いて、メール用のメッセージを作成。
Fine-Tuning手順
- 大規模モデル(mistral-large)でカテゴライズ結果を確認。
- 1の結果をもとに、小規模モデル(mixtral-7b)をFine-Tuning。
モデル管理
Fine-Tuningモデルの管理もGUIで可能。
Notebook上でのStreamlit利用
3.質問メモ
- Q:集計結果等を解釈し、解釈した結果を言語化することはできるか
- A:COMPLETE関数を用いてプロンプトで指示することで実現できるのでは。
4.おわりに
内容的にはSummitの内容の復習という形でしたが、改めて振り返りできてよかったです。
Cortexもついに東京リージョンでも利用可能になっているので、本格的に業務にも利用してみようと思います。
Discussion