GPU para pesquisa ML · Pagamento crypto sem KYC
IteraGPU
Método / Dados e avaliação

Mantenha uma avaliação que ainda possa surpreendê-lo.

Um conjunto de avaliação útil representa o trabalho que o modelo deverá realizar sem ter servido para escolher seus ajustes. Defina a unidade avaliada, agrupe os exemplos relacionados, procure duplicatas e reserve um conjunto final mantido à parte. Você poderá então interpretar uma diferença de qualidade. Uma partição aleatória das linhas não garante essa independência, sobretudo quando várias linhas vêm do mesmo documento ou da mesma conversa.

01 /

Definir o que cada exemplo representa

Comece por uma frase de decisão: reconhecer a categoria de um novo ticket, extrair três campos de um documento ou responder a uma pergunta com seus anexos. Descreva a entrada disponível no momento da predição, a saída esperada e os casos fora do escopo. Uma informação adicionada após a resolução do ticket não deve aparecer em uma entrada que se supõe representar sua chegada.

Distinga em seguida linha e unidade independente. Cinco mensagens de uma conversa compartilham um contexto; dez páginas de um processo compartilham sua origem. Se seu objetivo envolve novos processos, mantenha cada processo em uma única partição. Uma separação por usuário, documento, equipamento ou período responde a perguntas diferentes: escolha a que se parece com o uso futuro e registre sua justificativa no manifesto.

Fontes técnicas: scikit-learn 1.9 — validação com grupos e dependências temporais

02 /

Atribuir um papel a cada conjunto

O conjunto de treinamento serve aos ajustes do modelo. O conjunto de validação orienta as decisões de desenvolvimento: prompt, limiar, hiperparâmetros ou escolha de uma variante. O teste final responde a uma pergunta já fixada. Consultá-lo para reter o melhor ajuste transforma progressivamente esse teste em ferramenta de desenvolvimento, mesmo que nenhum gradiente seja calculado sobre ele.

Separe também os dados usados para aprender uma transformação. Uma normalização, uma seleção de variáveis ou uma imputação ajustada sobre todo o corpus pode transmitir informação ao modelo. Aprenda essas transformações na partição autorizada e depois aplique a transformação conservada aos outros conjuntos. Um pipeline facilita esse controle; ele não corrige por si só grupos mal separados.

Papéis a nomear antes de produzir as primeiras pontuações
ConjuntoUso autorizadoDecisão a evitar
TreinamentoAjustar os parâmetros e transformações aprendidasImportar para ele as respostas do teste final
ValidaçãoEscolher ajustes, prompts e limiaresApresentar a melhor pontuação exploratória como resultado final independente
Teste finalAvaliar a configuração retida segundo a regra fixadaModificar os ajustes após a leitura e reutilizar a mesma pontuação como confirmação
Calibração eventualPreparar um método de quantização que dela preciseUsar o teste final para fabricar a variante avaliada

Fontes técnicas: scikit-learn 1.9 — vazamento de dados e transformações

03 /

Tratar duplicatas sem apagar os casos difíceis

Conserve o corpus bruto e depois construa um inventário de trabalho com identificador, origem e grupo. Uma impressão digital do conteúdo detecta as cópias exatas conforme a representação escolhida. Documente essa representação: remover toda a pontuação ou colocar um texto em minúsculas pode fundir entradas cuja diferença importa para a tarefa. Mantenha a correspondência entre a cópia descartada e o exemplar conservado.

Os quase-duplicados exigem uma revisão adicional: exportação modificada, resposta reformulada, trecho comum ou documento reeditado. Uma forte similaridade é um sinal a examinar, não uma prova de que duas anotações são intercambiáveis. Agrupe as variantes relacionadas antes de distribuir os dados. Se duas cópias carregam referências contraditórias, abra uma questão de anotação; não escolha automaticamente aquela que o modelo prevê melhor.

04 /

Exemplo prático: 1.200 linhas não são 1.200 observações independentes

Este exemplo é inteiramente ilustrativo: nenhum corpus nem modelo foi medido. Suponhamos 240 conversas, cada uma exportada em cinco linhas. Uma linha é uma cópia exata em cada conversa; as outras quatro são distintas. Remover essas 240 cópias deixa 960 exemplos, ainda organizados em 240 grupos. A escolha pedagógica seguinte reserva 70% dos grupos para o aprendizado, 15% para a validação e 15% para o teste.

Obtêm-se 168, 36 e 36 conversas, ou seja, 672, 144 e 144 exemplos. A igualdade das proporções em linhas e em grupos decorre aqui dos quatro exemplos por conversa. Em um corpus real de tamanhos variáveis, ela não seria automática. Essas proporções não são uma regra universal: elas devem deixar grupos e casos importantes suficientes em cada conjunto.

1.200 − 240 = 960 exemplos; 168 + 36 + 36 = 240 grupos; 672 + 144 + 144 = 960 exemplos.
Partição aritmética ilustrativa, após o tratamento das cópias
PartiçãoConversas inteirasExemplosPapel
Treinamento168672Ajustar
Validação36144Escolher
Teste final36144Confirmar em um conjunto mantido à parte

Fontes técnicas: scikit-learn 1.9 — GroupShuffleSplit conta os grupos

05 /

Verificar classes, comprimentos e cronologia

Após a partição, conte as classes e os grupos que as carregam. Uma classe presente em muitas linhas mas em uma única conversa não oferece muitos casos independentes. Examine também comprimentos, idiomas realmente cobertos, documentos incompletos e categorias importantes para a decisão. Uma média tranquilizadora pode mascarar uma partição sem nenhum exemplo de um caso crítico.

Uma estratificação com grupos busca preservar as proporções de classes sem dispersar os grupos. Ela não garante um equilíbrio perfeito quando os grupos são poucos ou muito desiguais. Se a tarefa consiste em prever observações futuras, uma separação cronológica pode ser mais pertinente do que uma mistura aleatória. Verifique também que as variáveis estavam disponíveis na data da predição.

Fontes técnicas: scikit-learn 1.9 — StratifiedGroupKFold e seus limites · scikit-learn 1.9 — validação de dados temporais

06 /

Tornar a referência precisa o bastante para julgar uma saída

Escreva uma instrução de anotação com exemplos e casos limite. Para uma extração, precise o sentido de um campo ausente, o formato das datas, a moeda e as equivalências aceitas. Para uma classificação, descreva as fronteiras entre categorias. Uma resposta diferente da referência não é sempre um erro do modelo: a referência pode ser ambígua ou incorreta.

Faça revisar uma seleção variada, em particular as discordâncias e os casos importantes, e depois registre a arbitragem. Conserve as correções em uma nova versão do conjunto. Se uma correção mudar o resultado de uma comparação, recalcule todas as variantes afetadas sobre a mesma referência; não corrija apenas a linha desfavorável ao seu modelo preferido.

07 /

Produzir o pacote de avaliação antes da campanha de GPU

O entregável dessa preparação é um conjunto identificável, acompanhado de suas regras. Ele permite reproduzir a seleção dos dados sem depender de uma lembrança de notebook. Preparar esse pacote antes da locação evita consumir o período de cálculo resolvendo diferenças de arquivos ou de critérios.

  • Fixe os identificadores, os grupos, as partições e sua justificativa; conserve o script ou a lista que os produz.
  • Verifique as interseções de identificadores, grupos e impressões digitais entre partições. Qualquer interseção inesperada deve ser explicada ou corrigida.
  • Exporte os efetivos por partição, classe e subgrupo útil, bem como a lista de exclusões e seu motivo.
  • Fixe a referência, as regras de normalização, a métrica principal e os limiares antes da comparação.
  • Conserve revisão, impressões digitais, direitos de uso e localização dos dados. Uma impressão digital garante uma identificação, não um anonimato.
  • Reserve o acesso ao teste final até a decisão prevista; mantenha um registro das consultas e mudanças de protocolo.
08 /

Saber o que o controle demonstra

A preparação é aceitável quando os efetivos se conciliam com o inventário, as sobreposições estão sob controle e cada saída pode ser julgada segundo uma regra explícita. Ela não prova que o modelo terá sucesso, nem que todos os usos futuros estão representados. Um conjunto pequeno pode descrever um problema preciso e ainda assim ser insuficiente para concluir sobre uma classe rara.

Se você usar os erros do teste final para melhorar o sistema, conserve esse teste como histórico e prepare uma nova confirmação independente. Para um modelo pré-treinado cujos dados de origem são desconhecidos, sua partição não pode certificar a ausência de exposição anterior. Documente essa limitação em vez de qualificar o conjunto como totalmente virgem.

Perguntas práticas

Sempre é preciso reservar 20% dos dados para o teste?

Não. A parte útil depende do número de unidades independentes e dos casos a cobrir. Verifique os grupos, as categorias importantes e a precisão da conclusão esperada; uma porcentagem sozinha não garante um teste informativo.

Um identificador diferente basta para excluir as duplicatas?

Não. Duas exportações podem ter identificadores diferentes e ainda assim conter o mesmo texto ou variantes do mesmo caso. Controle o conteúdo e a procedência, depois mantenha os exemplos relacionados na partição correspondente à sua regra de agrupamento.

Posso reutilizar meu teste depois de corrigir o modelo graças aos seus erros?

Você pode conservá-lo para acompanhar o histórico, mas ele participou do desenvolvimento. Para confirmar uma melhoria em dados mantidos à parte, use um novo conjunto independente e anuncie claramente o papel de cada um.