carlosdelfino commited on
Commit
db2f0b2
·
verified ·
1 Parent(s): 862bc7d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +88 -19
README.md CHANGED
@@ -1,49 +1,99 @@
1
  ---
 
 
2
  library_name: transformers
3
- license: apache-2.0
4
  base_model: distilbert/distilgpt2
5
  tags:
6
  - generated_from_trainer
7
  model-index:
8
  - name: eli5_clm-model
9
  results: []
 
 
10
  ---
11
 
12
- <!-- This model card has been generated automatically according to the information the Trainer had access to. You
13
- should probably proofread and complete it, then remove this comment. -->
14
-
15
  # eli5_clm-model
16
 
17
- This model is a fine-tuned version of [distilbert/distilgpt2](https://huggingface.co/distilbert/distilgpt2) on an unknown dataset.
18
- It achieves the following results on the evaluation set:
 
 
 
 
19
  - Loss: 3.8254
20
 
21
- ## Model description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
- More information needed
 
 
 
24
 
25
- ## Intended uses & limitations
26
 
27
- More information needed
 
 
28
 
29
- ## Training and evaluation data
 
 
30
 
31
- More information needed
 
 
 
 
 
 
 
 
 
 
 
32
 
33
- ## Training procedure
34
 
35
- ### Training hyperparameters
 
 
36
 
37
- The following hyperparameters were used during training:
 
 
 
 
38
  - learning_rate: 2e-05
39
  - train_batch_size: 8
40
  - eval_batch_size: 8
41
  - seed: 42
42
- - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
43
  - lr_scheduler_type: linear
44
  - num_epochs: 3.0
45
 
46
- ### Training results
47
 
48
  | Training Loss | Epoch | Step | Validation Loss |
49
  |:-------------:|:-----:|:----:|:---------------:|
@@ -51,10 +101,29 @@ The following hyperparameters were used during training:
51
  | 3.8243 | 2.0 | 2622 | 3.8266 |
52
  | 3.7832 | 3.0 | 3933 | 3.8254 |
53
 
54
-
55
- ### Framework versions
56
 
57
  - Transformers 4.55.1
58
  - Pytorch 2.8.0+cu128
59
  - Datasets 4.0.0
60
  - Tokenizers 0.21.4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: cc-by-4.0
3
+ language: pt
4
  library_name: transformers
 
5
  base_model: distilbert/distilgpt2
6
  tags:
7
  - generated_from_trainer
8
  model-index:
9
  - name: eli5_clm-model
10
  results: []
11
+ datasets:
12
+ - dany0407/eli5_category
13
  ---
14
 
 
 
 
15
  # eli5_clm-model
16
 
17
+ Modelo de Linguagem Causal (Causal Language Model, CLM) fine-tunado a partir de [distilbert/distilgpt2](https://huggingface.co/distilbert/distilgpt2).
18
+
19
+ Este modelo foi treinado seguindo o tutorial oficial de Causal Language Modeling dos Transformers:
20
+ https://huggingface.co/docs/transformers/tasks/language_modeling#causal-language-modeling
21
+
22
+ Resultados no conjunto de validação:
23
  - Loss: 3.8254
24
 
25
+ ## Descrição do modelo
26
+
27
+ Um CLM aprende a prever o próximo token dado o contexto anterior, sendo adequado para geração de texto auto-regressiva. Aqui utilizamos o DistilGPT-2 como base e realizamos fine-tuning em um conjunto de dados local (não especificado neste card). O objetivo é adaptar o modelo ao domínio/estilo desejado.
28
+
29
+ ## Usos previstos e limitações
30
+
31
+ - Geração de texto condicionada a um prompt.
32
+ - Completar sentenças ou parágrafos em língua portuguesa/inglesa (dependendo dos dados de treino).
33
+ - Não é um verificador de fatos; pode alucinar conteúdo.
34
+ - Evite uso em cenários sensíveis sem validação humana.
35
+
36
+ ## Como testar rapidamente (linha de comando)
37
+
38
+ 1) Crie/ative um ambiente Python e instale dependências mínimas:
39
+ - transformers, torch, accelerate, safetensors
40
+ 2) Execute o script `test_inference.py` (fornecido nesta pasta):
41
+
42
+ ```bash
43
+ python test_inference.py \
44
+ --model_dir . \
45
+ --prompt "Explique em termos simples o que é aprendizado de máquina." \
46
+ --max_new_tokens 80
47
+ ```
48
 
49
+ Parâmetros úteis:
50
+ - `--temperature` (controle de criatividade, ex.: 0.7)
51
+ - `--top_p` (amostragem nucleus, ex.: 0.9)
52
+ - `--seed` (reprodutibilidade)
53
 
54
+ ## Exemplo de uso em Python
55
 
56
+ ```python
57
+ from transformers import AutoTokenizer, AutoModelForCausalLM
58
+ import torch
59
 
60
+ model_dir = "." # caminho desta pasta
61
+ tokenizer = AutoTokenizer.from_pretrained(model_dir)
62
+ model = AutoModelForCausalLM.from_pretrained(model_dir)
63
 
64
+ prompt = "Explique o que é um modelo de linguagem de forma simples."
65
+ inputs = tokenizer(prompt, return_tensors="pt")
66
+ with torch.no_grad():
67
+ outputs = model.generate(
68
+ **inputs,
69
+ max_new_tokens=80,
70
+ temperature=0.7,
71
+ top_p=0.9,
72
+ do_sample=True,
73
+ )
74
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
75
+ ```
76
 
77
+ ## Dados de treino e avaliação
78
 
79
+ - Fonte: conjunto de dados local (não especificado neste repositório).
80
+ - Tarefa: modelagem de linguagem causal (próximo token).
81
+ - Observação: para reprodutibilidade completa, registre e publique a origem dos dados quando possível.
82
 
83
+ ## Procedimento de treino
84
+
85
+ ### Hiperparâmetros de treino
86
+
87
+ Os seguintes hiperparâmetros foram usados durante o treino:
88
  - learning_rate: 2e-05
89
  - train_batch_size: 8
90
  - eval_batch_size: 8
91
  - seed: 42
92
+ - optimizer: ADAMW_TORCH_FUSED (betas=(0.9,0.999), epsilon=1e-08)
93
  - lr_scheduler_type: linear
94
  - num_epochs: 3.0
95
 
96
+ ### Resultados de treino
97
 
98
  | Training Loss | Epoch | Step | Validation Loss |
99
  |:-------------:|:-----:|:----:|:---------------:|
 
101
  | 3.8243 | 2.0 | 2622 | 3.8266 |
102
  | 3.7832 | 3.0 | 3933 | 3.8254 |
103
 
104
+ ### Versões de framework
 
105
 
106
  - Transformers 4.55.1
107
  - Pytorch 2.8.0+cu128
108
  - Datasets 4.0.0
109
  - Tokenizers 0.21.4
110
+
111
+ ## Reproduzindo o treino
112
+
113
+ O fine-tuning seguiu o guia oficial de CLM dos Transformers (link acima), utilizando `Trainer` com `AutoModelForCausalLM` e `AutoTokenizer`. Para reproduzir:
114
+ 1) Prepare o dataset em texto (um exemplo por linha funciona bem).
115
+ 2) Tokenize com o tokenizer do modelo base.
116
+ 3) Treine com os hiperparâmetros acima, salvando checkpoints nesta pasta.
117
+
118
+ ## Estrutura desta pasta
119
+
120
+ - `config.json`, `tokenizer.json`, `tokenizer_config.json`, `vocab.json`, `merges.txt`: artefatos do modelo/tokenizer.
121
+ - `model.safetensors`, `generation_config.json`: pesos e config de geração.
122
+ - `checkpoint-*`: checkpoints do treinamento.
123
+ - `runs/`: logs do treinamento (ex.: TensorBoard).
124
+ - `test_inference.py`: script de teste por CLI.
125
+ - `TESTE_RAPIDO.md`: guia de execução rápida.
126
+
127
+ ## Aviso
128
+
129
+ Este modelo pode produzir saídas inexatas ou tendenciosas. Avalie e filtre conforme o uso pretendido.