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:| 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.
Formatos Comuns
CSV (Mais Comum)
Simples e universal. Funciona para classificação, regressão e tarefas básicas.JSON/JSONL
Melhor para dados complexos, conversas e estruturas aninhadas.Pastas para Imagens
Organize imagens por categoria:Básicos de Qualidade de Dados
Balanceie Suas Classes
Ruim:- 1000 exemplos positivos
- 50 exemplos negativos
- 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 | - |
Formatos Especiais
DPO/ORPO (Dados de Preferência)
Token Classification
Formato de Conversa
Conversas esperam listas de objetos{role, content}:
Suporte para Role Tool
O AITraining suporta a roletool para dados de treinamento com chamadas de função:
Compatibilidade automática: Para modelos que não suportam a role
tool nativamente (como Gemma), o AITraining converte automaticamente mensagens tool para mensagens user com o prefixo [Tool Result]. Modelos com suporte nativo de tool (Llama 3.1+, Qwen, etc.) usam seu formato nativo.Suporte a formato legado: A role
function antiga da OpenAI (usada antes de tool ser introduzida) também é suportada e tratada de forma idêntica à role tool.Tool Calls (Chamadas de Função)
O AITraining também suporta o campotool_calls para treinar modelos a fazer chamadas de função:
Deteccao inteligente de formato: O AITraining detecta se seu modelo suporta
tool_calls nativamente:- Qwen, Llama 3.1+: Usa formato nativo
<tool_call> - Gemma, modelos antigos: Serializa tool calls como JSON formato OpenAI no conteudo
Transformacao de Formato de Tool Call
Para modelos sem suporte nativo de ferramentas, o AITraining serializa os tool calls como JSON formato OpenAI anexado ao conteudo do assistente: Entrada (mensagem com campo tool_calls):O formato serializado preserva a estrutura completa da OpenAI com os campos
id, type e function. Isso corresponde ao formato descrito nas instrucoes do system prompt para melhor aprendizado do modelo.Tratamento de Alternância de Mensagens
Alguns modelos (Gemma, Mistral) requerem alternância estrita user/assistant. O AITraining corrige automaticamente problemas comuns: Mensagens consecutivas da mesma role são mescladas:Essas correções só são aplicadas quando o tokenizador rejeita o formato original. Modelos que aceitam ordenação flexível de mensagens mantêm a estrutura original.
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
| 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 |
Usando Auto-Conversão
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) |
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:Saída do Dataset Processado
Após o processamento, seu dataset terá:| Coluna | Descrição |
|---|---|
text | Dados de treinamento formatados com template de chat aplicado |
_original_messages | Coluna de mensagens original (preservada para inspeção) |
_original_* | Outras colunas originais renomeadas com prefixo |
Colunas originais são renomeadas para
_original_* para prevenir que outras ferramentas auto-detectem e usem incorretamente dados não processados.Salvando Dados Processados
Controle onde os dados processados são salvos com--save-processed-data:
| Opção | Comportamento |
|---|---|
auto | Salvar localmente; também enviar para Hub se a fonte era do Hub |
local | Salvar apenas em {project}/data_processed/ |
hub | Enviar apenas para Hub como dataset privado |
both | Salvar localmente e enviar para Hub |
none | Não salvar dados processados |
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