/ Модель

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

Контекст
512 токенов
Параметры
25,9 млн
Архитектура
bert · dense
Базовая модель
all-MiniLM-L6-v2
Библиотека
sentence-transformers
Опубликована
9 дек 2024

sbert-encode-cellines-tuned

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

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

97скачиваний за 30 дней0лайковвеса обновлены9 дек 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

databio/sbert-encode-cellines-tuned — англоязычная модель Sentence Transformer, дообученная разработчиком databio на sentence-transformers/all-MiniLM-L6-v2 с использованием датасета mock-stsb. Энкодер на базе BERT преобразует предложения и абзацы в плотные векторы размерности 384; для сопоставления векторов применяется косинусное сходство. Метаданные указывают 25,9 млн параметров и контекст до 512 токенов; в README заявлена максимальная длина последовательности 256 токенов.

Модель предназначена для семантического сравнения текстов, семантического поиска, поиска перефразирований, кластеризации и классификации на основе эмбеддингов. README приводит результаты на sts-dev: Spearman 0,6954 и Pearson 0,7059, а также сообщает об обучении на 1 128 примерах mock-stsb; датасет содержит короткие текстовые пары с упоминаниями клеточных линий и биологических понятий. Это узкая обучающая выборка, поэтому качество на других доменах и типах текста может отличаться. Лицензия в предоставленных источниках не указана.

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

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

Ограничения

Обучение проводилось на небольшом датасете mock-stsb с короткими примерами, поэтому перенос на другие домены и длинные тексты может быть ограничен. В README указана максимальная длина последовательности 256 токенов, тогда как метаданные каталога сообщают контекст 512 токенов.

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2 on the mock-stsb dataset. It maps sentences & paragraphs to a 384-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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})
  (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("sentence_transformers_model_id")
# Run inference
sentences = [
    'GM12873',
    'leukocyte',
    'pancreas',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

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

Evaluation

Metrics

Semantic Similarity

MetricValue
pearson_cosine0.7059
spearman_cosine0.6954

Training Details

Training Dataset

mock-stsb

  • Dataset: mock-stsb at d5ba748
  • Size: 1,128 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 3 tokensmean: 5.46 tokensmax: 10 tokensmin: 3 tokensmean: 5.55 tokensmax: 10 tokensmin: 0.0mean: 0.44max: 0.9
  • Samples:
    sentence1sentence2score
    OVCAR3pancreas0.05
    L1-S8respiratory system0.001
    peripheral nervous system22Rv10.001
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

mock-stsb

  • Dataset: mock-stsb at d5ba748
  • Size: 284 evaluation samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 284 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 3 tokensmean: 5.6 tokensmax: 9 tokensmin: 3 tokensmean: 5.71 tokensmax: 9 tokensmin: 0.0mean: 0.45max: 0.9
  • Samples:
    sentence1sentence2score
    SJCRH30cancer cell0.9
    CWRU1exocrine gland0.05
    epithelial cellCaki20.9
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • learning_rate: 1e-05
  • num_train_epochs: 50
  • warmup_ratio: 0.1
  • load_best_model_at_end: True

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • 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: 1e-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: 50
  • 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: 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: 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining LossValidation Losssts-dev_spearman_cosine
1.02820.21570.14130.4340
2.05640.14020.12070.6198
3.08460.12390.09730.6541
4.011280.11020.08580.6820
5.014100.10060.08670.6664
6.016920.08820.08860.6547
7.019740.0760.08420.6660
8.022560.06390.08830.6392
9.025380.05380.08960.6300
10.028200.0460.08840.6424
11.031020.04270.08580.6600
12.033840.03630.08780.6454
13.036660.03310.08380.6710
14.039480.03090.08390.6534
15.042300.02770.08410.6650
16.045120.0260.08430.6933
17.047940.02380.08840.6557
18.050760.02290.08680.6649
19.053580.0220.08670.6629
20.056400.0210.08090.6815
21.059220.01960.08270.6844
22.062040.01890.08570.6770
23.064860.01860.08330.6868
24.067680.01720.08890.6710
25.070500.01710.08060.6954

Framework Versions

  • Python: 3.11.5
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.2.0
  • Datasets: 3.1.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",
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей