Pular para o conteúdo principal

Datasets e Formatos

Seu modelo é tão bom quanto seus dados. Aqui está como formatá-los corretamente.

Formatos de Arquivo Suportados

O AITraining suporta múltiplas fontes de dados:
FormatoComo É CarregadoCaso de Uso
JSONLpandas.read_json(lines=True)Treinamento LLM, conversas
CSVpandas.read_csv()Classificação, dados tabulares
HF Dataset IDdatasets.load_dataset()Datasets remotos do Hub
Local HF Datasetload_from_disk()Datasets pré-processados
Arquivos Parquet são suportados indiretamente através de datasets HuggingFace que expõem formato Parquet.

Formatos Comuns

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 TarefaMínimoBomExcelente
Text Classification1001.00010.000+
Image Classification2002.00020.000+
Language Generation505005.000+

Colunas Obrigatórias por Treinador

Diferentes treinadores requerem colunas específicas:
TreinadorColunas ObrigatóriasOpcional
sft / defaulttext (ou messages)-
dpoprompt, chosen, rejected-
orpoprompt, chosen, rejected-
rewardtext (chosen), rejected-
Se colunas obrigatórias estiverem faltando, você receberá um erro de validação claro listando as colunas faltantes e disponíveis.

Formatos Especiais

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

Formato de Conversa

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.

Formatos Suportados

FormatoDetecçãoColunas de Exemplo
AlpacaAutoinstruction, input, output
ShareGPTAutoconversations com from/value
MessagesAutomessages com role/content
Q&AAutoquestion/answer, query/response
User/AssistantAutouser, assistant
DPOAutoprompt, chosen, rejected
Plain TextAutotext
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çãoDescrição
tokenizerUse o chat template integrado do modelo (padrão para SFT/DPO/ORPO)
chatmlFormato padrão ChatML
zephyrFormato Zephyr/Mistral
noneSem 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

  1. Comece pequeno - Teste com 100 exemplos antes de escalar
  2. Valide cedo - Verifique se seu formato funciona antes de coletar milhares de exemplos
  3. Mantenha consistente - Mesmo formato em todo seu dataset
  4. Documente tudo - Anote qualquer pré-processamento ou regras especiais
  5. Use auto-convert - Deixe o AITraining detectar e converter formatos automaticamente

Próximos Passos