/ Модель

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

Контекст
514 токенов
Параметры
138 млн
Лицензия
Apache 2.0
Архитектура
luke · dense
Базовая модель
GLuCoSE-base-ja
Библиотека
sentence-transformers
Опубликована
22 авг 2024

GLuCoSE-base-ja-v2

ЭмбеддингиТекст → embedding9 профессий

Японская модель эмбеддингов на основе LUKE для семантического поиска и сравнения смысловой близости предложений.

14 885скачиваний за 30 дней24лайкавеса обновлены27 сен 2024

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

GLuCoSE-base-ja-v2 — японская модель эмбеддингов текста, разработанная Chihiro Yano, Mocho Go, Hideyuki Tachibana, Hiroto Takegawa и Yotaro Watanabe. Это дообученная дистилляцией и многоэтапным контрастивным обучением версия GLuCoSE-base-ja на основе архитектуры LUKE; она создаёт векторные представления предложений и фрагментов текста для поиска и сравнения смысла. Модель содержит 138,4 млн параметров, выдаёт эмбеддинги размерностью 768 и поддерживает контекст до 512 токенов по README и 514 токенов по метаданным. Для запросов и документов при инференсе требуются префиксы «query: » и «passage: » соответственно; близость оценивают косинусным сходством.

Модель ориентирована на японский язык и задачи поиска: по описанию авторов, она показывает высокие результаты среди моделей сопоставимого размера в MIRACL и других тестах. Может работать на CPU и доступна через библиотеку Sentence Transformers. Подходит для семантического поиска, извлечения релевантных фрагментов и оценки сходства предложений. Распространяется по лицензии Apache-2.0. Результаты зависят от корректного добавления префиксов и соответствия корпуса японскому языку.

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

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

Ограничения

Для запросов и документов требуются соответствующие префиксы «query: » и «passage: ». Модель оптимизирована для японского текста, поэтому её не следует считать универсальной для других языков.

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

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

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

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

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

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

Открыть на Hugging Face

GLuCoSE v2

This model is a general Japanese text embedding model, excelling in retrieval tasks. It can run on CPU and is designed to measure semantic similarity between sentences, as well as to function as a retrieval system for searching passages based on queries.

Key features:

  • Specialized for retrieval tasks, it demonstrates the highest performance among similar size models in MIRACL and other tasks .
  • Optimized for Japanese text processing
  • Can run on CPU

During inference, the prefix "query: " or "passage: " is required. Please check the Usage section for details.

Model Description

The model is based on GLuCoSE and fine-tuned through distillation using several large-scale embedding models and multi-stage contrastive learning.

  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Usage

Direct Usage (Sentence Transformers)

You can perform inference using SentenceTransformer with the following code:

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

# Download from the 🤗 Hub
model = SentenceTransformer("pkshatech/GLuCoSE-base-ja-v2")

# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
sentences = [
    'query: PKSHAはどんな会社ですか?',
    'passage: 研究開発したアルゴリズムを、多くの企業のソフトウエア・オペレーションに導入しています。',
    'query: 日本で一番高い山は?',
    'passage: 富士山(ふじさん)は、標高3776.12 m、日本最高峰(剣ヶ峰)の独立峰で、その優美な風貌は日本国外でも日本の象徴として広く知られている。',
]
embeddings = model.encode(sentences,convert_to_tensor=True)
print(embeddings.shape)
# [4, 768]

# Get the similarity scores for the embeddings
similarities = F.cosine_similarity(embeddings.unsqueeze(0), embeddings.unsqueeze(1), dim=2)
print(similarities)
# [[1.0000, 0.6050, 0.4341, 0.5537],
# [0.6050, 1.0000, 0.5018, 0.6815],
# [0.4341, 0.5018, 1.0000, 0.7534],
# [0.5537, 0.6815, 0.7534, 1.0000]]

Direct Usage (Transformers)

You can perform inference using Transformers with the following code:

import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel

def mean_pooling(last_hidden_states: Tensor,attention_mask: Tensor) -> Tensor:
    emb = last_hidden_states * attention_mask.unsqueeze(-1)
    emb = emb.sum(dim=1) / attention_mask.sum(dim=1).unsqueeze(-1)
    return emb

# Download from the 🤗 Hub
tokenizer = AutoTokenizer.from_pretrained("pkshatech/GLuCoSE-base-ja-v2")
model = AutoModel.from_pretrained("pkshatech/GLuCoSE-base-ja-v2")

# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
sentences = [
    'query: PKSHAはどんな会社ですか?',
    'passage: 研究開発したアルゴリズムを、多くの企業のソフトウエア・オペレーションに導入しています。',
    'query: 日本で一番高い山は?',
    'passage: 富士山(ふじさん)は、標高3776.12 m、日本最高峰(剣ヶ峰)の独立峰で、その優美な風貌は日本国外でも日本の象徴として広く知られている。',
]

# Tokenize the input texts
batch_dict = tokenizer(sentences, max_length=512, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = mean_pooling(outputs.last_hidden_state, batch_dict['attention_mask'])
print(embeddings.shape)
# [4, 768]

# Get the similarity scores for the embeddings
similarities = F.cosine_similarity(embeddings.unsqueeze(0), embeddings.unsqueeze(1), dim=2)
print(similarities)
# [[1.0000, 0.6050, 0.4341, 0.5537],
# [0.6050, 1.0000, 0.5018, 0.6815],
# [0.4341, 0.5018, 1.0000, 0.7534],
# [0.5537, 0.6815, 0.7534, 1.0000]]

Training Details

The fine-tuning of GLuCoSE v2 is carried out through the following steps:

Step 1: Ensemble distillation

Step 2: Contrastive learning

  • Triplets were created from JSNLI, MNLI, PAWS-X, JSeM and Mr.TyDi and used for training.
  • This training aimed to improve the overall performance as a sentence embedding model.

Step 3: Search-specific contrastive learning

Benchmarks

Retrieval

Evaluated with MIRACL-ja, JQARA , JaCWIR and MLDR-ja.

ModelSizeMIRACLRecall@5JQaRAnDCG@10JaCWIRMAP@10MLDRnDCG@10
intfloat/multilingual-e5-large0.6B89.255.487.629.8
cl-nagoya/ruri-large0.3B78.762.485.037.5
intfloat/multilingual-e5-base0.3B84.247.285.325.4
cl-nagoya/ruri-base0.1B74.358.184.635.3
pkshatech/GLuCoSE-base-ja0.1B53.330.868.625.2
GLuCoSE v20.1B85.560.685.333.8

Note: Results for OpenAI small embeddings in JQARA and JaCWIR are quoted from the JQARA and JaCWIR.

JMTEB

Evaluated with JMTEB. The average score is macro-average.

ModelSizeAvg.RetrievalSTSClassificationRerankingClusteringPairClassification
OpenAI/text-embedding-3-small-69.1866.3979.4673.0692.9251.0662.27
OpenAI/text-embedding-3-large-74.0574.4882.5277.5893.5853.3262.35
intfloat/multilingual-e5-large0.6B70.9070.9879.7072.8992.9651.2462.15
cl-nagoya/ruri-large0.3B73.3173.0283.1377.4392.9951.8262.29
intfloat/multilingual-e5-base0.3B68.6168.2179.8469.3092.8548.2662.26
cl-nagoya/ruri-base0.1B71.9169.8282.8775.5892.9154.1662.38
pkshatech/GLuCoSE-base-ja0.1B67.2959.0278.7176.8291.9049.7866.39
GLuCoSE v20.1B72.2373.3682.9674.2193.0148.6562.37

Note: Results for OpenAI embeddings and multilingual-e5 models are quoted from the JMTEB leaderboard. Results for ruri are quoted from the cl-nagoya/ruri-base model card.

Authors

Chihiro Yano, Mocho Go, Hideyuki Tachibana, Hiroto Takegawa, Yotaro Watanabe

License

This model is published under the Apache License, Version 2.0.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
LukeModel
Ревизия весов
a6cbdf4

0 моделей