長文脈LLMにおけるプロンプトインジェクションはRAGの代替となりうるか?

システムプロンプトを介して、Discourse AI ペルソナボットセッションのコンテキストに中規模のドキュメント(例:最大100KB)を注入することは可能でしょうか?

ユースケース
AWSインスタンス上のLlama3-8bのようなプライベートLLMにリンクされたカスタムAIペルソナ。コストはトークンごとではなく時間ごとにかかります。つまり、リクエスト/レスポンスのトークン数やパフォーマンスは問題ではなく、サーバーにはかなりのCUDAパワーがあります。つまり、RAGはオプションになる可能性がありますか?

(代替ユースケース:Gemini.1.5 LLM、API呼び出しに料金がかからない場合)

目標
パイプラインのコンポーネントを減らし、類似性検索を回避することで精度を向上させる。

実験
システムプロンプトに約20kトークンのテキストドキュメントが挿入されたGemini 1.5 Proを使用した非公式AIペルソナテスト。

その論文にしか答えがないとわかっているいくつかの質問をしました。すべて正しく答えました。したがって、プロンプトから20kトークンを読み取り、各質問のためにそれらを解析したと仮定していますか?

セッションとコンテキストのコンテンツがそれほど大きくない場合、このアプローチに欠点はありますか?

よろしくお願いします。



脚注 - セッション中にプロンプトからコンテキストを削除する
セッション中にプロンプト注入コンテンツを削除して質問を続けたところ、Geminiは質問に正しく答え続けましたが、数回の質問の後、コンテキストを見つけられなくなり失敗しました。ある程度予想されていたように、Gemini 1.5はセッション内の複数の会話のターンにわたってコンテキストを保持できますが、無期限ではありません。

すべての考え、コメント、ガイダンスを歓迎します!

「いいね!」 1

はい、LLMが許可するトークン量に依存する切り捨てロジックがあります。Gemini 1.5モデルではしきい値をかなり高く(800kに)設定しています。

機能するはずですが、すべてのやり取りが非常に高価になる可能性があります。

全体的に、コンテキストを制限することはモデルの集中力を維持するのに役立つことがわかりましたが、長期(2〜5年後)では…RAGは無意味になり、トークンとフォーカスが非常に多くなり、問題にならなくなるでしょう。

「いいね!」 3

プロンプトスタッフィングに関する私の質問にもかかわらず、私はラグが大好きです。

私の意見では、皆さんがビッグリーグの埋め込みエンジンで行っている作業は、現在強力で有用ですが、ラグもまた運命づけられている可能性があることに同意します。

サム・アルトマンが最近のインタビューで述べたように、LLMの邪魔になるビジネスモデルやプロジェクト計画には注意してください!私たちはあなたを圧倒します!…またはそれに類する言葉です…

最終的には、低次元(入力)、高次元(埋め込み)、低次元(プロンプト)、高次元(トランスフォーマー推論)、低次元(出力)の多くの前処理パイプラインなしで、私たちのものをLLMに渡したいのかもしれません。ボブはあなたの叔父です!

これは、私が偶然見つけたラグとロングコンテキストの背景情報です。まだすべてを聞いていませんが、関連性があるかもしれません…(このビデオの誰とも提携していません :slight_smile:

追伸

Gradientの長文コンテキストLLama3に関する動画を見ました。コンテキストには、プレイ中のすべてが含まれることを思い出させてくれます。

  • ユーザー入力
  • LLM出力
  • コントロトークン
  • システム指示

…ウィンドウがスライドするにつれて、一部は省略されますが、コンテキストウィンドウが満杯になるセッションでは、システムプロンプトを「保護」できる可能性があると述べられていました。

また、「最大入力サイズ」や、モデルがトレーニングされた元の「シーケンス長」の問題も関係してくる可能性があります。

以下は、長文コンテキストプロンプトスタッフィングの実例です。

一般的に、Discourse AIペルソナのチームを作成することは可能であり、各ペルソナは専門的なコンテンツやコードベースの大きなチャンクをクエリできるようにします(トークンごとの支払いには高額な費用がかかるという注意点を念頭に置いてください!)。

しかし、これは(非常に非効率的な)「静的」バージョンのRAGにすぎませんか?

このアプローチとRAGの唯一の違いは、すべてのコンテンツを含めるのではなく、関連するコンテンツチャンクを選択して含めることです。

「いいね!」 2

確かに、もっともな点です。私の意見では、簡単な答えはありません。

これはユースケースによると思います。

RAGは一部のアプリケーションにはうまく機能しますが、他の比較的決定論的なターゲットケース(例:顧客のQ/A、支払い、医療など)では、過去1年間にRAGベクトル検索で良好な精度を得るのに苦労しました。つまり、ボットは物事を見逃すか、でっち上げます(IRの用語では、リコールが悪く、精度が悪い)。これは、スタンフォード、Googleなどによって広く文書化されています。

したがって、質問が生じます。LLMにコーパス全体を提供できるのに、なぜたくさんのチャンクをLLMに投げつけるのでしょうか。少なくともコンテキスト注入を使用すれば、LLMが正確でない場合に調整するものが少なくなります。

vastなドキュメント/コードライブラリには機能しませんが、小規模および中規模のコンテンツベースでは、これまでのところうまく機能するようです。これを正式にテストしているプロジェクトに取り組んでいます。! すぐに詳細をお知らせします。ありがとうございます。

追伸。さらに興味深いことに、コンテキスト注入とファインチューニングを組み合わせてうまくいきました。また、RAGとコンテキスト注入を組み合わせた新しいアプローチも登場しています! などなど。

以下も参照してください。

ADDENDUM 2

プロンプトインジェクション vs RAG を使用して、ホワイトペーパー(約2万トークン)をコンテキスト化したQ/Aテストです。(コンテンツと設定は可能な限り同じにしました。LLM = Gemini-1.5-Pro)。

分析:
RAGは一貫性がありません。時々答えを見つけ、時々見逃します。


:github_check: プロンプトインジェクション成功:


:x: RAG失敗:


RAGリクエストトレース:

文書の冒頭でファイルアップロードからの質問にRAGで回答させることはできましたが、少し促せば、中盤や終盤の質問にも対応できるかもしれません。したがって、完全に失敗したわけではありませんが、一貫性がありません。私の意見では、一貫性がない、または扱いにくいです : )

ここに、皆さんが試せるテストファイルがあります。

このファイルには、BME haystack の「針」が含まれています。これらは、インターネット上の外部のコピーには存在しない、ユニークなものであることが保証されています。

冒頭:

校正者:Felonius Monko

中間:

編集者注:Goldich安定系列はMaurice Goldrchによって発見されました。Goldichの元の鉱物風化ポテンシャルの順序は定性的でしたが、後のMichal KowalskiとJ. Donald Rimstidtによる研究により、定量的順序が確立されました。この明確化については、NMUのGomez Pyle博士に感謝します。

末尾:

Dang, S. et al. Cryo-EM structures of the TMEM16A calcium-activated chloride channel. Nature 552, 426429 (2017).

Equatics-paper1-with-unique-haystack-needles-v116.txt (71.8 KB)

すべてのコメント、批評、ガイダンスを歓迎します!今後は、より多くのLLMや埋め込みモデルなどでテストを実施する予定です。

注記:

上記テストをGPT4o(128kコンテキスト)で再実行できましたが、ホワイトペーパーのQ/Aユースケースでは、トークン/チャンク設定を大きくしても、まだ非常に不安定でした(中間で失われる、末尾で失われるなど)。再現して改善したい方がいれば、私の設定を以下に示します。このケースに最適な設定が見つかれば幸いです。

カスタムAIペルソナ
有効? はい
優先度 はい
チャット許可 はい
メンション許可 はい
ビジョン有効 いいえ
名前 Rag Testing Bot 3
説明 RAG vs Long Contextプロンプトインジェクションをテストする
デフォルト言語モデル GPT-4o-custom
ユーザー Rag_Testing_Bot_bot
有効なコマンド Categories, Read, Summary
許可されるグループ trust_level_4
システムプロンプト 添付ファイルにあるEquatic Carbon Removal Researchの提供されたコンテキストから、可能な限り包括的に回答してください。内容を創作しないでください。このセッションの外部の内容を使用しないでください。提供された内容に焦点を当て、可能な限り正確かつ完全にそこから回答を作成してください。
最大コンテキスト投稿数 50
温度 0.1
Top P 1
アップロード Equatics-paper1-with-unique-haystack-needles-v116.txt
アップロードチャンクトークン 1024
アップロードチャンクオーバーラップトークン 10
会話チャンク検索 10
質問コンソリデーター用言語モデル GPT-4o-custom
カスタムボット
表示名 GPT-4o-custom
モデル名 gpt-4o
モデルをホストするサービス OpenAI
モデルをホストするサービスのURL https://api.openai.com/v1/chat/completions
モデルをホストするサービスのAPIキー D20230943sdf_fake_Qqxo2exWa91
トークナイザー OpenAITokenizer
プロンプトのトークン数 30000