Matryoshka Representation Learning
Paper • 2205.13147 • Published • 32
How to use jaredmerlo/jared-adjusted with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("jaredmerlo/jared-adjusted")
sentences = [
"cy by precomputing and storing the likelihood\nof query terms, ranking documents based on their sum.\n2.3\nRetriever and Generator Fine-tuning\nFine-tuning within the RAG framework is crucial for optimizing both retrievers and generators. Some\nresearch focuses on fine-tuning the generator to better utilize retriever context [30–32], ensuring\nfaithful and robust generated content. Others fine-tune the retriever to learn to retrieve beneficial\npassages for the generator [33–35]. Holistic approaches treat RAG as an integrated system, fine-tuning\nboth retriever and generator together to enhance overall performance [36–38], despite increased\ncomplexity and integration challenges.\nSeveral surveys have extensively discussed current RAG systems, covering aspects like text genera-\ntion [7, 8], integration with LLMs [6, 39], multimodal [40], and AI-generated content [41]. While\nthese surveys provide comprehensive overviews of existing RAG methodologies, selecting the appro-\n3\nWhich city will the nex",
" Small-sized blocks are used to match queries, and larger blocks that include contextual information are returned . We use the LLM-Embedder [20] model as an embedding model to demonstrate the effectiveness of advanced chunking techniques . Techniques like small-to-big and sliding window improve quality by maintaining context .",
" Chunking balances preserving text semantics with simplicity and efficiency . Larger chunks provide more context, enhancing the process time but increasing process time . Smaller chunks improve retrieval recall and reduce time but may lack sufficient context . Faithfulness measures whether the response is hallucinated or matches the retrieved texts .",
" Some research focuses on fine-tuning the generator to better utilize retriever context [30–32] Others fine-tune the retriever to learn to retrieve beneficial passages for the generator [33–35] Holistic approaches treat RAG as an integrated system ."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5. 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': 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()
)
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("jaredmerlo/jared-adjusted")
# Run inference
sentences = [
'ategorize\nModel\nMetrics\nAcc Prec Rec\nF1\nBERT-base-multilingual 0.95 0.96 0.94 0.95\nTable 1: Results of the Query Classifier.\n15 tasks based on whether they provide suffi-\ncient information, with specific tasks and exam-\nples illustrated in Figure 2. For tasks entirely\nbased on user-given information, we denote as\n“sufficient”, which need not retrieval; otherwise,\nwe denote as “insufficient”, and retrieval may\nbe necessary. We train a classifier to automate\nthis decision-making process. Experimental de-\ntails are presented in Appendix A.1. Section 4\nexplores the impact of query classification on the workflow, comparing scenarios with and without\nclassification.\n4\nEmbedding Model\nnamespace-Pt/msmarco\nMRR@1 MRR@10 MRR@100\nR@1\nR@10 R@100\nBAAI/LLM-Embedder [20]\n24.79\n37.58\n38.62\n24.07\n66.45\n90.75\nBAAI/bge-base-en-v1.5 [12]\n23.34\n35.80\n36.94\n22.63\n64.12\n90.13\nBAAI/bge-small-en-v1.5 [12]\n23.27\n35.78\n36.89\n22.65\n63.92\n89.80\nBAAI/bge-large-en-v1.5 [12]\n24.63\n37.48\n38.59\n23.91\n65.57\n90.60\nBAAI/b',
' 15 tasks based on whether they provide suffi-cient information, with specific tasks and exam-type exam-ples illustrated in Figure 2 . For tasks entirely.given information, we denote as “sufficient” and “insufficient”, which need not retrieval . We train a classifier to automate the decision-making process .',
' An open source embedding model is three times smaller than that of BAAI/bge-large-en [12] The size of the two databases is comparable to that of the latter . We select an appropriate vector database for our research based on several key criptions .',
]
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]
positive and anchor| positive | anchor | |
|---|---|---|
| type | string | string |
| details |
|
|
| positive | anchor |
|---|---|
cy by precomputing and storing the likelihood |
Some research focuses on fine-tuning the generator to better utilize retriever context [30–32] Others fine-tune the retriever to learn to retrieve beneficial passages for the generator [33–35] Holistic approaches treat RAG as an integrated system . |
t World Cup be held? |
Washington played a crucial role in the American Revolutionary War, leading the Continental Army against the British. "Please continue writing the above paragraph . Write an article about the geography of Europe, focusing . on the changes in rainfall in the western part of the . western part . of the southeastern Europe. If you're currently a computer science student and your computer system encounters a malfunction, what should . you do? |
s as "One Hundred Years |
"ChatGPT" is a product of "OpenAI" and is based on the open-source knowledge of ChatGPT. s as "One Hundred Years of Solitude" The Renaissance was a cultural transformation in European history, marking the revival of arts, sciences, and humanistic thought. Give me a summary of the Renaissance . |
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
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16gradient_accumulation_steps: 8learning_rate: 2e-05num_train_epochs: 4lr_scheduler_type: cosinewarmup_ratio: 0.1fp16: Truetf32: Falseoptim: adamw_torch_fusedgradient_checkpointing: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 8eval_accumulation_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 4max_steps: -1lr_scheduler_type: cosinelr_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: 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: Falselocal_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, 'gradient_accumulation_kwargs': None}deepspeed: 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: Falsehub_always_push: Falsegradient_checkpointing: Truegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional@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{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}
}
@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}
}
Base model
BAAI/bge-base-en-v1.5