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?

Debugging generation quality — Databricks Generative AI Cookbook [2024/6/26時点]の翻訳です。

本書は著者が手動で翻訳したものであり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Databricks生成AIクックブックのコンテンツです。

生成品質のデバッグ

生成品質のデバッグ

あなたが実施した根本原因分析によって、LLM生成の改善が対応すべき根本原因であることがわかったのでこのページを参照しています。

最適な収集がされたとしても、正確で一貫性があり、適切なレスポンスを生成するためにRAGチェーンのLLMコンポーネントが効果的に収集したコンテキストを活用できない場合、最終的なアウトプットの品質で苦しむことになります。生成品質による問題は、ハルシネーション、非一貫性、ユーザーのクエリーに簡潔に対応することに失敗するなど様々な事象として発生します。

生成品質の問題に対応するステップバイステップのプロセスを以下に示します:

  1. B_quality_iteration/01_root_cause_quality_issuesノートブックを開きます。
  2. 生成品質問題を記録するMLflow traceをロードするクエリーを使用します。
  3. それぞれのレコードに対して、生成されたレスポンスを手動で検証し、収集されたコンテキストと正解レスポンスと比較します。
  4. 低品質の生成となっているクエリー間でのパターンや共通の問題を探します。以下のような例があります:
    • 収集されたコンテキストにない情報を生成したり、矛盾する情報を出力する(ハルシネーション)
    • 与えられた収集コンテキストに対して、ユーザークエリーに直接対応することに失敗する
    • 過度に冗長で理解が難しく、論理的な一貫性のないレスポンスを生成する
  5. 特定した問題に基づき、可能性のある根本原因と対応する修正策についての仮説を立てる。ガイドに関しては、以下の"貧弱な生成品質の一般的な理由"をご覧ください。
  6. 修正案を実装、評価するために変更の実装と評価のステップに従います。
    • これには、RAGチェーンの修正(プロンプトテンプレートの調整、別のLLMを試すなど)やデータパイプラインの修正(より多くのコンテキストを提供するためのチャンキング戦略の調整など)が含まれることがあります。
  7. 依然として収集品質が不十分である場合には、期待されるパフォーマンスが得られるまで、次のより有望な修正策を特定するまでステップ4-5を繰り返します。
  8. チェーン全体で対応すべき他の根本原因が他にないのかを特定するための根本原因分析を再実行します。

貧弱な生成品質の一般的な理由

潜在的なこれらの修正方法は、大きく分けて3つに分類されます:

  1. の変更
  2. の変更
  3. の変更

変更の種類に応じて、変更の実装と評価の異なるステップに従うことになります。

重要
一般的には、あなたのアプリケーションのアウトプットの品質に対して試行錯誤を、プロンプトエンジニアリングを用いて行うことをお勧めします。

生成の問題 デバッグのステップ 修正案
収集されるコンテキストにない情報を生成している(ハルシネーション)
  • ハルシネーションした情報を特定するために生成されたレスポンスと収集されたコンテキストを比較する
  • 特定タイプのクエリーや収集されたコンテキストがハルシネーションの影響を受けやすいかどうかを評価
  • 収集されたコンテキストの信頼性を強調するようにプロンプトテンプレートを更新
  • より能力のあるLLMの活用
  • 生成後の事実チェックや検証ステップの実装
ユーザークエリーに直接対応することに失敗したり、過度に一般的なレスポンスを提供する
  • 適切性や特定性を評価するために生成されたレスポンスとユーザークエリーを比較
  • 特定タイプのクエリーで適切なコンテキストが収集されるが、LLMが低品質のアウトプットを生成しているかどうかをチェック
  • 直接的で特定のレスポンスを生成するようにプロンプトテンプレートを改善
  • 収集プロセスを改善することでよりターゲットされたコンテキストを収集
  • より適切なチャンクを最初に提示するように収集をリランクし、それらのみをLLMに提供
  • より能力のあるLLMの活用
理解が困難、あるいは論理的思考に欠ける生成をレスポンスを生成する
  • 論理的思考、文法的正しさ、理解可能性に関してアウトプットを評価
  • 特定タイプのクエリーや特定タイプコンテキストが収集された際に、一貫性のない結果が出るのかを解析
  • 一貫性があり、よく構造化されたレスポンスになるようにプロンプトテンプレートを変更
  • 追加の適切なチャンクを収集することでLLMにより多くのコンテキストを提供
  • より能力のあるLLMの活用
生成されたレスポンスが期待されたフォーマットやスタイルではない
  • 期待するフォーマットやスタイルのガイドラインとアウトプットを比較
  • 特定タイプのクエリーや収集コンテキストでフォーマット/スタイルが外れてしまう傾向があるかどうかを評価
  • 期待するアウトプットのフォーマットやスタイルを指定するようにプロンプトテンプレートを更新
  • 生成されたレスポンスを期待するフォーマットに変換する後処理ステップを実装
  • アウトプットの構造/スタイルを検証し、必要であればフォールバックの回答を出力するステップを追加
  • 特定のフォーマットやスタイルでアウトプットを提供するようにLLMのファインチューンを活用

はじめての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?