HyDEとは
HyDEとは以下の仕組みを指しています。
- 仮想文書の生成: クエリを受け取ると、HyDEはまず言語モデルを使って、そのクエリに対する仮想的な文書を生成します。
- 文書のエンコード: 生成された仮想文書をContrieverなどのエンコーダーを使って埋め込みベクトルに変換します。
- 検索: 埋め込みベクトルを使って、コーパス内の類似した実際の文書を検索します。
この方法により、HyDEはラベルなしでも関連性のある文書を効果的に検索できます。
LangChain
LangChainでも実装が提供されています。
https://python.langchain.com/v0.1/docs/templates/hyde/
またAutoHyDEもあるようです。
https://note.com/ippei_suzuki_us/n/n94cea16ac02e
プロンプト
仮想文書の生成のプロンプトをwatsonx.aiのgranite-8b-japaneseで試してみます。
まず、論文の中では以下のようにプロンプトがなっています。
A Appendix
A.1 Instructions A.1.1 Web Search
Please write a passage to answer the question Question: [QUESTION]
Passage:
A.1.2 SciFact
Please write a scientific paper passage to support/refute the claim Claim: [Claim]
Passage:
A.1.3 Arguana
Please write a counter argument for the passage Passage: [PASSAGE]
Counter Argument:
A.1.4 TREC-COVID
Please write a scientific paper passage to answer the question Question: [QUESTION]
Passage:
A.1.5 FiQA
Please write a financial article passage to answer the question Question: [QUESTION]
Passage:
A.1.6 DBPedia-Entity
Please write a passage to answer the question. Question: [QUESTION]
Passage:
A.1.7 TREC-NEWS
Please write a news passage about the topic. Topic: [TOPIC]
Passage:
A.1.8 Mr.TyDi
Please write a passage in Swahili/Korean/Japanese/Bengali to answer the question in detail. Question: [QUESTION]
Passage:
granite-8b-japanese用のプロンプトを作成してみます。
### System:
あなたは質問に対する仮想的な文書を生成するアシスタントです。
### User:
製品とその機能について紹介する文章を書いてください。
製品:watsonx.ai
質問::watsonx.aiとは何ですか?
文章:
### Assistant:
以下が出力されました。
WatsonX.aiは、組織がデータから価値を引き出し、よりスマートな決定を下すのに役立つエンタープライズAIプラットフォームです。WatsonX.aiを使用すると、ユーザーは自然言語処理、機械学習、予測分析などの高度なツールにアクセスして、データを理解し、洞察を得て、効率を向上させ、プロセスを改善できます。プラットフォームは、ヘルスケア、金融、小売、テクノロジーなど、さまざまな業界やアプリケーションで使用されており、企業がより正確でタイムリーな意思決定を行い、競争上の優位性を獲得しています。
さらに、別の質問をしてみます。
### System:
あなたは質問に対する仮想的な文書を生成するアシスタントです。
### User:
製品とその機能について紹介する文章を書いてください。
製品:watsonx.ai
質問::watsonx.aiの主な機能と利点は何ですか?
文章:
### Assistant:
以下のような出力がされました。
watsonx.aiに関する知識は不正確ですが、ある程度の方向性は示されており、検索時の性能向上が期待されます。
WatsonX.aiは、組織がデータから価値を引き出し、よりスマートな決定を下すのに役立つエンタープライズAIプラットフォームです。WatsonX.aiの主な機能と利点を次に示します。
1.自然言語処理(NLP):WatsonX.aiは、電子メール、チャットボット、コールセンターレコードなどの非構造化データを理解し、意味のある洞察を提供します。
2.自動学習:WatsonX.aiは、モデルをトレーニングして新しいデータから学習し、予測を行い、アクションを実行できます。
3.データ統合:WatsonX.aiは、複数のソースからデータを統合し、ユーザーが単一のプラットフォームでデータを利用できるようにします。
4.分析:WatsonX.aiは、データの視覚化と、ユーザーが傾向とパターンを特定し、データに基づいて意思決定を行うのに役立つレポートを生成するツールを提供します。
5.アプリケーション開発:WatsonX.aiは、ユーザーがカスタムアプリケーションを構築して、ビジネスニーズに固有の洞察を提供できるようにする開発ツールを提供します。
6.コラボレーション:WatsonX.aiは、複数のユーザーが単一のプラットフォームでコラボレーションし、データや洞察に基づいて共同で作業できるようにします。
7.セキュリティとコンプライアンス:WatsonX.aiは、データのプライバシーとセキュリティを確保するための堅牢なセキュリティ機能を提供し、組織のデータ保護要件を満たします。
全体として、WatsonX.aiは、組織がデータから価値を引き出し、よりスマートな決定を下すのに役立つ包括的なエンタープライズAIプラットフォームです。
さらに一方精度を高める方法について考えますと、Fine-Tuningとの組み合わせが考えられます。
Fine-Tuningすると、より近しい文章が生成され、それをRAGに利用すればFine-Tuningモデルで生じうる間違いについて、検索してきた文章を元に訂正するアプローチが考えられます。