Zubnet AIAprenderWiki › Corpus
Treinamento

Corpus

Também conhecido como: Conjunto de dados, dados de treinamento
O corpo de texto (ou outros dados) usado para treinar um modelo. Um corpus pode variar de coleções curadas de livros e artigos a scrapes massivos de toda a internet. A qualidade e composição do corpus moldam fundamentalmente o que o modelo sabe e como ele se comporta.

Por que isso importa

Lixo entra, lixo sai. Um modelo treinado no Reddit fala diferente de um treinado em artigos científicos. É por isso que curamos nosso próprio corpus para a Sarah — web crawls genéricos produziram resultados confusos e incoerentes.

Em profundidade

Construir um corpus é enganosamente simples em conceito e brutalmente complexo na prática. No nível mais básico, você coleta texto, limpa e alimenta um modelo. Mas "limpar" é onde o trabalho real mora. Web scrapes brutos contêm páginas duplicadas, texto boilerplate de navegação, spam de SEO, erros de encoding, documentos truncados e vastas quantidades de conteúdo de baixa qualidade gerado por máquina. Projetos como o Common Crawl fornecem petabytes de dados brutos da web, mas transformar isso em um corpus de treinamento utilizável requer deduplicação agressiva (remoção de duplicatas exatas e quase-duplicatas), identificação de idioma, filtragem de qualidade e classificação de conteúdo. O Pile, RedPajama, FineWeb e DCLM cada um representam diferentes filosofias sobre como fazer essa filtragem, e as diferenças de qualidade nos modelos resultantes são mensuráveis.

O Mix de Dados

A composição do corpus tem um impacto direto, frequentemente surpreendente, no que o modelo consegue fazer. Se 80% dos seus dados de treinamento são em inglês, o modelo será medíocre em francês mesmo que texto em francês esteja tecnicamente presente. Se seu corpus é pesado em código, o modelo fica melhor em raciocínio estruturado mesmo para tarefas sem código — essa foi uma das descobertas inesperadas do treinamento inicial do Codex na OpenAI. A proporção de diferentes domínios também importa: muita mídia social e o modelo aprende a ser superficial; muito texto acadêmico e ele fica formal demais. A maioria dos labs de fronteira trata seu mix de dados como um segredo bem guardado, porque é uma das poucas vantagens competitivas restantes que não se resume a ter mais GPUs.

De Texto a Tokens

A tokenização é a ponte entre um corpus bruto e o que o modelo realmente vê. Antes do treinamento, cada documento é dividido em tokens — unidades de subpalavras aprendidas por algoritmos como BPE (byte pair encoding) ou SentencePiece. O tokenizer é treinado no próprio corpus, então um corpus pesado em código produzirá um tokenizer que representa eficientemente construções de programação, enquanto um corpus multilíngue resulta em um tokenizer com melhor cobertura de scripts não-latinos. Esse passo geralmente é feito uma vez e então congelado: você tokeniza o corpus inteiro em shards binários que podem ser carregados eficientemente durante o treinamento. Para um corpus grande, isso é em si uma operação de vários dias e terabytes. Um corpus de 185 bilhões de tokens, por exemplo, pode produzir várias centenas de gigabytes de shards tokenizados.

Qualidade vs. Quantidade

O debate curadoria versus escala é uma das discussões mais importantes em andamento no campo. Por anos, a visão dominante era que mais dados é sempre melhor — jogue tudo e deixe o modelo resolver. Mas resultados empíricos têm mostrado repetidamente que um corpus menor e cuidadosamente curado pode superar um muito maior e ruidoso. A série Phi de modelos da Microsoft demonstrou que dados de alta qualidade semelhantes a "livro-texto" podiam produzir modelos pequenos surpreendentemente capazes. No outro extremo, as leis de escala Chinchilla mostraram que a maioria dos modelos era treinada com dados de menos em relação à contagem de parâmetros. A lição prática: qualidade de dados e quantidade de dados não são intercambiáveis, e os melhores resultados vêm de acertar ambos.

Conceitos relacionados

← Todos os termos
← Janela de contexto Centros de dados →
ESC