AI News HubLIVE
サイト内リライト3 分で読了

プロンプト圧縮技術:重要なコンテキストを失わずにLLMコストを削減する方法

プロンプト圧縮は、冗長な情報を削除しつつ重要な指示とコンテキストを維持することで、トークン使用量、コスト、応答時間を削減します。本記事では、手動書き換え、構造圧縮、文レベルフィルタリング、フレーズレベル圧縮、トークンレベルフィルタリング、抽出型圧縮、抽象型圧縮、クエリ認識圧縮、粗密圧縮、ソフトプロンプト圧縮などの技術と、RAGシステムやAIエージェントでの応用を紹介します。

ソースAnalytics Vidhya著者: Janvi Kumari

大規模言語モデル(LLM)は、必要以上の情報を受け取ることがよくあります。プロンプトには長い指示、検索されたドキュメント、チャット履歴、例、ツールの説明が含まれる場合があります。これにより、トークン使用量、コスト、応答時間が増加し、モデルが重要な詳細を識別するのが難しくなる可能性があります。プロンプト圧縮は、主要な意味、指示、証拠を維持しながらプロンプトを短縮し、モデルが有用な情報に集中し、不必要なコンテキストを避けるのに役立ちます。これはRAGシステム、AIエージェント、カスタマーサポート、ドキュメント分析、長い会話で特に価値があります。

プロンプト圧縮の主な技術は以下の通りです:

  1. 手動プロンプト書き換え:最も単純な技術で、繰り返しの指示、フィラーワード、不要な説明を削除します。例えば、「以下の情報を注意深く読み、利用可能なコンテキストのみに基づいて回答を提供してください」は「提供されたコンテキストのみを使用して回答してください」に圧縮できます。システムプロンプトや再利用可能なテンプレートに適していますが、手動の労力が必要で、大規模な入力にはスケーリングが難しい場合があります。
  2. 構造的圧縮:長いテキストを箇条書き、テーブル、キーと値のペア、JSON、YAMLなどのコンパクトな形式に変更します。例えば、顧客情報を記述文から構造化フィールドに変換します。顧客記録、製品詳細などに適していますが、フィールド名は理解しやすいままにする必要があります。
  3. 文レベルフィルタリング:タスクに関係のない完全な文を削除し、ユーザーの質問に答えるのに役立つ文のみを保持します。RAGシステム、レポートなどに有用ですが、重要なサポートコンテキストも削除される可能性があります。
  4. フレーズレベル圧縮:文から不要な単語を削除し、主要な意味を保持します。例えば、「申請が締切後に提出されたという事実により、処理できません」は「申請は締切後に提出されたため処理できません」に圧縮できます。不注意な圧縮は重要な詳細を失う可能性があります。
  5. トークンレベルフィルタリング:価値の低い個々の単語やトークンを削除し、タスクの理解に最も重要な用語を保持します。例えば、「顧客はゴールドメンバーシップを持ち、先月に5回サポートに問い合わせました」は「顧客ゴールドメンバーシップ、先月5回サポート問い合わせ」に圧縮できます。可読性が低下する可能性があり、「ない」「除非」「決して」などの否定語は保護する必要があります。
  6. 抽出型圧縮:元のプロンプトから最も重要な部分を選択し、書き換えずに保持します。RAGシステム、ポリシードキュメントなどに適しており、誤情報のリスクを減らしますが、複数のセクションに分散した情報を見逃す可能性があります。
  7. 抽象型圧縮:長いコンテンツを短い要約に書き換えます。会話履歴、レポートなどに有用ですが、要約モデルが重要な詳細を削除したり、元のコンテンツにない情報を追加する可能性があります。
  8. クエリ認識圧縮:ユーザーの現在の質問に基づいて情報を保持し、特定のタスクに関係のないコンテンツを削除します。RAGシステムやドキュメント質問応答で非常に効果的ですが、システムがユーザーのクエリを正確に理解する必要があります。
  9. 粗密圧縮:複数の段階でプロンプトを削減します。最初に大きな無関係なセクションを削除し、次に残ったコンテンツを文、フレーズ、トークンレベルで圧縮します。制御が向上しますが、複数の処理ステップが必要です。
  10. ソフトプロンプト圧縮:長いテキストを学習されたベクトルの小さなセットに変換し、通常の可読可能な単語を使用しません。コンテキストサイズを大幅に削減できますが、デバッグが難しく、モデルのトレーニングや内部表現へのアクセスが必要な場合があります。

RAGシステムでは、プロンプト圧縮は特に有用です:検索されたドキュメントには重複、古い情報、無関係な情報が含まれる可能性があり、圧縮により無関係なドキュメントを削除し、重要な段落を選択し、回答をサポートする文のみを保持できます。AIエージェントでは、エージェントは時間とともに長いプロンプトを構築するため、圧縮により古いツール出力を要約し、完了したアクションを短い状態更新として保存し、繰り返しの指示を削除できます。ただし、重要なルール、安全指示、決定、未解決のエラーは削除すべきではありません。

プロンプト圧縮の評価は、トークン削減だけでなく、タスク精度、情報保持率、ハルシネーション率なども考慮する必要があります。例えば、トークン削減率=1-(圧縮後トークン/元のトークン)、圧縮率=元のトークン/圧縮後トークン。圧縮後のプロンプトは、名前、数値、日付、指示、条件、否定語を保持し、元のプロンプトと同じタスクとモデルでテストされるべきです。

要約すると、プロンプト圧縮技術はLLMを効率的に利用するための実用的な方法を提供し、開発者は特定のシナリオに適した方法を選択することで、コストを削減しつつ出力品質を維持できます。