RAG対ファインチューニング

LLMOpsの概念

Max Knobbout, PhD

Applied Scientist, Uber

LLMライフサイクル:RAG対ファインチューニング

LLMアプリケーションライフサイクルのフェーズ概要

LLMOpsの概念

検索拡張生成(RAG)

バナナでタブレットに電力を供給する漫画のキャラクター

 

  • LLMの推論能力と外部知識を組み合わせる。
  • チェーンの3つのステップ:

    1. 関連ドキュメントを検索(Retrieve)
    2. プロンプトを例で拡張(Augment)
    3. 出力を生成(Generate)
  • ベクターデータベースを使用して実装されることが多い。

LLMOpsの概念

ベクターデータベースを使ったRAGチェーン

  1. 検索(Retrieve):
    • 入力をエンベディングに変換
    • ベクターデータベースを検索
    • 最も類似したドキュメントを取得

検索チェーン

LLMOpsの概念

ベクターデータベースを使ったRAGチェーン

  1. 検索(Retrieve):
    • 入力からエンベディングを生成
    • ベクターデータベースを検索
    • 最も類似したドキュメントを取得
  2. 拡張(Augment):
    • 入力とドキュメントを組み合わせて最終プロンプトを作成

拡張チェーン

LLMOpsの概念

ベクターデータベースを使ったRAGチェーン

  1. 検索(Retrieve):
    • 入力からエンベディングを生成
    • ベクターデータベースを検索
    • 最も類似したドキュメントを取得
  2. 拡張(Augment):
    • 入力と上位k件のドキュメントを組み合わせてプロンプトを作成
  3. 生成(Generate):
    • プロンプトを使用して出力を生成

実装方法やエンベディングモデルは多数あります。実験とテストを繰り返しましょう

生成チェーン

LLMOpsの概念

ファインチューニング

 

ファインチューニングされたスーツを着る漫画のキャラクターのイメージ

 

 

  • LLMの重みを調整する
  • 特定のタスクやドメインへの拡張:
    • 異なる言語
    • 専門分野
LLMOpsの概念

ファインチューニング

教師ありファインチューニング                             (転移学習)

必要なデータの種類 📂:

  • デモンストレーションデータ(入力と期待する出力)

人間のフィードバックによる強化学習(RLHF)

必要なデータの種類 📂:

  • ランキングまたは品質スコア(いいね・よくないねから取得)

アプローチ 🔍:

  • モデル(の一部)を再トレーニング

アプローチ 🔍:

  • 追加の報酬モデルをトレーニング
  • 元のLLMを最大化するよう最適化
LLMOpsの概念

RAGかファインチューニングか

RAG
  • 事実的な知識を含める場合に使用
  • ✅ LLMの能力を維持、導入が容易、常に最新
  • ❌ 追加コンポーネントが必要、慎重なエンジニアリングが必要

バナナでタブレットに電力を供給する漫画のキャラクター

ファインチューニングされたスーツを着る漫画のキャラクターのイメージ

ファインチューニング
  • 新しいドメインへの特化に使用
  • ✅ 完全なコントロール、追加コンポーネント不要
  • ❌ ラベル付きデータと専門知識が必要、バイアス増幅、破滅的忘却
LLMOpsの概念

開発サイクル

チェーンとエージェント開発のアクティビティを追加した開発サイクル

LLMOpsの概念

開発サイクル

RAGのアクティビティを追加した開発サイクル

LLMOpsの概念

開発サイクル

ファインチューニングのアクティビティを追加した開発サイクル

LLMOpsの概念

では、練習しましょう!

LLMOpsの概念

Preparing Video For Download...