Gemini Embedding:Google Gemini AIフレームワークの下にある多言語テキスト埋め込みモデル
単語の埋め込みは、機械翻訳、質問と回答、情報の取得など、ヒンディー語の自然言語処理(NLP)タスクに不可欠です。これらの埋め込みは、単語のセマンティックプロパティをキャプチャし、より正確でコンテキスト指向のNLPアプリケーションを可能にします。多数のヒンディー語のスピーカーとヒンディー語の数が増えていることを考えると、これらの言語のNLPパフォーマンスを改善するには、高品質の埋め込みが重要です。カスタマイズされた埋め込みは、インドの言語ファミリーのユニークな言語特性とリソースの制限を具体的に解決できます。新しくリリースされたジェミニ埋め込みモデルは、多言語のテキスト埋め込みの大幅な進歩を表しており、Googleの強力なGemini AIフレームワークを活用して、100を超える言語で最先端のパフォーマンスを実現しています。
Gemini Embeddingモデルは、分類、検索、セマンティック検索などのタスクに優れており、効率と精度が向上します。 Gemini Embeddingは、より大きな入力スケールと高次元の出力をサポートすることにより、より豊富なテキスト表現を提供し、さまざまなアプリケーションで広く使用できるようにします。
*この記事は、***データサイエンスブログマラソンの一部として公開されています。 ***
2025年3月、GoogleはGemini APIで使用できる新しい実験的なGemini Embedding Text Model(Gemini-Embedding-Exp-03-07)をリリースしました。
高度な埋め込みモデルは、ジェミニモデルから生じていました。これは、言語と微妙なコンテキストのニュアンスについてのジェミニの深い理解を継承すると言われており、さまざまなアプリケーションで広く使用できるようにします。 MTEB多言語ランキングで最初にランクされています。
Gemini Embeddingは、同様のセマンティクスを持つテキスト入力が互いに近いベクトル空間のベクトルにマッピングされる密なベクトルとしてテキストを表します。現在、100を超える言語をサポートしており、その埋め込みは検索や分類などのさまざまなタスクに使用できます。
Gemini Embeddingのコアは、変圧器アーキテクチャに基づいており、Gemini LLMから初期化されています。この基礎は、モデルの言語構造とセマンティクスの深い理解を提供します。このモデルは、双方向の注意メカニズムを使用して入力シーケンスを処理して、埋め込みを生成するときに単語またはフレーズの完全なコンテキストを考慮することができます。
損失関数:Gemini Embeddingモデルは、バッチ内の否定的な例でノイズ比較推定(NCE)損失を使用してトレーニングされます。正確な損失は、トレーニングフェーズによってわずかに異なります。一般的に、トレーニングの例には、クエリ、正のターゲット、および(オプションの)難しいターゲットが含まれます。
また読む:gemini埋め込み:ジェミニからのユニバーサル埋め込み
ヒンディー語のドキュメントの検索を最新のジェミニ埋め込みと比較し、ジーナAIの埋め込みおよび多言語E5-large埋め込みと比較します。次の表に示すように、Gemini EmbeddingとJina Ai Embeddingは、最大数のタグの点で高く、モデルが長いドキュメントまたは複雑なクエリを処理できるようにします。さらに、次の表に示すように、ジェミニの埋め込みは、単語間のより詳細で微妙なセマンティックな関係をキャプチャするより高い埋め込み次元を持ち、モデルが複雑な言語パターンと意味の微妙な違いを表すことができます。
パラメーターの数 | 埋め込まれた寸法 | 最大マーク | 言語数 | 人形の埋め込み | |
Gemini-Embedding-Exp-03-07 | 未知 | 3072 | 8192 | 100 | 2048、1024、512、256、128の寸法など、さまざまなサイズへの埋め込みの切り捨てをサポートしています。 |
Jinaai/Jina-embeddings-V3 | 572百万 | 1024 | 8194 | 100 | 柔軟な埋め込みサイズ(32、64、128、256、512、768、1024)をサポートし、切り捨てられた埋め込みをアプリケーションに適合させることができます |
多言語-E5-Large-Instruct | 5億6,000万 | 1024 | 514 | 94 | Na |
以下の実用的なチュートリアルでは、ヒンディー語のドキュメントの検索と新しくリリースされた最新のジェミニ埋め込みと比較してから、Jina ai埋め込みおよび多言語E5-large埋め込みと比較します。
ステップ1。必要なライブラリをインストールします
<code>!pip install langchain-community !pip install chromadb</code>
ステップ2。データをロードします
Webサイトのヒンディー語データを使用して、ヒンディー語の検索でのGemini Embeddingのパフォーマンスを評価しました。
<code>from langchain_community.document_loaders import WebBaseLoader loader = WebBaseLoader("https://ckbirlahospitals.com/rbh/blog/pregnancy-early-symptoms-in-hindi") data = loader.load()</code>
ステップ3。データをブロックします
次のコードでは、recursiveCharacterTextSplitterを使用して、大きなテキストドキュメントを重複せずに500文字のチャンクに分割します。次に、この分割をDataVariableに適用し、結果をAll_Splitsに保存します。 gemini埋め込みAPIのレート制限により、10個のスプリットのみを使用します。
<code>from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0) all_splits = text_splitter.split_documents(data) all_splits = all_splits[:10]</code>
ステップ4。データをベクトルデータベースに保存します
最初に、「GeminiembedingFunction」というクラスを作成します。これは、APIの埋め込みを照会し、入力クエリの埋め込み値を返すのに役立ちます。次に、「create_chroma_db」という関数を作成して、データと埋め込みを保存するChromaDBにコレクションを作成します。
<code>import chromadb from chromadb import Documents, EmbeddingFunction, Embeddings class GeminiEmbeddingFunction(EmbeddingFunction): def __call__(self, input: Documents) -> Embeddings: title = "Custom query" return client.models.embed_content( model="gemini-embedding-exp-03-07", contents=input).embeddings[0].values def create_chroma_db(documents, name): chroma_client = chromadb.Client() db = chroma_client.create_collection(name=name, embedding_function=GeminiEmbeddingFunction()) for i, d in enumerate(documents): db.add( documents=d.page_content, ids=str(i) ) return db db = create_chroma_db(all_splits, "datab")</code>
ステップ5。データベースをクエリします
<code>def get_relevant_passage(query, db): passage = db.query(query_texts=[query], n_results=1)['documents'][0][0] return passage passage = get_relevant_passage("आपको प्रेगनेंसी टेस्ट कब करवाना चाहिए?", db) print(passage)</code>
ステップ6。JinaAI埋め込みと比較します
次のコードでは、ハグするフェイストランスモデルを使用して、カスタム埋め込み関数を定義し、テキスト入力を処理して埋め込みを生成する方法を定義しています。
<code>from transformers import AutoTokenizer, AutoModel from chromadb import EmbeddingFunction tokenizer = AutoTokenizer.from_pretrained('jinaai/jina-embeddings-v3') model = AutoModel.from_pretrained('jinaai/jina-embeddings-v3') # the model returns many hidden states per document so we must aggregate them def average_pool(last_hidden_states, attention_mask): last_hidden = last_hidden_states.masked_fill(~attention_mask[...,None].bool(), 0.0) return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[...,None] class CustomHuggingFace(EmbeddingFunction): def __call__(self, texts): queries = [f'query: {text}' for text in texts] batch_dict = tokenizer(texts, max_length=512, padding=True, truncation=True, return_tensors='pt') outputs = model(**batch_dict) embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask']) return embeddings.tolist()</code>
クエリ
<code>def get_relevant_passage(query, db): passage = db.query(query_texts=[query], n_results=1)['documents'][0][0] return passage passage = get_relevant_passage("आपको प्रेगनेंसी टेस्ट कब करवाना चाहिए?", db) print(passage)</code>
多言語-E5-Large Embedを選択するために、トークン剤とモデルを「intfloat/multilingual-e5-large-instruct」に置き換えるだけです。
質問番号 | クエリ | ジェミニ埋め込み | Jinaai/Jina-embeddings-V3 | intfloat/multhingual-e5-rarge-intruct |
1 | आपकोपपです。 | 妊娠の初期症状についてもっと知りたい場合は、このブログ投稿はあなたにぴったりです。妊娠検査はいつ必要ですか? -間違い | 妊娠の初期症状についてもっと知りたい場合は、このブログ投稿はあなたにぴったりです。妊娠検査はいつ必要ですか? -間違い | 妊娠の初期症状についてもっと知りたい場合は、このブログ投稿はあなたにぴったりです。妊娠検査はいつ必要ですか? -間違い |
2 | 妊娠केkuchシンボル | 妊娠の初期症状は何ですか?妊娠中、女性では多くのホルモンの変化が起こります。妊娠の初期の症状には、吐き気、嘔吐、頻繁な排尿、疲労が含まれます。これについては、このブログ投稿で説明します。 -正しい | 妊娠の兆候:早期症状に関する完全な情報!ホームクイックコンサルテーション患者ログイン当社はお問い合わせください:08062136530緊急電話:07340054470メインメニューを開いて患者と訪問者にサービスを提供する国際患者にサービスを提供します。産婦人科|妊娠の初期症状は何ですか?妊娠妊娠の早期症状 -エラー | 妊娠の初期症状は何ですか?妊娠中、女性では多くのホルモンの変化が起こります。妊娠の初期の症状には、吐き気、嘔吐、頻繁な排尿、疲労が含まれます。これについては、このブログ投稿で説明します。 -正しい |
3 | गग婦するまみथするएंटीबするएंटीबするदवするलेनेसेबचなりबच? | 妊娠の最初の数日間、卵と精子が受精し、出血や腹痛などの症状を引き起こします。この期間中、健康な妊娠のために、女性は抗生物質を服用することを避けることをお勧めします。これは母親や赤ちゃんにとって危険である可能性があるためです。妊娠の早期症状は、常に月経や嘔吐が遅れるとは限りません。さらに、他の症状が発生する可能性があり、 -正しいなどの特別な注意が必要です | 妊娠の最初の数日間、卵と精子が受精し、出血や腹痛などの症状を引き起こします。この期間中、健康な妊娠のために、女性は抗生物質を服用することを避けることをお勧めします。これは母親や赤ちゃんにとって危険である可能性があるためです。妊娠の早期症状は、常に月経や嘔吐が遅れるとは限りません。さらに、他の症状が発生する可能性があり、 -正しいなどの特別な注意が必要です | すべての女性が知っておくべきこと。妊娠関連の質問については、婦人科医に連絡してすべての合併症を排除することをお勧めします。 -間違い |
4 | कबकबなりकबするするげथ#दव#€लेनेबचなりするか? | 妊娠の最初の数日間、卵と精子が受精し、出血や腹痛などの症状を引き起こします。この期間中、健康な妊娠のために、女性は抗生物質を服用することを避けることをお勧めします。これは母親や赤ちゃんにとって危険である可能性があるためです。妊娠の早期症状は、常に月経や嘔吐が遅れるとは限りません。さらに、他の症状が発生する可能性があり、 -正しいなどの特別な注意が必要です | 妊娠の最初の数日間、卵と精子が受精し、出血や腹痛などの症状を引き起こします。この期間中、健康な妊娠のために、女性は抗生物質を服用することを避けることをお勧めします。これは母親や赤ちゃんにとって危険である可能性があるためです。妊娠の早期症状は、常に月経や嘔吐が遅れるとは限りません。さらに、他の症状が発生する可能性があり、 -正しいなどの特別な注意が必要です | すべての女性が知っておくべきこと。妊娠関連の質問については、婦人科医に連絡してすべての合併症を排除することをお勧めします。 -間違い |
5 | गग婦कक現。 | 遅延月経:これは妊娠の最も早く最も一般的な症状です。この症状のみに基づいて妊娠の確認は完全に正しいものではありません。ただし、月経が1週間以上遅れている場合は、妊娠検査をお勧めします。乳房の変化:妊娠中、乳房は腫れ、柔らかくなり、色が変わります。それは主に乳首(areola)のサイズと色の変化です。 -正しい | これを念頭に置いて、妊娠を確認する方法は?妊娠の最初の月の世話をする方法は?妊娠検査方法は?妊娠中はどうすればいいですか?妊娠中は性別が発生する必要がありますか?妊娠中はどんな果物を食べるべきですか?妊娠中はどれくらいの水を飲むべきですか?母親になる喜びは、世界で最大の幸福です。妊娠中、女性の身体的および心理的変化には多くの変化があります。これらの変化を妊娠の早期症状と呼びます -エラー | 妊娠の初期症状は何ですか?妊娠中、女性では多くのホルモンの変化が起こります。妊娠の初期の症状には、吐き気、嘔吐、頻繁な排尿、疲労が含まれます。これについては、このブログ投稿で説明します。 -正しい |
6 | गग左でभधपहले | 妊娠の兆候:早期症状に関する完全な情報!ホームクイックコンサルテーション患者ログイン当社はお問い合わせください:08062136530緊急電話:07340054470メインメニューを開いて患者と訪問者にサービスを提供する国際患者にサービスを提供します。産婦人科|妊娠の初期症状は何ですか?妊娠妊娠の早期症状 -エラー | これを念頭に置いて、妊娠を確認する方法は?妊娠の最初の月の世話をする方法は?妊娠検査方法は?妊娠中はどうすればいいですか?妊娠中は性別が発生する必要がありますか?妊娠中はどんな果物を食べるべきですか?妊娠中はどれくらいの水を飲むべきですか?母親になる喜びは、世界で最大の幸福です。妊娠中、女性の身体的および心理的変化には多くの変化があります。これらの変化を妊娠の早期症状と呼びます -エラー | 妊娠の初期症状は何ですか?妊娠中、女性では多くのホルモンの変化が起こります。妊娠の初期の症状には、吐き気、嘔吐、頻繁な排尿、疲労が含まれます。これについては、このブログ投稿で説明します。 - 正しい |
7 | ग左手 | 妊娠検査を受けるのに最適な時期は、月経が少なくとも7日遅れた後です。自宅の妊娠検査ツールを使用して、自宅のHCGレベルを検出できます。妊娠中、このホルモンのレベルは大幅に増加します。注意する必要があることの1つは、早期テストも間違った結果につながる可能性があるため、期間が遅れてテストがマイナスである場合は、テストする前に少なくとも3日間待つことをお勧めします。 -正しい | これを行う正しい方法もあります。これについては、テストツールマニュアルでも確認できます。正確な結果を得るには、HCGホルモンの正しいレベルを測定できるため、朝の最初の尿を使用する必要があります。また、妊娠の早期症状が発生し、検査結果が陰性である場合は、すぐに血液検査について医師に相談してください。いずれにせよ、質問がある場合は医師に相談する必要があります。 -正しい | 妊娠の初期症状は何ですか?妊娠中、女性では多くのホルモンの変化が起こります。妊娠の初期の症状には、吐き気、嘔吐、頻繁な排尿、疲労が含まれます。これについては、このブログ投稿で説明します。 -間違い |
上記のヒンディー語の出力からわかるように、Gemini Embeddingを使用して、Jina AI EmbeddingとMultilingual-E5-Largeを使用しながら、7つのクエリから5つの正しい出力を取得します。正しい応答は3つしかありません。
これは、MTEBベンチマークに反映されているように、ジェミニの埋め込みはうまく機能し、他の埋め込みモデルよりもヒンディー語などの多言語を扱うことを示しています。
要するに、ジェミニの埋め込みは、特にヒンディー語などのヒンディー語で、多言語NLPの大幅な進歩を表しています。強力な多言語機能、大規模な入力サイズのサポート、MTEBなどのベンチマークでの優れたパフォーマンスにより、Geminiは検索、分類、セマンティック検索などのタスクに優れています。実用的な比較を通じて、ジェミニのパフォーマンスは他のモデルよりも優れており、より高い精度と効率を提供し、多言語NLPを促進するための貴重なツールになります。
この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用できます。
Q1。ジェミニ埋め込みモデルは何ですか? A:Gemini EmbeddingモデルはGoogleのGemini AIに基づいており、ヒンディー語を含む100を超える言語に一流の多言語テキスト埋め込みを提供します。
Q2。 A:Gemini Embeddingは多言語サポートに優れており、8000のマーカーと出力3072寸法を処理し、分類、検索、セマンティック検索の効率を確保できます。
Q3。回答:ジェミニ埋め込みは、アッサムやマケドニアなどの英語や低リソースの言語などの高リソース言語でうまく機能します。 MTEB多言語のランキングでナンバーワンにランクされており、その強力な多言語機能を示しています。
Q4。 A:モデルはGemini LLMから初期化され、双方向の注意を払ったトランスアーキテクチャを使用して、コンテキストと意味をキャプチャする高品質のテキスト埋め込みを生成します。
Q5。 A:Gemini Embeddingは、トレーニングのためにバッチ内の否定的な例でノイズ比較推定(NCE)損失を使用します。 2つのトレーニングフェーズを通過します。大規模なデータセットでの事前調整とタスク固有のデータセットで、NLPパフォーマンスを改善します。
以上がジェミニ埋め込みと多言語E5-large&jinaの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。