/ Модель

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

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

all-MiniLM-L6-v2_tuned_on_deepparse_address_mutations_comb_3

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

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

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

jarredparrett/all-MiniLM-L6-v2_tuned_on_deepparse_address_mutations_comb_3 — англоязычная модель Sentence Transformer, дообученная на наборе deepparse_address_mutations_comb_3 для сопоставления адресов с вариациями написания и опечатками. Модель основана на энкодере BERT all-MiniLM-L6-v2, содержит 25,9 млн параметров и преобразует текст в нормализованные плотные векторы размерности 384; сходство оценивается косинусной мерой. Метаданные указывают контекст до 512 токенов, а README — максимальную длину последовательности 256 токенов.

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

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

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

Ограничения

Модель обучена на англоязычных адресах, поэтому её качество для других языков и текстовых доменов не подтверждено. Максимальная длина последовательности в README составляет 256 токенов, тогда как метаданные указывают контекст 512 токенов.

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

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

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

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

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 deepparse_address_mutations_comb_3 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("jarredparrett/all-MiniLM-L6-v2_tuned_on_deepparse_address_mutations_comb_3")
# Run inference
sentences = [
    '8234 harvest bend lane laurel md 20707',
    '8234 harvest bend lane laurel md',
    '8702 wahl crse basement santee ca 92071',
]
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

Binary Classification

MetricValue
cosine_accuracy0.9771
cosine_accuracy_threshold0.7712
cosine_f10.9784
cosine_f1_threshold0.7712
cosine_precision0.9601
cosine_recall0.9974
cosine_ap0.9865
dot_accuracy0.9771
dot_accuracy_threshold0.7712
dot_f10.9784
dot_f1_threshold0.7712
dot_precision0.9601
dot_recall0.9974
dot_ap0.9865
manhattan_accuracy0.977
manhattan_accuracy_threshold10.6015
manhattan_f10.9784
manhattan_f1_threshold10.6118
manhattan_precision0.96
manhattan_recall0.9974
manhattan_ap0.9865
euclidean_accuracy0.9771
euclidean_accuracy_threshold0.6764
euclidean_f10.9784
euclidean_f1_threshold0.6764
euclidean_precision0.9601
euclidean_recall0.9974
euclidean_ap0.9866
max_accuracy0.9771
max_accuracy_threshold10.6015
max_f10.9784
max_f1_threshold10.6118
max_precision0.9601
max_recall0.9974
max_ap0.9866

Binary Classification

MetricValue
cosine_accuracy0.9771
cosine_accuracy_threshold0.7711
cosine_f10.9784
cosine_f1_threshold0.7711
cosine_precision0.96
cosine_recall0.9974
cosine_ap0.9865
dot_accuracy0.9771
dot_accuracy_threshold0.7711
dot_f10.9784
dot_f1_threshold0.7711
dot_precision0.96
dot_recall0.9974
dot_ap0.9866
manhattan_accuracy0.977
manhattan_accuracy_threshold10.5101
manhattan_f10.9784
manhattan_f1_threshold10.6372
manhattan_precision0.9599
manhattan_recall0.9975
manhattan_ap0.9866
euclidean_accuracy0.9771
euclidean_accuracy_threshold0.6766
euclidean_f10.9784
euclidean_f1_threshold0.6766
euclidean_precision0.96
euclidean_recall0.9974
euclidean_ap0.9866
max_accuracy0.9771
max_accuracy_threshold10.5101
max_f10.9784
max_f1_threshold10.6372
max_precision0.96
max_recall0.9975
max_ap0.9866

Training Details

Training Dataset

deepparse_address_mutations_comb_3

  • Dataset: deepparse_address_mutations_comb_3 at 7162fdc
  • Size: 4,517,388 training samples
  • Columns: label, sentence1, and sentence2
  • Approximate statistics based on the first 1000 samples:
    labelsentence1sentence2
    typetorch.Tensorstringstring
    detailsmin: 8 tokensmean: 13.21 tokensmax: 22 tokensmin: 6 tokensmean: 13.54 tokensmax: 22 tokens
  • Samples:
    labelsentence1sentence2
    tensor(1, device='cuda:0')12737 chesdin landng dr chesterfield va 2383812737 chesdin landng dr chesterfield va
    tensor(1, device='cuda:0')6080 norh oak trafficway gladstone mo 641186080 norh oak trafficway gladstone 64118-4896
    tensor(0, device='cuda:0')242 pierce view cir wentzville mo 63385242 pierce view cir wentzville LA 63385
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Evaluation Dataset

deepparse_address_mutations_comb_3

  • Dataset: deepparse_address_mutations_comb_3 at 7162fdc
  • Size: 968,012 evaluation samples
  • Columns: label, sentence1, and sentence2
  • Approximate statistics based on the first 1000 samples:
    labelsentence1sentence2
    typetorch.Tensorstringstring
    detailsmin: 8 tokensmean: 13.24 tokensmax: 22 tokensmin: 7 tokensmean: 13.45 tokensmax: 27 tokens
  • Samples:
    labelsentence1sentence2
    tensor(1, device='cuda:0')1 vincent avenue essex maryland 212211 vincent avenue essedx MD 21221
    tensor(1, device='cuda:0')139 berg avenue hamilton tshp n.j. 08610139 bcrg avenue hamilton tshp n.j. 08610
    tensor(1, device='cuda:0')714 havard rd houston texas 77336714 havaplns plns houston texas 77336-3120
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 1024
  • per_device_eval_batch_size: 1024
  • learning_rate: 2e-05
  • 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: 1024
  • per_device_eval_batch_size: 1024
  • 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: 3
  • 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
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Losslossjarredparrett/deepparse_address_mutations_comb_3_max_ap
0.11335000.01910.01310.8459
0.226710000.01120.00910.8887
0.340015000.00860.00670.9346
0.453320000.00640.00440.9604
0.566625000.00490.00370.9722
0.680030000.00420.00330.9761
0.793335000.00390.00320.9808
0.906640000.00370.00290.9825
1.019745000.00350.00280.9826
1.133050000.00330.00280.9836
1.246455000.00320.00270.9845
1.359760000.00310.00260.9853
1.473065000.0030.00250.9857
1.586470000.0030.00250.9859
1.699775000.00290.00250.9862
1.813080000.00280.00240.9864
1.926385000.00280.00240.9861
2.039490000.00280.00240.9864
2.152895000.00270.00240.9864
2.2661100000.00270.00240.9865
2.3794105000.00270.00230.9866
2.4927110000.00260.00230.9866
2.6061115000.00260.00230.9865
2.7194120000.00260.00230.9865
2.8327125000.00260.00230.9865
2.9461130000.00260.00230.9866
2.999513236--0.9866

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.2
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.1.1
  • Datasets: 3.2.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",
}

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

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей