SentenceTransformer based on sergeyzh/rubert-tiny-turbo

This is a sentence-transformers model finetuned from sergeyzh/rubert-tiny-turbo. It maps sentences & paragraphs to a 312-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: sergeyzh/rubert-tiny-turbo
  • Maximum Sequence Length: 2048 tokens
  • Output Dimensionality: 312 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 312, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

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("denis-gordeev/reranker_dialog_items_biencoder_rubert-tiny-turbo-3")
# Run inference
sentences = [
    'Здравствуйте! Я хочу купить внешний диск для хранения данных, желательно SSD. Нужно, чтобы он был надёжным и быстрым, для переноса больших файлов. Можете помочь подобрать подходящий?',
    "{'long_web_name': 'Внешний SSD диск KingSpec 240 ГБ Z3-240', 'price': 4129.0, 'description': '', 'rating': 0.0, 'review_count': 0}",
    "{'long_web_name': 'Чайная машина Cooleq JD-12 12 л серебристый', 'price': 54095.0, 'url': 'https://megamarket.ru/catalog/details/sokoohladitel-cooleq-jd-12-100042900979/', 'image_link': 'https://main-cdn.sbermegamarket.ru/mid9/hlr-system/117/347/633/386/112/1/100042900979b0.png', 'id': '100042900979_126197', 'description': '', 'rating': 0.0, 'review_count': 0}",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 312]

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

Evaluation

Metrics

Binary Classification

Metric Value
cosine_accuracy 0.926
cosine_accuracy_threshold 0.7458
cosine_f1 0.7972
cosine_f1_threshold 0.7458
cosine_precision 0.7037
cosine_recall 0.9194
cosine_ap 0.7692

Training Details

Training Dataset

Unnamed Dataset

  • Size: 3,136 training samples
  • Columns: anchor, text, and label
  • Approximate statistics based on the first 1000 samples:
    anchor text label
    type string string int
    details
    • min: 23 tokens
    • mean: 43.03 tokens
    • max: 91 tokens
    • min: 52 tokens
    • mean: 310.0 tokens
    • max: 1009 tokens
    • 0: ~81.90%
    • 1: ~18.10%
  • Samples:
    anchor text label
    Привет! Подскажите, пожалуйста, у вас есть средства для чистки и ухода за холодильником? Ищу что-то недорогое, но эффективное. {'long_web_name': 'ТЭН для водонагревателя ИТАТЭН ITA-30047', 'price': 1243.0, 'url': 'https://megamarket.ru/catalog/details/ten-dlya-vodonagrevatelya-itaten-ita-30047-600005611737/', 'image_link': 'https://main-cdn.sbermegamarket.ru/mid9/hlr-system/-17/149/578/704/111/611/600005611737b0.jpeg', 'id': '600005611737', 'description': 'Нагревательный элемент для плоского водонагревателя Термекс: RZB 30F, 50F, 80F, 100F ; RZB 30L, 50L, 80L, 100L ; RZB 30FV, 50FV, 80FV, 100FV; IF 30V, 50V, 80V, 100V; ID 30V, 50V, 80V, 100V, Термекс IQ 30 V, Термекс IQ 50 V, Термекс IQ 80 V, Термекс IQ 100 V.Характеристики: Длина: 310 мм;Артикул: 30047;Применение: Для водонагревателей;Совместимость: Garanterm, Thermex;Тип ТЭНа: RF;Мощность: 1300 Вт;Материал: Нержавеющая сталь;Диаметр фланца: 64 мм;Трубка под термостат: Есть;Объем бака: 30 л, 50 л, 80 л, 100 л, 120 л, 150 л;Тип контактов: Клеммы под разъем;Производитель: Китай;Место под анод: М4;Напряжение: 220;Тип водонагревателя: Плоский;Размещение бака: Вер... 0
    Здравствуйте! Я Андрей, мне 38 лет, я покупаю у вас товары для своего бизнеса по ремонту бытовой техники в Воронеже. Мне нужны моноблоки — это такие настольные компьютеры, где всё встроено в монитор. Интересуют недорогие модели для тестирования программного обеспечения и проведения диагностики. Можете порекомендовать что-то подходящее? {'long_web_name': 'Моноблок MSI PRO AP242 12M-450RU белый', 'price': 78299.0, 'description': '

    Моноблок MSI Pro AP242 12M-450RU — это производительная рабочая станция для офисных задач.

    \n

    Комфортная работа

    \n

    Корпус выполнен в белом цвете. Матовое покрытие дисплея защищает от бликов. Другие технические параметры:

    \n
      \n
    • мощный процессор Intel Core i5 12400;
    • \n
    • графический чип UHD Graphics 730;
    • \n
    • оперативная память объемом 16 Гб с возможностью расширения до 64 Гб;
    • \n
    • встроенная веб-камера для общения через Skype и Zoom;
    • \n
    • внутренний накопитель SSD на 512 Гб обеспечивает быстрый доступ к файлам;
    • \n
    • поддерживается беспроводная сеть стандарта 802.11ax.
    • \n
    \n

    Предусмотрены два порта USB 3.2 Type-C и два USB 2.0 Type-A. Есть выход HDMI для подключения монитора или телевизора. Для воспроизведения звука есть встроенные динамики и микрофон.

    ', 'rating': 5.0, 'review_count': 18}
    0
    Здравствуйте! Мне нужно купить карты памяти MicroSD, чтобы использовать их в моём телефоне и планшете. Хотелось бы что-то надёжное и с хорошей скоростью записи. Можете помочь выбрать? {'long_web_name': 'Флэш карта Kingston Canvas Select Plus SDCS2/32GB microSDHC Class10, 32 Gb, adapter', 'price': 740.0, 'description': '', 'rating': 4.93, 'review_count': 587} 1
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 392 evaluation samples
  • Columns: anchor, text, and label
  • Approximate statistics based on the first 392 samples:
    anchor text label
    type string string int
    details
    • min: 23 tokens
    • mean: 42.23 tokens
    • max: 91 tokens
    • min: 53 tokens
    • mean: 312.93 tokens
    • max: 1058 tokens
    • 0: ~84.18%
    • 1: ~15.82%
  • Samples:
    anchor text label
    Здравствуйте! Мне нужны магнитные кабели для зарядки моих устройств в походах. Хочу заказать несколько штук, можно с разными разъёмами (USB-C, Micro USB, и Lightning). Желательно, чтобы они были качественными и прочными. Можете помочь с этим? {'long_web_name': 'ТЭН для водонагревателя ИТАТЭН ITA-30047', 'price': 1243.0, 'url': 'https://megamarket.ru/catalog/details/ten-dlya-vodonagrevatelya-itaten-ita-30047-600005611737/', 'image_link': 'https://main-cdn.sbermegamarket.ru/mid9/hlr-system/-17/149/578/704/111/611/600005611737b0.jpeg', 'id': '600005611737', 'description': 'Нагревательный элемент для плоского водонагревателя Термекс: RZB 30F, 50F, 80F, 100F ; RZB 30L, 50L, 80L, 100L ; RZB 30FV, 50FV, 80FV, 100FV; IF 30V, 50V, 80V, 100V; ID 30V, 50V, 80V, 100V, Термекс IQ 30 V, Термекс IQ 50 V, Термекс IQ 80 V, Термекс IQ 100 V.Характеристики: Длина: 310 мм;Артикул: 30047;Применение: Для водонагревателей;Совместимость: Garanterm, Thermex;Тип ТЭНа: RF;Мощность: 1300 Вт;Материал: Нержавеющая сталь;Диаметр фланца: 64 мм;Трубка под термостат: Есть;Объем бака: 30 л, 50 л, 80 л, 100 л, 120 л, 150 л;Тип контактов: Клеммы под разъем;Производитель: Китай;Место под анод: М4;Напряжение: 220;Тип водонагревателя: Плоский;Размещение бака: Вер... 0
    Здравствуйте! Мне нужны сумки и рюкзаки для фототехники. Что-то удобное и вместительное, чтобы можно было безопасно носить зеркальный фотоаппарат и несколько объективов. Можно посмотреть варианты? {'long_web_name': 'Аксессуар для принтеров Konica Minolta (9961026723)', 'price': 10.0, 'url': 'https://megamarket.ru/catalog/details/aksessuar-dlya-printerov-konica-minolta-9961026723-600008281362/', 'image_link': 'https://main-cdn.sbermegamarket.ru/mid9/hlr-system/690/288/244/717/209/600008281362b0.jpeg', 'id': '600008281362_76846', 'description': 'Инструкция Konica Minolta для bizhub С257i (9961026723)', 'rating': 0.0, 'review_count': 0} 0
    Здравствуйте! Ищу умные часы Apple Watch Series 2. Скажите, пожалуйста, есть ли у вас в наличии? {'long_web_name': 'Смарт-часы Apple Watch Series 9 45 мм Midnight размер ML', 'price': 58373.0, 'description': 'Смарт-часы Apple Watch. Материал корпуса — алюминий. Время работы в активном режиме — до 18 часов. Функция Double Tap активируется посредством двух быстрых касаний указательного и большого пальцев — можно ответить на звонок, выключить будильник и управлять воспроизведением музыки. Объем встроенной памяти — 64 Гб. В комплекте — кабель USB?C с магнитным креплением для быстрой зарядки', 'rating': 4.97, 'review_count': 114} 0
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • 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: 5e-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: True
  • 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: None
  • 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

Epoch Step Training Loss Validation Loss item-classification_cosine_ap
0 0 - 0.0302 0.3988
0.2551 100 0.0129 - -
0.5102 200 0.0065 - -
0.6378 250 - 0.0065 0.7692
0.7653 300 0.0058 - -
1.0 392 - 0.0065 0.7692
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.13
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.2.1
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

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

ContrastiveLoss

@inproceedings{hadsell2006dimensionality,
    author={Hadsell, R. and Chopra, S. and LeCun, Y.},
    booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
    title={Dimensionality Reduction by Learning an Invariant Mapping},
    year={2006},
    volume={2},
    number={},
    pages={1735-1742},
    doi={10.1109/CVPR.2006.100}
}
Downloads last month
9
Safetensors
Model size
29.2M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for denis-gordeev/reranker_dialog_items_biencoder_rubert-tiny-turbo-3

Finetuned
(7)
this model

Evaluation results