/ Модель

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

Контекст
8 194 токена
Параметры
659 млн
Архитектура
xlm-roberta · dense
Библиотека
sentence-transformers
Опубликована
7 дек 2024

bge-m3-finetuned-2

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

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

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Binh230/bge-m3-finetuned-2 — модель Sentence Transformers на базе XLM-RoBERTa, дообученная для получения плотных векторных представлений предложений и абзацев. Она кодирует текст в векторы размерностью 1024 и предназначена для семантического поиска, сравнения сходства, поиска перефразирований, кластеризации и классификации текстов. Модель поддерживает последовательности до 8192 токенов; сходство векторов оценивается косинусной мерой. Для обучения использовано 68 042 парных примера, а архитектура включает трансформер, pooling по CLS-токену и нормализацию векторов.

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

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

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

Ограничения

Предоставленные примеры ориентированы на вьетнамские нормативные документы, поэтому качество на других языках и тематиках по этим данным не подтверждено. Модель возвращает векторы для сопоставления, а не готовые ответы.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer

This is a sentence-transformers model trained. 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
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity

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("binh230/bge-m3-finetuned-2")
# Run inference
sentences = [
    'Người thực hiện việc uỷ thác toàn bộ hoặc một phần việc vận chuyển hàng hoá bằng đường biển được gọi là ai?',
    'Điều 72. Các bên liên quan đến hợp đồng vận chuyển hàng hoá bằng đường biển\n1. Người thuê vận chuyển là người tự mình hoặc uỷ quyền cho người khác giao kết hợp đồng vận chuyển hàng hoá bằng đường biển với người vận chuyển. Trong trường hợp hợp đồng vận chuyển theo chứng từ vận chuyển, người thuê vận chuyển được gọi là người gửi hàng.\n2. Người vận chuyển là người tự mình hoặc uỷ quyền cho người khác giao kết hợp đồng vận chuyển hàng hoá bằng đường biển với người thuê vận chuyển.\n3. Người vận chuyển thực tế là người được người vận chuyển uỷ thác thực hiện toàn bộ hoặc một phần việc vận chuyển hàng hoá bằng đường biển.\n4. Người giao hàng là người tự mình hoặc được người khác uỷ thác giao hàng cho người vận chuyển theo hợp đồng vận chuyển hàng hoá bằng đường biển.\n5. Người nhận hàng là người có quyền nhận hàng theo quy định tại Điều 89 và Điều 110 của Bộ luật này.',
    'Điều 49. Địa vị pháp lý của thuyền trưởng\n1. Thuyền trưởng là người có quyền chỉ huy cao nhất ở trên tàu biển, chỉ huy tàu theo chế độ thủ trưởng. Mọi người có mặt trên tàu biển phải chấp hành mệnh lệnh của thuyền trưởng.\n2. Thuyền trưởng chịu sự chỉ đạo của chủ tàu hoặc người thuê tàu, người khai thác tàu.',
]
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

Information Retrieval

MetricValue
cosine_accuracy@10.2468
cosine_accuracy@30.7418
cosine_accuracy@50.8261
cosine_accuracy@100.9197
cosine_precision@10.2468
cosine_precision@30.2473
cosine_precision@50.1652
cosine_precision@100.092
cosine_recall@10.2468
cosine_recall@30.7418
cosine_recall@50.8261
cosine_recall@100.9197
cosine_ndcg@100.5917
cosine_mrr@100.4847
cosine_map@1000.4893

Training Details

Training Dataset

Unnamed Dataset

  • Size: 68,042 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0sentence_1
    typestringstring
    detailsmin: 10 tokensmean: 26.53 tokensmax: 142 tokensmin: 23 tokensmean: 225.01 tokensmax: 634 tokens
  • Samples:
    sentence_0sentence_1
    Tổ chức phát hành có trách nhiệm gì khi quản lý tài khoản vốn phát hành chứng khoán bằng ngoại tệ?Điều 8. Trách nhiệm của tổ chức phát hành1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo đúng quy định tại Thông tư này và các văn bản pháp luật có liên quan.2. Kê khai trung thực, đầy đủ nội dung thu, chi trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ; Cung cấp các chứng từ, tài liệu liên quan đến việc mở và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo yêu cầu và hướng dẫn của tổ chức tín dụng được phép.
    Đơn vị nào có quyền yêu cầu cung cấp chứng từ liên quan đến việc sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ và tổ chức phát hành phải tuân thủ như thế nào?Điều 8. Trách nhiệm của tổ chức phát hành1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo đúng quy định tại Thông tư này và các văn bản pháp luật có liên quan.2. Kê khai trung thực, đầy đủ nội dung thu, chi trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ; Cung cấp các chứng từ, tài liệu liên quan đến việc mở và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo yêu cầu và hướng dẫn của tổ chức tín dụng được phép.
    Tổ chức tín dụng có trách nhiệm gì khi liên quan đến tài khoản vốn phát hành chứng khoán bằng ngoại tệ?Điều 9. Trách nhiệm của tổ chức tín dụng được phép1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ phù hợp với quy định tại Thông tư này và các văn bản pháp luật có liên quan.2. Kiểm tra, lưu giữ các tài liệu, chứng từ liên quan đến các giao dịch thu, chi được thực hiện trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ của tổ chức phát hành để đảm bảo việc cung ứng dịch vụ ngoại hối được thực hiện đúng mục đích và phù hợp với quy định của pháp luật.3. Thực hiện chế độ báo cáo theo quy định tại Điều 10 Thông tư này.
  • 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: 10
  • per_device_eval_batch_size: 10
  • num_train_epochs: 1
  • 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: 10
  • per_device_eval_batch_size: 10
  • 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: 1
  • 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 Losscosine_ndcg@10
0.07355000.0157-
0.147010000.0231-
0.220415000.0191-
0.293920000.0179-
0.367425000.0153-
0.440930000.017-
0.47023200-0.5705
0.514335000.0181-
0.587840000.0131-
0.661345000.0129-
0.734850000.012-
0.808255000.0117-
0.881760000.0096-
0.94056400-0.5906
0.955265000.0111-
1.06805-0.5917

Framework Versions

  • Python: 3.10.10
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.0
  • PyTorch: 2.2.1+cu121
  • 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",
}

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
Ревизия весов
26399b9

0 моделей