Matryoshka Representation Learning
Paper • 2205.13147 • Published • 32
How to use haophancs/bge-base-financial-matryoshka with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("haophancs/bge-base-financial-matryoshka")
sentences = [
"Net cash used in financing activities in 2023 was $2,430 million.",
"What criteria does Airbnb, Inc. use to assess if an available-for-sale security should be recorded as impaired on their financial statements?",
"What was the total amount of net cash used in financing activities in 2023?",
"How much did Visa authorize for its share repurchase program in October 2023?"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5. 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.
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()
)
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("haophancs/bge-base-financial-matryoshka")
# Run inference
sentences = [
"Under the Insurance Act, Chubb's Bermuda domiciled subsidiaries are prohibited from declaring or paying any dividends of more than 25 percent of total statutory capital and surplus, as shown in its previous financial year statutory balance sheet, unless at least seven days before payment of the dividends, it files with the BMA an affidavit signed by at least two directors of the relevant Bermuda domiciled subsidiary (one of whom must be a director resident in Bermuda) and by the relevant Bermuda domiciled subsidiary’s principal representative, that it will continue to meet its required solvency margins. Furthermore, Bermuda domiciled subsidiaries may only declare and pay a dividend from retained earnings and a dividend or distribution from contributed surplus if it has no reasonable grounds for believing that it is, or would after the payment be, unable to pay its liabilities as they become due, or if the realizable value of its assets would be less than the aggregate of its liabilities. In addition, Chubb's Bermuda domiciled subsidiaries must obtain the BMA's prior approval before reducing total statutory capital, as shown in its previous financial year's financial statements, by 15 percent or more.",
'What are the restrictions and requirements for Bermuda domiciled subsidiaries regarding the distribution of dividends under the Insurance Act?',
'What section deals with financial statements and supplementary data?',
]
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]
dim_768InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.7043 |
| cosine_accuracy@3 | 0.8457 |
| cosine_accuracy@5 | 0.88 |
| cosine_accuracy@10 | 0.9243 |
| cosine_precision@1 | 0.7043 |
| cosine_precision@3 | 0.2819 |
| cosine_precision@5 | 0.176 |
| cosine_precision@10 | 0.0924 |
| cosine_recall@1 | 0.7043 |
| cosine_recall@3 | 0.8457 |
| cosine_recall@5 | 0.88 |
| cosine_recall@10 | 0.9243 |
| cosine_ndcg@10 | 0.8154 |
| cosine_mrr@10 | 0.7804 |
| cosine_map@100 | 0.7829 |
dim_512InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.7057 |
| cosine_accuracy@3 | 0.8471 |
| cosine_accuracy@5 | 0.8686 |
| cosine_accuracy@10 | 0.9243 |
| cosine_precision@1 | 0.7057 |
| cosine_precision@3 | 0.2824 |
| cosine_precision@5 | 0.1737 |
| cosine_precision@10 | 0.0924 |
| cosine_recall@1 | 0.7057 |
| cosine_recall@3 | 0.8471 |
| cosine_recall@5 | 0.8686 |
| cosine_recall@10 | 0.9243 |
| cosine_ndcg@10 | 0.8151 |
| cosine_mrr@10 | 0.7802 |
| cosine_map@100 | 0.7828 |
dim_384InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.7071 |
| cosine_accuracy@3 | 0.8386 |
| cosine_accuracy@5 | 0.8757 |
| cosine_accuracy@10 | 0.9229 |
| cosine_precision@1 | 0.7071 |
| cosine_precision@3 | 0.2795 |
| cosine_precision@5 | 0.1751 |
| cosine_precision@10 | 0.0923 |
| cosine_recall@1 | 0.7071 |
| cosine_recall@3 | 0.8386 |
| cosine_recall@5 | 0.8757 |
| cosine_recall@10 | 0.9229 |
| cosine_ndcg@10 | 0.8152 |
| cosine_mrr@10 | 0.7808 |
| cosine_map@100 | 0.7833 |
positive and anchor| positive | anchor | |
|---|---|---|
| type | string | string |
| details |
|
|
| positive | anchor |
|---|---|
In 2023, $2.2 billion or 5% was primarily related to patient co-pay assistance, cash discounts for prompt payment, distributor fees, and sales return provisions. |
What was the amount of sales return provisions in 2023 as part of gross-to-net deductions? |
Cash and cash equivalents were $21.9 billion at the end of 2023 as compared to $14.1 billion at the end of 2022, showing a $7.8 billion increase. |
How much did cash and cash equivalents increase by the end of 2023 compared to the end of 2022? |
The net increase in cash and cash equivalents for UnitedHealthcare in 2023 compared to 2022 was $72 million. |
What was the net increase in cash and cash equivalents for UnitedHealthcare in 2023 compared to 2022? |
MatryoshkaLoss with these parameters:{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768,
512,
384
],
"matryoshka_weights": [
1,
1,
1
],
"n_dims_per_step": -1
}
eval_strategy: epochper_device_train_batch_size: 32per_device_eval_batch_size: 16gradient_accumulation_steps: 16learning_rate: 2e-05num_train_epochs: 4lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Truetf32: Trueload_best_model_at_end: Trueoptim: adamw_torch_fusedbatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 16eval_accumulation_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 4max_steps: -1lr_scheduler_type: cosinelr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Truelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | dim_384_cosine_map@100 | dim_512_cosine_map@100 | dim_768_cosine_map@100 |
|---|---|---|---|---|---|
| 0.8122 | 10 | 0.8256 | - | - | - |
| 0.9746 | 12 | - | 0.7719 | 0.7679 | 0.7652 |
| 1.6244 | 20 | 0.2984 | - | - | - |
| 1.9492 | 24 | - | 0.7784 | 0.7810 | 0.7791 |
| 2.4365 | 30 | 0.201 | - | - | - |
| 2.9239 | 36 | - | 0.7835 | 0.7832 | 0.7828 |
| 3.2487 | 40 | 0.1705 | - | - | - |
| 3.8985 | 48 | - | 0.7833 | 0.7828 | 0.7829 |
@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",
}
@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}
}
@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}
}
Base model
BAAI/bge-base-en-v1.5