OpenAI は最近、次世代の埋め込みモデルである埋め込み v3 をリリースしました。同社では、このモデルを多言語パフォーマンスが向上した最高のパフォーマンスを誇る埋め込みモデルと説明しています。モデルは、text-embeddings-3-small と呼ばれる小さいモデルと、text-embeddings-3-large と呼ばれるより大きく強力なモデルの 2 つのカテゴリに分かれています。 これらのモデルがどのように設計され、トレーニングされているかについての情報はほとんど公開されておらず、モデルには有料の API を通じてのみアクセスできます。オープンソースの埋め込みモデルはたくさんありますが、これらのオープンソースモデルは OpenAI のクローズドソースモデルとどのように比較されるのでしょうか? この論文では、これらの新しいモデルのパフォーマンスをオープンソース モデルと経験的に比較します。ユーザークエリに基づいてコーパス内で最も関連性の高いドキュメントを見つけるデータ取得ワークフローを作成します。 私たちのコーパスは、現在検証の最終段階にある欧州 AI 法です。このコーパスは、人工知能に関する世界初の法的枠組みであることに加え、24 の言語で利用できるという重要な特徴もあります。この方法で、異なる言語でのデータ取得の精度を比較できます。 多言語テキストコーパスから生成されたカスタム合成質問/回答データセットで、OpenAI と最先端のオープンソース埋め込みモデルの精度を比較します。この記事で採用したアプローチは他のデータ コーパスにも適用できるため、完全なコードは最後に記載されています。 カスタムQ/Aデータセットを生成するまず、質問応答 (Q/A) データセット用のカスタム データの生成から始めましょう。カスタム データセットを生成する利点は、データセットが埋め込みモデルのトレーニングの一部にならないようにすることでバイアスを回避できることです。これは、MTEB などの参照ベンチマークで発生する可能性があります。また、検索拡張アプリケーション (RAG) などの場合に関係する可能性のある特定のデータ コーパスに合わせて評価を調整することもできます。 Llama Index のドキュメントで提案されている簡単なプロセスを使用します。まずコーパスをチャンクに分割します。次に、各チャンクに対して、大規模言語モデル (LLM) を通じて合成質問のセットが生成され、回答が対応するチャンク内に存在するようになります。 以下のコードに示すように、Llama Index のような LLM データ フレームを使用してこの戦略を実装するのは簡単です。 このコーパスは、この公式 URL を使用して Web から直接取得された EU AI 指令の英語版です。最終版はまだすべてのヨーロッパ言語で利用可能ではないため、この記事では 2021 年 4 月のドラフト版を使用しています。そのため、私たちが選択したバージョンでは、URL 内の言語を他の 23 の EU 公用語のいずれかに置き換えて、さまざまな言語 (ブルガリア語の場合は BG、スペイン語の場合は ES、チェコ語の場合は CS など) でテキストを取得できます。 SentenceSplitter オブジェクトを使用して、ドキュメントを 1000 トークンのチャンクに分割します。英語の場合、約 100 個のチャンクが生成されます。各チャンクは、次のプロンプト (Llama Index ライブラリで提案されるデフォルトのプロンプト) のコンテキストとして提供されます。 このプロンプトは、ドキュメントのチャンクに関する質問を生成します。各チャンクに対して生成される質問の数は、パラメータ「num_questions_per_chunk」として渡され、2 に設定されています。次に、Llama Index ライブラリから generate_qa_embedding_pairs を呼び出すことによって質問を生成できます。 このタスクでは OpenAI の GPT-3.5-turbo-0125 に依存しており、結果オブジェクト「qa_dataset」には質問と回答 (チャンク) のペアが含まれています。生成された質問の例として、最初の 2 つの質問の結果を以下に示します (「回答」はテキストの最初の部分です)。
OpenAI 埋め込みモデル評価関数も Llama Index のドキュメントに従います。まず、すべての回答 (ドキュメント チャンク) の埋め込みが VectorStoreIndex に保存され、効率的に検索できるようになります。次に、評価関数はすべてのクエリをループし、最も類似している上位 k 個のドキュメントを取得し、MRR (平均逆順位) に基づいて取得の精度を評価します。コードは次のとおりです。 埋め込みモデルは、「embed_model」引数を介して評価関数に渡されます。OpenAI モデルの場合、これはモデル名とモデル次元で初期化された OpenAIEmbedding オブジェクトです。 次元パラメータを使用すると、埋め込みの概念的表現プロパティを失うことなく、埋め込みを短縮する(つまり、シーケンスの末尾からいくつかの数字を削除する)ことができます。 OpenAI は発表の中で、埋め込みを 256 サイズに短縮しても、MTEB ベンチマークで短縮されていない text-embedding-ada-002 埋め込み (サイズ 1536) よりも優れたパフォーマンスを発揮できることを示唆しました。 評価関数を 4 つの異なる埋め込みモデルで実行します。 text-embedding-3-large の 2 つのバージョン: 1 つは可能な限り低い次元 (256) で、もう 1 つは可能な限り高い次元 (3072) です。これらは「OAI-large-256」および「OAI-large-3072」と呼ばれます。 OAI-small:text-embedding-3-small、寸法は 1536 です。 OAI-ada-002: 次元が 1536 の従来のテキスト埋め込み text-embedding-ada-002。 各モデルは、英語 (EN)、フランス語 (FR)、チェコ語 (CS)、ハンガリー語 (HU) の 4 つの異なる言語で評価され、それぞれゲルマン語、ロマンス語、キリル語、ウラル語の例がカバーされます。 MRR の精度は次のとおりです。 埋め込みサイズが大きいほど、パフォーマンスは向上します。 オープンソースの埋め込みモデル埋め込みに関するオープンソースの研究も非常に活発で、Hugging Face の MTEB リーダーボードでは最新の埋め込みモデルが頻繁にリリースされています。 本論文では比較のために、最近公開された 4 つの埋め込みモデル (2024) のセットを選択しました。選考基準は、MTEB リーダーボードの平均スコアと多言語データを処理する能力でした。選定したモデルの主な特徴を以下にまとめます。 e5-mistral-7b-instruct: Microsoft のこの E5 埋め込みモデルは、Mistral-7B-v0.1 から初期化され、多言語混合データセットで微調整されています。このモデルは MTEB リーダーボードで最高のパフォーマンスを発揮しますが、容量も圧倒的に最大です (14GB)。 multilingual-e5-large-instruct(ML-E5-large): 多言語データをより適切に処理できる、Microsoft の別の E5 モデル。これは xlm-roberta-large から初期化され、多言語データセットの混合でトレーニングされます。これは E5-Mistral よりもはるかに小さく (10 倍)、コンテキスト サイズもはるかに小さくなります (514)。 BGE-M3: このモデルは北京人工知能アカデミーによって設計され、100 を超える作業言語をサポートする最も高度な多言語データ埋め込みモデルです。 2024年2月22日現在、MTEBランキングにはランクインしておりません。 nomic-embed-text-v1 (Nomic-embed): このモデルは Nomic によって設計されており、OpenAI Ada-002 や text-embedding-3-small よりも優れており、サイズはわずか 0.55GB です。このモデルは、完全に再現可能かつ監査可能な最初のモデルです (オープン データとオープン ソースのトレーニング コード)。 これらのオープンソース モデルを評価するために使用されるコードは、OpenAI モデルに使用されるコードと似ています。主な変更点はモデルパラメータにあります。 結果は次のとおりです。 BGE-M3 が最も優れたパフォーマンスを示し、次いで ML-E5-Large、E5-mistral-7b、Nomic-Embed の順でした。 BGE-M3 モデルは MTEB リーダーボードでベンチマークされていませんが、結果から、他のモデルよりも上位にランクされる可能性があることが示唆されています。 BGE-M3 は多言語データに最適化されていますが、英語でも他のモデルよりも優れたパフォーマンスを発揮します。 これらのモデルはオープンソースであるため、通常はローカルで実行する必要があります。そのため、各埋め込みモデルの処理時間も具体的に記録しました。 E5-ミストラル-7bは他のモデルよりも10倍以上大きいので、最も遅いのは当然です 要約するすべての結果をまとめてみましょう。 オープンソース モデルを使用すると最高のパフォーマンスが得られ、BGE-M3 モデルが最高のパフォーマンスを発揮しました。このモデルは OpenAI モデルと同じコンテキスト長 (8K) を持ち、サイズは 2.2GB です。 OpenAI の large(3072)、small、ada モデルのパフォーマンスは非常に似ています。埋め込みサイズをlarge(256)に縮小するとパフォーマンスが低下し、OpenAIが主張したようにadaよりも優れているとは言えませんでした。 ほぼすべてのモデル (ML-E5-large を除く) は英語で最高のパフォーマンスを発揮しました。チェコ語やハンガリー語などの言語では、パフォーマンスに大きな違いがありますが、これはトレーニング データが少ないことが原因である可能性があります。 OpenAI のサブスクリプション料金を支払うべきでしょうか、それともオープンソースの埋め込みモデルをホストすべきでしょうか? OpenAI の最近の価格調整により、API の価格がさらに手頃になり、現在は 100 万トークンあたり 0.13 ドルとなっています。 1 か月あたり 100 万件のクエリを処理する場合 (各クエリに約 1,000 トークンが関係すると想定)、コストは約 130 ドルになります。したがって、実際のコンピューティングのニーズに基づいて、オープン ソースの埋め込みモデルをホストするかどうかを選択できます。 もちろん、コスト効率だけが考慮されるわけではありません。レイテンシ、プライバシー、データ処理ワークフローの制御などの他の要素も考慮する必要があるかもしれません。オープンソース モデルには、完全なデータ制御、強化されたプライバシーとカスタマイズの利点があります。 レイテンシについて言えば、OpenAI の API にもレイテンシの問題があり、応答時間が長くなることがあるため、OpenAI の API が必ずしも最速のオプションであるとは限りません。 要約すると、オープンソース モデルと OpenAI のような独自のソリューションのどちらを選択するかは簡単な答えではありません。オープンソースの埋め込みは、パフォーマンスとデータのより優れた制御を組み合わせた非常に優れた代替手段を提供します。そして、特にプライバシーの懸念が二の次である場合、利便性を優先する人々にとって、OpenAI の製品は依然として魅力的である可能性があります。 この記事のコード: https://github.com/Yannael/multilingual-embeddings |
>>: インダストリー 5.0: スマート シティの未来を形作るテクノロジーのメガトレンドの融合
人工知能開発の世界的なブームは今も急速に進んでおり、止まる気配はありません。現在、数十カ国が経済成長...
実際の請求ケースでは、保険会社は個人、シナリオ、さらには他の影響要因を含む大量のデータを使用する必要...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[393110]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
[[269874]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...
今日の大企業は、産業化以来最大の変革を経験しています。人工知能は、産業や私たちの働き方、考え方、交流...
この人工呼吸器は、コンピューターアーキテクチャの巨匠ビル・ダリー氏によって設計されました。コンピュー...
線形代数は、ベクトル、行列、線形変換を扱う数学の分野です。これは機械学習の重要な基盤であり、アルゴリ...
テキスト ロゴのデザインはデザイナーの創造性と経験に大きく依存しますが、その中でも各テキスト要素のレ...
The Paperによると、世界経済フォーラムの報告書では、2025年までに8000万の仕事が機械...
著者: Sun Yue、所属部署: 中国移動 (杭州) 情報技術有限公司 | 中国移動杭州 R&am...
学習と進化ご存知のとおり、量子という概念は120年前にドイツの物理学者プランクによって提唱されました...
現実には、あらゆる種類の印刷されたテキストや、周囲のあらゆるものを何の障害もなく簡単に読むことができ...