Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup
Paper
•
2101.06983
•
Published
•
1
mmBERTscandi-base-embedding is finetuned on the Scandinavian (Danish, Norwegian, Swedish) text embeddings dataset from DDSC (nordic-embedding-training-data) using jonasaise/scandmmBERT-base-scandinavian/jhu-clsp/mmBERT-base as the base model via the sentence-transformers framework.
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': 8192, 'do_lower_case': False, 'architecture': 'ModernBertModel'})
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
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("emillykkejensen/mmBERTscandi-base-embedding")
# Run inference
query = "Hvad var årsagen til at Christian IVs militære felttog mod Sverige fik så katastrofale følger?"
documents = [
"Kong Christian IVs mange byggerier, herunder Rundetårn og Børsen, kostede statskassen dyrt og førte til økonomiske problemer. Hans passion for arkitektur og storslåede monumenter var medvirkende til rigets finansielle vanskeligheder i 1600-tallet.",
"Den Store Nordiske Krig fra 1700-1721 resulterede i Sveriges tab af mange territorier til Rusland. Karl XIIs aggressive ekspansionspolitik endte med nederlag ved Poltava i 1709, hvilket markerede begyndelsen på Sveriges decline som stormagt.",
"Christian IV indledte Kalmarkrigen i 1611 mod Sverige, motiveret af ønsket om at genvinde kontrollen over Øresund. Selvom Danmark opnåede nogle territoriale gevinster, var konflikten kostbar og udmattende for begge lande.",
"Kongens manglende militære erfaring og overvurdering af Danmarks styrke var afgørende faktorer i nederlagene under Torstenson-fejden. Christian IVs personlige ledelse på slagmarken viste sig katastrofal, da han ikke forstod moderne krigsførelsesteknikker og undervurderede den svenske hærs disciplin og taktiske overlegenhed.",
"Gustav II Adolf moderniserede den svenske hær med forbedret artilleri og mobile enheder. Hans militære reformer revolutionerede europæisk krigsførelse og gav Sverige en betydelig fordel i konflikter under 1600-tallet.",
"Christian 4.s militære felttog mod Sverige, primært Kalmarkrigen (1611-13) og Torstenssonfejden (1643-45), var katastrofale, fordi hans forsøg på at genoprette Danmarks nordiske dominans og genindføre Kalmarunionen mislykkedes, hvilket resulterede i betydelige territoriale tab for Danmark og Norge, øget svensk magt og ydmygende fredsaftaler som «Freden i Brømsebro», der understregede Danmarks svækkelse som stormagt"
]
query_embeddings = model.encode_query(query, 'retrieval')
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# (768,) (6, 768)
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.4894, 0.6639, 0.6522, 0.7178, 0.5717, 0.8075]])
nordic-embedding-eval-instruct and nordic-embedding-test-instructInformationRetrievalEvaluator| Metric | nordic-embedding-eval-instruct | nordic-embedding-test-instruct |
|---|---|---|
| cosine_accuracy@1 | 0.4524 | 0.4464 |
| cosine_accuracy@3 | 0.5758 | 0.5726 |
| cosine_accuracy@5 | 0.6198 | 0.6164 |
| cosine_accuracy@10 | 0.6776 | 0.6696 |
| cosine_precision@1 | 0.4524 | 0.4464 |
| cosine_precision@3 | 0.1919 | 0.1909 |
| cosine_precision@5 | 0.124 | 0.1233 |
| cosine_precision@10 | 0.0678 | 0.067 |
| cosine_recall@1 | 0.4524 | 0.4464 |
| cosine_recall@3 | 0.5758 | 0.5726 |
| cosine_recall@5 | 0.6198 | 0.6164 |
| cosine_recall@10 | 0.6776 | 0.6696 |
| cosine_ndcg@10 | 0.5614 | 0.5556 |
| cosine_mrr@10 | 0.5246 | 0.5194 |
| cosine_map@100 | 0.5295 | 0.5251 |
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Task: similarity |
Jag har använt databasen i flera år nu, och jag måste säga att den senaste uppdateringen är fantastiskt. Det nya gränssnittet är verkligen användarvänligt, mycket mer än tidigare. Det är så mycket enklare att navigera runt och hitta de filer jag behöver. Till exempel, när jag laddar ner en fil kan jag nu enkelt se alla relaterade dokument direkt på samma sida, vilket sparar mig mycket tid. Och sökmotorn är otroligt intuitiv - jag kan bokstavligen skriva in några nyckelord och hitta det jag söker på ett ögonblick. Det känns som om utvecklarna verkligen lyssnade på användarna och gjorde ändringar som verkligen gör en skillnad. |
|
Task: similarity |
Det er fremragende! |
|
Task: classification\nQuery: Hej allihopa! Har ni hört den senaste nyheten? Det verkar som om vår klasskamrat Pelle har vunnit lotteri! Han ska tydligen resa runt i världen nu. Hur häftigt är inte det? |
Informell |
|
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"mini_batch_size": 32,
"gather_across_devices": false
}
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Task: retrieval |
Elbilens rekkevidde er et sentralt tema for mange potensielle kjøpere. Batteriteknologi har utviklet seg enormt de siste årene, og moderne elbiler kan nå kjøre opptil 500 kilometer eller mer på en enkelt lading. Men rekkevidden varierer avhengig av flere faktorer, som bilens størrelse, vekt, kjørestil og værforhold. For eksempel vil en stor SUV med firehjulsdrift typisk ha lavere rekkevidde enn en liten bybil. Kaldt vær kan også redusere rekkevidden betydelig, mens varm vær har mindre innvirkning. |
Når det kommer til kjøp av bil, er det mange faktorer å ta hensyn til. Pris, design, ytelse og sikkerhetsfunksjoner er alle viktige elementer som bør vurderes. En annen viktig faktor er bilens miljøpåvirkning. Elbiler har blitt mer populære i det siste på grunn av deres lave utslipp. De produserer ingen direkte utslipp av skadelige gasser, noe som gjør dem til et mer miljøvennlig alternativ til bensindrevne biler. |
Task: classification\nQuery: Vi, undertegnede, hermed erklære os enige om at sælge den ejendom, der er beskrevet i vedlagte bilag. Køber og sælger er enige om en købesum på 2.500.000 kroner, som skal betales kontant ved underskrivelsen af denne aftale. Ejendommen overdrages til køber den 1. juli 2024. |
Kontrakt |
|
Task: similarity |
Florenzia blomstrer i hjertet av Toscana og er et av verdens mest berømte reisemål. Med sin rikholdige historie, kunst, arkitektur og matkultur, er Firenze en perfekt destinasjon for alle som søker en autentisk italiensk opplevelse. |
|
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"mini_batch_size": 32,
"gather_across_devices": false
}
eval_strategy: stepsper_device_train_batch_size: 64per_device_eval_batch_size: 64learning_rate: 5e-06num_train_epochs: 1warmup_ratio: 0.1fp16: Truegradient_checkpointing: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-06weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_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: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_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: Falseignore_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}parallelism_config: Nonedeepspeed: 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: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Truegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_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: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss | nordic-embedding-eval-instruct_cosine_ndcg@10 | nordic-embedding-test-instruct_cosine_ndcg@10 |
|---|---|---|---|---|---|
| -1 | -1 | - | - | 0.2565 | - |
| 0.0067 | 100 | 3.3624 | - | - | - |
| 0.0134 | 200 | 2.4464 | - | - | - |
| 0.0200 | 300 | 1.0373 | - | - | - |
| 0.0267 | 400 | 0.5657 | - | - | - |
| 0.0334 | 500 | 0.4352 | - | - | - |
| 0.0401 | 600 | 0.3905 | - | - | - |
| 0.0468 | 700 | 0.3318 | - | - | - |
| 0.0534 | 800 | 0.3098 | - | - | - |
| 0.0601 | 900 | 0.293 | - | - | - |
| 0.0668 | 1000 | 0.2791 | 0.1232 | 0.4904 | - |
| 0.0735 | 1100 | 0.2464 | - | - | - |
| 0.0801 | 1200 | 0.239 | - | - | - |
| 0.0868 | 1300 | 0.2273 | - | - | - |
| 0.0935 | 1400 | 0.2121 | - | - | - |
| 0.1002 | 1500 | 0.2001 | - | - | - |
| 0.1069 | 1600 | 0.1974 | - | - | - |
| 0.1135 | 1700 | 0.1871 | - | - | - |
| 0.1202 | 1800 | 0.1855 | - | - | - |
| 0.1269 | 1900 | 0.1844 | - | - | - |
| 0.1336 | 2000 | 0.1741 | 0.0108 | 0.5289 | - |
| 0.1403 | 2100 | 0.1803 | - | - | - |
| 0.1469 | 2200 | 0.167 | - | - | - |
| 0.1536 | 2300 | 0.1667 | - | - | - |
| 0.1603 | 2400 | 0.1522 | - | - | - |
| 0.1670 | 2500 | 0.1488 | - | - | - |
| 0.1736 | 2600 | 0.148 | - | - | - |
| 0.1803 | 2700 | 0.1564 | - | - | - |
| 0.1870 | 2800 | 0.1632 | - | - | - |
| 0.1937 | 2900 | 0.1548 | - | - | - |
| 0.2004 | 3000 | 0.1491 | 0.0030 | 0.5290 | - |
| 0.2070 | 3100 | 0.1456 | - | - | - |
| 0.2137 | 3200 | 0.1421 | - | - | - |
| 0.2204 | 3300 | 0.1531 | - | - | - |
| 0.2271 | 3400 | 0.1532 | - | - | - |
| 0.2338 | 3500 | 0.1423 | - | - | - |
| 0.2404 | 3600 | 0.1397 | - | - | - |
| 0.2471 | 3700 | 0.1422 | - | - | - |
| 0.2538 | 3800 | 0.1336 | - | - | - |
| 0.2605 | 3900 | 0.134 | - | - | - |
| 0.2671 | 4000 | 0.148 | 0.0096 | 0.5472 | - |
| 0.2738 | 4100 | 0.1394 | - | - | - |
| 0.2805 | 4200 | 0.125 | - | - | - |
| 0.2872 | 4300 | 0.1334 | - | - | - |
| 0.2939 | 4400 | 0.1449 | - | - | - |
| 0.3005 | 4500 | 0.1261 | - | - | - |
| 0.3072 | 4600 | 0.1417 | - | - | - |
| 0.3139 | 4700 | 0.1285 | - | - | - |
| 0.3206 | 4800 | 0.119 | - | - | - |
| 0.3273 | 4900 | 0.1226 | - | - | - |
| 0.3339 | 5000 | 0.1153 | 0.0047 | 0.5572 | - |
| 0.3406 | 5100 | 0.1316 | - | - | - |
| 0.3473 | 5200 | 0.1358 | - | - | - |
| 0.3540 | 5300 | 0.1188 | - | - | - |
| 0.3606 | 5400 | 0.1267 | - | - | - |
| 0.3673 | 5500 | 0.1221 | - | - | - |
| 0.3740 | 5600 | 0.1306 | - | - | - |
| 0.3807 | 5700 | 0.1296 | - | - | - |
| 0.3874 | 5800 | 0.1158 | - | - | - |
| 0.3940 | 5900 | 0.1268 | - | - | - |
| 0.4007 | 6000 | 0.1389 | 0.0029 | 0.5619 | - |
| 0.4074 | 6100 | 0.0461 | - | - | - |
| 0.4141 | 6200 | 0.0 | - | - | - |
| 0.4208 | 6300 | 0.0001 | - | - | - |
| 0.4274 | 6400 | 0.0 | - | - | - |
| 0.4341 | 6500 | 0.0002 | - | - | - |
| 0.4408 | 6600 | 0.0 | - | - | - |
| 0.4475 | 6700 | 0.0 | - | - | - |
| 0.4542 | 6800 | 0.0 | - | - | - |
| 0.4608 | 6900 | 0.0 | - | - | - |
| 0.4675 | 7000 | 0.0 | 0.0016 | 0.5608 | - |
| 0.4742 | 7100 | 0.0 | - | - | - |
| 0.4809 | 7200 | 0.0 | - | - | - |
| 0.4875 | 7300 | 0.0 | - | - | - |
| 0.4942 | 7400 | 0.0 | - | - | - |
| 0.5009 | 7500 | 0.0 | - | - | - |
| 0.5076 | 7600 | 0.0 | - | - | - |
| 0.5143 | 7700 | 0.0 | - | - | - |
| 0.5209 | 7800 | 0.0 | - | - | - |
| 0.5276 | 7900 | 0.0 | - | - | - |
| 0.5343 | 8000 | 0.0 | 0.0017 | 0.5632 | - |
| 0.5410 | 8100 | 0.0 | - | - | - |
| 0.5477 | 8200 | 0.0 | - | - | - |
| 0.5543 | 8300 | 0.0 | - | - | - |
| 0.5610 | 8400 | 0.0 | - | - | - |
| 0.5677 | 8500 | 0.0 | - | - | - |
| 0.5744 | 8600 | 0.0 | - | - | - |
| 0.5810 | 8700 | 0.0 | - | - | - |
| 0.5877 | 8800 | 0.0 | - | - | - |
| 0.5944 | 8900 | 0.0 | - | - | - |
| 0.6011 | 9000 | 0.0 | 0.0017 | 0.5642 | - |
| 0.6078 | 9100 | 0.0 | - | - | - |
| 0.6144 | 9200 | 0.0 | - | - | - |
| 0.6211 | 9300 | 0.0069 | - | - | - |
| 0.6278 | 9400 | 0.0069 | - | - | - |
| 0.6345 | 9500 | 0.0 | - | - | - |
| 0.6412 | 9600 | 0.0 | - | - | - |
| 0.6478 | 9700 | 0.0 | - | - | - |
| 0.6545 | 9800 | 0.0 | - | - | - |
| 0.6612 | 9900 | 0.0 | - | - | - |
| 0.6679 | 10000 | 0.0 | 0.0017 | 0.5640 | - |
| 0.6745 | 10100 | 0.0 | - | - | - |
| 0.6812 | 10200 | 0.0 | - | - | - |
| 0.6879 | 10300 | 0.0 | - | - | - |
| 0.6946 | 10400 | 0.0 | - | - | - |
| 0.7013 | 10500 | 0.0 | - | - | - |
| 0.7079 | 10600 | 0.0 | - | - | - |
| 0.7146 | 10700 | 0.0 | - | - | - |
| 0.7213 | 10800 | 0.0 | - | - | - |
| 0.7280 | 10900 | 0.0 | - | - | - |
| 0.7347 | 11000 | 0.0 | 0.0017 | 0.5642 | - |
| 0.7413 | 11100 | 0.0 | - | - | - |
| 0.7480 | 11200 | 0.0069 | - | - | - |
| 0.7547 | 11300 | 0.0 | - | - | - |
| 0.7614 | 11400 | 0.0 | - | - | - |
| 0.7680 | 11500 | 0.0 | - | - | - |
| 0.7747 | 11600 | 0.0 | - | - | - |
| 0.7814 | 11700 | 0.0 | - | - | - |
| 0.7881 | 11800 | 0.0 | - | - | - |
| 0.7948 | 11900 | 0.0 | - | - | - |
| 0.8014 | 12000 | 0.0 | 0.0018 | 0.5648 | - |
| 0.8081 | 12100 | 0.0 | - | - | - |
| 0.8148 | 12200 | 0.0 | - | - | - |
| 0.8215 | 12300 | 0.0 | - | - | - |
| 0.8282 | 12400 | 0.0 | - | - | - |
| 0.8348 | 12500 | 0.0 | - | - | - |
| 0.8415 | 12600 | 0.0 | - | - | - |
| 0.8482 | 12700 | 0.0 | - | - | - |
| 0.8549 | 12800 | 0.0 | - | - | - |
| 0.8616 | 12900 | 0.0 | - | - | - |
| 0.8682 | 13000 | 0.0 | 0.0018 | 0.5644 | - |
| 0.8749 | 13100 | 0.0 | - | - | - |
| 0.8816 | 13200 | 0.0 | - | - | - |
| 0.8883 | 13300 | 0.0 | - | - | - |
| 0.8949 | 13400 | 0.0 | - | - | - |
| 0.9016 | 13500 | 0.0 | - | - | - |
| 0.9083 | 13600 | 0.0 | - | - | - |
| 0.9150 | 13700 | 0.0 | - | - | - |
| 0.9217 | 13800 | 0.0 | - | - | - |
| 0.9283 | 13900 | 0.0 | - | - | - |
| 0.9350 | 14000 | 0.0 | 0.0019 | 0.5611 | - |
| 0.9417 | 14100 | 0.0 | - | - | - |
| 0.9484 | 14200 | 0.0 | - | - | - |
| 0.9551 | 14300 | 0.0069 | - | - | - |
| 0.9617 | 14400 | 0.0 | - | - | - |
| 0.9684 | 14500 | 0.0 | - | - | - |
| 0.9751 | 14600 | 0.0 | - | - | - |
| 0.9818 | 14700 | 0.0 | - | - | - |
| 0.9884 | 14800 | 0.0 | - | - | - |
| 0.9951 | 14900 | 0.0 | - | - | - |
| -1 | -1 | - | - | 0.5614 | 0.5556 |
@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{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Base model
jhu-clsp/mmBERT-base