ONNX 模型库
返回模型

说明文档

Ruri:日语通用文本嵌入

这是使用 ONNX 格式转换的模型。


Ruri:日语通用文本嵌入

Ruri v3 是基于 ModernBERT-Ja 构建的通用日语文本嵌入模型。 Ruri v3 提供了几个关键技术优势:

  • 在日语文本嵌入任务上具有最先进的性能
  • 支持最长 8192 个 token 的序列长度
    • Ruri 的早期版本(v1、v2)仅限于 512 个 token。
  • 扩展到 100K 个 token 的词表,而 v1 和 v2 仅有 32K
    • 更大的词表使输入序列更短,提高了效率。
  • 集成 FlashAttention,遵循 ModernBERT 的架构
    • 实现更快的推理和微调。
  • 仅基于 SentencePiece 的分词器
    • 与早期版本不同(早期版本依赖日语特定的 BERT 分词器并需要预分词输入),Ruri v3 仅使用 SentencePiece 进行分词——无需外部分词工具。

模型系列

我们提供多种模型尺寸的 Ruri-v3。以下是各模型的概要。

ID 参数量 参数量<br>(不含嵌入) 维度 层数 JMTEB 平均分
cl-nagoya/ruri-v3-30m 37M 10M 256 10 74.51
cl-nagoya/ruri-v3-70m 70M 31M 384 13 75.48
cl-nagoya/ruri-v3-130m 132M 80M 512 19 76.55
cl-nagoya/ruri-v3-310m 315M 236M 768 25 77.24

使用方法

您可以直接使用 transformers 库 v4.48.0 或更高版本:

pip install -U "transformers>=4.48.0" sentence-transformers

此外,如果您的 GPU 支持 Flash Attention 2,我们建议配合 Flash Attention 2 使用我们的模型。

pip install flash-attn --no-build-isolation

然后您可以加载此模型并运行推理。

import torch
import torch.nn.functional as F
from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
device = "cuda" if torch.cuda.is_available() else "cpu"
model = SentenceTransformer("cl-nagoya/ruri-v3-310m", device=device)

# Ruri v3 employs a 1+3 prefix scheme to distinguish between different types of text inputs:
# "" (empty string) is used for encoding semantic meaning.
# "トピック: " is used for classification, clustering, and encoding topical information.
# "検索クエリ: " is used for queries in retrieval tasks.
# "検索文書: " is used for documents to be retrieved.
sentences = [
    "川べりでサーフボードを持った人たちがいます",
    "サーファーたちが川べりに立っています",
    "トピック: 瑠璃色のサーファー",
    "検索クエリ: 瑠璃色はどんな色?",
    "検索文書: 瑠璃色(るりいろ)は、紫みを帯びた濃い青。名は、半貴石の瑠璃(ラピスラズリ、英: lapis lazuli)による。JIS慣用色名では「こい紫みの青」(略号 dp-pB)と定義している[1][2]。",
]

embeddings = model.encode(sentences, convert_to_tensor=True)
print(embeddings.size())
# [5, 768]

similarities = F.cosine_similarity(embeddings.unsqueeze(0), embeddings.unsqueeze(1), dim=2)
print(similarities)
# [[1.0000, 0.9603, 0.8157, 0.7074, 0.6916],
#  [0.9603, 1.0000, 0.8192, 0.7014, 0.6819],
#  [0.8157, 0.8192, 1.0000, 0.8701, 0.8470],
#  [0.7074, 0.7014, 0.8701, 1.0000, 0.9746],
#  [0.6916, 0.6819, 0.8470, 0.9746, 1.0000]]

基准测试

JMTEB

使用 JMTEB 进行评估。

模型 参数量 平均 检索 STS 分类 重排序 聚类 成对分类
Ruri-v3-30m 37M 74.51 78.08 82.48 74.80 93.00 52.12 62.40
Ruri-v3-70m 70M 75.48 79.96 79.82 76.97 93.27 52.70 61.75
Ruri-v3-130m 132M 76.55 81.89 79.25 77.16 93.31 55.36 62.26
Ruri-v3-310m<br/>(本模型) 315M 77.24 81.89 81.22 78.66 93.43 55.69 62.60
sbintuitions/sarashina-embedding-v1-1b 1.22B 75.50 77.61 82.71 78.37 93.74 53.86 62.00
PLaMo-Embedding-1B 1.05B 76.10 79.94 83.14 77.20 93.57 53.47 62.37
OpenAI/text-embedding-ada-002 - 69.48 64.38 79.02 69.75 93.04 48.30 62.40
OpenAI/text-embedding-3-small - 70.86 66.39 79.46 73.06 92.92 51.06 62.27
OpenAI/text-embedding-3-large - 73.97 74.48 82.52 77.58 93.58 53.32 62.35
pkshatech/GLuCoSE-base-ja 133M 70.44 59.02 78.71 76.82 91.90 49.78 66.39
pkshatech/GLuCoSE-base-ja-v2 133M 72.23 73.36 82.96 74.21 93.01 48.65 62.37
retrieva-jp/amber-base 130M 72.12 73.40 77.81 76.14 93.27 48.05 64.03
retrieva-jp/amber-large 315M 73.22 75.40 79.32 77.14 93.54 48.73 60.97
sentence-transformers/LaBSE 472M 64.70 40.12 76.56 72.66 91.63 44.88 62.33
intfloat/multilingual-e5-small 118M 69.52 67.27 80.07 67.62 93.03 46.91 62.19
intfloat/multilingual-e5-base 278M 70.12 68.21 79.84 69.30 92.85 48.26 62.26
intfloat/multilingual-e5-large 560M 71.65 70.98 79.70 72.89 92.96 51.24 62.15
Ruri-Small 68M 71.53 69.41 82.79 76.22 93.00 51.19 62.11
Ruri-Small v2 68M 73.30 73.94 82.91 76.17 93.20 51.58 62.32
Ruri-Base 111M 71.91 69.82 82.87 75.58 92.91 54.16 62.38
Ruri-Base v2 111M 72.48 72.33 83.03 75.34 93.17 51.38 62.35
Ruri-Large 337M 73.31 73.02 83.13 77.43 92.99 51.82 62.29
Ruri-Large v2 337M 74.55 76.34 83.17 77.18 93.21 52.14 62.27

模型详情

模型描述

  • 模型类型: 句子 Transformer
  • 基础模型: cl-nagoya/ruri-v3-pt-310m
  • 最大序列长度: 8192 个 token
  • 输出维度: 768
  • 相似度函数: 余弦相似度
  • 语言: 日语
  • 许可证: Apache 2.0
  • 论文: https://arxiv.org/abs/2409.07737

完整模型架构

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

引用

@misc{
  Ruri,
  title={{Ruri: Japanese General Text Embeddings}}, 
  author={Hayato Tsukagoshi and Ryohei Sasano},
  year={2024},
  eprint={2409.07737},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2409.07737}, 
}

许可证

本模型基于 Apache License, Version 2.0 发布。

Japan-AI-Consulting/ruri-v3-310m-onnx

作者 Japan-AI-Consulting

sentence-similarity
↓ 0 ♥ 0

创建时间: 2025-11-22 14:55:56+00:00

更新时间: 2025-11-22 14:56:42+00:00

在 Hugging Face 上查看

文件 (15)

.gitattributes
1_Pooling/config.json
CONVERSION_SUMMARY.md
README.md
config.json
config_sentence_transformers.json
conversion_report.json
model.onnx ONNX
model.safetensors
modules.json
sentence_bert_config.json
special_tokens_map.json
tokenizer.json
tokenizer.model
tokenizer_config.json