/ Модель

Характеристики

Контекст
512 токенов
Параметры
138 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
bert-base-japanese-v3
Опубликована
6 окт 2024

japanese-splade-base-v1

Заполнение пропусковТекст → текст5 профессий

Японская SPLADE-модель преобразует текст в разреженные векторы для поиска и извлечения документов.

37скачиваний за 30 дней8лайковвеса обновлены23 дек 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

hotchpotch разработала japanese-splade-base-v1 — японскую модель SPLADE для поиска по тексту. Она преобразует текст в разреженные векторы с лексическим расширением, подходящие для построения поискового индекса и извлечения релевантных документов. В основе — дообученная BERT-модель tohoku-nlp/bert-base-japanese-v3 с архитектурой BertForMaskedLM; модель содержит 138,4 млн параметров и обрабатывает контекст до 512 токенов.

Модель предназначена для японского информационного поиска и retrieval-сценариев. В README приведены оценки на JMTEB, JaCWIR и JQaRA; для части наборов данных отмечено обучение на доменных данных, поэтому результаты на них могут не отражать качество на новых доменах. При запуске через text-embeddings-inference автор рекомендует использовать отдельный fast tokenizer. Лицензия — MIT.

Сценарии применения

  • построение разреженного поискового индекса по японским документам
  • поиск японских документов по текстовому запросу
  • извлечение релевантных фрагментов для японской системы RAG
  • поиск ответов в японских вопросно-ответных коллекциях

Ограничения

Контекст ограничен 512 токенами. В README указано, что модель обучалась на данных доменов jaqket и mrtydi, а также JQaRA, поэтому оценки на этих наборах могут быть завышены относительно новых доменов.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

高性能な日本語 SPLADE (Sparse Lexical and Expansion Model) モデルです。テキストからスパースベクトルへの変換デモで、どのようなスパースベクトルに変換できるか、WebUI から気軽にお試しいただけます。

また、モデルの学習にはYAST - Yet Another SPLADE or Sparse Trainerを使っています。

利用方法

YASEM (Yet Another Splade|Sparse Embedder)

pip install yasem
from yasem import SpladeEmbedder

model_name = "hotchpotch/japanese-splade-base-v1"
embedder = SpladeEmbedder(model_name)

sentences = [
  "車の燃費を向上させる方法は?",
  "急発進や急ブレーキを避け、一定速度で走行することで燃費が向上します。",
  "車を長持ちさせるには、消耗品を適切なタイミングで交換することが重要です。",
]

embeddings = embedder.encode(sentences)
similarity = embedder.similarity(embeddings, embeddings)

print(similarity)
# [[21.49299249 10.48868281  6.25582337]
#  [10.48868281 12.90587398  3.19429791]
#  [ 6.25582337  3.19429791 12.89678271]]
token_values = embedder.get_token_values(embeddings[0])

print(token_values)

#{
#    '車': 2.1796875,
#    '燃費': 2.146484375,
#    '向上': 1.7353515625,
#    '方法': 1.55859375,
#    '燃料': 1.3291015625,
#    '効果': 1.1376953125,
#    '良い': 0.873046875,
#    '改善': 0.8466796875,
#    'アップ': 0.833984375,
#    'いう': 0.70849609375,
#    '理由': 0.64453125,
# ...

transformers


from transformers import AutoModelForMaskedLM, AutoTokenizer
import torch

model = AutoModelForMaskedLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

def splade_max_pooling(logits, attention_mask):
    relu_log = torch.log(1 + torch.relu(logits))
    weighted_log = relu_log * attention_mask.unsqueeze(-1)
    max_val, _ = torch.max(weighted_log, dim=1)
    return max_val

tokens = tokenizer(
    sentences, return_tensors="pt", padding=True, truncation=True, max_length=512
)
tokens = {k: v.to(model.device) for k, v in tokens.items()}

with torch.no_grad():
    outputs = model(**tokens)
embeddings = splade_max_pooling(outputs.logits, tokens["attention_mask"])

similarity = torch.matmul(embeddings.unsqueeze(0), embeddings.T).squeeze(0)
print(similarity)

# tensor([[21.4943, 10.4816,  6.2540],
#         [10.4816, 12.9024,  3.1939],
#         [ 6.2540,  3.1939, 12.8919]])

ベンチマークスコア

retrieval (JMTEB)

JMTEB の評価結果です。japanese-splade-base-v1 は JMTEB をスパースベクトルで評価できるように変更したコードでの評価となっています。 なお、japanese-splade-base-v1 は jaqket, mrtydi のドメインを学習(testのデータ以外)しています。

model_nameAvg.jagovfaqs_22kjaqketmrtydinlp_journal_abs_intronlp_journal_title_absnlp_journal_title_intro
japanese-splade-base-v10.74650.64990.69920.43650.89670.97660.8203
text-embedding-3-large0.74480.72410.48210.34880.99330.96550.9547
GLuCoSE-base-ja-v20.73360.69790.67290.41860.90290.95110.7580
multilingual-e5-large0.70980.70300.58780.43630.86000.94700.7248
multilingual-e5-small0.67270.64110.49970.36050.85210.95260.7299
ruri-large0.73020.76680.61740.38030.87120.96580.7797

reranking

JaCWIR

なお、japanese-splade-base-v1 は JaCWIR のドメインを学習していません。

model_namesmap@10hit_rate@10
japanese-splade-base-v10.91220.9854
text-embedding-3-small0.81680.9506
GLuCoSE-base-ja-v20.85670.9676
bge-m3+dense0.86420.9684
multilingual-e5-large0.87590.9726
multilingual-e5-small0.8690.97
ruri-large0.82910.9594

JQaRA

なお、japanese-splade-base-v1 は JQaRA のドメイン(test以外)を学習したものとなっています。

model_namesndcg@10mrr@10
japanese-splade-base-v10.64410.8616
text-embedding-3-small0.38810.6107
bge-m3+dense0.5390.7854
multilingual-e5-large0.5540.7988
multilingual-e5-small0.49170.7291
GLuCoSE-base-ja-v20.6060.8359
ruri-large0.62870.8418

学習元データセット

hpprc/emb から、auto-wiki-qa, mmarco, jsquad jaquad, auto-wiki-qa-nemotron, quiz-works quiz-no-mori, miracl, jqara mr-tydi, baobab-wiki-retrieval, mkqa データセットを利用しています。 また英語データセットとして、MS Marcoを利用しています。

注意事項

text-embeddings-inference で動かす場合、hotchpotch/japanese-splade-base-v1-dummy-fast-tokenizer-for-teiをご利用ください。

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForMaskedLM
Ревизия весов
5b98bfd

0 моделей