1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gen AI in Action : 初めてのLLMアプリ作成 & LLMアプリの本番稼働を加速

Last updated at Posted at 2024-09-28

先日、こちらのウェビナーの講師を務めさせていただきました。

Gen AI in Action : 初めてのLLMアプリ作成 & LLMアプリの本番稼働を加速

このバーチャル・ワークショップに参加し、LLMのアイデアを構築し、反復し、磨き上げて、本番で使えるソリューションに仕上げる方法を学びましょう。

このバーチャル・ワークショップは、様々なユースケースにLLMを使用しようとしているデータ実務家に適しています。Gen AIを初めて学ぶ方にも、スキルを磨きたい方にも最適なイベントです。(本セッションは2時間を予定しています)

  • パート1:最初のLLMアプリを作る
    • LLMテクノロジー入門: LLMがどのように機能し、どのような用途に使われる可能性があるのかを概観します。
    • LLMの使い方
    • 最初のRAG(Retrieval Augmented Generation)アプリの構築
  • パート2:LLMアプリを本番環境に加速する
    • 評価の構築
    • アプリのプロダクション化

後日オンデマンド視聴できるようになりますが、こちらに簡単にダイジェストをまとめます。

セッションで使用したノートブック

関連ノートブック含め、こちらのリポジトリに格納しています。

Part 1: 初めてのLLMアプリ開発

Databricksでは、生成AIを含むデータサイエンスやAIのための機能セットであるMosaic AIを提供しています。

Screenshot 2024-09-28 at 12.58.06.png

生成AIとは、コンテンツの生成にフォーカスしたAIのサブ領域です。
Screenshot 2024-09-28 at 12.58.33.png

生成AIは、世界に存在する様々なメディアをベクトルに変換して取り扱います。

Screenshot 2024-09-28 at 12.59.46.png

テキストの場合、英語や日本語をトークンに、そして、ベクトルに変換します。

Screenshot 2024-09-28 at 13.00.39.png

このような生成AIを活用したLLMアプリケーションで活用が進んでいるのは、RAG(Retrieval Augumented Generation)です。以下のRAGの構成要素を見ていきましょう。

  • モデル
  • ベクトルストア
  • オーケストレーター

Screenshot 2024-09-28 at 13.01.56.png

ここで、Lab 1: プロンプトのデモを行いました。

詳細はこちらをご覧ください。

LLMの選択

LLMにはオープンソースのものとプロプライエタリのものが存在しますが、それぞれの長所短所があります。要件に応じて適材適所で選択することが重要です。

Screenshot 2024-09-28 at 13.04.06.png

モデルに知識を追加

事前学習済みモデルは一般的な知識を豊富に有していますが、例えばあなたのビジネスの詳細を理解しているわけではありません。自分でファインチューニングや事前トレーニングを行うことも可能ですが、膨大なコストや専門知識が必要となります。プロンプトエンジニアリングで工夫しようとしても、プロンプト長の制限に直面することになります。結果として、手軽に専門知識をLLMに埋め込むことができる、ベクトルストアを用いたRAGが人気を得ることになりました。

Screenshot 2024-09-28 at 13.10.11.png

ベクトルストアに文書を取り込む際には、生のテキストからチャンク(塊)の作成(チャンキング)、エンべディングの生成、検索インデックスの作成という手順を踏みます。

Screenshot 2024-09-28 at 13.11.18.png

ここで、以下のノートブックを通じて、Mosaic AI Vector Searchのデモを行いました。

まとめましょう

モデル、ベクトルストアと連携した一連のRAGの流れをまとめ上げるのがオーケストレーター/チェーンです。

Screenshot 2024-09-28 at 13.13.32.png

こちらで、Lab 3: 全てを組み立てるを用いて基本的なRAGのデモを行いました。

どのようにアプリを評価するのか? - モデル

現時点ではモデルの評価手法は、こちらにあるように主観的なものが多数を占めています。ご自身のユースケースに適した指標による評価を行うべきです。

Screenshot 2024-09-28 at 13.15.15.png

どのようにアプリを評価するのか? - 完全なRAG

RAGのプロセス全体に対する評価が必要です。

Screenshot 2024-09-28 at 13.24.10.png

代表的な質問を手動あるいは自動で準備し、RAGを困らせるような質問も含めるべきです。パワーユーザーを巻き込みましょう。

Screenshot 2024-09-28 at 13.24.44.png

ファインチューニングは?

良し悪しがありますので、ここでも適材適所の考え方が重要です。また、排他的なものではないので組み合わせることも視野に入れましょう。

Screenshot 2024-09-28 at 13.25.50.png

Part 2: LLMアプリの本番稼働を加速

DBRX

DatabricksのLLM、DBRXのご紹介をさせていただきました。

評価のディープダイブ

RAGの構成要素それぞれに対して評価を行います。

Screenshot 2024-09-28 at 13.27.39.png

どのように質問を準備したらいいのか?

こちらの論文で説明されている手法をご紹介しました。質問の生成もLLMにやってもらいます。

Screenshot 2024-09-28 at 13.29.41.png

RAGアーキテクチャの評価方法

Ragasアプローチを紹介させていただきました。

Screenshot 2024-09-28 at 13.30.40.png

適切性や解答の正しさの判定方法

LLM-as-a-Judgeを説明させていただきました。

Screenshot 2024-09-28 at 13.31.18.png

ここで、クイックデモ - Notebook 1.1を用いてLLM-as-a-Judgeのデモを行いました。

高度なチャンキング

テキストのチャンキングのアプローチは複数存在します。素朴なものはセクションや文字数による分割、高度なものではチャンキングにレイアウトモデルを活用します。

Screenshot 2024-09-28 at 13.36.46.png

ここで、クイックデモ - Notebook 1.2を用いたチャンキングのデモを行いました。

高度な収集

ベクトルデータベース以外にも、グラフ検索やハイブリッド検索を用いるアプローチが存在しています。

Screenshot 2024-09-28 at 13.39.00.png

ベクトルの類似検索の結果をビジネスロジックに基づいて並び替えるリランクの活用も進んでいます。

Screenshot 2024-09-28 at 13.39.18.png

オーケストレーターの構築

RAGに続いて、モデルに様々なツールを使用させるエージェントの活用も増えてきています。

Screenshot 2024-09-28 at 13.40.50.png

ここで、高度なロジックのウォークスルー - Notebook 1.4を用いて、リランクやチャット履歴を活用したRAGをウォークスルーしました。

モデルの不具合

このように、生成AIモデルが様々なアプリケーションでどんどん活用されるようになってきていますが、モデルに不具合が起きたらどうすればいいのでしょうか?

幻覚(ハルシネーション)を含む、モデルの問題のある挙動を説明させていただき、対策法も触れさせていただきました。

Screenshot 2024-09-28 at 13.43.27.png

Screenshot 2024-09-28 at 13.44.26.png

Screenshot 2024-09-28 at 13.45.04.png

Screenshot 2024-09-28 at 13.45.09.png

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?