eli5_clm-model
Modelo de Linguagem Causal (Causal Language Model, CLM) fine-tunado a partir de distilbert/distilgpt2.
Este modelo foi treinado seguindo o tutorial oficial de Causal Language Modeling dos Transformers: https://huggingface.co/docs/transformers/tasks/language_modeling#causal-language-modeling
Resultados no conjunto de validação:
- Loss: 3.8254
Descrição do modelo
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.
Usos previstos e limitações
- Geração de texto condicionada a um prompt.
- Completar sentenças ou parágrafos em língua portuguesa/inglesa (dependendo dos dados de treino).
- Não é um verificador de fatos; pode alucinar conteúdo.
- Evite uso em cenários sensíveis sem validação humana.
Como testar rapidamente (linha de comando)
- Crie/ative um ambiente Python e instale dependências mínimas:
- transformers, torch, accelerate, safetensors
- Execute o script
test_inference.py
(fornecido nesta pasta):
python test_inference.py \
--model_dir . \
--prompt "Explique em termos simples o que é aprendizado de máquina." \
--max_new_tokens 80
Parâmetros úteis:
--temperature
(controle de criatividade, ex.: 0.7)--top_p
(amostragem nucleus, ex.: 0.9)--seed
(reprodutibilidade)
Exemplo de uso em Python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_dir = "." # caminho desta pasta
tokenizer = AutoTokenizer.from_pretrained(model_dir)
model = AutoModelForCausalLM.from_pretrained(model_dir)
prompt = "Explique o que é um modelo de linguagem de forma simples."
inputs = tokenizer(prompt, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=80,
temperature=0.7,
top_p=0.9,
do_sample=True,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Dados de treino e avaliação
- Fonte: conjunto de dados local (não especificado neste repositório).
- Tarefa: modelagem de linguagem causal (próximo token).
- Observação: para reprodutibilidade completa, registre e publique a origem dos dados quando possível.
Procedimento de treino
Hiperparâmetros de treino
Os seguintes hiperparâmetros foram usados durante o treino:
- learning_rate: 2e-05
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- optimizer: ADAMW_TORCH_FUSED (betas=(0.9,0.999), epsilon=1e-08)
- lr_scheduler_type: linear
- num_epochs: 3.0
Resultados de treino
Training Loss | Epoch | Step | Validation Loss |
---|---|---|---|
3.9127 | 1.0 | 1311 | 3.8362 |
3.8243 | 2.0 | 2622 | 3.8266 |
3.7832 | 3.0 | 3933 | 3.8254 |
Versões de framework
- Transformers 4.55.1
- Pytorch 2.8.0+cu128
- Datasets 4.0.0
- Tokenizers 0.21.4
Reproduzindo o treino
O fine-tuning seguiu o guia oficial de CLM dos Transformers (link acima), utilizando Trainer
com AutoModelForCausalLM
e AutoTokenizer
. Para reproduzir:
- Prepare o dataset em texto (um exemplo por linha funciona bem).
- Tokenize com o tokenizer do modelo base.
- Treine com os hiperparâmetros acima, salvando checkpoints nesta pasta.
Estrutura desta pasta
config.json
,tokenizer.json
,tokenizer_config.json
,vocab.json
,merges.txt
: artefatos do modelo/tokenizer.model.safetensors
,generation_config.json
: pesos e config de geração.checkpoint-*
: checkpoints do treinamento.runs/
: logs do treinamento (ex.: TensorBoard).test_inference.py
: script de teste por CLI.TESTE_RAPIDO.md
: guia de execução rápida.
Aviso
Este modelo pode produzir saídas inexatas ou tendenciosas. Avalie e filtre conforme o uso pretendido.
- Downloads last month
- 11
Model tree for carlosdelfino/eli5_clm-model
Base model
distilbert/distilgpt2