/ Модель

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

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

Arabic-SBERT-100K

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

Дообученная арабская Sentence Transformers-модель для получения векторных представлений и поиска семантически близких текстов.

16 181скачиваний за 30 дней17лайковвеса обновлены27 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Arabic-SBERT-100K — модель Sentence Transformers, разработанная автором репозитория и дообученная на базе aubmindlab/bert-base-arabertv02. Она преобразует арабские предложения и абзацы в плотные векторы размерностью 768, пригодные для сравнения по косинусному сходству. Архитектура включает BERT-трансформер и усреднение токенных представлений; максимальная длина последовательности — 512 токенов.

Модель предназначена для поиска семантически близких текстов и парафраз, оценки сходства предложений, кластеризации и классификации текста. Обучение проводилось на 75 тысячах триплетов из набора akhooli/arabic-triplets-1m-curated-sims-len с использованием MatryoshkaLoss. Она рассчитана на арабский язык; README не сообщает лицензию, поэтому условия использования по имеющимся данным определить нельзя.

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

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

Ограничения

Максимальная длина входной последовательности составляет 512 токенов. Модель обучена для арабского языка, поэтому качество на других языках не подтверждено.

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

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

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

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

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

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

Открыть на Hugging Face

Arabic-SBERT-100K

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. This model is trained on 100K samples filtered from the akhooli/arabic-triplets-1m-curated-sims-len dataset with 75K training and 25K validation. Trained for 5 epochs, with final training loss of 0.133 (using MatryoshkaLoss).

The rest of this file is auto generated.

========================================================================

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

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 = [
    'ما هو نوع الدهون الموجودة في الأفوكادو',
    'حوالي 15 في المائة من الدهون في الأفوكادو مشبعة ، مع كل كوب واحد من الأفوكادو المفروم يحتوي على 3.2 جرام من الدهون المشبعة ، وهو ما يمثل 16 في المائة من DV البالغ 20 جرامًا. تحتوي الأفوكادو في الغالب على دهون أحادية غير مشبعة ، مع 67 في المائة من إجمالي الدهون ، أو 14.7 جرامًا لكل كوب مفروم ، ويتكون من هذا النوع من الدهون.',
    'يمكن أن يؤدي ارتفاع مستوى الدهون الثلاثية ، وهي نوع من الدهون (الدهون) في الدم ، إلى زيادة خطر الإصابة بأمراض القلب ، ويمكن أن يؤدي توفير مستوى مرتفع من الدهون الثلاثية ، وهي نوع من الدهون (الدهون) في الدم ، إلى زيادة خطر الإصابة بأمراض القلب. مرض.',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 75,000 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 4 tokensmean: 12.88 tokensmax: 58 tokensmin: 4 tokensmean: 13.74 tokensmax: 126 tokensmin: 4 tokensmean: 13.38 tokensmax: 146 tokens
  • Samples:
    anchorpositivenegative
    هل تشاجر (سي إس لويس) و (جي آر آر تولكين) ؟ إن كان الأمر كذلك، فما هو السبب؟هل صحيح أن (سي إس لويس) و (تولكين) تشاجرا؟ما هي أفضل الكتب للدراسة في الجامعة؟
    ما هي اعراض فقر الدم؟ما هي اعراض الانيميا؟كيف احضر كيكة العسل؟
    من ستصوت له، دونالد ترامب أم هيلاري كلينتون؟هل تؤيدون دونالد ترامب أم هيلاري كلينتون؟ لماذا؟كيف أتغلب على إدمان المواد الإباحية؟
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 25,000 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 4 tokensmean: 12.6 tokensmax: 70 tokensmin: 4 tokensmean: 14.82 tokensmax: 239 tokensmin: 4 tokensmean: 13.78 tokensmax: 128 tokens
  • Samples:
    anchorpositivenegative
    نعم , نعم , أو رأيت " تشيما بارا ديسو "نعم، أو "تشيما بارا ديسو" كانت تلك التي شاهدتهاأنا لم أرى "تشيما بارا ديسو".
    رجل وامرأة يجلسان على الشاطئ بينما تغرب الشمسهناك رجل وامرأة يجلسان على الشاطئإنهم يشاهدون شروق الشمس
    كيف أسيطر على غضبي؟ما هي أفضل طريقة للسيطرة على الغضب؟كيف أعرف إن كانت زوجتي تخونني؟
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

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: 5
  • 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
  • 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: 5
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Lossloss
0.21335001.41630.3134
0.426610000.33060.1912
0.639915000.22630.1527
0.853220000.18180.1297
1.066625000.16580.1167
1.279930000.11390.1040
1.493235000.08080.1018
1.706540000.06920.0959
1.919845000.0580.0958
2.133150000.06530.0882
2.346455000.05030.0912
2.559760000.03380.0970
2.773065000.03630.0906
2.986370000.03750.0856
3.199775000.04010.0879
3.413080000.0310.0848
3.626385000.02550.0938
3.839690000.02390.0858
4.052995000.03050.0840
4.2662100000.02810.0833
4.4795105000.01740.0840
4.6928110000.02160.0882
4.9061115000.0220.0866

Framework Versions

  • Python: 3.10.13
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.3
  • PyTorch: 2.1.2
  • Accelerate: 0.32.1
  • Datasets: 2.20.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",
}

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning}, 
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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
Ревизия весов
67199ee

0 моделей