ベクトル埋め込み: AutoGPT の幻覚ソリューション?

988eed2e676de59b791cea116f2a78a7.jpeg


出典|Eye on AI
OneFlow 翻訳で編集
|Jia Chuan、Yang Ting、Xu Jiayu

「深刻なナンセンス」の錯覚は、ChatGPT などの大規模言語モデル (LLM) が緊急に解決する必要がある一般的な問題です。ヒューマン フィードバックによる強化学習 (RLHF)は、モデルが間違った出力結果を調整することを可能にしますが、効率とコストの面で利点がありません. さらに、RLHF だけでは問題を完全に解決できないため、その実用性も制限されます.モデル.性別.

大規模な言語モデルの性質そのものが言語の「統計的確率」に基づいているため、幻覚は、LLM が生成しているものを実際には理解しておらず、善悪の概念も持っていないことを示唆しています。

以前、OpenAI のチーフ サイエンティストである Ilya Sutskever 氏は、強化学習のフィードバック ステップを改善することで、ニューラル ネットワークの「幻覚」を防ぐことを望んでいると述べました.彼はこの問題を解決することに非常に自信を持っていますが、「様子を見てみよう」とだけ言っていました.

ただし、ベクトル埋め込み (ベクトル埋め込み) は、LLM の長期記憶データベースを作成できる、この課題を解決するためのより簡単で効果的な方法のようです。権威のある信頼できる情報をベクトルに変換し、それらをベクトル データベースにロードすることにより、データベースは信頼できる情報源を LLM に提供し、モデルの幻覚の可能性を減らします。

最近、人気のある AutoGPT がベクター データベース Pinecone を統合しました。これにより、長期記憶に保存され、コンテキストの保存がサポートされ、意思決定が改善されます。

Pinecone は、OpenAI や Cohere などの LLM ジェネレーターのパートナーです。ユーザーは、OpenAI の Embedding API を介して言語埋め込みを生成し、Pinecone でこれらの埋め込みをインデックス化して、高速でスケーラブルなベクトル検索を実行できるようになりました。

52be723b2d25eac18fa0cb62bb719f98.png

「埋め込み」という用語は、2003 年に Yoshua Bengio によって最初に提案されました。チェコのコンピューター科学者である Tomas Mikolov は、2013 年にテキスト ベクトル表現のツールキットである word2vec を提案しました。これは、ダウンストリームのディープ ラーニング タスクに使用できます。

パインコーンの創業者であるエド リバティは、Amazon での勤務中にベクターの埋め込みを担当し、Amazon を退職した後、パインコーンのベクター データベースの開発を開始しました。彼はイェール大学でコンピューター サイエンスの博士号を取得し、Yahoo のテクニカル ディレクターを務め、AI ラボを管理していました。その後、AWS で SageMaker を含む機械学習プラットフォームとサービスを構築しました。2019 年半ば、彼は、大規模な言語モデルには特別な意味があり、ディープ ラーニング モデルを通じてデータを表現する新しい方法が、データと AI の基本的な部分になることに気付きました。

最近、クレイグ S. スミスと Eye on AI ポッドキャストのホストであるエド リバティとの対談で、彼はベクトル埋め込みによって LLM の幻覚の問題を解決する方法を紹介し、技術的な詳細と構築プロセスを共有しました。

(以下の内容はOneFlowが許諾の上編集・掲載しておりますので、翻訳転載の許諾についてはOneFlowまでお問い合わせください。原文:  https: //www.eye-on.ai/podcast-117 ; 主催ネットスイート、netsuite.com/ )アイオナイ

 1

「錯覚」の解決策

クレイグ: 松ぼっくりとは何ですか?

EDO: Pinecone はベクトル データベースですが、構造や構文ツリーなどのテキスト表現は使用しませんが、テキスト処理タスクでディープ ラーニング モデル、言語モデル、チャット エンジンなどに使用される数値内部表現を使用します。

機械学習モデルは、数値オブジェクトを扱う数値エンジンであるため、データを表現できる唯一の方法は、ベクトルまたは埋め込みと呼ばれる数値のリストを使用することです。長期記憶とコンテキストを深層学習モデルに提供したい場合、つまり物事を実際に記憶して世界を理解する能力を提供したい場合は、これらの数値オブジェクトを使用してデータを表す必要があります。

しかし、ストレージ レイヤー、クエリ言語、アクセス パターンなど、データベースに必要なすべてがこれらのオブジェクトで機能するわけではありません。そのためには、特定のハードウェアとソフトウェアが必要です。そして Pinecone は、まさにそれを大規模に行うサービスを提供しています。たとえば、ChatGPT のコンテキスト機能を強化してより良い回答を得たい場合は、独自のデータを特定のデータベースに保存できます。このデータは、ユーザー マニュアル、履歴、画像、テキスト、Jira チケット、メールなどです。

Pinecone は独自の検索エンジン プラグインをリリースしました。ユーザーはこれらのものを最下層に挿入し、ChatGPT にリアルタイムで Pinecone を検索させて、より正確な回答を得ることができ、接続設定をあまり必要としません。

Pinecone の利点は、機械学習の専門家である必要はなく、チュートリアルに従ってコードをコピーして貼り付けるだけで、モデルをトレーニングするための調整を行うだけで、私たちに連絡する必要も、私たちに支払う必要もないことです。

CRAIG: これは ChatGPT の幻覚の問題に役立ちますか?

EDO:もちろんです。今、ChatGPTにC70Xモデルの自動リバースブレーキライトをオフにする方法を尋ねると、非常に現実的で首尾一貫した答えが返ってきますが、これは実際には単なる幻想です. それは非常に自信を持って答えましたが、価値がありませんでした。幻覚の問題を解決する方法を説明する前に、この技術自体のブレークスルーを強調したいと思います。

言語モデルを軽視するつもりはありません。15 ~ 20 年間この分野に携わってきた人にとって、この技術は間違いなく非常に衝撃的です。ChatGPT は、言語の一貫性、組み合わせ方法、および吸収するデータ量の点で優れていますが、幻想の存在によりその価値は大幅に低下します。ボルボの取扱説明書をベクトル埋め込みとして Pinecone にフィードし、ChatGPT にリアルタイムで検索させて、質問に答える正しいコンテキストを取得すると、ChatGPT は正しい答えを得ることができます。

CRAIG: Ilya Sutskever は、幻覚を回避するために、人間のフィードバックによる強化学習 (RLHF) を使用したモデルのトレーニングに焦点を当てていますしかし、この方法の効率はあまり高くないようで、モデルが現実に適合するように学習できるかどうかについて多くの人が疑問を抱いています。また、言語モデルの参照用に世界モデル (world model) を構築することについて、Yann LeCun と話し合いました。そして、あなたが話しているのは、Pinecone を通じてドメイン固有の「世界モデル」を構築することです。

EDO:たとえば、医学を学ぶとき、人々は医学英語ではなく、知識全体を学びます。実際、人々は医学部に行く前に英語を習得しているので、私たちが学んだことは知識、記憶、事実であり、今ではこの知識を明確にすることができます. 自然言語モデルを医療分野に合わせて微調整する代わりに、学習するのは知識を言語に注入することです。

実際、OpenAI と Pinecone の組み合わせは似ています。データとナレッジを Pinecone に保存します。Pinecone は、Jira チケット、セールス コールなど、あらゆる分野の専門知識となる可能性があります。次に、言語モデルはこの知識を言語に変換し、問題を要約して理解することができます。

これらはまったく異なる機能であるため、同じメカニズムを使用しないでください。例えば、「言ったことを理解する」ことと「言ったことの正しさを判断する」ことは、まったく別のメカニズムです。前者は言語処理に関するもので、後者は記憶に関するものです。

たとえば、何かを棒で押せると言えば、何かを縄で押せるとも言えます。しかし実際には、ロープで物を引っ張ることしかできず、物を押すことはできません。それは世界の知識の一部であり、理解と判断の両方を必要とする記憶の一部です。人々は現実的な方法で世界について話すので、「ロープで何かを押す」などの非現実的な言葉は使用しません。

したがって、訓練された言語モデルが十分に大きければ、普通の人間のように世界について話すことができます。しかし、これはモデルが本当に何かを理解しているという意味ではなく、「いたちごっこゲーム」の主人公のように医者のふりをしている可能性もあります。たとえば、入院して 5 年しか経っていない場合は、専門用語をたくさん使う可能性が高いため、知識やスキルについて話すときは経験豊富な医師のように話していますが、実際にはそうではありません。実体験があります。

このように、あるスキルや知識を持っているように見せかけて、実際には理解していないように見せる、いわゆる「錯覚解」があります。私にとって、これは幻覚です。それは、医師が英語で言うことができる多くの医学用語を説明しているのを聞いているようなものですが、医学はまったく理解していません.

CRAIG: パインコーンが現在行っているのは、メモリ容量の増加です。メモリまたはドメイン知識を増やすための他のメカニズムはありますか? 私の知る限り、大規模な言語モデルを教師なしで事前トレーニングすることは可能ですが、最後に教師ありレイヤーのトレーニングが行われます。教師ありトレーニング中に大規模な言語モデルにドメイン知識を与えることはできますか?

EDO:私はできることとよくやることを区別しています。私たちができること、さまざまな方法でトレーニングできることはたくさんあり、多くのことが行われてきました。しかし、私の意見では、AI の分野で本当にエキサイティングなのは、AI がついに人々の生活に入ったということです。一般のエンジニアやユーザーなどが、ようやく実際に AI を活用し、その上にアプリケーションを構築できるようになりました。

Pinecone と OpenAI を組み合わせると、再トレーニングや発明を行う必要はなく、微調整する必要も、データ ラベルを収集する必要もありません。基本的には、ベクトル埋め込みの形で Pinecone にデータをフィードするだけです。Web 上には、似たような例がたくさんあります。OpenAI にリアルタイムで質問して、Pinecone に関する関連情報を検索させることができます。

たとえば、私は販売員で、すべての販売に関する会話を Pinecone に入力しています。「特定の顧客に割引を提供していますか?もしそうなら、割引は何ですか?」今では OpenAI やその他の大きな言語モデル ベンダーを使用できます。基本的には、クエリを入力して関連する回答を見つけるだけです。ゲームのセリフ部分では、答えを得ることができ、明確な理由も得ることができます。例えば、お客様に送る割引情報メール、内容は20%割引など。

要するに、何も再トレーニングする必要はありません。大規模な言語モデルで必要なコンテキストをフィードするだけです。チャット API を呼び出すと、クエリが含まれます (つまり、質問をします)。詳細については、回答に関連するコンテキストをご覧ください。

適切なコンテキストを提供できれば、より良い答えを得ることができます。営業マンにある質問をするなど、他人に質問をするのと同じように、質問の関連情報を知っていれば統合して答えを出すことができ、関連情報を知らなければ人間は正直に答えます。彼らは知りませんが、今ではチャットボットが答えを捏造することが可能です。

2

情報をベクトル埋め込みに変換する方法

CRAIG: OpenAI は ChatGPT が医療分野に適用されると言っていますが、まだ信頼性は高くありません。医師による審査なしに、ChatGPT が提供する医学的アドバイスを信頼することはできません。しかし、信頼できる医学文献や教科書を大言語モデルで参照できるようになれば、医師がいなくても、大言語モデルの答えを直接参照できるようになります。では、どのようにして実用的な医学テキストを Pinecone に取り込むのでしょうか?

EDO:まず、特にあなたや愛する人が健康上の危機に直面している場合は、医学的な質問への回答に大規模な言語モデルを参照することはお勧めしません. でも、勇気を出してやってみたいという気持ちもわかります. やっぱり医者がいないよりはましです. 医者がいないよりは、腕のない医者がいてもいいです. 要するに、私はこの行動を支持していません。

実際、これを行うのは非常に簡単です。医学の教科書や医療ノートを取り, それらを文や段落に分割し, 分割した文や段落を埋め込みモデルに入力することができます. これらの言語モデルは, 深層学習モデルがテキストを表現するのと同じ方法で言語を表現します. このデジタル表現はベクトルまたは埋め込み。

あとは松ぼっくりに保存する 保存するときは、テキストソースやソーステキストなどの有用な情報をまとめて保存できますが、デジタル表現は操作可能な部分です。実際のクエリ時間では、たとえば、症状や医学的問題がある場合、基本的に同じことをしています. 質問を埋め込んだり、埋め込みを検索したり、関連ドキュメントを要求したり、クエリの件名と同じまたは類似したコンテンツを要求したりできます。クエリを実行した後、100 のドキュメントまたは 100 のパラグラフ センテンスを取得し、それらをコンテキストとしてクエリに追加し、それをチャット エンジンに入力すると、チャット エンジンに「これらは私の症状です。これらの側面を理解する情報」.

回答に関連する 50 の異なるデータ ソースが見つかった場合、これらのデータを短期間で統合できます。サンフランシスコ、ニューヨークなどで開催されたハッカソンのように、参加者はこの情報を 1 日で統合できます。実際、この情報を統合するのは非常に簡単です。何も再トレーニングする必要がなく、すべてをホスティング サービスに渡すことができ、ハードウェアを起動する必要も、 API を呼び出すだけで、データの処理と調整を行うことができます。このように、大規模なプロジェクトは 1 日で完了できます。

CRAIG: パイプラインに興味があります. 信頼できる歴史書を Pinecone に入力したい場合はどうすればよいですか? 情報をベクトル埋め込みに変換する方法は?

EDO:まず、テキストをデータに変換する必要があります. PDF、ワード、その他の形式のデータテキストをスキャンまたはその他の方法で直接使用できます. 次に、このテキストを文や段落などの小さな部分に分割して、一貫性のある形式にする必要があります。つまり、本全体または 1 つか 2 つの単語だけを直接フィードすることはできませんが、意味があり、人間が読める、論理的に一貫性のある洗練されたコンテンツを提供します。

テキストが分割された後、ディープ ラーニング モデルに埋め込むことができます。さらに、オンラインで利用できる無料のテキスト リソースが多数あります.数行の Python コードを記述してこれらのテキストをコンピューターにインポートし、これらのリソースをトレーニングに使用するか、API を使用してクラウドでトレーニングすることができます. .

このようにして、モデルによって返されるベクトル埋め込みと、数百、数千の数のリストを取得します。次に、ベクトルを Pincone データベースに渡し、有用な情報を伝えます. たとえば、歴史書の 712 ページにあるナポレオンの侵略の紹介. このプロセスは、独自のデータベースを構築することと同じです. これに基づいてマシン モデルを構築し、その履歴書の内容をモデルの会話の知識源として使用できるようになりました。

CRAIG: Pincone はすべてを行うためのフロント エンドを提供できますか? または、ユーザーは事前にベクトル埋め込みを準備して、Pincone に統合する必要がありますか?

EDO:現在、当社はデータベースのみを担当しているため、どの機械学習モデルまたは言語モデルを選択するかはユーザーの手に委ねられています. ユーザーがモデルを簡単に見つけられるように、最も便利なツールのみを提供します. . OpenAI、Hugging Face、Cohere、Google、Amazon、Azure などの企業と協力して、新しい言語モデルを共同で構築してきました。より良い言語モデルを構築するために私たちがサポートしている約 50 または 60 のスタートアップがあります。

CRAIG: Pinecone が情報をベクトル埋め込みに変換する場合、著作権の問題はありますか?

EDO:お客様が Pinecone を使用する方法は、MongoDB、Elasticsearch、Redis、Dynamo DB、Spanner などの他のデータベース サービスと似ています。お客様のデータ インフラストラクチャとして、Pinecone を使用して顧客データを保存および管理しますが、サービス プロバイダーとして、このデータに触れたり、使用したり、共有したり、モデルのトレーニングに使用したりすることはありません。

モデルの再トレーニングや最適化ではなく、ベクトル データベースなどのツールを使用してコンテキストを作成することを人々が好む最も実際的な理由は、前者がデータを削除できることですたとえば、GDPR の関連規制を満たすために特定のデータを削除する必要がある場合は、「既存のデータについては、明示的な操作を実行します。つまり、データ ポイント 776 を削除します。」その後、削除操作を実行して、データ ポイントの完全な削除を実現します。

これらのデータ ポイントを最適化されたモデルにフィードし、それらを使用してタスクのパフォーマンスを改善しようとすると、それらを削除するメカニズムがないため、これらのデータ ポイントはモデルに残ります。

クレイグ: 現在の課題は何ですか?

EDO:最大の課題は、すべてのトレーニング ニーズをサポートするのに十分なハードウェアを立ち上げることです。これは、コア エンジニアリング チームがほぼ毎日解決しなければならない問題でもあります。ハードウェアの使用に対する現在の需要は非常に大きく、ChatGPT の出現によりその需要は急増しています。

他のみんなが見ている

ウェルカム スター、OneFlow を試す: github.com/Oneflow-Inc/oneflow/ icon-default.png?t=N3I4http://github.com/Oneflow-Inc/oneflow/

おすすめ

転載: blog.csdn.net/OneFlow_Official/article/details/130377304