/ Модель

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

Контекст
512 токенов
Параметры
162 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
bert-base-arabertv02
Библиотека
sentence-transformers
Опубликована
3 окт 2024

sbert_nli_test

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

Арабская Sentence Transformers-модель, превращающая тексты в эмбеддинги для семантического поиска, сравнения и кластеризации.

107скачиваний за 30 дней0лайковвеса обновлены4 окт 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

akhooli/sbert_nli_test — арабская модель Sentence Transformers, дообученная разработчиком на базе aubmindlab/bert-base-arabertv02 на тройках из набора ar-nli-dev. Она преобразует предложения и абзацы в плотные векторы размерности 768; для сравнения семантической близости предусмотрена косинусная мера. Модель основана на BERT с усреднением токенных представлений и поддерживает последовательности длиной до 512 токенов.

Модель предназначена для семантического поиска и сравнения арабских текстов, поиска перефразировок, кластеризации и классификации на основе эмбеддингов. В README приведена оценка на ar-nli-dev с помощью TripletEvaluator: точность по cosine составляет 0,738. Репозиторий использует Sentence Transformers и формат safetensors; лицензия — Apache-2.0.

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

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

Ограничения

Модель рассчитана на арабский язык и ограничивает длину входной последовательности 512 токенами. В README приведена оценка на ar-nli-dev, поэтому она не характеризует качество на всех задачах и доменах.

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

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

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

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

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

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

Открыть на Hugging Face

BERT base trained on Arabic NLI triplets

This is a sentence-transformers model finetuned from aubmindlab/bert-base-arabertv02. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: aubmindlab/bert-base-arabertv02
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Language: ar
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (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})
)

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'هل توجد مخازن في الجهاز الهضمي',
    '1 إطلاق الماء والأحماض والإنزيمات والمخازن بواسطة الجهاز الهضمي والأعضاء الملحقة في تجويف الجهاز الهضمي. 2 الامتصاص. 3 حركة الجزيئات العضوية الصغيرة ، والإلكتروليتات ، والفيتامينات ، والمياه عبر ظهارة الجهاز الهضمي وإلى الدم والجهاز الليمفاوي والجهاز الهضمي (وتسمى أيضًا القناة الهضمية أو الجهاز الهضمي). 1 الجهاز الهضمي عبارة عن أنبوب مستمر يمتد من الفم إلى فتحة الشرج. 2 ويشمل الأعضاء التالية: 3 فم. 4 بلعوم. 5 مريء. 6 بطن. 7 ـ الأمعاء الدقيقة. 8 الأمعاء الغليظة.',
    'بي دي إف. نص. أصلي. الإنسان كائن معقد لأن الإنسان يتكون من تريليونات من الخلايا والكثير من الأجهزة والأعضاء ، ومن بعض الأجهزة الرئيسية أجهزة الدورة الدموية والجهاز الهيكلي والجهاز الهضمي والجهاز العصبي والجهاز التنفسي. نص. أصلي. الإنسان كائن حي معقد لأن الإنسان يتكون من تريليونات من الخلايا والكثير من الأجهزة والأعضاء ، ومن بعض الأجهزة الرئيسية أجهزة الدورة الدموية والجهاز الهيكلي والجهاز الهضمي والجهاز العصبي والجهاز التنفسي.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Triplet

MetricValue
cosine_accuracy0.738
dot_accuracy0.295
manhattan_accuracy0.763
euclidean_accuracy0.708
max_accuracy0.763

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • 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: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • 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
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Lossar-nli-dev_max_accuracy
00-0.763
0.06401001.2212-
0.12802000.4768-
0.19193000.4315-
0.25594000.3696-
0.31995000.3762-
0.38396000.327-
0.44797000.3332-
0.51188000.3227-
0.57589000.3311-
0.639810000.2997-
0.703811000.2991-
0.767812000.2823-
0.831713000.2663-
0.895714000.2776-
0.959715000.2651-

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.0
  • Accelerate: 0.34.2
  • Datasets: 3.0.0
  • Tokenizers: 0.19.1

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{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
63bf537

0 моделей