--- language: - en license: apache-2.0 tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:72 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: nomic-ai/modernbert-embed-base widget: - source_sentence: What do the packets contain that is essential for their travel? sentences: - 'Packet switching breaks data into small packets, each containing a destination address. These packets travel independently across the network, taking different paths if necessary, and reassemble at the destination. This method proved to be more efficient and resilient, making it the backbone of modern internet communication. The Birth of ARPANET' - Early Concepts of Networking - . Researchers such as Paul Baran at RAND Corporation and Donald Davies at the National Physical Laboratory in the UK independently developed the concept of packet switching. - source_sentence: Which laboratory was Donald Davies associated with when he developed packet switching? sentences: - . Understanding the beginning of the internet requires an exploration of the early concepts of networking, the establishment of ARPANET, and the development of key protocols that laid the foundation for the modern internet. - . Researchers such as Paul Baran at RAND Corporation and Donald Davies at the National Physical Laboratory in the UK independently developed the concept of packet switching. - 'The Beginning of the Internet: A Journey Through Innovation Introduction' - source_sentence: What role did commercial networking play in relation to the internet? sentences: - Beyond ARPANET, various institutions contributed to the internet’s expansion. The emergence of local area networks (LANs), the Domain Name System (DNS), and the rise of commercial networking played significant roles in shaping the internet. - Beyond ARPANET, various institutions contributed to the internet’s expansion. The emergence of local area networks (LANs), the Domain Name System (DNS), and the rise of commercial networking played significant roles in shaping the internet. - The TCP/IP Protocol SuiteIn 1973, Vinton Cerf and Robert Kahn developed the Transmission Control Protocol (TCP) and later, the Internet Protocol (IP), collectively known as TCP/IP. This protocol suite allowed networks of different architectures to communicate, forming the foundation of the modern internet. - source_sentence: What type of communication system did the United States government seek? sentences: - Packet Switching and Its RoleTraditional telephone networks relied on circuit-switching, which established a direct connection between two parties. However, circuit-switching was inefficient for data communication, as it required dedicated lines for each connection - 'Packet switching breaks data into small packets, each containing a destination address. These packets travel independently across the network, taking different paths if necessary, and reassemble at the destination. This method proved to be more efficient and resilient, making it the backbone of modern internet communication. The Birth of ARPANET' - The idea of interconnected networks dates back to the 1950s and 1960s, during the height of the Cold War. The United States government, concerned with maintaining communication in the event of a nuclear attack, sought a decentralized communication system that could withstand disruptions. This vision led to research in packet-switching technology and distributed networks. - source_sentence: What are the origins of the internet said to be rooted in? sentences: - The internet is one of the most transformative technological advancements in human history, shaping the way we communicate, work, and interact with the world. However, its origins are rooted in decades of research, experimentation, and collaboration among scientists, engineers, and visionaries - 'The Beginning of the Internet: A Journey Through Innovation Introduction' - 'The first successful ARPANET message was sent on October 29, 1969, from UCLA to SRI. The intended message was “LOGIN,” but the system crashed after transmitting only “LO.” This marked the first instance of networked digital communication, paving the way for the modern internet. Expansion and Development of Protocols' pipeline_tag: sentence-similarity library_name: sentence-transformers metrics: - cosine_accuracy@1 - cosine_accuracy@3 - cosine_accuracy@5 - cosine_accuracy@10 - cosine_precision@1 - cosine_precision@3 - cosine_precision@5 - cosine_precision@10 - cosine_recall@1 - cosine_recall@3 - cosine_recall@5 - cosine_recall@10 - cosine_ndcg@10 - cosine_mrr@10 - cosine_map@100 model-index: - name: Fine-tuned with [QuicKB](https://github.com/ALucek/QuicKB) results: - task: type: information-retrieval name: Information Retrieval dataset: name: dim 768 type: dim_768 metrics: - type: cosine_accuracy@1 value: 1.0 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 1.0 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 1.0 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 1.0 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 1.0 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.3333333333333333 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.2 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.1 name: Cosine Precision@10 - type: cosine_recall@1 value: 1.0 name: Cosine Recall@1 - type: cosine_recall@3 value: 1.0 name: Cosine Recall@3 - type: cosine_recall@5 value: 1.0 name: Cosine Recall@5 - type: cosine_recall@10 value: 1.0 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 1.0 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 1.0 name: Cosine Mrr@10 - type: cosine_map@100 value: 1.0 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 512 type: dim_512 metrics: - type: cosine_accuracy@1 value: 1.0 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 1.0 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 1.0 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 1.0 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 1.0 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.3333333333333333 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.2 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.1 name: Cosine Precision@10 - type: cosine_recall@1 value: 1.0 name: Cosine Recall@1 - type: cosine_recall@3 value: 1.0 name: Cosine Recall@3 - type: cosine_recall@5 value: 1.0 name: Cosine Recall@5 - type: cosine_recall@10 value: 1.0 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 1.0 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 1.0 name: Cosine Mrr@10 - type: cosine_map@100 value: 1.0 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 256 type: dim_256 metrics: - type: cosine_accuracy@1 value: 1.0 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 1.0 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 1.0 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 1.0 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 1.0 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.3333333333333333 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.2 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.1 name: Cosine Precision@10 - type: cosine_recall@1 value: 1.0 name: Cosine Recall@1 - type: cosine_recall@3 value: 1.0 name: Cosine Recall@3 - type: cosine_recall@5 value: 1.0 name: Cosine Recall@5 - type: cosine_recall@10 value: 1.0 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 1.0 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 1.0 name: Cosine Mrr@10 - type: cosine_map@100 value: 1.0 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 128 type: dim_128 metrics: - type: cosine_accuracy@1 value: 0.875 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.875 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.875 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 1.0 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.875 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.29166666666666663 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17500000000000002 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.1 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.875 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.875 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.875 name: Cosine Recall@5 - type: cosine_recall@10 value: 1.0 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.9195258983885027 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.8958333333333334 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.8958333333333334 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 64 type: dim_64 metrics: - type: cosine_accuracy@1 value: 0.625 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.625 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.875 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 1.0 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.625 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.20833333333333331 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17500000000000002 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.1 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.625 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.625 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.875 name: Cosine Recall@5 - type: cosine_recall@10 value: 1.0 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7662391001971381 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.6958333333333334 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.6958333333333333 name: Cosine Map@100 --- # Fine-tuned with [QuicKB](https://github.com/ALucek/QuicKB) This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [nomic-ai/modernbert-embed-base](https://huggingface.co/nomic-ai/modernbert-embed-base). 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:** [nomic-ai/modernbert-embed-base](https://huggingface.co/nomic-ai/modernbert-embed-base) - **Maximum Sequence Length:** 1024 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity - **Language:** en - **License:** apache-2.0 ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### Full Model Architecture ``` SentenceTransformer( (0): Transformer({'max_seq_length': 1024, 'do_lower_case': False}) with Transformer model: 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}) (2): Normalize() ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("onecd2000/modernbert-embed-test") # Run inference sentences = [ 'What are the origins of the internet said to be rooted in?', 'The internet is one of the most transformative technological advancements in human history, shaping the way we communicate, work, and interact with the world. However, its origins are rooted in decades of research, experimentation, and collaboration among scientists, engineers, and visionaries', 'The first successful ARPANET message was sent on October 29, 1969, from UCLA to SRI. The intended message was “LOGIN,” but the system crashed after transmitting only “LO.” This marked the first instance of networked digital communication, paving the way for the modern internet.\n\nExpansion and Development of Protocols', ] 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 * Datasets: `dim_768`, `dim_512`, `dim_256`, `dim_128` and `dim_64` * Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator) | Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 | |:--------------------|:--------|:--------|:--------|:-----------|:-----------| | cosine_accuracy@1 | 1.0 | 1.0 | 1.0 | 0.875 | 0.625 | | cosine_accuracy@3 | 1.0 | 1.0 | 1.0 | 0.875 | 0.625 | | cosine_accuracy@5 | 1.0 | 1.0 | 1.0 | 0.875 | 0.875 | | cosine_accuracy@10 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | | cosine_precision@1 | 1.0 | 1.0 | 1.0 | 0.875 | 0.625 | | cosine_precision@3 | 0.3333 | 0.3333 | 0.3333 | 0.2917 | 0.2083 | | cosine_precision@5 | 0.2 | 0.2 | 0.2 | 0.175 | 0.175 | | cosine_precision@10 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | | cosine_recall@1 | 1.0 | 1.0 | 1.0 | 0.875 | 0.625 | | cosine_recall@3 | 1.0 | 1.0 | 1.0 | 0.875 | 0.625 | | cosine_recall@5 | 1.0 | 1.0 | 1.0 | 0.875 | 0.875 | | cosine_recall@10 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | | **cosine_ndcg@10** | **1.0** | **1.0** | **1.0** | **0.9195** | **0.7662** | | cosine_mrr@10 | 1.0 | 1.0 | 1.0 | 0.8958 | 0.6958 | | cosine_map@100 | 1.0 | 1.0 | 1.0 | 0.8958 | 0.6958 | ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 72 training samples * Columns: anchor and positive * Approximate statistics based on the first 72 samples: | | anchor | positive | |:--------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | anchor | positive | |:--------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | What does the text focus on regarding the Internet? | The Beginning of the Internet: A Journey Through Innovation

Introduction
| | What was the primary purpose of the first web browser? | The First Web Browser – A tool for accessing and navigating websites.

The World Wide Web revolutionized internet usage, making it more accessible and appealing to the general public. By the mid-1990s, web browsers like Netscape Navigator and Microsoft Internet Explorer fueled rapid internet adoption, leading to the digital age we live in today.

Conclusion
| | What system contributed to the organization of internet addresses? | Beyond ARPANET, various institutions contributed to the internet’s expansion. The emergence of local area networks (LANs), the Domain Name System (DNS), and the rise of commercial networking played significant roles in shaping the internet. | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "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 - `gradient_accumulation_steps`: 16 - `learning_rate`: 2e-05 - `num_train_epochs`: 4 - `lr_scheduler_type`: cosine - `warmup_ratio`: 0.1 - `bf16`: True - `tf32`: 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`: 8 - `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`: True - `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} - `tp_size`: 0 - `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 | 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 | |:-------:|:-----:|:----------------------:|:----------------------:|:----------------------:|:----------------------:|:---------------------:| | 1.0 | 1 | 0.8827 | 0.8827 | 0.8827 | 0.7413 | 0.6383 | | 2.0 | 2 | 0.9288 | 0.9539 | 1.0 | 0.8289 | 0.7611 | | 3.0 | 3 | 1.0 | 1.0 | 1.0 | 0.9167 | 0.7634 | | **4.0** | **4** | **1.0** | **1.0** | **1.0** | **0.9195** | **0.7662** | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.12.9 - Sentence Transformers: 3.4.1 - Transformers: 4.50.0 - PyTorch: 2.6.0+cu126 - Accelerate: 1.3.0 - Datasets: 3.2.0 - Tokenizers: 0.21.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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 ```bibtex @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 ```bibtex @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} } ```