プロンプトエンジニアリング2 years ago
大規模言語モデルを用いた改良されたテキスト埋め込みの学習
テキスト埋め込みは、単語、文、段落、または文書の意味を捉えたベクトル表現です。情報検索、質問応答、意味検索など、今日の多くの自然言語処理(NLP)アプリケーションにおいて中核的な構成要素として機能しています。GPT-3のような大規模言語モデル(LLM)の最近の進歩は、少数ショット学習や自然言語生成において印象的な能力を示しています。テキスト埋め込みの状態を前進させるためにも、LLMを活用できるでしょうか?マイクロソフトの研究者らは、論文「Improving Text Embeddings with Large Language Models」において、LLMで合成トレーニングデータを生成し、それに基づいてファインチューニングすることで優れた結果を達成する新規手法を提案しています。既存手法の課題単語ベクトルの加重平均やTF-IDFのような従来のテキスト埋め込み技術は、テキストに含まれる豊富な文脈情報を適切に捉えることができません。BERTのような事前学習済み言語モデルに基づくより最近の手法は、文脈を考慮したはるかに優れた埋め込みを獲得します。しかし、それらには複雑な多段階トレーニングパイプラインが必要です: 数十億の弱いラベル付けまたは人工的なテキストペアで事前学習 限られた手作業でキュレートされたデータセットでファインチューニング これには、データ収集のために膨大な計算リソースと人的労力が要求されます。トレーニングデータの多様性と言語カバレッジも制限されています。例えば、BEIRベンチマークは英語の15の検索タスク用のデータセットのみで構成されています。既存手法は、主に小規模なBERTスタイルのアーキテクチャをバックボーンモデルとして使用しています。それらは、より高度なLLMや関連技術を活用することができません。方法論:LLMを用いた合成データ生成これらの制限を克服するため、研究者らは、GPT-3やGPT-4のようなLLMを活用して多様な合成トレーニングデータを生成する、新規の単段階トレーニングアプローチを提案しています。主要なステップは以下の通りです: タスク分類法: テキスト埋め込みタスクを以下のように分類する分類法を定義: 非対称タスク(クエリと文書が言い換えではない、例:検索) 対称タスク(クエリと文書が言い換えである、例:意味的類似性) プロンプト設計: 各タスクタイプに合わせて、LLMが関連するトレーニング例を生成するよう導くプロンプトテンプレートを作成。 合成データ生成: 設計したプロンプトでLLMに指示し、93言語にわたる多様な意味的タスクをカバーする数十万の(クエリ、文書)ペアを生成。 モデル学習: Mistralのような強力なオープンソースLLMを、合成データ上で対照損失を用いてファインチューニング。 この方法論により、人間によるラベル付け作業を一切行わずに、複数言語での多様なタスクのための十分なトレーニングデータを作成することが可能になります。ウェブ規模のコーパスでの事前学習を通じてLLMに既に埋め込まれた知識を活用することで、テキスト埋め込みに特化した高品質なデータを合成できます。研究者らはこれを、2段階のプロンプト戦略で実証しています: 潜在的な検索タスクを提案するようGPT-4にプロンプト 高レベル検索タスク生成のためのプロンプト 提案されたタスクに基づいて(クエリ、文書)サンプルを生成するよう再度プロンプト n個の(クエリ、ポジティブ、ハードネガティブ)トリプレットを生成 プロンプト設計のいくつかの重要な側面:...