akiFQCint's picture
fix readme
edafeb4
|
raw
history blame
6.89 kB
metadata
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」をベースにした日本語テキスト埋め込みモデルです。

このモデルは、マルチステージの対照学習で訓練し、 JMTEB (Japanese Massive Text Embedding Benchmark)の16個のデータセットの平均で、(2024/12/1時点で)最高水準の平均スコアを達成しました。

このモデルは、文や段落を1792次元の高密度ベクトル空間にマッピングし、意味的テキスト類似度、意味的検索、paraphrase mining、テキスト分類、クラスタリングなどに使用できます。

モデル詳細

モデル説明

モデルアーキテクチャ

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ライブラリをインストールします。

pip install -U sentence-transformers

次に、このモデルをロードし、推論を実行します。

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でライセンスされており、商用利用には制限があります。もしあなたのビジネスでこのモデルを活用することに興味がある場合は、気軽にコンタクトページにご連絡ください。

学習

"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による性能評価

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 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 Model NonCommercial License Agreementに基づいて公開されています.

もしこのモデルの商用利用に興味がある場合は、気軽にコンタクトページにご連絡ください。