/ Модель

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

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

mpnet-base-all-nli-triplet-turkish-v3

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

Дообученная на турецких AllNLI-триплетах MPNet-модель кодирует предложения и абзацы в векторы для семантического сравнения и поиска.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это модель Sentence Transformers на архитектуре MPNet, дообученная mertcobanov на наборе AllNLI Turkish triplets на базе microsoft/mpnet-base. Она преобразует предложения и абзацы в плотные векторы размерности 768, предназначенные для сравнения текстов по косинусному сходству; длина входа — до 512 токенов.

Модель подходит для поиска семантически близких фраз и документов, оценки сходства предложений, поиска перефразировок, кластеризации и подготовки признаков для классификации текста. Обучающие примеры содержали турецкие предложения, однако в README поле языка указано как en, а метаданные карточки также содержат тег en; поэтому поддержка турецкого подтверждается обучающим набором, но заявленный основной язык неоднозначен.

Модель содержит 136,7 млн параметров, использует MPNet с усреднением токенных представлений и опубликована в формате safetensors. Лицензия — Apache-2.0. Оценка на турецких AllNLI dev/test по cosine accuracy составила 0,7423 и 0,7503 соответственно; эти результаты относятся к указанным наборам и не гарантируют качество на других данных.

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

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

Ограничения

В карточке языком модели указан английский, тогда как обучающий набор состоит из турецких примеров, поэтому фактический языковой охват описан неоднозначно. Приведённые метрики получены на конкретных AllNLI-наборах и могут не переноситься на другие данные.

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

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

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

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

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

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

Открыть на Hugging Face

MPNet base trained on AllNLI-turkish triplets

This is a sentence-transformers model finetuned from microsoft/mpnet-base on the all-nli-triplets-turkish dataset. 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: microsoft/mpnet-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: MPNetModel 
  (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("mertcobanov/mpnet-base-all-nli-triplet-turkish-v3")
# Run inference
sentences = [
    'Ağaçlarla çevrili bulvar denize üç bloktan daha az uzanıyor.',
    'Deniz üç sokak bile uzakta değil.',
    'Denize ulaşmak için caddeden iki mil yol almanız gerekiyor.',
]
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

  • Datasets: all-nli-dev-turkish and all-nli-test-turkish
  • Evaluated with TripletEvaluator
Metricall-nli-dev-turkishall-nli-test-turkish
cosine_accuracy0.74230.7503

Training Details

Training Dataset

all-nli-triplets-turkish

  • Dataset: all-nli-triplets-turkish at bff203b
  • Size: 13,842 training samples
  • Columns: anchor_translated, positive_translated, and negative_translated
  • Approximate statistics based on the first 1000 samples:
    anchor_translatedpositive_translatednegative_translated
    typestringstringstring
    detailsmin: 8 tokensmean: 13.42 tokensmax: 95 tokensmin: 8 tokensmean: 31.64 tokensmax: 93 tokensmin: 6 tokensmean: 32.03 tokensmax: 89 tokens
  • Samples:
    anchor_translatedpositive_translatednegative_translated
    Asyalı okul çocukları birbirlerinin omuzlarında oturuyor.Okul çocukları bir aradaAsyalı fabrika işçileri oturuyor.
    İnsanlar dışarıda.Arka planda resmi kıyafetler giymiş bir grup insan var ve beyaz gömlekli, haki pantolonlu bir adam toprak yoldan yeşil çimenlere atlıyor.Bir odada üç kişiyle birlikte büyük bir kamera tutan bir adam.
    Bir adam dışarıda.Adam yarış sırasında yan sepetten bir su birikintisine düşer.Beyaz bir sarık sarmış gömleksiz bir adam bir ağaç gövdesine tırmanıyor.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

all-nli-triplets-turkish

  • Dataset: all-nli-triplets-turkish at bff203b
  • Size: 6,584 evaluation samples
  • Columns: anchor_translated, positive_translated, and negative_translated
  • Approximate statistics based on the first 1000 samples:
    anchor_translatedpositive_translatednegative_translated
    typestringstringstring
    detailsmin: 5 tokensmean: 42.62 tokensmax: 192 tokensmin: 5 tokensmean: 22.58 tokensmax: 77 tokensmin: 5 tokensmean: 22.07 tokensmax: 65 tokens
  • Samples:
    anchor_translatedpositive_translatednegative_translated
    Ayrıca, bu özel tüketim vergileri, diğer vergiler gibi, hükümetin ödeme zorunluluğunu sağlama yetkisini kullanarak belirlenir.Hükümetin ödeme zorlaması, özel tüketim vergilerinin nasıl hesaplandığını belirler.Özel tüketim vergileri genel kuralın bir istisnasıdır ve aslında GSYİH payına dayalı olarak belirlenir.
    Gri bir sweatshirt giymiş bir sanatçı, canlı renklerde bir kasaba tablosu üzerinde çalışıyor.Bir ressam gri giysiler içinde bir kasabanın resmini yapıyor.Bir kişi bir beyzbol sopası tutuyor ve gelen bir atış için planda bekliyor.
    İmkansız.Yapılamaz.Tamamen mümkün.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

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: 10
  • 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: 10
  • 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
  • include_for_metrics: []
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining LossValidation Lossall-nli-dev-turkish_cosine_accuracyall-nli-test-turkish_cosine_accuracy
00--0.6092-
0.11551003.36542.90840.6624-
0.23092002.63211.72770.7395-
0.34643001.96291.50000.7512-
0.46194001.66621.49650.7494-
0.57745001.47121.53740.7418-
0.69286001.04291.63010.7360-
0.80837000.89952.16260.7044-
0.92388000.72692.04400.6996-
1.03819001.05841.67140.7438-
1.153610001.18641.53260.7495-
1.269111001.01931.44980.7518-
1.384512000.82371.53990.7506-
1.513000.82791.67470.7521-
1.615514000.6261.57760.7453-
1.730915000.53961.88770.7139-
1.846416000.42942.22580.6947-
1.961917000.49881.87530.7204-
2.076218000.69871.54080.7524-
2.191719000.66841.44340.7618-
2.307220000.60721.48400.7520-
2.422621000.50811.52250.7561-
2.538122000.52161.52800.7514-
2.653623000.26271.88300.7227-
2.769124000.25851.95290.7221-
2.884525000.1292.23230.7047-
3.026000.16982.29040.7063-
3.114327000.55591.61100.7553-
3.229828000.43561.55440.7508-
3.345329000.38861.54370.7539-
3.460730000.35731.62620.7539-
3.576231000.26521.83910.7321-
3.691732000.07652.03590.7186-
3.807233000.08712.09460.7262-
3.922634000.05862.21680.7093-
4.037035000.17551.75670.7462-
4.152436000.33971.77350.7442-
4.267937000.30671.74750.7497-
4.383438000.2461.70750.7476-
4.498839000.2531.76480.7483-
4.614340000.12231.91390.7246-
4.729841000.04532.11380.7152-
4.845342000.02412.23540.7240-
4.960743000.03632.30800.7251-
5.075144000.18971.73940.7494-
5.190545000.21141.69290.7524-
5.306046000.21011.74020.7556-
5.421547000.14711.79900.7445-
5.537048000.17831.80600.7456-
5.652449000.02152.01180.7325-
5.767950000.00832.07660.7265-
5.883451000.01382.20540.7201-
5.998852000.01442.16670.7164-
6.113253000.20231.73090.7543-
6.228654000.13561.66850.7622-
6.344155000.13071.72920.7527-
6.459656000.12221.84030.7435-
6.575157000.10491.84560.7394-
6.690558000.00511.98980.7362-
6.806059000.01312.05320.7310-
6.921560000.01322.22370.7186-
7.035861000.04531.89650.7397-
7.151362000.11091.71950.7550-
7.266763000.10021.75470.7530-
7.382264000.07681.77010.7433-
7.497765000.09071.84720.7406-
7.613266000.0381.91620.7377-
7.728667000.01511.94070.7312-
7.844168000.00871.96570.7289-
7.959669000.01042.03020.7227-
8.073970000.07271.86920.7514-
8.189471000.07331.80390.7520-
8.304872000.07281.74000.7539-
8.420373000.05371.80620.7461-
8.535874000.0591.84690.7489-
8.651375000.00891.90330.7403-
8.766776000.00341.96830.7354-
8.882277000.00182.00750.7366-
8.997778000.00232.06460.7322-
9.112079000.06421.90630.7430-
9.227580000.05961.84920.7468-
9.343081000.04791.81800.7517-
9.458482000.05611.81220.7468-
9.573983000.03111.85280.7456-
9.689484000.00691.87780.7447-
9.804885000.00271.89890.7423-
9.920386000.00931.90890.7423-
9.98968660---0.7503

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.1
  • Transformers: 4.46.3
  • PyTorch: 2.3.0
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.20.3

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…

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

0 моделей