/ Модель

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

Контекст
514 токенов
Параметры
137 млн
Архитектура
mpnet · dense
Базовая модель
all-mpnet-base-v2
Библиотека
sentence-transformers
Опубликована
19 окт 2024

procedure-tool-matching_3_epochs

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

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

99скачиваний за 30 дней1лайквеса обновлены19 окт 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель brilan/procedure-tool-matching_3_epochs — дообученный Sentence Transformer на базе sentence-transformers/all-mpnet-base-v2, созданный для сопоставления описаний процедур с инструментами и командами. Архитектура включает MPNet, усреднение токенных представлений и нормализацию; она преобразует предложения и абзацы в плотные векторы размерности 768, сравниваемые по косинусному сходству. В метаданных указано 136,7 млн параметров и библиотека Sentence Transformers; ограничение контекста составляет 514 токенов по метаданным и 384 токена в карточке модели.

Модель подходит для семантического поиска, ранжирования похожих описаний, поиска перефразировок и кластеризации текстов о процедурах и инструментах. Обучение проведено на примерах anchor-positive-negative с MultipleNegativesRankingLoss. Карточка приводит высокие значения cosine_accuracy на dev и test, но не раскрывает название датасета или подробности методики, поэтому эти результаты не гарантируют качество на других данных. Лицензия в предоставленных сведениях не указана.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on sentence-transformers/all-mpnet-base-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-mpnet-base-v2. 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: sentence-transformers/all-mpnet-base-v2
  • Maximum Sequence Length: 384 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel 
  (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})
  (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("brilan/procedure-tool-matching_3_epochs")
# Run inference
sentences = [
    'Modify Registry of Current User Profile',
    'Saves a copy of specified subkeys, entries,  and values of the registry in a specified file.',
    'Stops one or more running services.',
]
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

MetricValue
cosine_accuracy1.0
dot_accuracy0.0
manhattan_accuracy1.0
euclidean_accuracy1.0
max_accuracy1.0

Triplet

MetricValue
cosine_accuracy1.0
dot_accuracy0.0
manhattan_accuracy1.0
euclidean_accuracy1.0
max_accuracy1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 6,462 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 5 tokensmean: 9.62 tokensmax: 17 tokensmin: 5 tokensmean: 18.14 tokensmax: 47 tokensmin: 5 tokensmean: 17.66 tokensmax: 57 tokens
  • Samples:
    anchorpositivenegative
    used compromised domain accounts to gain access to the target environmentallows users to execute commands remotely on target systems using various methods including WMI, SMB, SSH, RDP, and PowerShellDisplays information about user sessions on a Remote Desktop Session Host server.
    use default credentials to connect to IPC$ shares on remote machinesExecute commands on remote targets via Remote Desktop Protocol (RDP) without requiring a graphical user interface (GUI). It provides functionality to view create modify and delete user accounts directly from the command prompt.
    gain access to the server via SSHallow users to connect to RDP serversallows administrators to manage and configure audit policies for the system and provides the ability to view, set, and modify the audit policies that control what events are logged by the Windows security auditing subsystem.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 2,770 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 5 tokensmean: 9.48 tokensmax: 17 tokensmin: 5 tokensmean: 18.31 tokensmax: 47 tokensmin: 5 tokensmean: 18.21 tokensmax: 57 tokens
  • Samples:
    anchorpositivenegative
    Disable Windows Services related to security productsstop running serviceCreates lists and deletes stored user names and passwords or credentials.
    Get user informationGets the local security groups.Copy files from source to dest between local and remote machine skipping identical files.
    used pass the hash for lateral movementExecute processes on other systems complete with full interactivity for console applications without having to manually install client software.Extracts passwords keys,pin,codes,tickets from the memory of lsass
  • 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: 16
  • per_device_eval_batch_size: 16
  • 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: 16
  • per_device_eval_batch_size: 16
  • 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: 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Losslossdev_cosine_accuracytest_cosine_accuracy
00--0.8596-
0.24751002.04281.37530.9989-
0.49502001.52991.23611.0-
0.74263001.48711.18531.0-
0.99014001.46121.17071.0-
1.23765000.02871.21901.0-
1.15846000.91921.17381.0-
1.40597001.41311.17081.0-
1.65358001.42541.14281.0-
1.90109001.39771.13731.0-
2.148510000.53791.14191.0-
2.069311000.3861.13061.0-
2.316812001.37081.12601.0-
2.34651212---1.0

Framework Versions

  • Python: 3.11.5
  • Sentence Transformers: 3.1.0
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 1.0.0
  • Datasets: 3.0.1
  • Tokenizers: 0.19.1

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…

Класс архитектуры
MPNetModel
Ревизия весов
10a6908

0 моделей