/ Модель

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

Контекст
514 токенов
Параметры
659 млн
Архитектура
xlm-roberta · dense
Базовая модель
AfriE5-Large-instruct
Библиотека
sentence-transformers
Опубликована
21 сен 2026

tulati-v1-afrie5-salt

ЭмбеддингиТекст → embedding

Дообученная XLM-RoBERTa-модель создаёт текстовые эмбеддинги для семантического поиска и сравнения текстов, включая африканские языки.

126скачиваний за 30 дней0лайковвеса обновлены25 сен 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tulati-v1-afrie5-salt — текстовая Sentence Transformer-модель, созданная дообучением McGill-NLP/AfriE5-Large-instruct. Она использует XLM-RoBERTa и преобразует текст в нормализованные плотные векторы размерности 1024; сходство векторов можно оценивать косинусной мерой. Модель обучалась на 119 734 парах текстов с MultipleNegativesRankingLoss.

Модель предназначена для семантического поиска и сравнения предложений, поиска перефразировок, кластеризации и классификации по эмбеддингам. Примеры обучающих пар показывают сопоставление текстов на разных африканских языках; базовая модель также ориентирована на африканские языки. Максимальная длина последовательности в карточке — 64 токена, а метаданные указывают контекст до 514 токенов. Модель принимает текст и выдаёт текстовые эмбеддинги. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Максимальная длина последовательности в README указана как 64 токена; метаданные при этом указывают контекст 514 токенов. Лицензия и полный перечень поддерживаемых языков в предоставленных данных отсутствуют.

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

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

Открыть на Hugging Face

SentenceTransformer based on McGill-NLP/AfriE5-Large-instruct.

This is a sentence-transformers model finetuned from McGill-NLP/AfriE5-Large-instruct. It maps inputs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, classification, clustering, and more.

Model Details: Tulati is a bi-encoder finetuned using the SALT Dataset

Model Description

  • Model Type: Sentence Transformer
  • Base model: McGill-NLP/AfriE5-Large-instruct
  • Maximum Sequence Length: 64 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Supported Modality: Text

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'XLMRobertaModel'})
  (1): Pooling({'embedding_dimension': 1024, 'pooling_mode': 'mean', 'include_prompt': True})
  (2): Normalize({'module_input_name': 'sentence_embedding', 'module_output_name': 'sentence_embedding'})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("amDANIEL2024/tulati-v1-afrie5-salt")
# Run inference
sentences = [
    'Instruct: Retrieve sentences that are semantically consistent with the input.\nQuery: How many books do you want?',
    'Instruct: Retrieve sentences that are semantically consistent with the input.\nQuery: Imito buk adi?',
    'Instruct: Retrieve sentences that are semantically consistent with the input.\nQuery: Kot okwero gonye pi tutunu.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000,  0.8440, -0.0016],
#         [ 0.8440,  1.0000,  0.0296],
#         [-0.0016,  0.0296,  1.0000]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 119,734 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 100 samples:
    anchorpositive
    typestringstring
    modalitytexttext
    detailsmin: 27 tokensmean: 33.02 tokensmax: 44 tokensmin: 27 tokensmean: 41.24 tokensmax: 61 tokens
  • Samples:
    anchorpositive
    Instruct: Retrieve sentences that are semantically consistent with the input.Query: He appealed to the Supreme Court to be given bail.Instruct: Retrieve sentences that are semantically consistent with the input.Query: Yajulira mu kkooti ensukkulumu ateebwe ku kakalu ka kkooti.
    Instruct: Retrieve sentences that are semantically consistent with the input.Query: People sell goods to get money.Instruct: Retrieve sentences that are semantically consistent with the input.Query: Dano cato wil me nongo cente.
    Instruct: Retrieve sentences that are semantically consistent with the input.Query: The move was aimed at rewarding the company's customers.Instruct: Retrieve sentences that are semantically consistent with the input.Query: Ekigyendererwa kikaba kiri okuheereza abashagiki ba kampuni akasiimo.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_mode": null,
        "hardness_strength": 0.0
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_steps: 0.1
  • fp16: True
  • dataloader_drop_last: True
  • batch_sampler: no_duplicates

All Hyperparameters

  • do_predict: False
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 8
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_ratio: None
  • warmup_steps: 0.1
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • enable_jit_checkpoint: False
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • use_cpu: False
  • seed: 42
  • data_seed: None
  • bf16: False
  • fp16: True
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: -1
  • ddp_backend: None
  • debug: []
  • dataloader_drop_last: True
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • auto_find_batch_size: False
  • full_determinism: False
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • use_cache: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

EpochStepTraining Loss
0.02671001.5360
0.05352000.7415
0.08023000.5321
0.10694000.3903
0.13375000.2731
0.16046000.2482
0.18717000.1782
0.21388000.1877
0.24069000.1362
0.267310000.1258
0.294011000.1328
0.320812000.1113
0.347513000.1115
0.374214000.1009
0.401015000.0880
0.427716000.0798
0.454417000.0758
0.481218000.0642
0.507919000.0651
0.534620000.0514
0.561321000.0534
0.588122000.0665
0.614823000.0435
0.641524000.0516
0.668325000.0526
0.695026000.0536
0.721727000.0488
0.748528000.0459
0.775229000.0392
0.801930000.0385
0.828731000.0372
0.855432000.0335
0.882133000.0473
0.908834000.0416
0.935635000.0338
0.962336000.0351
0.989037000.0384

Training Time

  • Training: 2.4 hours

Framework Versions

  • Python: 3.12.13
  • Sentence Transformers: 6.1.0
  • Transformers: 5.0.0
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.15.0
  • Datasets: 5.0.1
  • Tokenizers: 0.22.2

Additional Resources

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{oord2019representationlearningcontrastivepredictive,
      title={Representation Learning with Contrastive Predictive Coding},
      author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
      year={2019},
      eprint={1807.03748},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/1807.03748},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей