検索拡張生成(RAG)と ファイン・チューニングは、企業が大規模言語モデル(LLM)からより多くの価値を引き出すために使用できる2つの手法です。どちらもLLMを特定のユースケースに合わせて調整することで機能しますが、その背後にある方法論は大きく異なります。
生成AIは登場以来長い道のりを歩んできましたが、ユーザーのクエリーに対してリアルタイムで自動応答を生成するというタスクは依然として大きな課題です。企業はコストを削減し、ワークフローを合理化し、競合他社に先んじるために、自社のプロセスに世代AIを組み込む競争を繰り広げていますが、チャットボットやその他のモデルで正確な回答を確実に生成することに苦労することがよくあります。
RAGとファイン・チューニングの違いは、RAGでは組織の独自のデータベースに接続することで 自然言語処理(NLP)モデルを拡張するのに対し、ファイン・チューニングでは、ドメイン固有のタスク向けにディープラーニングモデルを最適化することです。RAGとファイン・チューニングの目的は同じです。つまり、モデルのパフォーマンスを向上させて、それを使用する企業の価値を最大化することです。
RAGは組織の内部データを活用して迅速なエンジニアリングを強化し、ファイン・チューニングによって重点的な外部データ・セットでモデルを再トレーニングしてパフォーマンスを向上させます。
RAGは、通常はアクセスできない現在のプライベート・データのストレージにLLMをつなぎます。RAGモデルは、内部データのコンテキストを追加することで、コンテキストがない場合よりも正確な回答を返すことができます。
ファイン・チューニングされたモデルは、通常、ドメイン固有のデータを使用してトレーニングを適用すると、GPT-3やGPT-4などの対応する基本モデルよりも優れたパフォーマンスを発揮します。ファイン・チューニングされたLLMは、特定のドメインとその用語をより深く理解し、正確な応答を生成できます。
一方、新しいデータに継続的にアクセスできない場合、大規模な言語モデルは停滞します。現代のLLMは、トレーニングに膨大なデータ・セットと計算リソースを必要とする大規模なニューラル ネットワークです。Meta、Microsoft、OpenAIをはじめとする最大手のLLMベンダーでさえ、モデルを定期的に再トレーニングしているため、LLMはリリースされるとほぼ同時に既に時代遅れになります。
モデルが新しいデータから学習できない場合、多くの場合、ハルシネーションや作話が発生します。これは、生成AIモデルが明確に答えられない質問に対して答えを「作り上げる」ときに発生する現象です。生成AIモデルは、複雑な統計アルゴリズムを使用して、ユーザーのクエリに対する回答を予測します。ユーザーが、トレーニング用データ・セット内では簡単に見つけられない質問をした場合、AIは推測することになります。
RAGは、Meta AI社が2020年の論文「知識集約型タスクのための検索拡張生成」で導入したLLM最適化手法です。[1]これは、LLMを組織の独自データに接続するデータ・アーキテクチャー・フレームワークであり、多くの場合、データ・レイクハウスに保存されます。これらの膨大なデータ・プラットフォームは動的であり、内部と外部のすべてのタッチポイントにわたって組織内を移動するすべてのデータが含まれています。
検索拡張生成は、ユーザーのクエリーに関連する情報を内部データ・ソース内で見つけ、そのデータを使用してより正確な応答を生成するものです。より関連性の高い応答を「生成」できるようにすることで、LLM を「拡張」するためのデータ「取得」メカニズムが追加されました。
RAGモデルは、次の4段階のプロセスを通じて回答を生成します。
クエリー:ユーザーがクエリーを送信し、RAGシステムを初期化します。
情報検索:複雑なアルゴリズムにより、組織のナレッジベースをくまなく調べて関連情報を検索します。
統合:取得されたデータはユーザーのクエリーと結合され、RAGモデルに渡されて回答されます。この時点では、LLMはクエリーをまだ処理していません。
応答:取得したデータを独自のトレーニングおよび保存された知識と組み合わせることで、LLMはコンテキストに合わせて正確な応答を生成します。
内部ドキュメントを検索する場合、RAGシステムはセマンティック検索を使用します。ベクター・データベースは類似性に基づいてデータを整理するため、キーワードではなく意味による検索が可能になります。セマンティック検索技術により、RAGアルゴリズムは過去のキーワードからクエリーの意図に到達し、最も関連性の高いデータを返すことができます。
RAGシステムでは、広範なデータ・アーキテクチャーの構築と保守が欠かせません。データ・エンジニアは、組織のデータ・レイクハウスをLLMとつなげるために必要なデータ・パイプラインを構築する必要があります。
RAGを概念化するために、AIモデルをアマチュアの家庭料理人と想像してみてください。彼らは料理の基礎は知っていますが、特定の料理の訓練を受けたシェフの専門知識(組織独自のデータベース)が欠けています。RAGは、家庭料理人にその料理のレシピ本を提供するようなものです。料理に関する一般的な知識と料理本のレシピを組み合わせることで、家庭料理人は自分の好きな料理に特化した料理を簡単に作ることができます。
RAGを効果的に使用するには、データ・エンジニアは一連の重要な基準を満たすデータ・ストレージ・システムとパイプラインを構築する必要があります。
RAGシステムの機能を強化し、リアルタイムのデータ取得を可能にするには、データを綿密に整理し、維持する必要があります。最新のメタデータと最小限のデータ冗長性により、効果的なクエリーが保証されます。
ドキュメントなどの非構造化データを小さな部分に分割すると、より効果的な検索が可能になります。このようにデータを「チャンク化」すると、ドキュメントの最も関連性の高い部分のみがLLMのプロンプトに含まれるようになるため、RAGシステムはコストを削減しながらより正確なデータを返すことができます。
次に、チャンクはベクター・データベースに埋め込まれます。これは、テキストを数字に変換するプロセスです。
データ・パイプラインには、従業員がそれぞれの役割の範囲を超えてデータにアクセスできないようにするためのセキュリティー制限を設ける必要があります。また、EUのGDPRなどの画期的なプライバシー法の制定を受けて、組織はすべての内部データに厳格なデータ保護を適用する必要があります。個人を特定できる情報(PII)は、権限のないユーザーに決して公開してはなりません。
RAGシステムは、ユーザーのクエリーとソース・データを組み合わせて、LLM向けにカスタマイズされたプロンプトを作成します。他の機械学習モデルによって促進される継続的なプロンプトチューニングプロセスにより、時間の経過とともにRAGシステムの質問応答能力を強化できます。
ファイン・チューニングとは、事前トレーニング済みのモデルを、より小規模で焦点を絞ったトレーニング用データ・セットで再トレーニングし、ドメイン固有の知識を付与するプロセスです。次に、モデルは、その動作を制御するガイドラインであるパラメーターと埋め込みを調整して、特定のデータ・セットに適合させます。
ファイン・チューニングは、モデルをラベル付けされた例のデータ・セットに公開することによって機能します。モデルは、新しいデータに基づいてモデルの重みを更新するため、初期トレーニングよりも改善されます。ファイン・チューニングは教師あり学習手法で、トレーニングで使用されるデータが整理され、ラベル付けされることを意味します。対照的に、ほとんどの基本モデルは教師なし学習です。この学習ではデータは分類されず、モデルが独自にデータを分類する必要があります。
もう一度、生成AIモデルを家庭料理人に例えると、ファイン・チューニングは特定の料理を作るためのコースとなります。コースを受講する前に、家庭料理人は料理の基礎について大まかな理解をしておく必要があります。しかし、料理の訓練を受けて分野特有の知識を習得すれば、その種類の料理をもっと上手に作れるようになるでしょう。
モデルは、すべてのパラメーターを更新する完全なファイン・チューニング、または最も関連性の高いパラメータのみを更新する方法でファイン・チューニングすることができます。この後者のプロセスは、パラメーター効率的なファイン・チューニング(PEFT)として知られており、トレーニング・コストを低く抑えながら、特定のドメインでモデルをより効果的にすることに優れています。
モデルのファイン・チューニングには大量の計算が必要で、LLM自体を保存するための大きなメモリー容量が必要であることは言うまでもなく、複数のパワフルなGPUを同時に実行する必要があります。PEFTを使用すると、LLMユーザーは、よりシンプルなハードウェア設定でモデルを再トレーニングしながら、顧客サポートや感情分析などのモデルの目的のユースケースで同等のパフォーマンス・アップグレードを実現できます。ファイン・チューニングは、モデルの予測と実際の現実世界の結果との間のギャップであるバイアスをモデルが克服するのに特に優れています。
事前トレーニングはトレーニング・プロセスの最初に行われます。モデルの重みまたはパラメーターはランダムに初期化され、モデルは初期データ・セットでトレーニングを開始します。継続的な事前トレーニングでは、転移学習と呼ばれる手法で、トレーニング済みのモデルを新しいラベルなしデータ・セットに導入します。事前トレーニング済みのモデルは、これまでに学習した内容を新しい外部情報に「転送」します。
対照的に、ファイン・チューニングではラベル付けされたデータを使用して、選択したユースケースでのモデルのパフォーマンスを磨きます。ファイン・チューニングは特定のタスクにおけるモデルの専門知識を磨くのに優れており、継続的な事前トレーニングはモデルの領域の専門知識を深めることができます。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。
1「Retrieval-Augmented Generation for Knowledge-Intensive NLP Task」、Lewis et al、2021年4月12日。