/ Модель

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

Контекст
514 токенов
Параметры
152 млн
Лицензия
Apache 2.0
Архитектура
roberta · dense
Библиотека
sentence-transformers

tiroberta-bi-encoder

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

Bi-encoder для тигринья, создающий векторные представления текста для семантического поиска, кластеризации и поиска ответов.

135скачиваний за 30 дней1лайквеса обновлены30 дек 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TiRoBERTa BiEncoder — модель двунаправленного кодировщика предложений для языка тигринья, разработанная как часть работы над монолингвальными bi-encoder-моделями. Она основана на TiRoBERTa-base и использует архитектуру Sentence-Transformers: кодирует предложения и абзацы в плотные векторы размерности 768 для семантического поиска, информационного поиска, кластеризации и представления текста.

Модель обучена на наборах данных для вопросов и ответов и информационного поиска на тигринья. Репозиторий содержит веса SafeTensors; для работы подходят Sentence-Transformers и Transformers. Контекст модели — до 512 токенов по README; метаданные указывают 514 токенов. Лицензия — Apache-2.0. Это модель векторных представлений, а не генеративная языковая модель; качество за пределами тигринья и обучающих сценариев не заявлено.

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

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

Ограничения

Модель ориентирована на тигринья и имеет максимальную длину последовательности 512 токенов согласно README. Она формирует эмбеддинги, поэтому для генерации ответов или полноценного QA-процесса требуется дополнительная система.

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

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

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

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

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

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

Открыть на Hugging Face

TiRoBERTa BiEncoder Model

This model is a bi-encoder model for the Tigrinya language based on TiRoBERTa-base. The model maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like text embedding, clustering, or semantic search.

This is part of a work that introduces monolingual bi-encoder language models for Tigrinya. For a smaller and lightweight model look at TiELECTRA-bi-encoder. The models are based on the sentence-transformers architecture and are trained on Tigrinya question-answering and information retrieval datasets. The models are designed to support semantic search tasks, such as information retrieval, text representation, and question answering.

Using Model with Sentence-Transformers

Using this model becomes easy when you have sentence-transformers installed:

pip install -U sentence-transformers

Then use the model as follows:

from sentence_transformers import SentenceTransformer
sentences = ["ሓደ ሰብኣይ ፈረስ ይጋልብ ኣሎ።", "ሓንቲ ጓል ክራር ትጻወት ኣላ።"]

model = SentenceTransformer('fgaim/tiroberta-bi-encoder')
embeddings = model.encode(sentences)
print(embeddings)

Using Model with 🤗 Transformers

Use the transformers library as follows: Pass the input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.

import torch
from transformers import AutoModel, AutoTokenizer


# Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0]  # First element of model_output contains all token embeddings
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)


# Sentences we want sentence embeddings for
sentences = ["ሓደ ሰብኣይ ፈረስ ይጋልብ ኣሎ።", "ሓንቲ ጓል ክራር ትጻወት ኣላ።"]

# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained("fgaim/tiroberta-bi-encoder")
model = AutoModel.from_pretrained("fgaim/tiroberta-bi-encoder")

# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors="pt")

# Compute token embeddings
with torch.no_grad():
    model_output = model(**encoded_input)

# Perform pooling. In this case, mean pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input["attention_mask"])

print("Sentence embeddings:", sentence_embeddings)

Architecture

Base Model

The model properties:

Model SizeLayersAttn. HeadsHidden SizeFFNParametersMax. Seq
BASE12127683072125M512

BiEncoder Model

  • Maximum sequence length: 512
  • Word embedding dimension: 768
SentenceTransformer(
    Transformer(
        {
            'max_seq_length': 512,
            'do_lower_case': False
        }
    ) # with Transformer model: RobertaModel

    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,
        }
    )
)

Citation

If you use this model in your product or research, you can cite it as follows:

@misc{gaim-2024-semantic-search,
  title     = {{Semantic Search Models for Tigrinya}},
  author    = {Fitsum Gaim},
  month     = {January},
  year      = {2024},
  publisher = {Hugging Face Hub},
  doi       = {10.57967/hf/6068},
  url       = {https://huggingface.co/fgaim/tiroberta-bi-encoder}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей