忍者ブログ

Miichisoft

Miichisoftのブログへようこそ 私たちは、デジタルトランスフォーメーションの過程でのお客様とテクノロジーで競争力の優位性を高め、「テクノロジーコンパニオン」になりたいという想いを込めて、ITコンサルティングとソリューションサービスを提供する会社です。 会社のホームページ: https://miichisoft.com/ サービス一覧:  → オフショア開発:https://miichisoft.com/offshore-service/  → ラボ開発:https://miichisoft.com/labo-service/  → Labo as a Service:https://miichisoft.com/laas/  → ITコンサルティング:https://miichisoft.com/it-consulting/ ご連絡をお待ちしております。 よろしくお願い致します。

データセンター管理者のための検索強化生成の基本

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

データセンター管理者のための検索強化生成の基本

1. LLMとそのトレンド

ChatGPTの助けを借りて、Large Language Models(LLM)は世界中の誰の想像力を捉えています。製品やサービスに組み込まれたLLMは、基本となるシステムとのほとんどの人間の対話を高速化するのに役立ちます。


現在のLLM対応アプリは、主にLlama 2、Mistral、Vicuna、そして時折Falcon 170Bなどの「オープンソース」LLMを使用しています。これらのモデルは公に利用可能なデータでトレーニングされており、ユーザーの質問や指示に適切に対応できます。ただし、あなたまたは貴社はLLMによるサービスを、より特定のドメインまたはプライベートなデータに対応させたいと考えている場合、データサイエンティストはモデルを微調整し、十分な数の例を供給する必要があります。


微調整は既存のモデルの機能の上に構築される行為であり、LoRAなどの特定の微調整方法が存在します。LoRAは現在のモデルの重みを凍結し、追加の重み層(アダプターと呼ばれることが多い)を追加して、あなたのドメイン固有のニーズに焦点を当てます。これらの追加の重みをトレーニングするのは、ゼロからモデルをトレーニングする場合よりも少ない時間とデータが必要です。


Huggingfaceは最近、異なるモデルでのLoRA微調整能力を比較した記事を公開しました。彼らはLoRAがLlama 2 7Bモデルのパラメータの0.12%を導入すると述べています。これにより、840万のパラメータのみをトレーニングするプロセスが実現します。微調整はデータセンターのGPUペアで簡単に行うことができます。MetaのAI Research SuperClusterのようなスーパーコンピューターは必要ありません。これがVMwareとBroadcomがオープンソースLLMと微調整を組み合わせることが戦略的なビジネスアプリケーションを構築する道だと信じている理由です。


ただし、新しい製品を発売したり、新しいサービスを導入するたびに、データサイエンティストはこの新しいビジネスエンティティに関するデータを収集し、データセットに正しく整理し、LLMが従業員または場合によっては顧客が生成するすべてのプロンプトに正直に回答できるように微調整プロセスを開始する必要があります。


2.RAG - Retrieval Augmented Generationこれは何をするのか?

検索強化生成技術の導入は、より迅速で革新的で正確です。検索強化生成(その用語は口の中で踊るだけですね)、略してRAGは、LLMにデータベースの機能を追加します。新しいサービスや製品を発売するたびにデータをLLMに適合させる代わりに、LLMにユーザーのプロンプトに回答しながら関連データへの直接アクセスを許可します。

もちろん、これは単にLLM対応アプリにデータベース接続を追加するよりも複雑です。それでも、データサイエンスコミュニティとの継続的な取り組みにより、RAG機能をLLM対応アプリに統合することが容易になっています。もちろん、VMware Private AI Foundationの開発においてもこのユースケースに焦点を当てており、拡張可能で堅牢なサービスを提供しています。RAGが導入する全体のプロセスと一部のコンポーネントについて詳しく見ていきましょう。


まず、単純な(非RAG)LLMプロセスから始めましょう。ユーザーはLLM対応アプリ内でプロンプトを生成します(1)。アプリはLLMに接続し、プロンプトを入力として提供します(2)。LLMは出力のための単語をできるだけ正確に予測します(3)そして「プロンプトの完了」をユーザーに表示するためにアプリに戻します(4)。

RAGプロセスに入る前に、RAGの重要な要素であるベクトルデータベースを見てみましょう。ベクトルデータベースは、行と列を持たないデータベースであり、データ(ポイント)とテキストを数値として(正確には数値表現として)格納します。これらの数値表現はベクトル埋め込みと呼ばれ、これらは類似性に基づいてグループ化(クラスタリング)されます。なぜ数値表現なのでしょうか?


要するに、LLMなどのニューラルネットワークモデルは数値のみを処理できます。したがって、ニューラル言語処理(NLP)パイプラインは単語を1つまたは複数のトークンに変換します。ベクトルは、システムが単語の意味と他の単語との関連性を構造化し分析できるトークンの数値表現です。トークンとベクトルについてもっと知りたい場合は、Sasha Metzgerが『NLPのトークン、ベクトル、および埋め込みの初心者ガイド』を公開しています。ぜひお勧めです!


RAGを使用すると、データベースがLLMの長期記憶になります。では、このベクトルデータベースをどのように使用するのでしょうか?まず第一に、LLMアプリにクエリを実行させたい情報をデータベースに供給する必要があります。これには、データをベクトル化する必要があります。つまり、データをトークンに変換し、トークンをベクトル埋め込みにエンコードする必要があります。今日最も人気のあるツールはWord2Vec、fastText、およびGloVeです。より包括的なデータフレームワークはLlamaindexであり、データの摂取、オーケストレーション、および検索ツールを提供しています。


RAGの利点の一つは、LLM対応のアプリが、コアビジネスを拡張または拡大する際にオフラインにする必要がないことです。最新のデータでLLM対応のアプリにデータを供給するために、データを非同期にベクトル化できます。新しいサービスや製品をリリースするたびにモデルを再トレーニングまたは微調整する必要はありません。データエンジニアは、LLMの「バージョニング」に関係なく新しいデータをデータベースに導入します。


ユーザーの視点からプロセスを見ると、ユーザーはLLM対応のアプリ内でプロンプトを生成します(1)。アプリはプロンプトを直接LLMに送るのではなく、プロンプトをベクトルデータベースにリダイレクトします(2)。ベクトルデータベースは類似性で検索し(2)、適切なデータ(単語)を取得します。フレームワークはデータをアプリに送信し(3)、ベクトルデータベースから取得したデータでユーザープロンプトを拡充します(4)。アプリはLLMにユーザーの質問に基づいて応答を生成するよう指示し、応答を生成するためのデータを提供します(5)。LLM対応のアプリはユーザーに回答を表示します(6)。



RAGは劇場のプロンプター(Souffleur)のように振る舞い、LLMにキューを提供します。プロンプターが演劇を演じる俳優にキューを提供するように、RAGはLLMに最新かつ正確なデータでプロンプトを拡充して正直に保ちます。内部化されたデータに依存せず、優れた自然言語応答を形成することが主な目標です。本質的に、ベクトルデータベースが記録システムとなり、LLMモデルとアプリが知能システムとなります。

3. まとめ

VCFプラットフォームにベクトルデータベースとRAG対応のアプリを展開する方法に関する詳細は、お知らせいたします。


AIと人間の創造力が交わるこのデジタル時代において、テクノロジーの絶え間ない変化に立ち向かい、お客様をデジタルマーケティングの新しい高みに導きます。AIの成果を向上させるための手法がまだ不明瞭な場合は、Miichisoftと提携して当社の迅速なエンジニアリングサービスを利用することが、状況を劇的に変える可能性があります。また、Miichisoft には、「RAG(Retrieval Augmented Generation)システムのパフォーマンスを改良する6つの方法」について相談した記事があります。興味がある場合は、こちらのリンクをクリックして参照してください。



参考リンク:

https://miichisoft.com/6-ways-improve-rag-retrieval-augmented-generation/

PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

カテゴリー

P R