Regulatory 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("hshashank06/regulatory-policy")
# Run inference
sentences = [
    'Based on the internal mark of the counterparty, if there is no internal mark for the counterparty legal entity, you should select "Proxy". Otherwise, if there is an internal mark for the counterparty legal entity, you should choose "CP Legal Entity".',
    'Select entity type for CDS spread based on internal mark of counterparty.',
    'Relates to 14Q, Schedule G.2. For G.2 line 3 C&I Loans, are we reporting here average balances of loans which are reported on FR Y-9C, Schedule HC-C (HC-C) line 4. Or are we reverting to the definition of other graded commercial loans and leases as reported on 14Q Schedule M Balances (Schedule M) where HC-C loans reported on line 9b2 are reported on Schedule M as "Other commercial loans"? Schedule M refers to HC-C lines 9a, 9b2 as other graded commercial loans and they are reported as wholesale corporate loans on 14Q Schedule H1. In other words, which HC-C loan lines are considered C&I for purposes of mapping to 14Q Schedule G.2 line 3? Further, although Schedule M considers HC-C loans reported in line 9b2 as Other commercial graded, if not reportable in line 3 on G.2, should they be reported in line 8 on G.2?',
]
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

Metric dim_768 dim_512 dim_256 dim_128 dim_64
cosine_accuracy@1 0.6679 0.6642 0.6605 0.631 0.5978
cosine_accuracy@3 0.7232 0.7232 0.7159 0.7196 0.6937
cosine_accuracy@5 0.7306 0.7306 0.7306 0.7232 0.7011
cosine_accuracy@10 0.7417 0.7491 0.7491 0.7417 0.7306
cosine_precision@1 0.6679 0.6642 0.6605 0.631 0.5978
cosine_precision@3 0.2411 0.2411 0.2386 0.2399 0.2312
cosine_precision@5 0.1461 0.1461 0.1461 0.1446 0.1402
cosine_precision@10 0.0742 0.0749 0.0749 0.0742 0.0731
cosine_recall@1 0.6679 0.6642 0.6605 0.631 0.5978
cosine_recall@3 0.7232 0.7232 0.7159 0.7196 0.6937
cosine_recall@5 0.7306 0.7306 0.7306 0.7232 0.7011
cosine_recall@10 0.7417 0.7491 0.7491 0.7417 0.7306
cosine_ndcg@10 0.7079 0.7076 0.7053 0.6905 0.6677
cosine_mrr@10 0.6967 0.6942 0.6913 0.6737 0.6472
cosine_map@100 0.6991 0.6963 0.693 0.6758 0.649

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 2,432 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 4 tokens
    • mean: 102.47 tokens
    • max: 355 tokens
    • min: 11 tokens
    • mean: 38.47 tokens
    • max: 512 tokens
  • Samples:
    positive anchor
    Reporting rules in FR Y-14Q can influence Capital Assessments and Stress Testing by requiring firms, such as BHCs, IHCs, and SLHCs, to report the country of domicile or risk of the counterparty legal entity. This information is crucial for assessing the potential risks associated with counterparties and ensuring regulatory compliance. Firms must provide details in the methodology documentation, including the use of standard ISO two-letter country codes or "XX" for supranational entities. By accurately reporting this information, firms can enhance their understanding of counterparty risk exposure and strengthen their overall risk management practices. How would Capital Assessments and Stress Testing be influenced by reporting rules in FR Y-14Q?
    The guidelines for credit losses and asset sales in financial reporting involve reporting credit losses in item 4 under "Provision for credit losses" for securities and loans/leases. When intending to sell debt securities, write-offs should be reported if it is more likely than not that the subsidiary will need to sell the security before recovering its amortized cost. Reserves for contingencies in capital accounts should be excluded. Additionally, net gains or losses from asset sales should be reported appropriately. Provisions for credit losses on financial assets measured at amortized cost should be reported in specific line items, with adjustments made accordingly to ensure accurate financial reporting. Explain the guidelines for credit losses and asset sales in financial reporting.
    Capital Assessments and Stress Testing rules are connected in the FR Y-14Q report through various components such as loss resulting from trading shock exercise, total revenues, noninterest expense components, and adjustments related to operational risk expense. These rules help assess the financial stability and risk management of financial institutions by incorporating factors like quarterly impairment projections and market shocks. The FR Y-14Q report provides a comprehensive framework for evaluating capital adequacy and resilience under different stress scenarios, ensuring the overall soundness of the financial system. How are Capital Assessments and Stress Testing rules connected in FR Y-14Q report?
  • 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
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 16
  • 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: True
  • 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: 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}
  • 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

Epoch Step Training Loss dim_768_cosine_ndcg@10 dim_512_cosine_ndcg@10 dim_256_cosine_ndcg@10 dim_128_cosine_ndcg@10 dim_64_cosine_ndcg@10
0.8421 4 - 0.6767 0.6773 0.6623 0.6572 0.6149
1.8421 8 - 0.6986 0.6930 0.6874 0.6765 0.6491
2.4211 10 116.3252 - - - - -
2.8421 12 - 0.7079 0.7073 0.7031 0.6906 0.6647
3.8421 16 - 0.7079 0.7076 0.7053 0.6905 0.6677
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.5.2
  • Datasets: 3.4.1
  • 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}
}
Downloads last month
8
Safetensors
Model size
109M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for hshashank06/regulatory-policy

Finetuned
(370)
this model
Finetunes
1 model

Evaluation results