/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
bge-base-en-v1.5
Библиотека
sentence-transformers
Опубликована
31 мар 2025

bge-base-financial-matryoshka

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

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

115скачиваний за 30 дней0лайковвеса обновлены31 мар 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BGE base Financial Matryoshka — англоязычная модель Sentence Transformers, дообученная разработчиком Baba-Voss на базе BAAI/bge-base-en-v1.5 для работы с финансовыми текстами. Она кодирует предложения и абзацы в плотные векторы размерностью 768 и предназначена для семантического поиска, сравнения текстов и извлечения релевантных фрагментов, например, из финансовой отчётности.

Архитектура основана на BERT: модель использует CLS-пулинг и нормализацию эмбеддингов. Контекст ограничен 512 токенами. Благодаря Matryoshka-обучению векторы можно сокращать до 512, 256, 128 или 64 измерений; в карточке приведены оценки поиска для этих размерностей. Модель также подходит для поиска дубликатов и кластеризации, а эмбеддинги можно использовать как признаки для классификации.

Модель принимает текст и выдаёт векторные представления. Она обучена на 6300 парах текстов из датасета json, включая вопросы и ответы по корпоративным документам и финансовой отчётности. Лицензия — Apache-2.0. Карточка не приводит результатов на широком наборе финансовых задач, поэтому качество за пределами указанного набора поиска может отличаться; длина входа ограничена 512 токенами.

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

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

Ограничения

Контекст ограничен 512 токенами. Приведённые оценки относятся к указанному в карточке набору поиска; качество на других финансовых корпусах отдельно не подтверждено.

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

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

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

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

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

Открыть на Hugging Face

BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5 on the json dataset. 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: BAAI/bge-base-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("Baba-Voss/bge-base-financial-matryoshka")
# Run inference
sentences = [
    "What is required of hotel owners if they do not participate in the company's insurance programs?",
    "If hotel owners do not participate in the company's insurance programs, they must purchase insurance programs that are consistent with the company's requirements.",
    'As of March 31, 2023, approximately $925 million of our cash and cash equivalents were domiciled in foreign tax jurisdictions and all of our foreign cash is available for repatriation without a material tax cost.',
]
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

Information Retrieval

MetricValue
cosine_accuracy@10.7014
cosine_accuracy@30.8514
cosine_accuracy@50.8843
cosine_accuracy@100.9186
cosine_precision@10.7014
cosine_precision@30.2838
cosine_precision@50.1769
cosine_precision@100.0919
cosine_recall@10.7014
cosine_recall@30.8514
cosine_recall@50.8843
cosine_recall@100.9186
cosine_ndcg@100.8152
cosine_mrr@100.7815
cosine_map@1000.7845

Information Retrieval

MetricValue
cosine_accuracy@10.6971
cosine_accuracy@30.85
cosine_accuracy@50.8843
cosine_accuracy@100.9157
cosine_precision@10.6971
cosine_precision@30.2833
cosine_precision@50.1769
cosine_precision@100.0916
cosine_recall@10.6971
cosine_recall@30.85
cosine_recall@50.8843
cosine_recall@100.9157
cosine_ndcg@100.8123
cosine_mrr@100.7784
cosine_map@1000.7817

Information Retrieval

MetricValue
cosine_accuracy@10.69
cosine_accuracy@30.8386
cosine_accuracy@50.87
cosine_accuracy@100.9143
cosine_precision@10.69
cosine_precision@30.2795
cosine_precision@50.174
cosine_precision@100.0914
cosine_recall@10.69
cosine_recall@30.8386
cosine_recall@50.87
cosine_recall@100.9143
cosine_ndcg@100.8063
cosine_mrr@100.7714
cosine_map@1000.7746

Information Retrieval

MetricValue
cosine_accuracy@10.68
cosine_accuracy@30.8171
cosine_accuracy@50.8529
cosine_accuracy@100.8986
cosine_precision@10.68
cosine_precision@30.2724
cosine_precision@50.1706
cosine_precision@100.0899
cosine_recall@10.68
cosine_recall@30.8171
cosine_recall@50.8529
cosine_recall@100.8986
cosine_ndcg@100.7919
cosine_mrr@100.7577
cosine_map@1000.7617

Information Retrieval

MetricValue
cosine_accuracy@10.6457
cosine_accuracy@30.7957
cosine_accuracy@50.8343
cosine_accuracy@100.8743
cosine_precision@10.6457
cosine_precision@30.2652
cosine_precision@50.1669
cosine_precision@100.0874
cosine_recall@10.6457
cosine_recall@30.7957
cosine_recall@50.8343
cosine_recall@100.8743
cosine_ndcg@100.7636
cosine_mrr@100.7278
cosine_map@1000.7324

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 6,300 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchorpositive
    typestringstring
    detailsmin: 9 tokensmean: 20.83 tokensmax: 45 tokensmin: 7 tokensmean: 46.89 tokensmax: 439 tokens
  • Samples:
    anchorpositive
    What is the average tenure of associates at the company as of December 31, 2023?On average, our associates spend 7 years at our Company.
    Which section of the document discusses Financial Statements and Supplementary Data?Item 8 is the section of the document where Financial Statements and Supplementary Data are discussed.
    What should investors consider when comparing Adjusted EBITDA across different companies?Additionally, we believe that Adjusted EBITDA is useful to investors because it is one of the bases for comparing our operating performance with that of other companies in our industries, although our measure of Adjusted EBITDA may not be directly comparable to similar measures used by other companies.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • 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: 4
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: 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}
  • tp_size: 0
  • 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_fused
  • 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 Lossdim_768_cosine_ndcg@10dim_512_cosine_ndcg@10dim_256_cosine_ndcg@10dim_128_cosine_ndcg@10dim_64_cosine_ndcg@10
0.20301011.2069-----
0.4061206.4186-----
0.6091304.5366-----
0.8122403.0793-----
1.0502.19040.80560.80710.79700.77700.7441
1.2030602.0745-----
1.4061702.2134-----
1.6091801.7818-----
1.8122902.2463-----
2.01002.09160.80810.80870.80110.78680.7542
2.20301101.4014-----
2.40611201.3142-----
2.60911301.6157-----
2.81221401.2927-----
3.01500.97830.81310.81090.80540.78870.7633
3.20301601.1788-----
3.40611701.2928-----
3.60911801.7676-----
3.81221901.4934-----
3.934196-0.81520.81230.80630.79190.7636
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 4.0.1
  • Transformers: 4.50.3
  • PyTorch: 2.1.2+cu121
  • Accelerate: 1.5.2
  • Datasets: 3.5.0
  • Tokenizers: 0.21.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",
}

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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…

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

0 моделей