⛷️

【参加メモ】Dash DesaiによるSnowflake Cortex AI大解説

2024/07/23に公開

はじめに

本記事は、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> )

https://docs.snowflake.com/en/sql-reference/functions/count_tokens-snowflake-cortex

1-5.デモ

電話応対のトランスクリプトデータを使ったデモ。

SQLを用いたデモ(Snowsight)

SQLを用いて翻訳や感情分析、要約のデモを実施。
Complete関数では、プロンプトでjson形式での出力を指示していました。

提供モデルとリージョン

下記ページを参照。モデルの切替は関数の引数を変更するだけ。
https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions

Streamlitによるデモ

翻訳や感情分析をインタラクティブに選択できるアプリのデモ。
下記のクイックスタートで実践可能!

https://quickstarts.snowflake.com/guide/getting_started_with_snowflake_arctic/#0

2.Fine-Tuning

2-1. Fine-Tuning概要

  • アカウント内のデータをもとに既存モデルを微調整が可能。(教師あり学習)
  • サーバーレス、ロールベースアクセスコントールも可能。
  • Fine-Tuningにおいても、データはSnowflakeアカウント内のみで完結。
  • Studio内のGUIまたはSQLで利用可能。
  • 利用方法はComplete関数のモデル名を置き換えるだけ。

2-2.デモ

通信事業者のデータとNotebookを用いて、顧客リクエストをカテゴライズするタスクのデモ。

  • 大規模モデルではよい結果を得られるがコストがかかるため、小規模モデルをFine-Tuningしてコスト削減を図る。
  • カテゴライズした結果をNotebook上で可視化。
  • LLM関数を用いて、メール用のメッセージを作成。

Fine-Tuning手順

  1. 大規模モデル(mistral-large)でカテゴライズ結果を確認。
  2. 1の結果をもとに、小規模モデル(mixtral-7b)をFine-Tuning。

モデル管理

Fine-Tuningモデルの管理もGUIで可能。

Notebook上でのStreamlit利用

3.質問メモ

  • Q:集計結果等を解釈し、解釈した結果を言語化することはできるか
    • A:COMPLETE関数を用いてプロンプトで指示することで実現できるのでは。

4.おわりに

内容的にはSummitの内容の復習という形でしたが、改めて振り返りできてよかったです。
Cortexもついに東京リージョンでも利用可能になっているので、本格的に業務にも利用してみようと思います。

Discussion