/ Модель

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

Контекст
514 токенов
Параметры
95,2 млн
Архитектура
roberta · dense
Базовая модель
distilroberta-base
Библиотека
sentence-transformers
Опубликована
8 мар 2025

gnlp_hw1_encoder

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

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

125скачиваний за 30 дней0лайковвеса обновлены10 мар 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

greatakela/gnlp_hw1_encoder — модель SentenceTransformer на базе distilbert/distilroberta-base, дообученная для представления предложений и абзацев в виде плотных векторов размерности 768. Архитектура включает RoBERTa и mean pooling; для сравнения векторов используется косинусное сходство. Модель содержит 95,2 млн параметров.

Она предназначена для поиска семантически похожих текстов, семантического поиска, выявления перефразировок, кластеризации и классификации текста. Максимальная длина последовательности в README — 128 токенов; метаданные указывают контекст до 514 токенов. Обучение описано как fine-tuning с TripletLoss на наборе из 4 893 примеров. Англоязычная базовая модель и примеры в карточке указывают на применение прежде всего к английскому тексту.

Модель выдаёт эмбеддинги, которые можно сравнивать или использовать как признаки в последующих системах. Метрики на двух указанных оценочных выборках составили 0,999 и 0,9873 по cosine accuracy, но эти результаты не гарантируют качество на других данных. Лицензия в предоставленных сведениях не указана.

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

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

Ограничения

README задаёт максимальную длину последовательности 128 токенов, тогда как метаданные указывают контекст до 514 токенов. Оценочные метрики приведены для конкретных выборок и не гарантируют качество на других данных; лицензия в предоставленных сведениях не указана.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on distilbert/distilroberta-base

This is a sentence-transformers model finetuned from distilbert/distilroberta-base. 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: distilbert/distilroberta-base
  • Maximum Sequence Length: 128 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (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("greatakela/gnlp_hw1_encoder")
# Run inference
sentences = [
    'My father says you have been my friend. ...You came back for me. You would have done the same for me. Why would you do this? Because the needs of the one ...outweigh the needs of the many. I have been ...and ever shall be ...your friend.[SEP]Yes! Yes, Spock.',
    'The ship. ...Out of danger?',
    ' No, blood tests were all normal. And he clotted in six minutes.',
]
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

Metricevaluator_encevaluator_val
cosine_accuracy0.9990.9873

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,893 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0sentence_1sentence_2
    typestringstringstring
    detailsmin: 2 tokensmean: 83.38 tokensmax: 128 tokensmin: 4 tokensmean: 18.38 tokensmax: 91 tokensmin: 4 tokensmean: 18.48 tokensmax: 102 tokens
  • Samples:
    sentence_0sentence_1sentence_2
    The usage is correct. The creator was simply testing your memory banks. There was much damage in the accident. Mister Singh. Come here a moment. This unit will see to your needs. Sir? I'll be back in a moment. Gentlemen, come with me.[SEP]You're on to something, Spock. What is it?I've correlated all the available information on the Nomad probe, and I'm convinced that this object is indeed that probe. DIC would explain both the!
    Mister Spock, how many people are on Memory Alpha? It varies with the number of scholars, researchers, and scientists from the various Federation planets who are using the computer complex. Captain, we are within orbit range. Lock into orbit. Aye, sir.[SEP]It is leaving Memory Alpha, Captain.Sensors give no readings of generated energy from Memory Alpha, Captain. Weird huh?
    We're guiding around most of the time ripples now. Mister Spock? All plotted but one, Captain. Coming up on it now. Seems to be fairly heavy displacement. Bones! Get back to your positions. The hypo, Captain.[SEP]It was set for cordrazine.Empty. Actually he's only in the Navy when they sang, In The Navy. The rest of the time he's just in generic fatigues. [House stares at him.] What? You brought it up! [House starts to walk out.] You didn't flush.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

  • 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
  • num_train_epochs: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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: False
  • 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: 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: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

EpochStepTraining Lossevaluator_enc_cosine_accuracyevaluator_val_cosine_accuracy
-1-1-0.5866-
0.4902300-0.9875-
0.81705001.085--
0.9804600-0.9935-
1.0612-0.9937-
1.4706900-0.9967-
1.634010000.1573--
1.96081200-0.9980-
2.01224-0.9980-
2.451015000.07330.9990-
2.94121800-0.9990-
3.01836-0.9990-
-1-1--0.9873

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.3.2
  • 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",
}

TripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification},
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
RobertaModel
Ревизия весов
25b27e5

0 моделей