Datasets e Formatos
Seu modelo é tão bom quanto seus dados. Aqui está como formatá-los corretamente.
O AITraining suporta múltiplas fontes de dados:
| Formato | Como É Carregado | Caso de Uso |
|---|
| JSONL | pandas.read_json(lines=True) | Treinamento LLM, conversas |
| CSV | pandas.read_csv() | Classificação, dados tabulares |
| HF Dataset ID | datasets.load_dataset() | Datasets remotos do Hub |
| Local HF Dataset | load_from_disk() | Datasets pré-processados |
Arquivos Parquet são suportados indiretamente através de datasets HuggingFace que expõem formato Parquet.
CSV (Mais Comum)
Simples e universal. Funciona para classificação, regressão e tarefas básicas.
text,label
"This product is amazing",positive
"Terrible experience",negative
"Average quality",neutral
JSON/JSONL
Melhor para dados complexos, conversas e estruturas aninhadas.
{"messages": [
{"role": "user", "content": "What is Python?"},
{"role": "assistant", "content": "Python is a programming language"}
]}
Pastas para Imagens
Organize imagens por categoria:
dataset/
cats/
cat1.jpg
cat2.jpg
dogs/
dog1.jpg
dog2.jpg
Básicos de Qualidade de Dados
Balanceie Suas Classes
Ruim:
- 1000 exemplos positivos
- 50 exemplos negativos
Bom:
- 500 exemplos positivos
- 500 exemplos negativos
Limpe Seus Dados
Remova:
- Duplicatas
- Valores vazios
- Erros óbvios
- Formatação inconsistente
Diretrizes de Tamanho
| Tipo de Tarefa | Mínimo | Bom | Excelente |
|---|
| Text Classification | 100 | 1.000 | 10.000+ |
| Image Classification | 200 | 2.000 | 20.000+ |
| Language Generation | 50 | 500 | 5.000+ |
Colunas Obrigatórias por Treinador
Diferentes treinadores requerem colunas específicas:
| Treinador | Colunas Obrigatórias | Opcional |
|---|
sft / default | text (ou messages) | - |
dpo | prompt, chosen, rejected | - |
orpo | prompt, chosen, rejected | - |
reward | text (chosen), rejected | - |
Se colunas obrigatórias estiverem faltando, você receberá um erro de validação claro listando as colunas faltantes e disponíveis.
DPO/ORPO (Dados de Preferência)
{
"prompt": "Explain gravity",
"chosen": "Gravity is a force that attracts objects...",
"rejected": "gravity is thing that make stuff fall"
}
Token Classification
John B-PERSON
Smith I-PERSON
visited O
Paris B-LOCATION
Conversas esperam listas de objetos {role, content}:
{"messages": [
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi there!"}
]}
Ou formato ShareGPT (detectado e convertido automaticamente):
{"conversations": [
{"from": "human", "value": "Hello"},
{"from": "assistant", "value": "Hi there!"}
]}
Conversão Automática de Dataset
O AITraining pode detectar e converter automaticamente formatos comuns de dataset. Sem pré-processamento manual necessário.
| Formato | Detecção | Colunas de Exemplo |
|---|
| Alpaca | Auto | instruction, input, output |
| ShareGPT | Auto | conversations com from/value |
| Messages | Auto | messages com role/content |
| Q&A | Auto | question/answer, query/response |
| User/Assistant | Auto | user, assistant |
| DPO | Auto | prompt, chosen, rejected |
| Plain Text | Auto | text |
Mapeamento de colunas é opcional - use para converter nomes de colunas variados para o formato esperado.
Usando Auto-Conversão
aitraining llm --train \
--model google/gemma-3-270m \
--data-path tatsu-lab/alpaca \
--auto-convert-dataset \
--chat-template gemma3 \
--trainer sft
Chat Templates
Chat templates formatam seus dados na estrutura de conversa esperada do modelo.
| Opção | Descrição |
|---|
tokenizer | Use o chat template integrado do modelo (padrão para SFT/DPO/ORPO) |
chatml | Formato padrão ChatML |
zephyr | Formato Zephyr/Mistral |
none | Sem template (texto simples) |
Templates são auto-selecionados com base no seu treinador, ou especifique manualmente:
--chat-template tokenizer # Use template do modelo (recomendado)
--chat-template chatml # Force ChatML
--chat-template none # Desabilite para texto simples
O renderizador unificado aplica templates consistentemente. Caminhos de template legados ainda são suportados para compatibilidade reversa.
Extensão de Conversa
Mescle exemplos de turno único em conversas multi-turno:
aitraining llm --train \
--model google/gemma-3-270m \
--data-path ./qa_pairs.jsonl \
--auto-convert-dataset \
--conversation-extension 3 \
--trainer sft
Dicas Rápidas
- Comece pequeno - Teste com 100 exemplos antes de escalar
- Valide cedo - Verifique se seu formato funciona antes de coletar milhares de exemplos
- Mantenha consistente - Mesmo formato em todo seu dataset
- Documente tudo - Anote qualquer pré-processamento ou regras especiais
- Use auto-convert - Deixe o AITraining detectar e converter formatos automaticamente
Próximos Passos