RAG とファインチューニング

URL をコピー

RAG とファインチューニングはいずれも大規模言語モデル (LLM) の改良を目的としています。RAG は基盤となる LLM を変更せずにモデルを改良しますが、ファインチューニングでは LLM の重みとパラメーターを調整する必要があります。多くの場合、ファインチューニングと RAG アーキテクチャを併用してモデルをカスタマイズすることができます。

Red Hat AI の詳細

LLM とは、人間の言語を理解し生成するために機械学習 (ML) 技法を活用した人工知能 (AI) の一種です。これらの ML モデルでは、テキストの生成、要約、翻訳、リライト、分類、カテゴライズ、分析などを行うことができます。エンタープライズレベルでの最も一般的な用途は、チャットボットのような質問応答システムの作成です。

LLM の基盤モデルは、さまざまなユースケースを幅広くサポートできるよう、一般的な知識に基づいてトレーニングされます。しかし、基本的に特定の組織に特化したドメイン固有の知識は備わっていません。求める出力が生成されるように、必要なデータを使って LLM を調整し、LLM に情報を与える方法として、RAG とファインチューニングの 2 つがあります。

たとえば、顧客と対話するチャットボットを構築しているとします。この場合、チャットボットは会社を代表して会話することになるので、優秀な従業員のように動作させる必要があるでしょう。また、会社が販売する製品や遵守するポリシーなど、会社に関するニュアンスを理解させる必要もあります。従業員をトレーニングするときに学習用の資料や手本となるスクリプトを与えるのと同じように、チャットボットをトレーニングするときには、RAG とファインチューニングを使用してチャットボットが得る知識の基盤を構築します。 

Red Hat のリソース

RAG は、任意のソース (データリポジトリ、テキストのコレクション、既存のドキュメントなど) から情報を取得して、LLM 内のデータを補完します。Docling などのツールは、この変換プロセスに役立ちます。RAG アーキテクチャはデータを取得した後、それを LLM のコンテキストに処理し、融合したソースに基づいて回答を生成します。

RAG が最も有用なのは、定期的に更新される情報でモデルを補完する場合です。任意の外部ソースとの通信経路を LLM に提供することで、出力の精度が向上します。また、RAG がソースを引用するように設計できるので、出力がどのように作成されたかを簡単に追跡でき、透明性が高まり、信頼が構築されます。

チャットボットの例に戻りましょう。「返品ポリシーはどのようなものですか?」といった質問に答えるチャットボットを構築する場合は、RAG アーキテクチャを使用できます。会社の返品ポリシーの詳細が記載されたドキュメントに LLM を接続し、そこから情報を取得するようにチャットボットに指示することができます。そのソースに言及し、詳細を確認してもらうためのリンクを提供するように指示することもできます。また、返品ポリシーのドキュメントに変更があった場合、RAG モデルは最新の情報を取得してユーザーに提供します。

RAG の詳細はこちら

 

RAG のユースケース

RAG は、人がシンプルな方法でデータを使用できるよう、情報を調達し、整理することができます。RAG アーキテクチャを使用すれば、モデルはオンプレミスとクラウドベースの両方のデータソースから知見を取得し、LLM にコンテキストを提供できます。つまり、外部データ、内部文書、さらにはソーシャルメディアフィードを使用して、質問に回答し、コンテキストを提供し、意思決定に役立てることができます。

たとえば、クエリに対して、会社のポリシー、手順、文書に関する具体的な回答を提供する RAG アーキテクチャを作成できます。これにより、文書を手作業で検索して解釈するのにかかる時間を節約できます。

ソフトウェア・エンジニアリングで RAG がどのように使われているかを知る

ファインチューニングは、LLM が目標に合わせて出力を調整できるようにするために、そのモデルに意図を伝える方法だと捉えることができます。ファインチューニングとは、事前にトレーニングしたモデルを、より小規模でよりターゲットを絞ったデータセットを使用してさらにトレーニングし、ドメイン固有のタスクをより効果的に実行できるようにするプロセスです。この追加のトレーニングデータは、モデルのアーキテクチャに組み込まれます。

LoRA と QLoRA はどちらも高パラメーター効率ファインチューニング (PEFT) 技法です。この技法を使うことで、コストとコンピュートリソースを最適化できます。 

チャットボットの例に戻りましょう。たとえば、チャットボットが医療のコンテキストで患者と対話できるようにしたいとします。その場合、その作業に関連する医学用語をモデルに理解させることが重要です。ファインチューニング技法は、患者がチャットボットに「PT サービス」について質問したとき、チャットボットがそれを「理学療法サービス」と理解し、適切なリソースに誘導できるようにします。

ファインチューニングのユースケース

ファインチューニングが最も有用なのは、アクセスできる情報の解釈方法をモデルにトレーニングする場合です。たとえば、頭字語や組織の価値観など、特定の業界のニュアンスや用語を理解するようにモデルをトレーニングできます。

ファインチューニングは画像分類タスクにも役立ちます。たとえば、磁気共鳴画像 (MRI) を扱っている場合、ファインチューニングを使用して、異常を識別できるように予測型 AI モデルをトレーニングすることができます。

予測型 AI のユースケースの詳細

また、ファインチューニングを行うことで、組織が他者とコミュニケーションをとる際、特にカスタマーサポートの場面で、適切なトーンを使用できるようになります。対話している相手の感情や気持ちを分析できるようにチャットボットをトレーニングすることができます。さらに、組織の価値観を維持しながら、ユーザーに役立つ方法で応答するように生成 AI モデルをトレーニングできます。

生成 AI のユースケースを見る

RAG とファインチューニングの違いを理解することで、組織のニーズを満たすためにどちらの AI リソースを導入するべきなのかについて、戦略的な決定を下すことができます。基本的な検討事項には以下のようなものがあります。

チームのスキルセット

RAG でモデルをカスタマイズするには、コーディングとアーキテクチャのスキルが必要です。RAG では、従来のファインチューニング手法よりも利用しやすく簡単な方法で、フィードバックの取得、トラブルシューティング、アプリケーション修正を行うことができます。モデルのファインチューニングには、自然言語処理 (NLP)、ディープラーニング、モデル構成、データ再処理、評価の経験が必要です。全体的に、より専門的で時間がかかる可能性があります。

データは静的か、動的か

ファインチューニングでは、経時的に変化しない一般的なパターンをモデルに学習させます。トレーニングデータセットの静的スナップショットに基づいているため、モデルの情報が古くなり、再トレーニングが必要になる場合があります。逆に、RAG は任意のソースから特定のリアルタイム情報を取得するように LLM に指示します。つまり、モデルは最新のデータを取得してアプリケーションに情報を提供し、正確で関連性の高い出力を促進します。

予算

RAG はファインチューニングよりもコスト効率が高い傾向があります。RAG アーキテクチャを実装するには、データを LLM に接続するパイプラインシステムを構築します。このアプローチでは既存のデータを使用して LLM に情報を提供するので、コストが削減されます。これは、特殊なデータラベル付けを実行するために多大なリソースが必要なファインチューニングや、多大な計算能力を必要とする反復的なモデルトレーニングとは対照的です。

これまではファインチューニングの方がより高価な選択肢と考えられてきましたが、vLLM などの開発により、予算の枠に収まるようになってきました。vLLM は、ファインチューニングされたモデルの提供のコスト効率を向上させる推論サーバーであり、エンジンです。 

vLLM の詳細はこちら

Red Hat® AI は、vLLM 搭載のサーバーを通じて、高速で柔軟かつ効率的な推論を行うように構築されています。モデルをデータと確実に接続し、専用エージェントのカスタマイズと開発を単一のプラットフォームで行うことができます。オープンソースを基盤として構築された当社の製品により、あらゆる規模で AI ワークフローをエンドツーエンドで完全に制御することができます。 

Red Hat AI ポートフォリオには、Red Hat AI Inference が含まれています。これは、ハイブリッドクラウドのどこでも任意のアクセラレーター上であらゆるモデルを実行できるように運用制御を提供する推論スタックです。大規模環境でも、高速かつ効率的でコスト効率に優れた推論を実現します。 

Red Hat AI の詳細

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

AIOps について

AIOps (IT 運用のための AI) は、機械学習やその他の高度な AI 技術を用いて IT 運用を自動化するアプローチです。

機械学習とは

機械学習は、明示的にプログラムしなくても、パターンを見つけ、予測し、経験から学習するようにコンピュータをトレーニングする手法です。

生成 AI とは

生成 AI とは人工知能テクノロジーの一種であり、大規模なデータセットで訓練されたディープラーニングモデルを使用して新しいコンテンツを作成するものです。

AI/MLリソース