TSDAE: Using Transformer-based Sequential Denoising Auto-Encoder for Unsupervised Sentence Embedding Learning
Paper • 2104.06979 • Published
How to use Oblix15/tsdae-financiero with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Oblix15/tsdae-financiero")
sentences = [
"con resultados petróleo la actividad de mejor desempeño entramado.",
"“Me mandaron un mail de ARCA diciendo que tengo una encomienda internacional con mi número de documento.",
"La instancia de evaluación financiera atrajo el interés de empresas que buscan gestionar corredores viales clave en el país bajo un esquema de inversión privada",
"En contraste con esos resultados, la refinación de petróleo volvió a destacarse como la actividad de mejor desempeño dentro del entramado industrial."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model trained. 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("sentence_transformers_model_id")
# Run inference
sentences = [
'En la vendidos de junio pickup con 3.002 un del 27,4% en a mayo vehículo de gran otro Toyota, hatchback, creció por',
'En la lista de los diez modelos más vendidos de junio aparece en primer lugar la pickup Toyota Hilux con 3.002 unidades que representan un crecimiento del 27,4% en relación a mayo, solo superado en vehículo de gran volumen por otro Toyota, el Yaris hatchback, que creció un 28 por ciento.',
'El auto volvió a crecer de tamaño, entrando en el segmento C, con un equipamiento interior llamativo para el precio, que seguía siendo muy accesible.',
]
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.9557, 0.7611],
# [0.9557, 1.0000, 0.7616],
# [0.7611, 0.7616, 1.0000]])
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| modality | text | text |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
hora del inicio del encuentro la era de MWh |
Una hora antes del inicio del encuentro, la demanda era de 22.534 MWh. |
El comportamiento riesgo genera |
El mercado ve un comportamiento inusual del riesgo país genera sospechas |
El consenso mercado enfoca en los instrumentos como el relación dado la inflación implícita semestre corre por que proyectaba meses. |
El consenso de mercado se enfoca en los instrumentos CER como el vehículo con mejor relación de cobertura, dado que la inflación implícita del segundo semestre corre por debajo de lo que proyectaba el mercado hace unos meses. |
DenoisingAutoEncoderLoss with these parameters:{
"decoder_name_or_path": "models/tsdae-ep1",
"need_retokenization": false
}
per_device_train_batch_size: 4num_train_epochs: 1per_device_eval_batch_size: 4multi_dataset_batch_sampler: round_robinper_device_train_batch_size: 4num_train_epochs: 1max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 4prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.0555 | 500 | 5.2347 |
| 0.1110 | 1000 | 4.4297 |
| 0.1665 | 1500 | 4.1614 |
| 0.2220 | 2000 | 4.0017 |
| 0.2775 | 2500 | 3.8804 |
| 0.3330 | 3000 | 3.7861 |
| 0.3885 | 3500 | 3.7142 |
| 0.4440 | 4000 | 3.6728 |
| 0.4995 | 4500 | 3.5872 |
| 0.5550 | 5000 | 3.5418 |
| 0.6105 | 5500 | 3.5456 |
| 0.6660 | 6000 | 3.5069 |
| 0.7215 | 6500 | 3.4841 |
| 0.7770 | 7000 | 3.4563 |
| 0.8325 | 7500 | 3.4269 |
| 0.8880 | 8000 | 3.3934 |
| 0.9435 | 8500 | 3.3259 |
| 0.9990 | 9000 | 3.3699 |
@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",
}