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

URL をコピー

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

Red Hat AI の詳細

ハイブリッドクラウドにおける AI モデルのためのオープン・プラットフォーム

AI 推論を始める

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

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

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

Red Hat のリソース

RAG は、任意のソース (データリポジトリ、テキストのコレクション、既存のドキュメントなど) から情報を取得して、LLM 内のデータを補完します。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 に情報を提供できるため、リソースコストが削減されます。 

RAG とファインチューニングについての動画を見る

Red Hat のオープンソース・ソリューションと AI パートナーエコシステムを通じて、大規模言語モデル運用 (LLMOps) のプロセスに RAG とファインチューニングを導入することができます。

Red Hat® Enterprise Linux® AI は、個別のサーバー環境で LLM を実行するためのプラットフォームを提供します。このソリューションには、Red Hat AI Inference Server が含まれ、スループットを最大化し、レイテンシーを最小化することで、ハイブリッドクラウド全体で迅速かつコスト効率に優れた推論を提供します。.

また、Red Hat Enterprise Linux AI には、信頼できるエンタープライズ製品のディストリビューション、24 時間 365 日のプロダクションサポート、モデルの延長ライフサイクルサポート、オープンソース保証による法的保護など、Red Hat サブスクリプションのメリットも備わっています。

Red Hat OpenShift AI でアプリケーションをスケーリングする

Red Hat Enterprise Linux AI を使用してモデルをトレーニングしたら、Red Hat OpenShift® AI によってプロダクション用に拡張できます。

Red Hat OpenShift AI は、AI 対応アプリケーションの構築、デプロイ、管理を支援するツールを備えた柔軟でスケーラブルな機械学習運用 (MLOps) プラットフォームです。埋め込みを作成するための LLM、出力の生成に必要な取得メカニズム、ベクトルデータベースへのアクセスなど、基盤となるワークロード・インフラストラクチャを提供します。 

ブログ投稿

戦略の主権をどの程度保持していますか?Red Hat Sovereignity Readiness Assessment ツールの概要

Red Hat Sovereignty Readiness Assessment ツールは、Web ベースのセルフサービス評価ツールであり、7 つの重要ドメインにわたる組織のデジタル管理についての明確で客観的なベースラインを提供します。

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

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

関連情報

What is Mixture of Experts (MoE)?

混合専門家 (MoE) は、タスクをモデル内の最適な部分に振り分けて AI 推論を高速化するモデルアーキテクチャ手法です。

What is AgentOps?

AgentOps (エージェント・オペレーション) とは、AI が意思決定を行う際の「頭脳」をリアルタイムで監視するツール群のフレームワークです。

What are predictive analytics

現在と過去のデータを分析し、将来のイベントを予測する手法。機械学習、統計モデリング、データマイニング等による傾向、行動、成果、ビジネス機会の特定を支援します。

AI/MLリソース