SentenceTransformer based on Snowflake/snowflake-arctic-embed-l

This is a sentence-transformers model finetuned from Snowflake/snowflake-arctic-embed-l. 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
  • Base model: Snowflake/snowflake-arctic-embed-l
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (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("martintgc/finetuned_arctic_kg_ft-constr-contr-v0")
# Run inference
sentences = [
    'Welche Maßnahmen sind im Zusammenhang mit der Sanierung des Bauwerks Überführung der A81 vorgesehen?',
    'rung aufbringen. \n\uf0b7 \nBau von Feldwegen und Rekultivierungsmaßnahmen \n\uf0b7 \nOberbodenandeckungsarbeiten und Ansaatarbeiten. \n\uf0b7 \nBankettarbeiten als Schotterrasen \n \nVerbreiterung und FDE B28: \n \n\uf0b7 \nVerkehrsführung einrichten, vorhalten, betreiben und abbauen wird durch Dritte aus-\ngeführt \n\uf0b7 \nErdbau und Entwässerungsarbeiten auf der B28 \n\uf0b7 \nVerbreiterung und FDE Maßnahme auf der B 28 mit Austausch der Asphalttrag-, As-\nphaltbinderschicht und der Deckschicht verbunden mit der Anhebung der Quernei-\ngung auf 2,5% \n\uf0b7 \nVerbreiterung der Feldwegunterführung auf der B28 (BW 01, km 0+710) nach Süden \neinschl. Sanierung des restlichen Bauwerks \n\uf0b7 \nSanierung des Bauwerks Überführung der A81 \n\uf0b7 \nAbbau von Schutzplanken in Bau- und Verbreiterungsbereichen durch den AN Stra-',
    'A81 AS Rottenburg, Ausbau zum Kleeblatt einschließlich Parallelfahrbahnen und \ngrundhafte Erneuerung der B28 im Ausbaubereich \n____________________________________________________________________________________________________________ \n \n12 \n \n50 cm verbleibende Frostschutzschicht \n10 cm neues Frostschutzmaterial 0/45 aus Naturgestein \n18 cm Asphalttragschicht AC 32 TS (50/70) \n9,0 cm dicken Asphaltbinderschicht Typ SMA 22 B S mit 10/40-65 \n3,5 cm Deckschicht SMA 8 S mit 25/55-55. \nDabei ist zu beachten, dass hierdurch die bestehenden Höhen des tieferen Fahrbahn-\nrandes auf der B 28 erhalten bleiben, ansonsten die Querneigung auf der B28 auf 2,5% \nerhöht wird. Dieser Ausgleich wird in der Frostschutzschicht vorgenommen. Im Bereich',
]
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

Metric Value
cosine_accuracy@1 0.16
cosine_accuracy@3 0.32
cosine_accuracy@5 0.46
cosine_accuracy@10 0.54
cosine_precision@1 0.16
cosine_precision@3 0.1067
cosine_precision@5 0.092
cosine_precision@10 0.054
cosine_recall@1 0.16
cosine_recall@3 0.32
cosine_recall@5 0.46
cosine_recall@10 0.54
cosine_ndcg@10 0.3317
cosine_mrr@10 0.2674
cosine_map@100 0.2846

Training Details

Training Dataset

Unnamed Dataset

  • Size: 50 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 50 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 7 tokens
    • mean: 25.64 tokens
    • max: 52 tokens
    • min: 110 tokens
    • mean: 282.34 tokens
    • max: 391 tokens
  • Samples:
    sentence_0 sentence_1
    Was sind die Details zum Ausbau der B28 im Zusammenhang mit der A81 AS Rottenburg? A81 AS Rottenburg, Ausbau zum Kleeblatt einschließlich Parallelfahrbahnen und
    grundhafte Erneuerung der B28 im Ausbaubereich
    ________________________________________________________________________




    Die Autobahn GmbH des Bundes
    Niederlassung Südwest, Außenstelle Stuttgart-Vaihingen










    BAUBESCHREIBUNG


    A81 AS Rottenburg, Ausbau zum Kleeblatt einschließlich
    Parallelfahrbahnen und Rampen und grundhafte
    Erneuerung der B28 im Ausbaubereich
    Was sind die Standardauflagen und Bedingungen des Landratsamtes Böblingen? A81 AS Rottenburg, Ausbau zum Kleeblatt einschließlich Parallelfahrbahnen und
    grundhafte Erneuerung der B28 im Ausbaubereich
    ____________________________________________________________________________________________________________

    2

    Inhaltsverzeichnis
    1
    ALLGEMEINE BESCHREIBUNG DER LEISTUNG
    7
    1.1
    AUSZUFÜHRENDE LEISTUNGEN
    7
    1.1.1
    Straßenbau
    7
    1.1.1.1
    Art und Umfang
    7
    1.1.1.2
    Untergrund
    9
    1.1.1.3
    Unterbau
    9
    1.1.1.4
    Erdarbeiten
    9
    1.1.1.5
    Fräsarbeiten
    9
    1.1.1.6
    Entwässerung
    9
    1.1.1.7
    Oberbau
    10
    1.1.1.8
    Durchlässe
    15
    1.1.1.9
    Ausstattung
    15
    1.1.2
    Bauwerke (Ingenieurbau)
    16
    1.1.2.1
    Art und Umfang
    16
    1.1.3
    Landschaftsbau
    16
    1.1.3.1
    Standardauflagen und Bedingungen des Landratsamtes Böblingen
    16
    1.1.3.2
    Art und Umfang
    20
    1.1.3.3
    Was ist Baustellenverordnung? Bauwerke (Ingenieurbau)
    16
    1.1.2.1
    Art und Umfang
    16
    1.1.3
    Landschaftsbau
    16
    1.1.3.1
    Standardauflagen und Bedingungen des Landratsamtes Böblingen
    16
    1.1.3.2
    Art und Umfang
    20
    1.1.3.3
    Allgemeines
    20
    1.1.3.4
    Oberbodenkonzept
    20
    1.1.3.5
    Schutzzäune
    22
    1.1.3.6
    Wurzelstöcke und Gehölze roden
    22
    1.1.3.7
    Ansaatarbeiten
    22
    1.1.3.8
    Rückbau nicht mehr benötigter Straßenflächen (Ausgleichsmaßnahmen)
    22
    1.1.3.9
    Sonstiges
    22
    1.1.4
    Auftraggeber Aufgaben nach Baustellenverordnung
    22
    1.1.4.1
    Vorankündigung
    22
    1.1.4.2
    Unterlage nach § 3 Abs. 2 Nr. 3 Baustellenverordnung erstellen und anpassen
    23
    1.1.4.3
    Sicherheits- und Gesundheitsschutzkoordinator während der Ausführung des Bauvorhabens stellen
    23
    1.2
    AUSGEFÜHRTE VORARBEITEN
    25
    1.2.1
    Beweissicherung
    25
  • 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: steps
  • per_device_train_batch_size: 10
  • per_device_eval_batch_size: 10
  • num_train_epochs: 10
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • 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: 10
  • 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

Epoch Step cosine_ndcg@10
1.0 5 0.3048
2.0 10 0.3167
3.0 15 0.3633
4.0 20 0.3619
5.0 25 0.3436
6.0 30 0.3461
7.0 35 0.3475
8.0 40 0.3319
9.0 45 0.3320
10.0 50 0.3317

Framework Versions

  • Python: 3.9.21
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.6.0
  • Accelerate: 1.4.0
  • Datasets: 3.3.2
  • 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",
}

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
7
Safetensors
Model size
334M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for martintgc/finetuned_arctic_kg_ft-constr-contr-v0

Finetuned
(83)
this model

Evaluation results