SentenceTransformer based on BAAI/bge-reasoner-embed-qwen3-8b-0923

This is a sentence-transformers model finetuned from BAAI/bge-reasoner-embed-qwen3-8b-0923. It maps sentences & paragraphs to a 4096-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: BAAI/bge-reasoner-embed-qwen3-8b-0923
  • Maximum Sequence Length: 768 tokens
  • Output Dimensionality: 4096 dimensions
  • Similarity Function: Cosine Similarity
  • Supported Modality: Text

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'Qwen3Model'})
  (1): Pooling({'embedding_dimension': 4096, 'pooling_mode': 'lasttoken', 'include_prompt': True})
)

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("sentence_transformers_model_id")
# Run inference
queries = [
    'This Java class, `TramCommandsAndEventsIntegrationData`, provides dynamically generated, timestamp-suffixed string identifiers for various command and event channels, aggregate destinations, and dispatchers. It serves as integration data, likely for configuring a messaging or event-driven framework (e.g., Tram Sagas) within a microservices architecture, possibly for testing or unique instance identification.',
]
documents = [
    'This code primarily defines a simple `ActionInfo` DTO and, more significantly, provides comprehensive Spring Boot integration tests for an `OrderService`. These tests validate order creation and state transitions within a microservices context, leveraging an embedded H2 database, Eventuate Tram for event-driven communication, and consumer-driven contract testing with stub runners for external service interactions.',
    'This abstract `Specification` class implements the Specification pattern, providing a framework for defining reusable business rules that can be checked against an object. It enables logical composition of specifications (AND, OR, NOT) and includes mechanisms to capture specific error codes and parameters when a rule is not satisfied.',
    'This code defines classes (`SubscriptionPoloniex`, `SubscriptionHuobi`) for establishing and maintaining real-time WebSocket connections to cryptocurrency exchanges like Poloniex and Huobi. It subscribes to specific currency pair order book updates, manages heartbeats, parses incoming market data, and dispatches processed updates to a provided callback function, likely for arbitrage or trading applications.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 4096] [3, 4096]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.3574, 0.4746, 0.7891]], dtype=torch.bfloat16)

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,716 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 100 samples:
    sentence_0 sentence_1 label
    type string string float
    modality text text
    details
    • min: 42 tokens
    • mean: 66.1 tokens
    • max: 88 tokens
    • min: 43 tokens
    • mean: 66.93 tokens
    • max: 100 tokens
    • min: 0.0
    • mean: 0.27
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    This Python code defines an Apache Thrift client (Client class) for a user management service. It implements methods for user registration (with or without a pre-defined ID), login, and retrieving user-related information, utilizing a distinct send_ and recv_ pattern for each remote procedure call. This code defines DTOs for various question answer types and implements the core business logic for creating insurance offers and policies. It showcases a microservice interaction pattern where the CreateOfferHandler orchestrates price calculation via a PricingClient and then persists domain objects like Offer and Policy. 1.0
    This Python code defines a test_repository function that orchestrates the testing of a given repository by first detecting its type (Java or Python). It then dispatches the testing process to a language-specific function (test_java_repository or test_python_repository), returning the test outcome and the detected repository type. This Python code defines a Client class that acts as a client-side interface for user management operations, including user registration (with or without a specified ID), login, and uploading user data by ID or username. It implements these functionalities using a distinct send_ and recv_ method pattern for each operation, characteristic of an Apache Thrift RPC client. 0.0
    This TradeConfig class centralizes all configuration and runtime parameters for the DayTrader sample application, defining operational modes, database settings, and UI types. It also provides a comprehensive suite of static utility methods for generating random trade-related data (users, quotes, prices) and simulating workload scenarios, notably employing a "card deck" algorithm for user selection. This TradeConfig class acts as a central, static configuration store for the DayTrader sample application, defining various runtime parameters such as operational modes (EJB, JDBC), order processing, UI preferences, and database settings. It also provides utility methods for generating random user and market data, crucial for simulating trade scenarios and managing user IDs through a "card deck" approach. 0.0
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • 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: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • 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
  • 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}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • 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
  • hub_revision: None
  • 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
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Time

  • Training: 6.1 minutes

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 5.7.0
  • Transformers: 4.57.6
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.15.0
  • Datasets: 5.0.1
  • Tokenizers: 0.22.2

Additional Resources

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",
}

ContrastiveLoss

@inproceedings{hadsell2006dimensionality,
    author={Hadsell, R. and Chopra, S. and LeCun, Y.},
    booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
    title={Dimensionality Reduction by Learning an Invariant Mapping},
    year={2006},
    volume={2},
    number={},
    pages={1735-1742},
    doi={10.1109/CVPR.2006.100}
}
Downloads last month
25
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for hasinthakapiyumal/bge-reasoner-embed-ms-patterns

Finetuned
(4)
this model

Paper for hasinthakapiyumal/bge-reasoner-embed-ms-patterns