「これってAIの正しい理解?」シリーズです。 以前プロンプトRAGとツールRAGのお話をしまして、今回の話はどちらのケースでも当てはまるのですが、RAGを「回答精度を高めるための技術」 と解説されていることが多く見られます。
結果的に何かの事実情報がコンテキストに与えられて「事実に即した回答」を行うこともありますが、コンテキストの与え方によっては「RAGに寄り過ぎて、質問に適切に答えてくれないこと」もあります。
デジタルMATSUMOTOのプロンプトRAGでは、以下の3点を意識しています。 ①データ:リアル松本らしく振る舞うために「個人の意見(個性)」のみをデータに含める(徹底的に「マツモトバイアス」をかける) ②共通プロンプト:知識情報(RAGデータ)の引用を行いつつ「示唆のある検討」を指示 ③チャンク別プロンプト:各チャンクに「タイムスタンプ」と「問合せとの近さ」を与える
プロンプトRAGを設計する時の注意点 ①データ/②共通プロンプト/③チャンク別プロンプト ※字が小さいので画像をクリックして拡大してご覧ください 本日のお題 「RAGはAIの回答精度を向上させるために用いられる技術」と解説されていることが多いのですが、これは本来正しい説明だと思いますか?
リアル松本 デジタルMATSUMOTOの回答 RAG(Retrieval-Augmented Generation)は、生成AIの一種であり、外部の情報を取り入れてより正確な回答を生成するための技術です。この技術が「AIの回答精度を向上させるために用いられる」と解説されることが多いのは、確かにその一面を捉えた説明であると考えます。しかし、RAGの役割を単に精度向上に限定するのは、やや狭い視点かもしれません。 RAGの本質的な価値は、回答精度の向上だけでなく、より多様で文脈に即した情報提供を可能にする点 にあります。(📚知識情報を参照)プロンプトRAGとツールRAGの違いに関する議論では、外部情報の取り込み方が異なるため、LLM(大規模言語モデル)への影響が異なること が指摘されています。プロンプトRAGは常に外部検索を行い、情報を付加することで詳細な回答を提供しますが、その結果、会話の自然さを欠く場合があります。一方、ツールRAGは必要に応じて外部情報を参照するため、柔軟性がある反面、コントロールが難しいという課題があります。 また、RAGはバイアスの影響を受けやすいという点でも重要な考慮が必要です。AIの判断には必ずバイアスが含まれるとされており、RAGにおける外部情報の取り込み方もその一因となります。したがって、RAGを用いる際には、多様な価値観を含めた公平な情報提供を目指すことが重要です。(✅リアル松本のコメント:バイアスは必ずしも悪いものではないのでこのパラグラフは削除します) このように考えると、RAGの真の目的は単に精度を上げることではなく、より豊かな情報提供を通じてユーザーの多様なニーズに応えることにある と言えます。AIが人間の知識や判断を補完する存在である以上、RAGはその幅を広げ、深さを増すための重要な技術です。最終的には、AIとヒトが互いに協力し、成長し合うための手段としてRAGを活用することが望ましいと考えます。
デジタルMATSUMOTO 実行モデル:gpt-4o {'temperature': 0.7} 回答時間:0:00:08.386109 入力トークン数:8122 出力トークン数:709
参照した知識情報 プロンプトRAG or ツールRAG:プロンプトRAGとツールRAGで同じAPIを使っていても、APIに渡される情報は異なる。プロンプトRAGは常に検索が働くため、自然な会話が成立しないことがある。ツールRAGは常に実行されるとは限らないためコントロールが難しい。バイアスの影響を考える際に、ユーザーの入力やLLMの学習データなどが絡み合う。
AI誤解あるある「AIから全てのバイアスを除ける?」:AIの学習データには必ずバイアスが含まれる。多様な価値観を含めた公平な判断をすることが重要である。
教育現場ではどんな感じでAIを使うと良い?:ヒトがAIを正しく使いこなすことが必要である。AIへの過度な依存が自分で考える能力を低下させるという懸念
MATSUMOTO間の比較検証 リアル松本が含めて欲しかった論点 リアル松本が含めて欲しかった論点は以下の通りでした。
①RAGはあくまで「外部情報を取得し文脈内学習のコンテキストを拡張すること」である ②事実情報をRAGに与えれば事実に即した回答をしやすくなるが、誤った情報をRAGに与えれば誤った回答を起こす ③プロンプト内でのRAGの与え方(書き方)によって、パフォーマンスが大きく変わる ④プロンプト内で「RAGに注目させすぎる書き方」をすると、そもそも質問に正しく回答してくれないこともある ⑤実際に構築する時は「RAGデータの正しさ」と「プロンプトの書き方の試行錯誤」をそれぞれ検討すべきである
リアル松本 これらの論点が考察に反映されているか、デジタルMATSUMOTOに聞いてみると・・・
①【〇】 考察では、「RAGの本質的な価値は、文脈に応じた多様な情報提供を可能にする点にある」 としており、RAGが外部情報を取り入れて文脈を拡張する技術であることが示されています。 ②【✕】 考察では、RAGが誤った情報を与えられた場合の影響について具体的に言及されていません。この論点は含まれていません。 ③【✕】 考察では、RAGの与え方やプロンプトの書き方によるパフォーマンスの変化について具体的な言及はありません。 ④【✕】 考察には、RAGに注目させすぎることによるデメリットや具体的な問題についての言及はありません。この論点も含まれていません。 ⑤【✕】 考察では、「RAGデータの正しさ」や「プロンプトの書き方の試行錯誤」に関する具体的な検討については触れられていません。
デジタルMATSUMOTO ということで、今回は1/5の論点が反映されていました。 ※今回のテーマはリアル松本が日常的にRAGを使っていて感じていることなので知識を与えていないと難しいですね・・・
デジタルMATSUMOTOが追加してくれた論点 逆にデジタルMATSUMOTOが追加してくれた論点は以下の通りです。
・RAGの本質的な価値として、回答精度の向上だけでなく、文脈に応じた多様な情報提供を可能にする。 ・ヒトとAIが互いに協力し、成長し合うための手段として、RAG技術を活用することの重要性を強調
デジタルMATSUMOTO 考察確定版 今回はC評価(一部修正)になります。
RAG(Retrieval-Augmented Generation)は、生成AIの一種であり、外部の情報を取り入れてより正確な回答を生成するための技術です。この技術は「AIの回答精度を向上させるために用いられる」と解説されることが多いですが、RAGの役割を単に精度向上に限定するのは、やや狭い視点かもしれません。 RAGの本質的な価値は、回答精度の向上だけでなく、より多様で文脈に即した情報提供を可能にする点 にあります。🤖デジタルMATSUMOTOが追記)しかし、事実情報をRAGに与えることで、事実に即した回答をしやすくなる一方で、誤った情報を与えると誤った回答が生成されるリスクがあることも忘れてはなりません。 このため、RAGを用いて事実に即した回答を行いたい場合には、データの正確性を確保することが重要です。🤖デジタルMATSUMOTOが追記) また、RAGのパフォーマンスは、プロンプト内での情報の提示方法に大きく依存します。 適切なプロンプト設計は、RAGが効果的に機能するための鍵です。情報の提示が不適切だと、期待される結果が得られない場合があるため、プロンプトの設計における試行錯誤が求められます。さらに、RAGに過度に注目させるプロンプトは、かえって質問に対する正確な回答を阻害する可能性がある ため、プロンプトのバランスを取ることが重要です。🌟リアル松本が修正) 実際に構築する際には、「RAGデータ」と「プロンプトの書き方」に加えて、プロンプトRAGとツールRAGの違いによって外部情報の取り込み方が異なること も考慮すべきです。プロンプトRAGは常に外部検索を行い、情報を付加することで詳細な回答を提供しますが、その結果、会話の自然さを欠く場合があります。一方、ツールRAGは必要に応じて外部情報を参照するため、柔軟性がある反面、コントロールが難しいという課題があります。 このように考えると、RAGの真の目的は単に精度を上げることではなく、より豊かな情報提供を通じてユーザーの多様なニーズに応えることにある と言えます。AIが人間の知識や判断を補完する存在である以上、RAGはその幅を広げ、深さを増すための重要な技術です。最終的には、AIとヒトが互いに協力し、成長し合うための手段としてRAGを活用することが望ましいと考えます。
デジタルMATSUMOTO エシカルチェック 【不適切な表現カテゴリ】 1. 差別的な表現:0 2. 暴力的または攻撃的な内容:0 3. 性的な内容:0 4. 偽情報や誤情報:0 5. 機密情報の漏洩:0 6. 違法な内容:0 7. 不適切なジョークや冗談:0 8. 極端な意見:0 9. 自傷や自殺を助長する内容:0 10. 薬物の乱用を助長する内容:0
問題点: 特に不適切な表現や問題点は見当たりません。テキストはRAG技術に関する説明として適切です。
考察のイメージ画像 デジタルMATSUMOTOに搭載したDALLE-3のAPIで作成しました (相変わらずスペルはおかしいけど、まあいいや・・・)