/ Модель

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

Контекст
8 194 токена
Параметры
659 млн
Архитектура
xlm-roberta · dense
Базовая модель
snowflake-arctic-embed-l-v2.0
Библиотека
sentence-transformers
Опубликована
23 дек 2024

snowflake-arctic-embed-l-v2.0_all-nli

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

Дообученная на all-nli модель Snowflake Arctic Embed создаёт 1024-мерные эмбеддинги английских текстов для семантического поиска и сравнения.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JatinkInnovision/snowflake-arctic-embed-l-v2.0_all-nli — модель Sentence Transformers, дообученная на наборе all-nli на основе Snowflake/snowflake-arctic-embed-l-v2.0. Она преобразует предложения и абзацы на английском языке в плотные векторы размерности 1024; архитектура включает XLM-RoBERTa, пулинг CLS-токена и нормализацию. Максимальная длина последовательности — 8192 токена, сходство векторов можно оценивать косинусной мерой.

Модель предназначена для семантического поиска, сравнения текстов и поиска перефразировок. Также её можно применять для кластеризации и классификации текстов на основе эмбеддингов. В README приведена точность cosine_accuracy 0,9558 на TripletEvaluator для all-nli-test.

Для использования нужны Sentence Transformers или совместимая среда инференса эмбеддингов. Метаданные указывают лицензию не указывают; условия лицензии по предоставленным данным определить нельзя. Оценка на all-nli не гарантирует качество на других языках и предметных областях.

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

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

Ограничения

Обучение и заявленный язык модели — английский; качество на других языках и специализированных доменах по приведённым данным не подтверждено. Показатель cosine_accuracy 0,9558 получен на all-nli-test и не гарантирует аналогичного качества на иных данных.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on Snowflake/snowflake-arctic-embed-l-v2.0

This is a sentence-transformers model finetuned from Snowflake/snowflake-arctic-embed-l-v2.0 on the all-nli dataset. It maps sentences & paragraphs to a 1024-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: Snowflake/snowflake-arctic-embed-l-v2.0
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: en

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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("JatinkInnovision/snowflake-arctic-embed-l-v2.0_all-nli")
# Run inference
sentences = [
    'A middle-aged man works under the engine of a train on rail tracks.',
    'A guy is working on a train.',
    'A guy is driving to work.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

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

Evaluation

Metrics

Triplet

MetricValue
cosine_accuracy0.9558

Training Details

Training Dataset

all-nli

  • Dataset: all-nli at d482672
  • Size: 557,850 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 7 tokensmean: 10.9 tokensmax: 52 tokensmin: 6 tokensmean: 13.62 tokensmax: 42 tokensmin: 5 tokensmean: 14.76 tokensmax: 55 tokens
  • Samples:
    anchorpositivenegative
    A person on a horse jumps over a broken down airplane.A person is outdoors, on a horse.A person is at a diner, ordering an omelette.
    Children smiling and waving at cameraThere are children presentThe kids are frowning
    A boy is jumping on skateboard in the middle of a red bridge.The boy does a skateboarding trick.The boy skates down the sidewalk.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

all-nli

  • Dataset: all-nli at d482672
  • Size: 6,584 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 6 tokensmean: 20.31 tokensmax: 83 tokensmin: 5 tokensmean: 10.71 tokensmax: 35 tokensmin: 5 tokensmean: 11.39 tokensmax: 32 tokens
  • Samples:
    anchorpositivenegative
    Two women are embracing while holding to go packages.Two woman are holding packages.The men are fighting outside a deli.
    Two young children in blue jerseys, one with the number 9 and one with the number 2 are standing on wooden steps in a bathroom and washing their hands in a sink.Two kids in numbered jerseys wash their hands.Two kids in jackets walk to school.
    A man selling donuts to a customer during a world exhibition event held in the city of AngelesA man selling donuts to a customer.A woman drinks her coffee in a small cafe.
  • 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: 50
  • per_device_eval_batch_size: 50
  • num_train_epochs: 1
  • 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: 50
  • per_device_eval_batch_size: 50
  • 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: 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: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining LossValidation Lossall-nli-test_cosine_accuracy
0.00901001.88380.6502-
0.01792001.29910.6177-
0.02693001.27210.6417-
0.03594001.22650.7053-
0.04485001.01110.7147-
0.05386001.04910.7457-
0.06277001.01860.7922-
0.07178001.1350.8940-
0.08079001.07470.7007-
0.089610000.93730.7298-
0.098611000.95720.6809-
0.107612001.13160.7260-
0.116513000.91880.7085-
0.125514000.95540.6876-
0.134415000.94940.7492-
0.143416000.8110.7234-
0.152417000.77660.6744-
0.161318000.93170.7178-
0.170319000.91480.6960-
0.179320000.86430.6642-
0.188221000.76040.6425-
0.197222000.7760.6347-
0.206123000.82860.6581-
0.215124000.89460.5866-
0.224125000.85070.6845-
0.233026000.79170.6091-
0.242027000.81920.7073-
0.251028000.88180.6584-
0.259929000.82610.6112-
0.268930000.80170.6883-
0.277931000.81470.6450-
0.286832000.82970.6086-
0.295833000.75160.5857-
0.304734000.86280.6061-
0.313735000.77580.5751-
0.322736000.77730.6022-
0.331637000.75590.5446-
0.340638000.7960.5842-
0.349639000.82950.5822-
0.358540000.72920.5821-
0.367541000.74750.6358-
0.376442000.79160.5688-
0.385443000.72140.5653-
0.394444000.7040.5564-
0.403345000.78170.5876-
0.412346000.75490.5358-
0.421347000.72060.5785-
0.430248000.74620.5568-
0.439249000.6650.5765-
0.448150000.77430.5303-
0.457151000.70550.5733-
0.466152000.70040.6280-
0.475053000.70210.5444-
0.484054000.68580.5787-
0.493055000.70070.6124-
0.501956000.67220.5705-
0.510957000.71240.5440-
0.519958000.66570.5262-
0.528859000.67840.5400-
0.537860000.66440.5093-
0.546761000.71950.5453-
0.555762000.69580.5216-
0.564763000.72020.5250-
0.573664000.69210.5089-
0.582665000.69260.5207-
0.591666000.7140.5084-
0.600567000.66050.4943-
0.609568000.72220.5058-
0.618469000.71710.4950-
0.627470000.63440.5110-
0.636471000.70570.5197-
0.645372000.68950.5096-
0.654373000.72260.4819-
0.663374000.67250.4780-
0.672275000.74690.5145-
0.681276000.70160.4969-
0.690177000.66550.4965-
0.699178000.72810.4913-
0.708179000.67480.5121-
0.717080000.65050.5207-
0.726081000.65940.4823-
0.735082000.70420.4903-
0.743983000.69950.4630-
0.752984000.6340.4217-
0.761985000.37720.3684-
0.770886000.34160.3585-
0.779887000.31130.3471-
0.788788000.27930.3379-
0.797789000.25770.3349-
0.806790000.2490.3320-
0.815691000.21910.3290-
0.824692000.24920.3255-
0.833693000.24640.3258-
0.842594000.22880.3247-
0.851595000.21320.3248-
0.860496000.21730.3259-
0.869497000.20080.3223-
0.878498000.20160.3219-
0.887399000.19620.3195-
0.8963100000.19520.3185-
0.9053101000.19590.3158-
0.9142102000.20020.3138-
0.9232103000.18820.3150-
0.9322104000.18560.3124-
0.9411105000.19710.3143-
0.9501106000.19180.3137-
0.9590107000.18250.3147-
0.9680108000.17620.3155-
0.9770109000.17780.3139-
0.9859110000.16590.3138-
0.9949111000.18480.3131-
1.011157--0.9558

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.5.1+cu121
  • 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",
}

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…

Класс архитектуры
XLMRobertaModel
Ревизия весов
4ef3c65

0 моделей