--- language: - ja license_name: sarahina-non-commercial-license license_link: LICENSE tags: - transformers - sentence-similarity - feature-extraction - sentence-transformers inference: false datasets: - hpprc/emb - cl-nagoya/auto-wiki-qa - cl-nagoya/ruri-dataset-ft - hpprc/mqa-ja - izumi-lab/llm-japanese-dataset - sentence-transformers/NQ-retrieval - sbintuitions/JSQuAD - SkelterLabsInc/JaQuAD --- # Sarashina-Embedding-v1-1B 「Sarashina-embedding-v1-1b」は、1.2Bパラメータの日本語LLM「[Sarashina2.1-1B](https://huggingface.co/sbintuitions/sarashina2.1-1b)」をベースにした日本語テキスト埋め込みモデルです。 このモデルは、マルチステージの対照学習で訓練し、 [JMTEB](https://huggingface.co/datasets/sbintuitions/JMTEB) (Japanese Massive Text Embedding Benchmark)の16個のデータセットの平均で、(2024/12/1時点で)最高水準の平均スコアを達成しました。 このモデルは、文や段落を1792次元の高密度ベクトル空間にマッピングし、意味的テキスト類似度、意味的検索、paraphrase mining、テキスト分類、クラスタリングなどに使用できます。 ## モデル詳細 ### モデル説明 - **モデルタイプ:** Sentence Transformer - **ベースモデル:** [Sarashina2.1-1B](https://huggingface.co/sbintuitions/sarashina2.1-1b) - **最大シーケンス長:** 8,192トークン - **出力次元数:** 1,792次元 - **類似度関数:** コサイン類似度 - **言語:** 日本語 - **ライセンス:** [Sarashina Model NonCommercial License Agreement](https://huggingface.co/sbintuitions/sarashina-embedding-v1-1b/blob/main/LICENSE) ### モデルアーキテクチャ ``` SentenceTransformer( (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: LlamaModel (1): Pooling({'word_embedding_dimension': 1792, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': True, 'include_prompt': False}) ) ``` ## 使用方法 ### Sentence Transformersを使う方法 まず、Sentence Transformersライブラリをインストールします。 ```bash pip install -U sentence-transformers ``` 次に、このモデルをロードし、推論を実行します。 ```python from sentence_transformers import SentenceTransformer # 🤗 Hubからモデルをダウンロードする model = SentenceTransformer("sbintuitions/sarashina-embedding-v1-1b") # 推論を実行する sentences = [ '更級日記は、平安時代中期に菅原孝標女によって書かれた回想録です。', 'Sarashinaは、SB Intuitionsが開発した日本語大規模言語モデルです。これまでに7B, 13B, 70B, 8x70Bのモデルが公開されています。', '更科蕎麦とはなんですか?' ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 1792] # 埋め込みの類似度スコアを取得する similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` **注意** - "Query: ", "Document: "などのprefixを入力文の先頭に加える必要はありません。 - このモデルは[Sarashina Model NonCommercial License Agreement](https://huggingface.co/sbintuitions/sarashina-embedding-v1-1b/blob/main/LICENSE)でライセンスされており、商用利用には制限があります。もしあなたのビジネスでこのモデルを活用することに興味がある場合は、気軽に[コンタクトページ](https://www.sbintuitions.co.jp/#contact)にご連絡ください。 ## 学習 "Sarashina-Embedding-v1-1B"は、以下の2段階の学習ステージによって行われています。 ### Stage 1: 弱教師あり学習 幅広いドメインに対して汎用的なテキスト埋め込みの性能を達成するために、私たちは、独自webクロールデータとオープンデータで構成された弱教師データによる対照学習を行いました。 #### データセット |dataset|counts| |:-:|:-:| |AutoWikiQA|50,521,135| |web-crawled data|47,370,649| |MQA|12,941,472| |llm-japanese-dataset|9,074,340| |wikipedia|5,555,212| |Quiz dataset|988,478| |Natural Questions|132,796| |JSQuAD|62,859| |snow|62,758| |JaQuAD|31,746| |mkqa|3,318| ||| |**total**|**126,744,763**| ### Stage 2: ファインチューニング より正確なクエリ-ドキュメント間の類似度をモデルに学習させるために、私たちは以下のようなデータセットでファインチューニングを行いました。 #### データセット |dataset|counts| |:-:|:-:| |JSNLI|141,388 | |NU-MNLI|67,987| |Mr. TyDi (only Japanese subset)| 3,697 | |Natural Question (sampled)| 20,000| ||| |**total**|**233,072**| ## [JMTEB](https://huggingface.co/datasets/sbintuitions/JMTEB)による性能評価 Model |Max Tokens|Avg. | Retrieval | STS | Classification | Reranking | Clustering | PairClassification | |:----------------------------------------------|:----------|:----------|:------------|:----------|:-----------------|:------------|:-------------|:---------------------| | OpenAI/text-embedding-3-large | 8191 |74.05 | 74.48 | 82.52 | 77.58 | 93.58 | 53.32 | 62.35 | | [cl-nagoya/ruri-large](https://huggingface.co/intfloat/multilingual-e5-large) | 512 |73.31 | 73.02 | **83.13** | 77.43 | 92.99 | 51.82 | 62.29 | | [pkshatech/GLuCoSE-base-ja-v2](https://huggingface.co/pkshatech/GLuCoSE-base-ja-v2) | 512 |72.23 | 73.36 | 82.96 | 74.21 | 93.01 | 48.65 | **62.37** | | [pkshatech/RoSEtta-base-ja](https://huggingface.co/pkshatech/RoSEtta-base-ja) |1024 |72.04 | 73.21 | 81.39 | 72.41 | 92.69 | 53.23 | 61.74 | | [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) | 512|70.90 | 70.98 | 79.70 | 72.89 | 92.96 | 51.24 | 62.15 | ||| |[**sarashina-embedding-v1-1b**](https://huggingface.co/sbintuitions/sarashina-embedding-v1-1b)(This model)|**8192**|**75.50**|**77.61**|82.71|**78.37**|**93.74**|**53.86**|62.00| ## ライセンス このモデルは[Sarashina Model NonCommercial License Agreement](https://huggingface.co/sbintuitions/sarashina-embedding-v1-1b/blob/main/LICENSE)に基づいて公開されています. **もしこのモデルの商用利用に興味がある場合は、気軽に[コンタクトページ](https://www.sbintuitions.co.jp/#contact)にご連絡ください。**