Sarashina-Embedding-v1-1B: 日本語LLMをベースにしたテキスト埋め込み(1/2)~基本編~

TL;DR

Sarashina-Embedding-v1-1Bという日本語特化テキスト埋め込みモデルを開発し、モデルを公開.

  • 12億パラメータの日本語言語モデルであるSarashina2.1-1Bを事前学習モデルとした日本語テキスト埋め込みモデル。
  • コンテキスト長は8192トークンで、日本語特化モデルとしては最大。
  • JMTEBベンチマークで最高水準のスコアを達成。特にRetrieval、Classification等でハイスコア。
  • 公開ページ: https://huggingface.co/sbintuitions/sarashina-embedding-v1-1b

図1: JMTEBベンチマークでのSarashina-Embedding-v1-1Bと先行モデルの平均スコア

概要

こんにちは、RAGコア構築チームの福地です。

Sarashina-Embedding-v1-1Bという日本語テキスト埋め込みモデルを開発・公開しました。このブログではSarashina-Embedding-v1-1Bの特徴や性能評価について紹介します。

モデルの学習方法や使い方については、後日別のブログで紹介したいと思いますので、ご期待ください。

テキスト埋め込みとは

自然言語処理において、「テキスト埋め込みモデル」はテキストをベクトルに変換するモデルを指します。 意味的に近いテキストは近いベクトルに、遠いテキストは遠いベクトルになるように設計されています(図2)。

図2. テキスト埋め込みの概念。 意味的に近いテキストは近いベクトルに、遠いテキストは遠いベクトルに変換される。

テキスト埋め込みモデルは、情報検索や質問応答システム、テキストクラスタリング、文書分類などに応用できます。特に、検索拡張生成(Retrieval-Augmented Generation、RAG)技術においては、埋め込みモデルによるテキストの意味的な類似度の計算が重要な役割を果たします。RAGは、大規模言語モデル(LLM)によるテキスト生成に外部情報の検索を組み合わせることで回答の正確性を向上させる技術で、社内文書など事前学習時に学習していない情報をLLMに回答させたい場合に必須の技術です。

ここで、今までのテキスト埋め込みについて簡単に整理します。

自然言語処理分野の他の分野のモデルと同様にテキスト埋め込みモデルにもそれぞれ対応している言語があります。最も研究が進んでいる言語はもちろん英語ですが、日本語でも使えるテキスト埋め込みモデルもいくつか公開されています。それらを大別すると、日本語基盤モデルをベースに日本語に特化したモデルと、日本語に対応した多言語モデルに分類できます。

また、事前学習モデルのアーキテクチャでもテキスト埋め込みモデルを分類することができます。BERTやRoBERTaのようなencoderモデルに基づいたものと、Mistralのようなdecoderモデルに基づいたものに分けられます。最近の英語圏のリーダーボードを見てみると、後者のdecoderベースのアーキテクチャとその派生アーキテクチャが上位を占めています。他方、日本語特化のテキスト埋め込みモデルとしてdecoderベースのモデルは2024年12月1日現在ほとんど公開されていない状況です。

言語の観点とアーキテクチャの観点で、2024年12月1日現在の主要なテキスト埋め込みモデルと今回我々が公開したモデルの位置付けを整理してみました。

encoderベース decoderベース
英語 E5
GTE
Mistral-E5
多言語(日本語を含む) multilingual-E5
jina-embeddings-v3
text-embedding-ada-002(詳細不明)1
BGE-Multilingual-Gemma2
日本語 ruri-large
GLuCoSE-base-ja-v2
(NEW)Sarashina-Embedding-v1-1B

2024年12月1日時点で、日本語特化のdecoderベースで公開されているモデルはほとんどありませんでした。Sarashina-Embedding-v1-1Bは、日本語特化、decoderベースのテキスト埋め込みとして、日本語テキスト埋め込みモデルの新しい可能性を開くモデルとして位置付けることができるでしょう。

Sarashina-Embedding-v1-1Bの特徴

Sarashina-Embedding-v1-1Bは、日本語に特化した高性能なテキスト埋め込みモデルであり、以下のような特徴を有しています。

  • ベースモデル: Sarashina-Embedding-v1-1Bは、日本語と英語で構成された11.1Tトークンの学習データで事前学習された12億パラメータのLLM、Sarashina2.1-1Bをベースモデルとして使用しています。このベースモデルの優れた性能が、Sarashina-Embedding-v1-1Bの高い性能に貢献しています。

  • アーキテクチャ: Sarashina-Embedding-v1-1Bは、Sarashina2.1-1BのLlamaアーキテクチャを使っています。Causal maskを残したままのLlamaのdecoderにテキストを入力し、テキストの最後のトークン、つまりEOS(end of sequence)トークンの隠れ状態を入力テキスト全体のベクトルとします。このアーキテクチャは、英語圏のMTEBリーダーボード上のSOTAモデルであるintfloat/e5-mistral-7b-instructAlibaba-NLP/gte-Qwen2-7B-instructなどを参考にして、選定しました。

  • 最大シーケンス長: 最大シーケンス長が8,192トークンのSarashina2.1-1Bをベースモデルとして採用したことで、Sarashina-Embedding-v1-1Bの最大シーケンス長も8,192トークンとなっています。これは、OpenAI/text-embedding-3-largeと同程度のコンテキスト長であり、これまでの日本語特化の埋め込みモデルと比較して、非常に長いコンテキスト長をサポートしています。例えば、PKSHA TechnologyのRoSEtta-base-jaは最大シーケンス長1024トークンで、Sarashina-Embedding-v1-1BはRoSEtta-base-jaの8倍ものコンテキスト長の文章を処理することができます。
  • Prefixなし: Sarashina-Embedding-v1-1Bは、入力テキストに"Query: "や"Document: "などのprefixをつけなくても良いという特徴があります。PrefixをつけなくてもOpenAI/text-embedding-3-largeを超える性能を達成できたので、よりシンプルなprefixが無い仕様を採用しました。

Sarashina-Embedding-v1-1Bの使用方法については、公開ページのREADMEでご確認ください。

JMTEBによる性能評価

JMTEBとは

JMTEBはSB Intuitionsが構築・公開している日本語テキスト埋め込みベンチマークです。JMTEBでは、多様なタスクおよびドメインで評価するため、2024年12月現在、6つのタスク、計16個のデータセットを収録しています。 JMTEBについての詳細は弊社ブログ「日本語テキスト埋め込みベンチマークJMTEBの構築」をご覧ください。

結果

JMTEBを用いて、既存の主要なテキスト埋め込みモデルとSarashina-Embedding-v1-1Bの性能を評価しました。以下に、主要なタスクにおける平均スコアおよび個々のタスクでの結果を示します。

Model Max Tokens Avg. Retrieval STS Classification Reranking Clustering PairClassification
OpenAI/text-embedding-3-large2 8191 74.05 74.48 82.52 77.58 93.58 53.32 62.35
cl-nagoya/ruri-large 512 73.31 73.02 83.13 77.43 92.99 51.82 62.29
pkshatech/GLuCoSE-base-ja-v2 512 72.23 73.36 82.96 74.21 93.01 48.65 62.37
pkshatech/RoSEtta-base-ja 1024 72.04 73.21 81.39 72.41 92.69 53.23 61.74
intfloat/multilingual-e5-large 512 70.90 70.98 79.70 72.89 92.96 51.24 62.15
Sarashina-Embedding-v1-1B(This model) 8192 75.50 77.61 82.71 78.37 93.74 53.86 62.00

Sarashina-Embedding-v1-1Bは、JMTEBの16データセットの平均スコアでOpenAI/text-embedding-3-largeを上回り、全体で75.50を達成しました。特に、Retrieval(検索)タスク、Classification(文書分類)タスク、Rerankingタスク、Clustering(文書クラスタリング)タスクで最高のスコアを記録しました。中でも、Retrievalタスクでは、既存のモデルの最高スコアから3ポイント程度スコアを更新しており、Sarashina-Embedding-v1-1BはRAGの文書検索等に優れた性能を持っていると言えるでしょう。

ライセンス

Sarashina-Embedding-v1-1BはSarashina Model NonCommercial License Agreementでライセンスされており、商用利用には制限があります。

本稿をご覧いただいた方の中で、事業やプロジェクトに Sarashina-Embedding-v1-1B を使ってみたいという場合、お気軽にSB Intuitions にお問い合わせください。

<コンタクトページ>


  1. モデルの公開ページには直接的にアーキテクチャの記述がないものの、decoderモデルである"text-ada"と同じくadaを名称に含むため、text-embedding-ada-002もdecoderモデルと推測される。
  2. 2024/4/23に社内でベンチマークを行った。