自然言語処理 (NLP) の最新の進歩の 1 つは、情報検索と自然言語生成 (NLG) の長所を組み合わせた技術である検索拡張生成 (RAG) です。RAG は、ソフトウェアの概念化、設計、実装の方法を再構築し、生成モデルの活用による効率性と創造性の新しい時代を先導します。
検索拡張生成 (RAG) とは
検索拡張生成 (RAG) とは、ジェネレーターとリトリーバーの 2 つの主要コンポーネントを組み合わせた自然言語処理 (NLP) モデルです。
ジェネレーター:この部分は、通常、大規模言語モデル (LLM) をベースとして文や段落などの新しいコンテンツを作成します。
リトリーバー:この部分は、あらかじめ設定されたドキュメントまたはデータのセットから関連情報を取得します。
簡単に説明すると、RAG はリトリーバーを使用して膨大なテキストのコレクションから有用な情報を見つけ、ジェネレーターがその情報を使用して LLM ベースのトレーニングを強化し、新しい意味のあるテキストを作成します。このアプローチは、元の LLM のトレーニングに使用される膨大なデータセットにはない、多くの場合ドメイン固有の新しい知識を活用することにより、AI 生成コンテンツの品質と関連性を向上させます。質問への回答やテキストの要約によく使用されます。
RAG はこれら 2 つのプロセスを統合し、開発者が豊富な既存の知識を使用して LLM を拡張し、関連性のある新しいコンテンツの生成を強化できるようにします。
データの概要
データは大規模言語モデル、生成 AI モデル、AI アプリケーションの生命線であり、データはさまざまなドメインでこれらのモデルをトレーニングおよび検証し、パフォーマンスを向上させるためにさまざまな方法で使用されます。NLP モデルと RAG は、「ベクトルデータ」と呼ばれるトレーニングデータの一種を使用して、データセット間の関係を特定します。
ベクトルデータとは
地理情報システム (GIS) やマッピングでのベクトルデータについてお聞きになったことがあるかもしれません。現在、地理、都市計画、環境科学、交通などの多くの分野でベクトルデータが使用されています。空間情報を正確に表現、分析、視覚化することができるため、ユーザーは地理データを理解し、地理データに基づいて意思決定を行うことができます。ベクトルデータは、都市間の距離など、オブジェクト間の関係や空間を示します。
NLP と RAG によるベクトルデータの使用方法
NLP と RAG は、従来型の GIS や空間分析の文脈ではベクトルデータを使用していませんが、これらのシステム内のさまざまなタスクにはベクトル表現が重要です。このフレームワークでは、ベクトルデータは通常、高次元のベクトル空間での単語、文章、またはドキュメントの数値表現を指します。
これらの数値表現は、一般に「埋め込み」と呼ばれるモデルで使用されます。これらの埋め込みは、単語やテキストセグメント間の意味的および構文的な関係をキャプチャします。たとえば、高次元のベクトルデータを IBM の watsonx.ai や Hugging Face などのモデルに提供することができます。これらは、複雑なデータをコンピュータが理解できる数値形式に変換して、データを埋め込みに変換することに特化しています。
RAG における「ベクトルデータ」という用語は地理的ベクトルを指すものではないとしても、テキストをベクトルとして表示することは、表現の学習、取得、生成など、NLP と RAG の多くの側面の中心となります。このトレーニングデータにより、モデルはテキストを意味のある仕方で処理および操作できるようになり、質問への回答、要約、対話の生成などのタスクに役立ちます。
ソフトウェア開発での RAG の使用方法
1.情報検索
情報検索は、ソフトウェア開発において重要な役割を果たします。開発者は多くの場合、ドキュメント、コードリポジトリ、フォーラム、調査報告書など、多くのリソースにアクセスする必要があります。RAG は、関連情報の取得を自動化して時間を節約し、開発者が最新かつ正確で状況に適した最新情報にアクセスできるようにすることで、このプロセスを効率化します。
2.自然言語生成
関連する情報が取得されると、RAG の自然言語生成コンポーネントが中心的な役割を果たします。これには、取得したデータに基づいて、人間による判読が可能なテキストを作成することが含まれます。ソフトウェア開発では、これをコードスニペット、ドキュメント、さらにはインタラクティブガイドなどとして公開できます。生成されるコンテンツは既存の情報の単なる複製ではなく、開発者の固有のニーズに合わせて調整されます。
3.反復的な改良
RAG が他と一線を画しているのは、その反復的な改善プロセスです。開発者は生成されたコンテンツを操作して、フィードバックを提供し、出力を改善することができます。この双方向のやり取りによって最終的な結果が修正され、より正確になり、開発者の意図とコーディングスタイルに沿ったものになります。これは、膨大な情報の海と特定のプロジェクトに固有の要件との間のギャップを埋める反復的なアプローチです。
検索拡張生成のためのソフトウェア開発ユースケース
ユースケース 1:コード生成
RAG はコード生成を一変する存在になり得ます。開発者は概要レベルの要件やロジックを記述でき、システムは関連するコードスニペットを取得して特定のコンテキストに適合させることができます。これにより、コーディングプロセスが迅速になり、ベストプラクティスが促進されます。
ユースケース 2:文書化
文書化はソフトウェア開発の重要な要素ですが、時間的な制約のためにしばしば省略されます。RAG は、関連するソースから情報を取得し、開発者向けの一貫したドキュメントを自動的に生成することで、ドキュメントの作成を単純化します。
ユースケース 3:トラブルシューティングとデバッグ
コーディングの課題に直面したとき、開発者は RAG を使用してソリューションを検索し、状況に応じた提案を取得できます。これにより、デバッグプロセスを大幅に迅速化し、ダウンタイムを削減できます。
ハイブリッドクラウド・コンピューティングへの RAG の活用
開発運用 (DevOps) および機械学習運用 (MLOps) チームは、ハイブリッドクラウド環境で RAG を活用できます。たとえば、データ管理、モデルトレーニング、文書化、監視、リソース割り当てプロセスを改善して、機械学習運用の効率と有効性を高めることができます。
データと文書化
RAG を使用して、オンプレミスとクラウドベースの両方のデータソースから関連データを取得できます。これは、データが複数の場所に分散されているハイブリッドクラウド環境において特に有用です。MLOps は、より効果的にデータを取得して拡張することで、機械学習モデルがトレーニングと検証のために多様で包括的なデータセットにアクセスできるようにします。
RAG は、MLOps ワークフロー内で文書化と知識共有プロセスの自動化を支援することもできます。RAG システムは、NLG 機能を使用して、機械学習の実験、モデル評価、およびデプロイ手順のドキュメント、レポート、要約を自動的に生成することができます。これにより、包括的なアクティビティの記録を維持でき、チームメンバー間での知識移転が単純化されます。
リソース割り当てと最適化
RAG 手法をワークフローに統合して、ハイブリッドクラウド環境での適応型のリソース割り当てとスケーリングを可能にすることもできます。たとえば、MLOps チームは、オンプレミス・インフラストラクチャとクラウドベースのプラットフォームに計算リソースを動的に割り当て、モデルのパフォーマンスとリソース使用率に関するインサイトを生成することでモデルのトレーニング、推論、デプロイメントのプロセスを最適化できます。
拡大する AI エコシステム
RAG の活用を検討している開発者向けのデータ製品と生成モデルのエコシステムは拡大しています。注目すべき例として、ChatGPT を支える OpenAI が挙げられます。OpenAI の RAG アシスタントは現在ベータ版であり、OpenAI によって開発された広範なモデルファミリーの一部です。
組織と開発者は、データツールとモデルのエコシステムを使用して独自のバージョンの RAG を実装し、特定のユースケースのためにセキュリティ体制を強化した環境を作成することもできます。さらに、このエコシステムでのパートナーシップが拡大することで、MLOps チームは迅速にスタートし、一連の複雑な単体技術のトラブルシューティングやメンテナンスに時間を費やすのではなく、ビジネス成果の提供に集中できるようになります。
さらに詳しくは
Dell Technologies と Red Hat はパートナーシップに基づいて Dell APEX Cloud Platform for Red Hat OpenShift と Red Hat OpenShift AI をベースに構築したフルスタックの AI/ML ソリューションを提供しています。DELL APEX Cloud Platform 上の OpenShift AI は、一連のベクトル化されたドキュメントを使用し、RAG と LLM を使用して、組織に固有の主題情報を保有しているだけでなく、ユーザーに最新の回答を提供するデジタルアシスタントを作成します。
Red Hat は、ソフトウェアとハードウェアのパートナー・エコシステムの構築を続けており、ML モデルと AI を活用したインテリジェント・アプリケーションの作成、デプロイ、管理のための包括的なソリューションを提供します。
あらゆる AI/ML ワークロード向けに、Red Hat OpenShift の認定を受けたソフトウェアおよびハードウェアパートナーとともに提供するソリューションについては、Red Hat Ecosystem Catalog をご確認ください。
執筆者紹介
Adam Wealand's experience includes marketing, social psychology, artificial intelligence, data visualization, and infusing the voice of the customer into products. Wealand joined Red Hat in July 2021 and previously worked at organizations ranging from small startups to large enterprises. He holds an MBA from Duke's Fuqua School of Business and enjoys mountain biking all around Northern California.
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
オリジナル番組
エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー
製品
ツール
試用、購入、販売
コミュニケーション
Red Hat について
エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。
言語を選択してください
Red Hat legal and privacy links
- Red Hat について
- 採用情報
- イベント
- 各国のオフィス
- Red Hat へのお問い合わせ
- Red Hat ブログ
- Red Hat におけるインクルージョン
- Cool Stuff Store
- Red Hat Summit