TSDAE: Using Transformer-based Sequential Denoising Auto-Encoder for Unsupervised Sentence Embedding Learning
Paper • 2104.06979 • Published
How to use kwondw/bert-base-uncased-tsdae with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("kwondw/bert-base-uncased-tsdae")
sentences = [
"On home he of Asian scholar, Nikolai in the Kul",
"On the trip home, he visited the grave of the Russian Asian scholar, Nikolai Przhevalsky in Karakol on the shore of Lake Issyk Kul.",
"Bishop Street Methodist Chapel, also known as the Wesleyan Chapel, is church overlooking Town Hall Square in Leicester, England, U.K.",
"The scholar of English literature Charles Huttar compares the combination of the Watcher in the Water and the \"clashing gate\" when the Fellowship pass through the Doors of Durin, only to have the Watcher smash the rocks behind them, to Greek mythology's Wandering Rocks near the opening of the underworld, and to Odysseus's passage between the devouring Scylla and the whirlpool Charybdis."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from google-bert/bert-base-uncased on the wiki1m-for-simcse dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'cls', '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("kwondw/bert-base-uncased-tsdae")
# Run inference
sentences = [
'uses a high-frequency, encodes the audio and can be distributed over the waves generating a bridge between the analog and digital.',
'This app uses a high-frequency algorithm, which encodes the audio information and can be distributed over the radio waves, generating a bridge between the analog and digital world.',
'The book has been published by many organizations around the world:',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.9122, 0.4017],
# [0.9122, 1.0000, 0.4779],
# [0.4017, 0.4779, 1.0000]])
sts-dev and sts-testEmbeddingSimilarityEvaluator| Metric | sts-dev | sts-test |
|---|---|---|
| pearson_cosine | 0.6503 | 0.6159 |
| spearman_cosine | 0.6557 | 0.6199 |
noisy and text| noisy | text | |
|---|---|---|
| type | string | string |
| details |
|
|
| noisy | text |
|---|---|
Zagreb together the Army |
It liberated Zagreb on May 8, together with parts of the 2nd Army. |
was curious to learn about fascism from the source however in 1933 an trip met wife at London home to |
Campbell was curious to learn about fascism from the source however, so in 1933 during an overseas business trip, he met with Sir Oswald Mosley and wife Lady Cynthia at their London home to discuss the matter. |
Republican Henry H. Crapo defeated Democratic nominee William H. Fenton with 55.15 of the |
Republican nominee Henry H. Crapo defeated Democratic nominee William H. Fenton with 55.15% of the vote. |
DenoisingAutoEncoderLoss with these parameters:{
"decoder_name_or_path": "google-bert/bert-base-uncased",
"need_retokenization": false
}
noisy and text| noisy | text | |
|---|---|---|
| type | string | string |
| details |
|
|
| noisy | text |
|---|---|
Burnham are. |
Burnham said, "They are hypocrites. |
Jocano further emphasizes advancements in the ceramic industry, which led in trade and the of jar in Philippines |
Jocano further emphasizes the advancements made in the ceramic industry, which led to progress in trade and the eventual use of jar burials in the Philippines. |
regarded with severity especially harmful in current generation the generation of freedom and") since strict might lead individuals not to comply with the. |
Yosef regarded ruling with severity as especially harmful in the current generation ("the generation of freedom and liberty"), since strict ruling might lead individuals not to comply with the Halakha. |
DenoisingAutoEncoderLoss with these parameters:{
"decoder_name_or_path": "google-bert/bert-base-uncased",
"need_retokenization": false
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16learning_rate: 3e-05num_train_epochs: 1warmup_ratio: 0.1fp16: Trueoverwrite_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: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 3e-05weight_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: Nonewarmup_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: 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: Truedataloader_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: lengthproject: huggingfacetrackio_space_id: trackioddp_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: Falsegradient_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: noneftune_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: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss | sts-dev_spearman_cosine | sts-test_spearman_cosine |
|---|---|---|---|---|---|
| -1 | -1 | - | - | 0.3173 | - |
| 0.0323 | 1000 | 5.932 | - | - | - |
| 0.0646 | 2000 | 4.3083 | - | - | - |
| 0.0970 | 3000 | 3.8935 | - | - | - |
| 0.1000 | 3094 | - | 3.6280 | 0.7205 | - |
| 0.1293 | 4000 | 3.5923 | - | - | - |
| 0.1616 | 5000 | 3.4069 | - | - | - |
| 0.1939 | 6000 | 3.2878 | - | - | - |
| 0.2000 | 6188 | - | 3.1559 | 0.6996 | - |
| 0.2263 | 7000 | 3.1971 | - | - | - |
| 0.2586 | 8000 | 3.1312 | - | - | - |
| 0.2909 | 9000 | 3.0869 | - | - | - |
| 0.3000 | 9282 | - | 2.9709 | 0.6858 | - |
| 0.3232 | 10000 | 3.0341 | - | - | - |
| 0.3556 | 11000 | 2.9983 | - | - | - |
| 0.3879 | 12000 | 2.9585 | - | - | - |
| 0.4000 | 12376 | - | 2.8571 | 0.6755 | - |
| 0.4202 | 13000 | 2.9275 | - | - | - |
| 0.4525 | 14000 | 2.9047 | - | - | - |
| 0.4849 | 15000 | 2.8768 | - | - | - |
| 0.5000 | 15470 | - | 2.7661 | 0.6758 | - |
| 0.5172 | 16000 | 2.853 | - | - | - |
| 0.5495 | 17000 | 2.8265 | - | - | - |
| 0.5818 | 18000 | 2.8025 | - | - | - |
| 0.6001 | 18564 | - | 2.7021 | 0.6665 | - |
| 0.6142 | 19000 | 2.8065 | - | - | - |
| 0.6465 | 20000 | 2.7683 | - | - | - |
| 0.6788 | 21000 | 2.75 | - | - | - |
| 0.7001 | 21658 | - | 2.6579 | 0.6524 | - |
| 0.7111 | 22000 | 2.7425 | - | - | - |
| 0.7434 | 23000 | 2.7328 | - | - | - |
| 0.7758 | 24000 | 2.7114 | - | - | - |
| 0.8001 | 24752 | - | 2.6154 | 0.6605 | - |
| 0.8081 | 25000 | 2.6982 | - | - | - |
| 0.8404 | 26000 | 2.6898 | - | - | - |
| 0.8727 | 27000 | 2.6775 | - | - | - |
| 0.9001 | 27846 | - | 2.5901 | 0.6557 | - |
| 0.9051 | 28000 | 2.6655 | - | - | - |
| 0.9374 | 29000 | 2.6682 | - | - | - |
| 0.9697 | 30000 | 2.6622 | - | - | - |
| -1 | -1 | - | - | - | 0.6199 |
@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",
}
@inproceedings{wang-2021-TSDAE,
title = "TSDAE: Using Transformer-based Sequential Denoising Auto-Encoderfor Unsupervised Sentence Embedding Learning",
author = "Wang, Kexin and Reimers, Nils and Gurevych, Iryna",
booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2021",
month = nov,
year = "2021",
address = "Punta Cana, Dominican Republic",
publisher = "Association for Computational Linguistics",
pages = "671--688",
url = "https://arxiv.org/abs/2104.06979",
}
Base model
google-bert/bert-base-uncased