Edit model card

SentenceTransformer based on sentence-transformers/multi-qa-MiniLM-L6-cos-v1

This is a sentence-transformers model finetuned from sentence-transformers/multi-qa-MiniLM-L6-cos-v1 on the parquet dataset. It maps sentences & paragraphs to a 384-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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("fabioaloisio/multi-qa-MiniLM-L6-cos-v1-hydro-ft-pairs")
# Run inference
sentences = [
    'Como salvar o cadastro de um novo usuário?',
    'faca logon utilizando o usuario e senha de acesso. tambem pode ser selecionado o idioma, em caso do nao preenchimento sera considerado idioma selecionado na criacao do usuario. 3. 1. clique em administracao : 3. 2. acesse o menu seguranca > usuario : para criar um novo usuario clique em “ seguranca ” e depois “ usuario ”, conforme figura abaixo : 3. 3. realize a operacao de cadastro : clique em “ executar consulta ”, e lista de usuarios criadas sera mostrado. clique em “ novo ”, conforme figura abaixo. 3. 4. defina os seguintes campos : informe os campos, conforme exemplo na figura abaixo : 3. 5. salve o cadastro. clique em “ salvar ”. 3. 6.',
    'os modulos “ criar nova conexao ” e “ editar esta conexao ” sao utilizados somente pelos administradores do sistema. informe o “ login ” e “ password ” : o sistema abrira a tela de menus : users : utilizado para criar usuario ; groups : utilizado para criar grupo ; app : utilizado para criar aplicacoes ; conects : utilizado para criar conexao ; roles : utilizado para criar regra ; objects : utilizado para atribuicao de acesso ao objeto ; restrict : utilizado para criar restricao de acesso ; profiles : utilizado para atribuir grupo, aplicacao e conexao para o usuario ; roles : utilizado para atribuir regra para o usuario ou grupo.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

parquet

  • Dataset: parquet
  • Size: 790 training samples
  • Columns: question and related_chunk
  • Approximate statistics based on the first 790 samples:
    question related_chunk
    type string string
    details
    • min: 11 tokens
    • mean: 26.17 tokens
    • max: 45 tokens
    • min: 77 tokens
    • mean: 229.91 tokens
    • max: 330 tokens
  • Samples:
    question related_chunk
    Quais são as responsabilidades da central de serviços para revogação dos sistemas mencionados? referencias descricao das atividades responsabilidades da central de servicos para revogacao dos sistemas : systema y e sap. responsabilidades de acessos para revogacao do sistema : systema y. responsabilidades da operacao para revogacao do sistema : ad ( usuario de rede ). para inativar os acessos dos sistemas descritos acima, siga os passos abaixo : passo 01 : abra o sap logon e clique duas vezes no ambiente “ 02 ) sap erp producao ”. passo 02 : digite o numero da identidade ou o cpf do colaborador, clique no mechcode executar ou tecle “ enter ”. passo 03 : para inativar uma conta, selecione a conta, clique no mechcode “ ativar / inativar conta ” ou tecle “ f6 ”.
    O que deve ser verificado após finalizar a alteração do status da conta? passo 03 : para inativar uma conta, selecione a conta, clique no mechcode “ ativar / inativar conta ” ou tecle “ f6 ”. observacao : caso a conta a ser ativada / inativada seja dos sistemas systema y, ir para o “ passo 05 ”. 3. 1. clique no mechcode para finalizar a alteracao. passo 04 : apos finalizar a alteracao, verifique se o campo “ status cta ” esta de acordo com o solicitado. observacao : “ a ” para ativo e “ i ” para inativo. passo 05 : para inativar uma conta do systema y, selecione a conta e clique no mechcode “ ativar / inativar conta ” ou clique em “ f6 ” conforme o “ passo 3 ”. 5. 1. clique no mechcode para sair do log de execucao sm49.
    Por que é necessário que os logins dos sistemas Y e SAP estejam cadastrados e ativos para a própria identidade? pre - requisitos : numero da identidade do usuario no sap, ou numero do cpf ; dados da conta do sistema ; acesso a transacao zbo104 e ao sistema especifico ; possuir login cadastrados e ativos dos systema y e sap na transacao zbo104 para a propria identidade que ira realizar a ativacao / inativacao, caso a solicitacao seja para esses sistemas. revisao semestral de acessos regularmente os acessos ao sistema deverao ser revisados pelo gestor do time de gq - digital.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 1,
        "similarity_fct": "get_dot_product_similarity"
    }
    

Evaluation Dataset

parquet

  • Dataset: parquet
  • Size: 790 evaluation samples
  • Columns: question and related_chunk
  • Approximate statistics based on the first 790 samples:
    question related_chunk
    type string string
    details
    • min: 14 tokens
    • mean: 25.71 tokens
    • max: 44 tokens
    • min: 152 tokens
    • mean: 231.87 tokens
    • max: 330 tokens
  • Samples:
    question related_chunk
    Como você pode restringir o acesso a um item no menu? mover para cima : move o item de posicao ; 3. 3. 3. 7. mover para baixo : move o item de posicao ; 3. 3. 3. 8. pesquisar ; 3. 3. 3. 9. gerar : gravar o menu do sistema ; 3. 3. 3. 10. fechar : fecha sem salvar as alteracoes. 3. 4. para restringir o acesso selecione o item que ira modificar, e clique no botao “ detalhes ”. 3. 4. 1. abrira a tela abaixo para configuracao do menu : 3. 4. 1. 1. descricao : informe o nome do item ; 3. 4. 1. 2. programa : selecione “ eiczcc ” para o nome do programa ; 3. 4. 1. 3. status : selecione o status do menu : 3. 4. 1. 3. 1.
    Qual é o resultado do bloqueio global do usuário? 3. 4. 2. 5 usuario ficara com bloqueio global. 3. 4. 2. 6 no portal sap, na aba “ informacoes sobre a conta ” o campo “ conta de usuario bloqueada ” ficara selecionado. esta aba tambem informa o historico de bloqueio do usuario atraves do campo “ ultima data de bloqueio da conta : ”. 3. 5 para identificar o historico de inativacao do usuario no sap, e necessario executar o relatorio fornecido pela transacao cccc01 anexos nao ha anexos. = = = = = kb0012187 - criacao de perfil no systema y - voluntarios. docx = = = = = instrucao de trabalho ( it ) criacao de perfil no sistema y 1.
    Qual é o objetivo principal desta instrução de trabalho? introducao / pre - requisitos para execucao da it esta instrucao de trabalho visa orientar na atividade de criacao de acesso do usuario no sistema y. revisao semestral de acessos regularmente os acessos ao sistema deverao ser revisados pelo gestor do time de gq - digital. a lista de acessos ativos no sistema sera gerada pelo time de digital - acessos a lista deve ser respondida pelo gestor de negocio validando a lista ativa ou informando quais inativacoes deverao ser realizadas o time de digital - acessos registrara as alteracoes a partir de chamados no sistema de itsm de digital em nome do gestor de gq - digital. o time de digital - acessos executara a atualizacao e finalizara o chamado com status de resolvido.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 1,
        "similarity_fct": "get_dot_product_similarity"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • learning_rate: 2e-05
  • num_train_epochs: 2
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.3

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • 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: 2
  • max_steps: -1
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.3
  • 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: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • 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: False
  • 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}
  • 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
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss
0.0870 2 3.3707 -
0.1739 4 3.3705 -
0.2609 6 3.366 3.1930
0.3478 8 3.3124 -
0.4348 10 3.282 -
0.5217 12 3.2988 3.1156
0.6087 14 3.2249 -
0.6957 16 3.254 -
0.7826 18 3.2514 3.0450
0.8696 20 3.1522 -
0.9565 22 3.2383 -
1.0435 24 2.4868 3.0161
1.1304 26 3.1249 -
1.2174 28 3.1565 -
1.3043 30 3.1406 3.0022
1.3913 32 3.1249 -
1.4783 34 3.1467 -
1.5652 36 3.1244 2.9930
1.6522 38 3.1742 -
1.7391 40 3.1132 -
1.8261 42 3.1087 2.9897
1.9130 44 3.1843 -
2.0 46 2.4214 -

Framework Versions

  • Python: 3.12.4
  • Sentence Transformers: 3.1.0
  • Transformers: 4.44.2
  • PyTorch: 2.4.1
  • Accelerate: 0.34.2
  • Datasets: 2.17.1
  • 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",
}

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
5
Safetensors
Model size
22.7M params
Tensor type
F32
·
Inference Examples
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 fabioaloisio/multi-qa-MiniLM-L6-cos-v1-hydro-ft-pairs

Finetuned
(9)
this model