大規模な言語モデル(LLMs)は、ソフトウェアの世界で非常に人気があります。彼らは、Meta、Huggingface、Microsoftなどの私たちの業界の主要企業からの新しい記事、ブログ投稿、コース、モデルを導入し、新しいテクノロジーを密接に追跡する必要があります。 私たちは、これらのトピックを紹介し、最新のテクノロジーを最新の状態に保つために、いくつかの短い、情報的な記事を書くことにしました。 この記事では、RAG モデルの定義と基本情報からシリーズを始めます。 大きな言語モデルは私たちの生活のあらゆる側面に入りました。私たちは、彼らがフィールドを革命させたと言えるでしょう。しかし、彼らは私たちがそれらを呼ぶのが好きなようにシームレスなツールではありません。 それはまた大きな欠点を持っています:それはその訓練に忠実です。 それは訓練されたデータに忠実です。 彼らはこれから逸脱することはできません。 2022年11月に訓練を完了したモデルは、2023年1月に出現したニュース、法律、技術開発などをマスターすることはできません。 たとえば、2021年に訓練を完了し、サービスに入ったLLMモデルは、2022年2月24日に始まったロシア・ウクライナ戦争についての質問に答えられない。 もちろん、この問題は解決されず、新しい製品、新しいシステムが導入されました。 RAG (Retrieval-Augmented Generation) システムは、あなたが必要とするたびに最新の情報を提供するために現れました。私たちの記事の残りの部分では、LLM モデルと RAG システムで作成されたシステムを一つずつ見ていきましょう。 LLMモデルにおける情報へのアクセス 大型言語モデルの作業原理は、訓練中に教えられたデータに基づいており、つまり静的知識です。彼らは外部データを何の手段でも抽出する能力を持っていません。例を挙げるには、子供を考慮してください。 これは、我々は英語ではなく中国語を流暢に話す子供を育てたためです。外部世界との接続を切断することによって、我々はまた、外部からの情報源から学ぶ能力を制限しています。 LLMモデルのもう一つの特徴は、彼らがブラックボックスであることです。これらのモデルは、彼らが行う操作をなぜ完全に意識していないことです。彼らは計算を単に数学的な操作に基づいています。 LLMモデルに尋ねると、「なぜあなたはその答えを与えたのですか?」あなたは、おそらく彼を圧迫しています。彼らは論理や研究を通じて質問に答えません。ここでのキーワードは「なぜですか?」私たちはまた、それはLLMモデルのバグと考えることができます。 この構造をよりよく理解するために、ヘルスケア分野の例を考慮してみましょう。ユーザーが尋ねるとき、「顔と目に痛みがあり、継続的な鼻下の滴がします。私は何をすべきですか?」、LLMモデルは答えるかもしれません、「私の顔と目に痛み、鼻下の滴が鼻炎の兆候である可能性があります。医師に相談してください。急性鼻炎は抗生物質で治療されています。薬物に加えて、鼻水や海水などの鼻水スプレーを使用して鼻下を落ち着かせることができます。 すべてはこの時点まで正常に見えますが、この答えの後、「なぜその答えを与えたのですか?」とモデルに尋ねると、物事は複雑になります。この答えを提供したモデルが提供した理由は、「顔の痛み」と「鼻の滴」という単語が頻繁にトレーニングデータに「鼻炎」という単語と共に現れたためです。これらのモデルは、統計的なパターンとして記憶に情報を保存することを好む。 情報源に基づいて記憶に情報を保存することを好まないため、質問に答え、ほとんどの人々を即座に満足させますが、より調査的な性質を持つ人々がモデルに「なぜこの答えを与えたのですか?」と尋ねると、モデルは説明的な答えを生み出さないと思います。 RAG:リトリバルシステムとLLMを組み合わせる RAG システムは、純粋な LLM モデルに基づいて構築されたシステムに比べて革新を提供しています。これらのシステムの1つは、LLM モデルのような静的情報ではなく、ダイナミックな情報で動作することです。 言い換えれば、彼らはまた、彼らが訓練されたデータに限定されずに外部のソースをスキャンします。 RAG の最初の "r" はリハビリを意味します。 リハビリコンポーネントの役割は検索操作を実行することです。 ジェネレーターは2番目の主要なコンポーネントであり、その役割はデータ回収の返信に基づいて正しい答えを生成することです。この記事では、RAGの動作原理について簡潔に触れていきます:Retrievalは外部の情報源から情報をスキャンし、ユーザーの質問に関連する文書を「chunks」と呼ばれる小さなパーツに分解することによって回収します。 それはこれらの部品とユーザーの質問をベクトル化し、それらの間に合うものを調べることによって最も効率的な答えを生成します。この答えを生成するタスクは「世代」によって行われます。 このシリーズの次の記事で詳細に説明します。 RAG システムを構成するこれらの基本的なコンポーネントは、より強力な構造を作り出します。彼らは純粋な LLM モデルのような静止情報に閉じ込められるのを防ぎます。 RAG システムは、特に最新の情報が必要な多くの分野で重要な利点を提供します。例えば、医師のモデルを作成したいかもしれません。 あなたのモデルは重要な領域に役立つので、時代遅れまたは不完全な情報を持たないでしょう。 医療の世界は、IT部門と同様に、毎日発展しており、新しい研究が進められています。 したがって、あなたのモデルは最新の研究をマスターする予定です。 でなければ、あなたは誤ったモデルで人間の生命を危険にさらすリスクがあります。 そのような場合、RAG サポートされたシステムは、外部データベースに接続することで、時代遅れの情報の問題を排除します。 RAGシステムとLLMモデルの根本的な違いは、RAGのコア哲学です:「情報を保存しないで、それを必要とするときにアクセスしてください!」純粋な大型言語モデルは、記憶に情報を保存し、訓練を受けた後に答えを生成しますが、RAGシステムは、その哲学に従って、必要なときに外部を検索してスキャンすることによって情報をアクセスします。 人間がインターネットを検索するように、これは純粋なLLMモデルの最も重要な欠点の1つを克服します:彼らのメモリ依存性。 シナリオ: ユーザー:「2024年12月の米国のインフレ率は何ですか?」 LLM: "According to December 2022 data, it was 6.5%." (No up-to-date answer) ラグ: 信頼できるソースまたはデータベース(世界銀行、貿易経済など)から2024年12月のデータを取得します。 LLMはこのデータを使用し、「貿易経済学によると、2024年12月の米国におけるインフレ率は2.9%である」と回答します。 Scenario: User: "What is the United States' December 2024 inflation rate?" LLM: "According to December 2022 data, it was 6.5%." (Not an up-to-date answer) RAG: 信頼できるソースまたはデータベース(世界銀行、貿易経済など)から2024年12月のデータを取得します。 LLMはこのデータを使用し、「貿易経済学によると、2024年12月の米国におけるインフレ率は2.9%である」と回答します。 これまで議論してきたことを簡潔に比較し、下のテーブルで紹介しましょう。 Features LLM (static model) RAG (retrieval-augmented generation) Information Limited to training data Can pull real-time information from external sources Current Level Low High Transparency The source of the decision cannot be disclosed (black box) The source can be cited 情報 トレーニングデータに限定 外部の情報源からリアルタイムの情報を抽出できます。 現在のレベル 低い 高い 透明性 判決の起源は明らかにできない(ブラックボックス) 源は引用できる。 結論として、LLMモデルは、彼らが訓練されているデータに限定されている一方で、RAGシステムは、特定のLLMモデルに基づいて構築され、基本的な知識を持っているだけでなく、外部のソースからリアルタイムの情報を抽出する能力もあります。この利点は、常に最新であることを保証します。これは私たちのシリーズの最初の記事を締結します。次の記事では、より技術的な側面を掘り下げます。記事の終わりに、この作品の実践にアクセスまたは検討したい友人のために、彼らは私のGitHubアカウントでPythonと関連するライブラリで作成した関連するリポットへのリンクを見つけることができます。 シリーズの次の記事でお会いしましょう。 ユルドゥセブン 続きを読む 「我々はまた、フェイスブックのAIの2020年のRAG論文の基礎的な貢献を認めたいと考えており、この記事の視点に重要な情報を提供した」と述べた。 GitHub トップページ マルチモデルRAG Chatbotプロジェクト PDF RAG Chatbot プロジェクト