暗い宇宙空間のような環境の中で、細い線が画像の中央から始まって上方に伸び、フレームの外へ広がり、線のネットワークを形成

検索拡張生成 (RAG) を実装して、LLM アプリケーションの開発を加速する

大規模言語モデル (LLM) をコスト効率よくカスタマイズする方法をご覧ください。

重要なポイント

  • 微調整をする時間と予算がない場合、RAG は LLM アプリケーションに最適なアプローチです。

  • 要求の厳しい LLM 推論ワークロードを含む、パイプライン全体を強化できるコンピューティング・プラットフォームを選択して下さい。

  • LangChain やインテルラボの fastRAG などの統合型 RAG フレームワークを実装し、開発の効率化を支援します。

  • 専用に開発されたプロセッサーと主要な最適化を活用し、RAG パイプラインのパフォーマンスを最大化します。

  • インテル® Tiber™ デベロッパー・クラウドを使用して、インテル® AI ポートフォリオおよびクラウド・プロバイダー上で RAG アプリケーションのパフォーマンスをテストします。

author-image

投稿者:

RAG と生成 AI の成功を加速させる

チャットボットなどの大規模言語モデル (LLM) アプリケーションは、さまざまな業界で強力な利点をもたらしています。企業は LLM を活用して、運用コストの削減、従業員の生産性向上、およびよりパーソナライズされた顧客体験の提供を実現しています。

各企業が、この革新的なテクノロジーを競争優位性へと転換する競争を繰り広げる中、多くの企業はまず、既成の LLM を自社のデータにカスタマイズする必要に迫られるでしょう。これにより、モデルがビジネス固有の AI 結果を提供できるようになるからです。しかし、モデルの微調整に必要とされるコスト面および時間的な投資は、多くの潜在的なイノベーターを拒む大きな障害となる可能性があります。

こういった障害を克服するため、検索拡張生成 (RAG) は LLM のカスタマイズにおいて、よりコスト効率の高いアプローチを提供します。RAG では、微調整なしで独自のデータに基づいてモデルを学習させることで、ビジネスや顧客に最適な LLM アプリケーションを迅速に導入するのを支援します。RAG アプローチでは、再トレーニングや微調整を必要とする代わりに、企業固有の独自データに基づいて構築された、キュレーション済みの外部ナレッジベースに既製の LLM を接続することが可能です。このナレッジベースは、組織固有のコンテキストと情報を、モデルの出力に反映させます。

この記事では、ハードウェアとソフトウェアの基盤の選択からナレッジベースの構築、および本番環境でのアプリケーションの最適化まで、RAG 実装の主要なコンポーネントの設定方法について説明します。また、パイプラインの各フェーズから最大のパワーと効率を引き出すのに役立つツールとリソースも共有します。

RAG は、どのような場面で適切なアプローチなのか?

パイプラインのビルディング・ブロックの評価を始める前に、LLM アプリケーションに RAG または微調整が最適かどうかを検討することが重要です。

どちらのアプローチも、基盤となる LLM を起点としており、モデルをゼロからトレーニングするよりも、カスタマイズされた LLM への開発プロセスを短縮できます。基礎モデルは事前トレーニング済みであり、大規模なデータセットへのアクセス、データ・エキスパートのチーム、またはトレーニングのための追加のコンピューティング・パワーを必要としません。

ただし、基礎となるモデルを選択した後も、ビジネスに合わせるためのカスタマイズが依然として必要です。これにより、モデルが課題やニーズに対応した結果を提供できるようになります。RAG は、時間や資金を微調整に投資できない場合、LLM アプリケーションに最適なアプローチとなるでしょう。RAG はまた、幻覚のリスクを軽減し、出力のソースを提供することで説明可能性を向上させ、機密情報をプライベート・データベースに安全に保持できるため、セキュリティー上のメリットを提供します。

RAG が生成 AI イニシアチブにもたらすメリットについて詳しくはこちら

パフォーマンスとセキュリティーを優先したハードウェアを選択する

RAG パイプラインには、多くの計算負荷の高いコンポーネントが含まれており、エンドユーザーは低レイテンシーのレスポンスを期待しています。これにより、エンドツーエンドのパイプラインをサポートするために、コンピューティング・プラットフォームを選択することは、最も重要な決定の 1 つとなります。

インテル® Xeon® プロセッサーは、単一のプラットフォーム上で RAG パイプラインの全体を実行および管理可能にし、開発、導入、およびメンテナンスを効率化します。インテル® Xeon® プロセッサーには統合 AI エンジンが組み込まれており、データの取り込み、検索、AI 推論を含むパイプライン全体の主要な操作を CPU 上で追加のハードウェアを必要とせずに高速化します。

RAG アプリケーションで最高のスループットまたは最低のレイテンシーが求められる場合、インテル® Gaudi® AI アクセラレーターを統合することで、高度なパフォーマンス要件をコスト効率よく満たすことができます。インテル® Gaudi® アクセラレーターは、推論の高速化を目的に設計されており、RAG 推論において CPU や他のアクセラレーターを置き換えることも可能です。

企業は機密データを取り扱う際に RAG を頻繫に利用するため、開発段階から本番環境までのパイプラインの安全性を確保することは最優先事項です。インテル® Xeon® プロセッサーは、インテル® ソフトウェア・ガード・エクステンションズ (インテル® SGX) およびインテル® トラスト・ドメイン・エクステンションズ (インテル® TDX) という内蔵セキュリティー技術を採用し、コンフィデンシャル・コンピューティングとデータ暗号化を通じてパイプライン全体で安全な AI 処理を実現します。

導入後、エンドユーザーの需要増加により、アプリケーションのレイテンシーが高くなる可能性があります。インテルのハードウェアは高い拡張性を備えているため、利用の拡大に合わせてインフラストラクチャー・リソースを迅速に追加できます。パイプライン全体で重要な操作をサポートするための最適化を統合することも可能です。例えば、データベクトル化、ベクトル検索、および LLM 推論などが挙げられます。

RAG のパフォーマンスを、インテル® Tiber™ デベロッパー・クラウドを介してインテル® Xeon® プロセッサーおよびインテル® Gaudi® AI プロセッサー上でテストできます。

RAG フレームワークを使用して、AI ツールチェーンを簡単に統合する

多くのコンポーネントを接続するために、RAG パイプラインはデータの取り込み、ベクトル・データベース、LLM などに対応する複数の AI ツールチェーンを組み合わせています。

RAG アプリケーションの開発を開始する際、LangChainインテルラボの fastRAGLlamaIndex などの統合 RAG フレームワークを活用することで、開発を効率化できます。RAG フレームワークは、パイプライン全体で AI ツールチェーンをシームレスに統合するための API を頻繫に提供し、実環境のユースケース向けにテンプレート・ベースのソリューションを提供します。

インテルは、インテル® ハードウェアにおける全体的なパイプライン全体のパフォーマンスを最大化するための最適化を提供しています。例えば fastRAG は、インテル® Extension for PyTorchOptimum Habana を統合し、インテル® Xeon® プロセッサーとインテル® Gaudi® AI アクセラレーター上で RAG アプリケーションの最適化を実現します。

インテルはまた、インテル® ハードウェアでのパフォーマンスを向上させるために、LangChain への最適化にも貢献しています。LangChain とインテル® Gaudi® 2 AI アクセラレーターを使用して、このワークフローを簡単に設定する方法をご覧ください

ナレッジベースの構築

RAG により、組織は LLM にビジネスや顧客に関する重要な専有情報を提供できます。このデータは、独自に構築できるベクトル・データベースに保存されます。

情報ソースの特定

RAG を活用して、組織に関する従業員の質問に回答できる AI パーソナル・アシスタントを導入するのを想像してください。LLM に製品情報、企業ポリシー、顧客データ、部門固有のプロトコルなどの重要なデータを投入できます。従業員は RAG を活用したチャットボットに質問して組織固有の回答を得ることができ、これによりタスクの完了を迅速化し、従業員が戦略的思考に集中できるよう支援します。

もちろん、ナレッジベースは、業界やアプリケーションによって異なります。製薬会社では、検査結果のアーカイブや患者の履歴を活用したい場合があるでしょう。製造業者では、機器の仕様と過去のパフォーマンス・データを RAG ベースのロボットアームに供給することで、機器の潜在的な問題を早期に検出できるようになります。金融機関では、LLM を独自の金融戦略とリアルタイムの市場動向に接続し、チャットボットがパーソナライズされた金融アドバイスを提供できるようにしたいと考えている場合があります。

最終的に、ナレッジベースを構築するためには、LLM がアクセスしたい重要データを収集する必要があります。このデータは、PDF、動画の文字起こし、メール、プレゼンテーションのスライド、さらには Wikipedia のページやスプレッドシートなどのソースから得られる表形式データを含む、さまざまなテキストベースのソースから取得できます。RAG は、音声、画像、動画など、あらゆる種類のデータを処理するために複数の AI モデルを組み合わせたマルチモーダル AI ソリューションにも対応しています。

例えば、販売店では、マルチモーダル RAG ソリューションを活用して、監視映像から重要なイベントを迅速に検索することが可能です。これを行うため、販売店では動画のデータベースを作成し、テキストプロンプト (例: 「男性がポケットに何かを入れる」など) を使用して、手動で数百時間の動画を検索することなく、関連するクリップを特定します。

データの準備

データを効率的に処理するために、まずデータをクリーニングする必要があります。具体的には、重複する情報やノイズを除去し、管理しやすいサイズに分割します。データのクリーニングに関するその他のヒントは、こちらでご確認いただけます

次に、埋め込みモデルと呼ばれる AI フレームワークを使用して、データをベクトル、つまりテキストの数学表現に変換する必要があります。これにより、モデルがより広い文脈を理解できるようになります。埋め込みモデルは、Hugging Face のオープンソース埋め込みモデルのリーダーボードなどに掲載されているものなど、サードパーティーからダウンロード可能です。Hugging Face API を介して、RAG フレームワークにシームレスに統合することが可能です。ベクトル化後、モデルによる効率的な検索に備えて、データをベクトル・データベースに保存できます。

データの量と複雑さによっては、データの処理と埋め込みの作成は、LLM の推論と同程度の計算リソースを要する可能性があります。インテル® Xeon® プロセッサーは、追加のハードウェアを必要とせずに、CPU ベースのノード上ですべてのデータの取り込み、埋め込み、ベクトル化を効率的に処理できます。

さらに、インテル® Xeon® プロセッサーは、量子化埋め込みモデルと組み合わせて使用することで、ベクトル化プロセスを最適化し、非量子化モデルと比較してエンコーディングのスループットを最大 4 倍向上させることが可能です1

クエリーとコンテキストの取得を最適化

ユーザーが RAG ベースのモデルにクエリを送信すると、検索メカニズムがナレッジベースから関連する外部データを検索し、LLM の最終出力を強化します。このプロセスは、最も関連性の高い情報を検索し、ランク付けするために、ベクトル検索操作に依存しています。

ベクトル検索操作は、インテル® Xeon® プロセッサー上で高度に最適化されています。インテル® Xeon® プロセッサーに内蔵されたインテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) は、ベクトル検索の主要な操作を強化し、命令数を削減することで、スループットとパフォーマンスに大幅な向上をもたらします。

また、インテルラボのスケーラブル・ベクトル検索 (SVS) ソリューションを活用することで、ベクトル・データベースのパフォーマンスを向上させることも可能です。SVS は、インテル® Xeon® CPU 上のベクトル検索機能を最適化し、検索時間と全体的なパイプラインのパフォーマンスを向上させます。

LLM のレスポンス生成を最適化

ベクトルストアからの追加のデータが提供されると、LLM はコンテキストに適切なレスポンスを生成できます。これは LLM 推論を包含し、通常、RAG パイプラインで最も計算リソースを消費するフェーズです。

インテル® Xeon® プロセッサーは、内蔵の AI アクセラレーターであるインテル® アドバンスト・マトリクス・エクステンション (インテル® AMX) を使用し、より効率的なマトリクス操作と改善されたメモリー管理を実現し、推論パフォーマンスの最大化を支援します。中規模および大規模の LLM には、インテル® Gaudi® AI アクセラレーターを使用し、専用に設計された AI パフォーマンスと効率で推論を高速化します。

インテルはまた、ハードウェア・リソース上で LLM 推論を最大化するための複数の最適化ライブラリーを提供しています。インテル® oneAPI ライブラリーは、PyTorch や TensorFlow など人気の高い AI フレームワーク向けに低レベル最適化を提供し、インテルのハードウェアで最適化されている使い慣れたオープンソース・ツールを利用可能にします。さらに、インテル® Extension for PyTorch などの拡張機能を追加することで、高度な量子化推論手法を可能にし、全体的なパフォーマンスを向上させます。

アプリケーションを本番環境に移行したら、エンドユーザーの需要に対応するために、最新 LLM へのアップグレードを検討することをお勧めします。RAG は微調整を必要とせず、ナレッジベースがモデル外に存在するため、RAG は LLM を新しいモデルに迅速に置き換えることで、より高速な推論をサポートできます。

インテルで RAG 導入を高速化

RAG は、微調整を必要とせずに、カスタマイズされた LLM アプリケーションを迅速かつコスト効率良く導入するのを支援します。適切なビルディング・ブロックを使用することで、最適化された RAG パイプラインをわずか数ステップで設定できます。

AI イニシアチブを推進する際は、RAG パイプラインの各フェーズを強化するために、インテル® AI ポートフォリオを積極的に活用してください。インテルのハードウェアおよびソフトウェア・ソリューションは、お客様の成功を加速するために設計されています。