SentenceTransformer based on sentence-transformers/all-mpnet-base-v2
This is a sentence-transformers model finetuned from sentence-transformers/all-mpnet-base-v2. 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: sentence-transformers/all-mpnet-base-v2
- Maximum Sequence Length: 384 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel
(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:
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("jet-taekyo/mpnet_finetuned_recursive")
# Run inference
sentences = [
'What impact do automated systems have on underserved communities?',
"automated systems make on underserved communities and to institute proactive protections that support these \ncommunities. \n•\nAn automated system using nontraditional factors such as educational attainment and employment history as\npart of its loan underwriting and pricing model was found to be much more likely to charge an applicant who\nattended a Historically Black College or University (HBCU) higher loan prices for refinancing a student loan\nthan an applicant who did not attend an HBCU. This was found to be true even when controlling for\nother credit-related factors.32\n•\nA hiring tool that learned the features of a company's employees (predominantly men) rejected women appli\xad\ncants for spurious and discriminatory reasons; resumes with the word “women’s,” such as “women’s\nchess club captain,” were penalized in the candidate ranking.33\n•\nA predictive model marketed as being able to predict whether students are likely to drop out of school was",
'on a principle of local control, such that those individuals closest to the data subject have more access while \nthose who are less proximate do not (e.g., a teacher has access to their students’ daily progress data while a \nsuperintendent does not). \nReporting. In addition to the reporting on data privacy (as listed above for non-sensitive data), entities devel-\noping technologies related to a sensitive domain and those collecting, using, storing, or sharing sensitive data \nshould, whenever appropriate, regularly provide public reports describing: any data security lapses or breaches \nthat resulted in sensitive data leaks; the number, type, and outcomes of ethical pre-reviews undertaken; a \ndescription of any data sold, shared, or made public, and how that data was assessed to determine it did not pres-\nent a sensitive data risk; and ongoing risk identification and management procedures, and any mitigation added',
]
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
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.8882 |
cosine_accuracy@3 | 0.9934 |
cosine_accuracy@5 | 0.9934 |
cosine_accuracy@10 | 1.0 |
cosine_precision@1 | 0.8882 |
cosine_precision@3 | 0.3311 |
cosine_precision@5 | 0.1987 |
cosine_precision@10 | 0.1 |
cosine_recall@1 | 0.8882 |
cosine_recall@3 | 0.9934 |
cosine_recall@5 | 0.9934 |
cosine_recall@10 | 1.0 |
cosine_ndcg@10 | 0.955 |
cosine_mrr@10 | 0.9395 |
cosine_map@100 | 0.9395 |
dot_accuracy@1 | 0.8882 |
dot_accuracy@3 | 0.9934 |
dot_accuracy@5 | 0.9934 |
dot_accuracy@10 | 1.0 |
dot_precision@1 | 0.8882 |
dot_precision@3 | 0.3311 |
dot_precision@5 | 0.1987 |
dot_precision@10 | 0.1 |
dot_recall@1 | 0.8882 |
dot_recall@3 | 0.9934 |
dot_recall@5 | 0.9934 |
dot_recall@10 | 1.0 |
dot_ndcg@10 | 0.955 |
dot_mrr@10 | 0.9395 |
dot_map@100 | 0.9395 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 714 training samples
- Columns:
sentence_0
andsentence_1
- Approximate statistics based on the first 714 samples:
sentence_0 sentence_1 type string string details - min: 10 tokens
- mean: 18.43 tokens
- max: 32 tokens
- min: 22 tokens
- mean: 175.4 tokens
- max: 384 tokens
- Samples:
sentence_0 sentence_1 What information should designers and developers provide about automated systems to ensure transparency?
You should know that an automated system is being used,
and understand how and why it contributes to outcomes
that impact you. Designers, developers, and deployers of automat
ed systems should provide generally accessible plain language docu
mentation including clear descriptions of the overall system func
tioning and the role automation plays, notice that such systems are in
use, the individual or organization responsible for the system, and ex
planations of outcomes that are clear, timely, and accessible. Such
notice should be kept up-to-date and people impacted by the system
should be notified of significant use case or key functionality chang
es. You should know how and why an outcome impacting you was de
termined by an automated system, including when the automated
system is not the sole input determining the outcome. Automated
systems should provide explanations that are technically valid,
meaningful and useful to you and to any operators or others whoWhy is it important for individuals impacted by automated systems to be notified of significant changes in functionality?
You should know that an automated system is being used,
and understand how and why it contributes to outcomes
that impact you. Designers, developers, and deployers of automat
ed systems should provide generally accessible plain language docu
mentation including clear descriptions of the overall system func
tioning and the role automation plays, notice that such systems are in
use, the individual or organization responsible for the system, and ex
planations of outcomes that are clear, timely, and accessible. Such
notice should be kept up-to-date and people impacted by the system
should be notified of significant use case or key functionality chang
es. You should know how and why an outcome impacting you was de
termined by an automated system, including when the automated
system is not the sole input determining the outcome. Automated
systems should provide explanations that are technically valid,
meaningful and useful to you and to any operators or others whoWhat specific technical questions does the questionnaire for evaluating software workers cover?
questionnaire that businesses can use proactively when procuring software to evaluate workers. It covers
specific technical questions such as the training data used, model training process, biases identified, and
mitigation steps employed.55
Standards organizations have developed guidelines to incorporate accessibility criteria
into technology design processes. The most prevalent in the United States is the Access Board’s Section
508 regulations,56 which are the technical standards for federal information communication technology (software,
hardware, and web). Other standards include those issued by the International Organization for
Standardization,57 and the World Wide Web Consortium Web Content Accessibility Guidelines,58 a globally
recognized voluntary consensus standard for web content and other information and communications
technology.
NIST has released Special Publication 1270, Towards a Standard for Identifying and Managing Bias - 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
: stepsper_device_train_batch_size
: 20per_device_eval_batch_size
: 20num_train_epochs
: 5multi_dataset_batch_sampler
: round_robin
All Hyperparameters
Click to expand
overwrite_output_dir
: Falsedo_predict
: Falseeval_strategy
: stepsprediction_loss_only
: Trueper_device_train_batch_size
: 20per_device_eval_batch_size
: 20per_gpu_train_batch_size
: Noneper_gpu_eval_batch_size
: Nonegradient_accumulation_steps
: 1eval_accumulation_steps
: Nonetorch_empty_cache_steps
: Nonelearning_rate
: 5e-05weight_decay
: 0.0adam_beta1
: 0.9adam_beta2
: 0.999adam_epsilon
: 1e-08max_grad_norm
: 1num_train_epochs
: 5max_steps
: -1lr_scheduler_type
: linearlr_scheduler_kwargs
: {}warmup_ratio
: 0.0warmup_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
: Falsefp16_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}deepspeed
: Nonelabel_smoothing_factor
: 0.0optim
: adamw_torchoptim_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
: Falsegradient_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_eval_metrics
: Falseeval_on_start
: Falseeval_use_gather_object
: Falsebatch_sampler
: batch_samplermulti_dataset_batch_sampler
: round_robin
Training Logs
Epoch | Step | cosine_map@100 |
---|---|---|
1.0 | 36 | 0.9395 |
Framework Versions
- Python: 3.11.9
- Sentence Transformers: 3.1.0
- Transformers: 4.44.2
- PyTorch: 2.4.1+cu121
- Accelerate: 0.34.2
- Datasets: 3.0.0
- Tokenizers: 0.19.1
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
- 0
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.
Model tree for jet-taekyo/mpnet_finetuned_recursive
Base model
sentence-transformers/all-mpnet-base-v2Evaluation results
- Cosine Accuracy@1 on Unknownself-reported0.888
- Cosine Accuracy@3 on Unknownself-reported0.993
- Cosine Accuracy@5 on Unknownself-reported0.993
- Cosine Accuracy@10 on Unknownself-reported1.000
- Cosine Precision@1 on Unknownself-reported0.888
- Cosine Precision@3 on Unknownself-reported0.331
- Cosine Precision@5 on Unknownself-reported0.199
- Cosine Precision@10 on Unknownself-reported0.100
- Cosine Recall@1 on Unknownself-reported0.888
- Cosine Recall@3 on Unknownself-reported0.993