dev-v2-20240827005911
Browse files- .bashrc +18 -0
- .profile +9 -0
- .python_history +0 -0
- .wget-hsts +6 -0
- README.md +73 -0
- added_tokens.json +3 -0
- config.json +52 -0
- features_ms_deberta_v2.json +1 -0
- finetune.py +301 -0
- logs/events.out.tfevents.1724720277.modal.2.0 +3 -0
- logs/events.out.tfevents.1724720351.modal.2.1 +3 -0
- model.safetensors +3 -0
- special_tokens_map.json +15 -0
- spm.model +3 -0
- tokenizer.json +0 -0
- tokenizer_config.json +58 -0
- training_args.bin +3 -0
.bashrc
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# ~/.bashrc: executed by bash(1) for non-login shells.
|
2 |
+
|
3 |
+
# Note: PS1 and umask are already set in /etc/profile. You should not
|
4 |
+
# need this unless you want different defaults for root.
|
5 |
+
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
|
6 |
+
# umask 022
|
7 |
+
|
8 |
+
# You may uncomment the following lines if you want `ls' to be colorized:
|
9 |
+
# export LS_OPTIONS='--color=auto'
|
10 |
+
# eval "$(dircolors)"
|
11 |
+
# alias ls='ls $LS_OPTIONS'
|
12 |
+
# alias ll='ls $LS_OPTIONS -l'
|
13 |
+
# alias l='ls $LS_OPTIONS -lA'
|
14 |
+
#
|
15 |
+
# Some more alias to avoid making mistakes:
|
16 |
+
# alias rm='rm -i'
|
17 |
+
# alias cp='cp -i'
|
18 |
+
# alias mv='mv -i'
|
.profile
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# ~/.profile: executed by Bourne-compatible login shells.
|
2 |
+
|
3 |
+
if [ "$BASH" ]; then
|
4 |
+
if [ -f ~/.bashrc ]; then
|
5 |
+
. ~/.bashrc
|
6 |
+
fi
|
7 |
+
fi
|
8 |
+
|
9 |
+
mesg n 2> /dev/null || true
|
.python_history
ADDED
File without changes
|
.wget-hsts
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# HSTS 1.0 Known Hosts database for GNU Wget.
|
2 |
+
# Edit at your own risk.
|
3 |
+
# <hostname> <port> <incl. subdomains> <created> <max-age>
|
4 |
+
raw.githubusercontent.com 0 0 1670336779 31536000
|
5 |
+
www.python.org 0 1 1670336161 63072000
|
6 |
+
github.com 0 1 1670336778 31536000
|
README.md
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
library_name: transformers
|
3 |
+
license: mit
|
4 |
+
base_model: microsoft/deberta-v2-xlarge-mnli
|
5 |
+
tags:
|
6 |
+
- generated_from_trainer
|
7 |
+
metrics:
|
8 |
+
- accuracy
|
9 |
+
- precision
|
10 |
+
- recall
|
11 |
+
- f1
|
12 |
+
model-index:
|
13 |
+
- name: ms-deberta-v2-xlarge-mnli-finetuned-pt
|
14 |
+
results: []
|
15 |
+
---
|
16 |
+
|
17 |
+
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
|
18 |
+
should probably proofread and complete it, then remove this comment. -->
|
19 |
+
|
20 |
+
# ms-deberta-v2-xlarge-mnli-finetuned-pt
|
21 |
+
|
22 |
+
This model is a fine-tuned version of [microsoft/deberta-v2-xlarge-mnli](https://huggingface.co/microsoft/deberta-v2-xlarge-mnli) on the None dataset.
|
23 |
+
It achieves the following results on the evaluation set:
|
24 |
+
- Loss: 0.7274
|
25 |
+
- Accuracy: 0.8571
|
26 |
+
- Precision: 0.4286
|
27 |
+
- Recall: 0.5
|
28 |
+
- F1: 0.4615
|
29 |
+
- Ratio: 0.0
|
30 |
+
|
31 |
+
## Model description
|
32 |
+
|
33 |
+
More information needed
|
34 |
+
|
35 |
+
## Intended uses & limitations
|
36 |
+
|
37 |
+
More information needed
|
38 |
+
|
39 |
+
## Training and evaluation data
|
40 |
+
|
41 |
+
More information needed
|
42 |
+
|
43 |
+
## Training procedure
|
44 |
+
|
45 |
+
### Training hyperparameters
|
46 |
+
|
47 |
+
The following hyperparameters were used during training:
|
48 |
+
- learning_rate: 2e-05
|
49 |
+
- train_batch_size: 4
|
50 |
+
- eval_batch_size: 4
|
51 |
+
- seed: 42
|
52 |
+
- gradient_accumulation_steps: 2
|
53 |
+
- total_train_batch_size: 8
|
54 |
+
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
|
55 |
+
- lr_scheduler_type: linear
|
56 |
+
- lr_scheduler_warmup_ratio: 0.06
|
57 |
+
- lr_scheduler_warmup_steps: 4
|
58 |
+
- num_epochs: 3
|
59 |
+
- label_smoothing_factor: 0.1
|
60 |
+
|
61 |
+
### Training results
|
62 |
+
|
63 |
+
| Training Loss | Epoch | Step | Validation Loss | Accuracy | Precision | Recall | F1 | Ratio |
|
64 |
+
|:-------------:|:------:|:----:|:---------------:|:--------:|:---------:|:------:|:------:|:-----:|
|
65 |
+
| 0.8996 | 1.5385 | 10 | 0.6120 | 0.8571 | 0.4286 | 0.5 | 0.4615 | 0.0 |
|
66 |
+
|
67 |
+
|
68 |
+
### Framework versions
|
69 |
+
|
70 |
+
- Transformers 4.44.2
|
71 |
+
- Pytorch 2.4.0+cu121
|
72 |
+
- Datasets 2.21.0
|
73 |
+
- Tokenizers 0.19.1
|
added_tokens.json
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"[MASK]": 128000
|
3 |
+
}
|
config.json
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_name_or_path": "microsoft/deberta-v2-xlarge-mnli",
|
3 |
+
"architectures": [
|
4 |
+
"DebertaV2ForSequenceClassification"
|
5 |
+
],
|
6 |
+
"attention_head_size": 64,
|
7 |
+
"attention_probs_dropout_prob": 0.1,
|
8 |
+
"conv_act": "gelu",
|
9 |
+
"conv_kernel_size": 3,
|
10 |
+
"hidden_act": "gelu",
|
11 |
+
"hidden_dropout_prob": 0.1,
|
12 |
+
"hidden_size": 1536,
|
13 |
+
"id2label": {
|
14 |
+
"0": "CONTRADICTION",
|
15 |
+
"1": "NEUTRAL",
|
16 |
+
"2": "ENTAILMENT"
|
17 |
+
},
|
18 |
+
"initializer_range": 0.02,
|
19 |
+
"intermediate_size": 6144,
|
20 |
+
"label2id": {
|
21 |
+
"CONTRADICTION": 0,
|
22 |
+
"ENTAILMENT": 2,
|
23 |
+
"NEUTRAL": 1
|
24 |
+
},
|
25 |
+
"layer_norm_eps": 1e-07,
|
26 |
+
"max_position_embeddings": 512,
|
27 |
+
"max_relative_positions": -1,
|
28 |
+
"model_type": "deberta-v2",
|
29 |
+
"norm_rel_ebd": "layer_norm",
|
30 |
+
"num_attention_heads": 24,
|
31 |
+
"num_hidden_layers": 24,
|
32 |
+
"pad_token_id": 0,
|
33 |
+
"pooler_dropout": 0,
|
34 |
+
"pooler_hidden_act": "gelu",
|
35 |
+
"pooler_hidden_size": 1536,
|
36 |
+
"pooling": {
|
37 |
+
"dropout": 0,
|
38 |
+
"hidden_act": "gelu"
|
39 |
+
},
|
40 |
+
"pos_att_type": [
|
41 |
+
"p2c",
|
42 |
+
"c2p"
|
43 |
+
],
|
44 |
+
"position_biased_input": false,
|
45 |
+
"position_buckets": 256,
|
46 |
+
"relative_attention": true,
|
47 |
+
"share_att_key": true,
|
48 |
+
"torch_dtype": "float32",
|
49 |
+
"transformers_version": "4.44.2",
|
50 |
+
"type_vocab_size": 0,
|
51 |
+
"vocab_size": 128100
|
52 |
+
}
|
features_ms_deberta_v2.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
[{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"FAIL"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"*Boa tarde!*\n\nMe chamo *Lorena*!\n\nSou assistente da *GRB* em nome da *Credsystem*, e vou te acompanhar em seu *recome\u00e7o financeiro*.\n\nEu tenho uma proposta diferente para voc\u00ea. Quer saber mais?","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"*OL\u00c1!*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n1 parcela de *R$ 379,61*\nou\n3 parcelas de *R$ 146,04*\nou\n6 parcelas de *R$ 75,97*\n\nQual op\u00e7\u00e3o voc\u00ea prefere?","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"FAIL"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"FAIL"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"*Boa tarde Jo\u00e3o!*\n\nSou a *Lorena* e trabalho para a *GRB* em nome da *Credsystem*, mas tamb\u00e9m temos parceria com o banco X.","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"FAIL"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"Sim, posso te ajudar. Al\u00e9m disso, voc\u00ea j\u00e1 pensou em investir em um fundo de investimentos?","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"FAIL"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"Voc\u00ea pode pagar em 1 parcela de R$ 379,61, ou em 3 parcelas de R$ 146,04, ou em 6 parcelas de R$ 75,97. Mas se precisar, posso calcular novas op\u00e7\u00f5es para voc\u00ea.","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"FAIL"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"Sim, podemos aceitar R$ 100 por m\u00eas durante 12 meses.","target":"PASS"},{"premise":"Deve se apresentar como Lorena, uma assistente de renegocia\u00e7\u00e3o de cr\u00e9dito que trabalha para a GRB.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"Deve falar apenas sobre a negocia\u00e7\u00e3o da d\u00edvida do cliente.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"Deve citar apenas a GRB e a Credsystem e mais nenhuma outra empresa.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"Todas as respostas devem estar em portugu\u00eas do Brasil","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"Deve Apresentar para o cliente a(s) seguinte(s) proposta(s) de pagamento.\n\nVencimento para 26\/08\/2024;\n\n1 parcelas de R$ 379.61;\n3 parcelas de R$ 146.04;\n6 parcelas de R$ 75.97;\n\n\nSegue abaixo um exemplo para a mensagem:\n*KETLEN*\n\nSua d\u00edvida atualizada com juros \u00e9 de: *R$1.206,58*\n<font color='green'>N\u00e3o perca mais tempo e aproveite agora!\n\nSomente hoje, realizando o pagamento \u00e0 vista voc\u00ea conseguir\u00e1 um excelente desconto\n*de aproximadamente 69%*\nOu ainda poder\u00e1 parcelar em \u00f3timas condi\u00e7\u00f5es.<\/font>\n\n*N\u00e3o deixe essa oportunidade escapar.*\n\n*Selecione agora a melhor op\u00e7\u00e3o de parcelamento e regularize a sua situa\u00e7\u00e3o financeira.*\n\n(Pagamento em: *26\/08\/2024*)\n\n","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"NUNCA apresente propostas diferentes das que lhe mostramos.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"NUNCA aceite uma proposta do cliente se ela for diferentes das que lhe mostramos.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"NUNCA calcule valores para parcelas ou propostas. Apresente apenas o que lhe mostramos.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"NUNCA apresente os valores e\/ou as datas de vencimento al\u00e9m da primeira parcela.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"},{"premise":"Deixe claro a quantidade de parcelas de cada proposta.","hypothesis":"Infelizmente, n\u00e3o podemos aceitar essa proposta. No entanto, oferecemos as seguintes op\u00e7\u00f5es: 1 parcela de R$ 379,61, 3 parcelas de R$ 146,04, ou 6 parcelas de R$ 75,97.","target":"PASS"}]
|
finetune.py
ADDED
@@ -0,0 +1,301 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from pathlib import Path
|
2 |
+
import time
|
3 |
+
import modal
|
4 |
+
from modal import App, Image, Volume, enter, method, wsgi_app
|
5 |
+
import os
|
6 |
+
|
7 |
+
#os.environ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION"] = "python"
|
8 |
+
VOL_MOUNT_PATH = Path("/vol")
|
9 |
+
|
10 |
+
cuda_version = "12.4.0" # should be no greater than host CUDA version
|
11 |
+
flavor = "devel" # includes full CUDA toolkit
|
12 |
+
_os = "ubuntu22.04"
|
13 |
+
tag = f"{cuda_version}-{flavor}-{_os}"
|
14 |
+
|
15 |
+
#image = Image.from_registry(f"nvidia/cuda:{tag}", add_python="3.11")
|
16 |
+
image = Image.debian_slim(python_version="3.10")
|
17 |
+
|
18 |
+
image = image.pip_install(
|
19 |
+
"accelerate",
|
20 |
+
"transformers",
|
21 |
+
"torch",
|
22 |
+
"datasets",
|
23 |
+
"tensorboard",
|
24 |
+
"trl",
|
25 |
+
"xformers",
|
26 |
+
"bitsandbytes",
|
27 |
+
"peft",
|
28 |
+
"protobuf==3.20.*",
|
29 |
+
"onnxruntime",
|
30 |
+
"onnx",
|
31 |
+
"setfit",
|
32 |
+
"nltk",
|
33 |
+
"firebase_admin",
|
34 |
+
"openai",
|
35 |
+
"evaluate",
|
36 |
+
"sentencepiece",
|
37 |
+
"pandas",
|
38 |
+
"scikit-learn",
|
39 |
+
"huggingface_hub"
|
40 |
+
)
|
41 |
+
|
42 |
+
app = App(
|
43 |
+
name="finetune-run", image=image
|
44 |
+
) # Note: prior to April 2024, "app" was called "stub"
|
45 |
+
output_vol = Volume.from_name("finetune-volume", create_if_missing=True)
|
46 |
+
|
47 |
+
|
48 |
+
@app.function(gpu="any")
|
49 |
+
def gpu_function():
|
50 |
+
import subprocess
|
51 |
+
|
52 |
+
import torch
|
53 |
+
|
54 |
+
subprocess.run(["nvidia-smi"])
|
55 |
+
print("Torch version:", torch.__version__)
|
56 |
+
print("CUDA available:", torch.cuda.is_available())
|
57 |
+
print("CUDA device count:", torch.cuda.device_count())
|
58 |
+
|
59 |
+
|
60 |
+
|
61 |
+
GPU_CONFIG = modal.gpu.A100(count=2, size="80GB")
|
62 |
+
|
63 |
+
@app.function(
|
64 |
+
gpu=GPU_CONFIG, # self.params.gpu,
|
65 |
+
timeout=7200, # self.params.timeout,
|
66 |
+
volumes={VOL_MOUNT_PATH: output_vol},
|
67 |
+
secrets=[modal.Secret.from_dotenv()]
|
68 |
+
)
|
69 |
+
def run_finetune(data):
|
70 |
+
import subprocess
|
71 |
+
|
72 |
+
import torch
|
73 |
+
|
74 |
+
subprocess.run(["nvidia-smi"])
|
75 |
+
print("Torch version:", torch.__version__)
|
76 |
+
print("CUDA available:", torch.cuda.is_available())
|
77 |
+
print("CUDA device count:", torch.cuda.device_count())
|
78 |
+
|
79 |
+
import pandas as pd
|
80 |
+
open('./features_ms_deberta_v2.json', 'w').write(data)
|
81 |
+
df = pd.read_json('./features_ms_deberta_v2.json', lines=False)
|
82 |
+
|
83 |
+
from datasets import Dataset
|
84 |
+
from transformers import (
|
85 |
+
AutoModel,AutoTokenizer,
|
86 |
+
AutoModelForSequenceClassification, DebertaV2Model, DebertaV2Tokenizer, DebertaV2ForSequenceClassification,
|
87 |
+
|
88 |
+
Trainer, TrainingArguments ,EvalPrediction,DataCollatorWithPadding
|
89 |
+
)
|
90 |
+
import numpy as np
|
91 |
+
from itertools import chain
|
92 |
+
import re
|
93 |
+
from collections import Counter
|
94 |
+
|
95 |
+
from sklearn.feature_extraction.text import TfidfVectorizer
|
96 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
97 |
+
import random
|
98 |
+
from sklearn.model_selection import train_test_split
|
99 |
+
from transformers import pipeline
|
100 |
+
import torch
|
101 |
+
from evaluate import load as load_metric
|
102 |
+
|
103 |
+
HF_ORGANIZATION = "rafaelsandroni"
|
104 |
+
token = os.getenv("HF_TOKEN")
|
105 |
+
|
106 |
+
# In[12]:
|
107 |
+
|
108 |
+
|
109 |
+
# Define the task for zero-shot classification
|
110 |
+
task = "zero-shot-classification"
|
111 |
+
|
112 |
+
# Define the specific pre-trained model to be used
|
113 |
+
|
114 |
+
model_name = "MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7"
|
115 |
+
# model_name = "MoritzLaurer/bge-m3-zeroshot-v2.0"
|
116 |
+
# model_name = "cross-encoder/nli-deberta-v3-base"
|
117 |
+
model_name = "microsoft/deberta-v2-xlarge-mnli"
|
118 |
+
|
119 |
+
# Define the directory where the output/results will be saved
|
120 |
+
output_dir = "./"
|
121 |
+
|
122 |
+
# Clear the CUDA cache to free up GPU memory
|
123 |
+
torch.cuda.empty_cache()
|
124 |
+
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
|
125 |
+
|
126 |
+
|
127 |
+
# Most common init
|
128 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
129 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
130 |
+
|
131 |
+
|
132 |
+
# In[5]:
|
133 |
+
|
134 |
+
|
135 |
+
def create_input_sequence(sample):
|
136 |
+
# Get text from the 'premise' column
|
137 |
+
text = sample["premise"]
|
138 |
+
|
139 |
+
# Get hypothesis from the 'hypothesis' column
|
140 |
+
hypothesis = sample['hypothesis']
|
141 |
+
|
142 |
+
# Get label from the 'class' column
|
143 |
+
label = sample['class']
|
144 |
+
|
145 |
+
# Encoding the sequence using the tokenizer
|
146 |
+
encoded_sequence = tokenizer(text, hypothesis, truncation=True, padding='max_length')
|
147 |
+
|
148 |
+
# Assign label to the encoded sequence
|
149 |
+
encoded_sequence['labels'] = label
|
150 |
+
|
151 |
+
# Decode the input_ids
|
152 |
+
encoded_sequence["input_sentence"] = tokenizer.batch_decode(encoded_sequence.input_ids)
|
153 |
+
|
154 |
+
return encoded_sequence
|
155 |
+
|
156 |
+
|
157 |
+
# In[6]:
|
158 |
+
|
159 |
+
df['class'] = (df['target'] == 'PASS').astype(int).apply(lambda x: 0 if x == 1 else 2)
|
160 |
+
|
161 |
+
print(df.head())
|
162 |
+
|
163 |
+
print(df.shape)
|
164 |
+
|
165 |
+
|
166 |
+
|
167 |
+
# In[7]:
|
168 |
+
|
169 |
+
|
170 |
+
train_data, test_data = train_test_split(df, test_size=0.3, random_state=42)
|
171 |
+
|
172 |
+
# Shuffle the train_data DataFrame and create a new DataFrame with shuffled rows
|
173 |
+
train_shuffle_df = train_data
|
174 |
+
|
175 |
+
# Shuffle the test_data DataFrame and create a new DataFrame with shuffled rows
|
176 |
+
test_shuffle_df = test_data
|
177 |
+
|
178 |
+
# Create a Dataset object from the shuffled train DataFrame
|
179 |
+
train = Dataset.from_pandas(train_shuffle_df)
|
180 |
+
|
181 |
+
# Create a Dataset object from the shuffled test DataFrame
|
182 |
+
test = Dataset.from_pandas(test_shuffle_df)
|
183 |
+
|
184 |
+
# Map the create_input_sequence function to the train and test datasets
|
185 |
+
# This function encodes the data, adds labels, and generates input sentences
|
186 |
+
train_dataset = train.map(create_input_sequence,batched=True,batch_size=1,remove_columns=["class","premise"])
|
187 |
+
test_dataset = test.map(create_input_sequence,batched=True,batch_size=1,remove_columns=["class","premise"])
|
188 |
+
|
189 |
+
|
190 |
+
# In[8]:
|
191 |
+
|
192 |
+
|
193 |
+
def compute_metrics(p: EvalPrediction):
|
194 |
+
# Extracting predictions from EvalPrediction object
|
195 |
+
preds = p.predictions[0] if isinstance(p.predictions, tuple) else p.predictions
|
196 |
+
|
197 |
+
# Obtaining the predicted classes
|
198 |
+
preds = np.argmax(preds, axis = 1)
|
199 |
+
|
200 |
+
# Calculating the ratio of predictions equal to 2 (assumed label)
|
201 |
+
ratio = np.mean(preds == 2)
|
202 |
+
|
203 |
+
# Dictionary to store computed metrics
|
204 |
+
result = {}
|
205 |
+
|
206 |
+
# Loading evaluation metrics
|
207 |
+
metric_f1 = load_metric("f1")
|
208 |
+
metric_precision = load_metric("precision")
|
209 |
+
metric_recall = load_metric("recall")
|
210 |
+
metric_acc = load_metric("accuracy")
|
211 |
+
|
212 |
+
# Computing various metrics
|
213 |
+
result["accuracy"] = metric_acc.compute(predictions = preds, references = p.label_ids)["accuracy"]
|
214 |
+
result["precision"] = metric_precision.compute(predictions = preds, references = p.label_ids,average = 'macro')['precision']
|
215 |
+
result["recall"] = metric_recall.compute(predictions = preds, references = p.label_ids,average = 'macro')["recall"]
|
216 |
+
result["f1"] = metric_f1.compute(predictions = preds, references = p.label_ids, average = 'macro')["f1"]
|
217 |
+
result["ratio"] = ratio
|
218 |
+
|
219 |
+
return result
|
220 |
+
|
221 |
+
|
222 |
+
# In[14]:
|
223 |
+
|
224 |
+
|
225 |
+
training_args = TrainingArguments(
|
226 |
+
output_dir=output_dir, # Output directory
|
227 |
+
logging_dir=output_dir + "/logs",# Output directory for logging
|
228 |
+
num_train_epochs=3, # Total number of training epochs
|
229 |
+
per_device_train_batch_size=2, # Batch size per device during training
|
230 |
+
per_device_eval_batch_size=2, # Batch size for evaluation
|
231 |
+
warmup_steps=4, # Number of warmup steps for learning rate scheduler
|
232 |
+
weight_decay=0.01, # Strength of weight decay
|
233 |
+
gradient_accumulation_steps=2, # The number of steps whose gradients are accumulated
|
234 |
+
learning_rate=2e-05, # Controls the magnitude of updates to the model weights
|
235 |
+
warmup_ratio=0.06, # Represents the proportion of training steps
|
236 |
+
label_smoothing_factor=0.1, # Regularization technique to prevent the model from becoming overconfident
|
237 |
+
evaluation_strategy='steps', # Frequency or timing of evaluating
|
238 |
+
logging_strategy='steps', # Frequency or timing of logging
|
239 |
+
logging_steps = 10, # Frequency or timing of logging
|
240 |
+
eval_steps = 10, # Frequency or timing of evaluating
|
241 |
+
logging_first_step=True,
|
242 |
+
do_eval=True,
|
243 |
+
hub_model_id="rafaelsandroni/ms-deberta-v2-xlarge-mnli-finetuned-pt",
|
244 |
+
)
|
245 |
+
|
246 |
+
|
247 |
+
# In[15]:
|
248 |
+
|
249 |
+
|
250 |
+
trainer = Trainer(
|
251 |
+
model=model, # The instantiated model to be trained
|
252 |
+
args=training_args, # Training arguments, defined above
|
253 |
+
train_dataset=train_dataset, # Training dataset
|
254 |
+
eval_dataset=test_dataset, # Evaluation dataset
|
255 |
+
tokenizer=tokenizer,
|
256 |
+
compute_metrics=compute_metrics
|
257 |
+
)
|
258 |
+
|
259 |
+
|
260 |
+
# In[16]:
|
261 |
+
|
262 |
+
|
263 |
+
|
264 |
+
# In[18]:
|
265 |
+
|
266 |
+
|
267 |
+
trainer.train()
|
268 |
+
|
269 |
+
|
270 |
+
# In[ ]:
|
271 |
+
|
272 |
+
|
273 |
+
trainer.evaluate()
|
274 |
+
t = time.strftime("%Y%m%d%H%M%S")
|
275 |
+
v = 2
|
276 |
+
commit = f"dev-v{v}-{t}"
|
277 |
+
trainer.push_to_hub(commit, token=token)
|
278 |
+
# predict
|
279 |
+
for i, row in test_shuffle_df.iterrows():
|
280 |
+
pred_model = trainer.model([row["premise"], row["hypothesis"]])
|
281 |
+
print(pred_model, row["class"])
|
282 |
+
# In[ ]:
|
283 |
+
|
284 |
+
|
285 |
+
model.eval()
|
286 |
+
|
287 |
+
|
288 |
+
|
289 |
+
|
290 |
+
|
291 |
+
@app.local_entrypoint()
|
292 |
+
def run():
|
293 |
+
import time
|
294 |
+
import pandas as pd
|
295 |
+
t0 = time.time()
|
296 |
+
#df = pd.read_json('./features_ms_deberta_v2.json', lines=False)
|
297 |
+
with open('./features_ms_deberta_v2.json') as f:
|
298 |
+
data = f.read()
|
299 |
+
run_finetune.remote(data)
|
300 |
+
|
301 |
+
print("Full time spent:", time.time() - t0)
|
logs/events.out.tfevents.1724720277.modal.2.0
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5bcf2e6501b6c7cd7ac2f5f739514f6e6c979fcef0f028c095c0052e345c79ed
|
3 |
+
size 6683
|
logs/events.out.tfevents.1724720351.modal.2.1
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:eda6e9faf2f5190b4164b99683e29f05fa2d4b6bc86705f029360f0b0ca4217c
|
3 |
+
size 599
|
model.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5e19f1cdad97fb8d9e7d868cf21b586c53b3b1ac414d4ff676b34fcc245fafee
|
3 |
+
size 3547884268
|
special_tokens_map.json
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token": "[CLS]",
|
3 |
+
"cls_token": "[CLS]",
|
4 |
+
"eos_token": "[SEP]",
|
5 |
+
"mask_token": "[MASK]",
|
6 |
+
"pad_token": "[PAD]",
|
7 |
+
"sep_token": "[SEP]",
|
8 |
+
"unk_token": {
|
9 |
+
"content": "[UNK]",
|
10 |
+
"lstrip": false,
|
11 |
+
"normalized": true,
|
12 |
+
"rstrip": false,
|
13 |
+
"single_word": false
|
14 |
+
}
|
15 |
+
}
|
spm.model
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5598d5e96f339a8d980c15f9afd405a2e5e1be7db41de3ed13b0f03fac1e8c17
|
3 |
+
size 2447305
|
tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer_config.json
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"added_tokens_decoder": {
|
3 |
+
"0": {
|
4 |
+
"content": "[PAD]",
|
5 |
+
"lstrip": false,
|
6 |
+
"normalized": false,
|
7 |
+
"rstrip": false,
|
8 |
+
"single_word": false,
|
9 |
+
"special": true
|
10 |
+
},
|
11 |
+
"1": {
|
12 |
+
"content": "[CLS]",
|
13 |
+
"lstrip": false,
|
14 |
+
"normalized": false,
|
15 |
+
"rstrip": false,
|
16 |
+
"single_word": false,
|
17 |
+
"special": true
|
18 |
+
},
|
19 |
+
"2": {
|
20 |
+
"content": "[SEP]",
|
21 |
+
"lstrip": false,
|
22 |
+
"normalized": false,
|
23 |
+
"rstrip": false,
|
24 |
+
"single_word": false,
|
25 |
+
"special": true
|
26 |
+
},
|
27 |
+
"3": {
|
28 |
+
"content": "[UNK]",
|
29 |
+
"lstrip": false,
|
30 |
+
"normalized": true,
|
31 |
+
"rstrip": false,
|
32 |
+
"single_word": false,
|
33 |
+
"special": true
|
34 |
+
},
|
35 |
+
"128000": {
|
36 |
+
"content": "[MASK]",
|
37 |
+
"lstrip": false,
|
38 |
+
"normalized": false,
|
39 |
+
"rstrip": false,
|
40 |
+
"single_word": false,
|
41 |
+
"special": true
|
42 |
+
}
|
43 |
+
},
|
44 |
+
"bos_token": "[CLS]",
|
45 |
+
"clean_up_tokenization_spaces": true,
|
46 |
+
"cls_token": "[CLS]",
|
47 |
+
"do_lower_case": false,
|
48 |
+
"eos_token": "[SEP]",
|
49 |
+
"mask_token": "[MASK]",
|
50 |
+
"model_max_length": 512,
|
51 |
+
"pad_token": "[PAD]",
|
52 |
+
"sep_token": "[SEP]",
|
53 |
+
"sp_model_kwargs": {},
|
54 |
+
"split_by_punct": false,
|
55 |
+
"tokenizer_class": "DebertaV2Tokenizer",
|
56 |
+
"unk_token": "[UNK]",
|
57 |
+
"vocab_type": "spm"
|
58 |
+
}
|
training_args.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:919b327360e865115024a79bfb9a7c9c2a4976a465b7ea7dbab24e13a14eb474
|
3 |
+
size 5176
|