Um crawl não é um corpus. Buscar bilhões de páginas é um problema de infraestrutura, e isso é abordado em collecting web data for AI and LLM training. Transformar essas páginas em dados de treinamento que melhorem um modelo é um problema diferente, com suas próprias etapas, e a maior parte da qualidade do dataset final é decidida ali.
Este guia percorre essas etapas em ordem: decidir o que coletar, respeitar opt-outs, extrair texto, filtrar, deduplicar, remover contaminação de avaliação e documentar o resultado. O pipeline geral de dataset via scraping, em escala menor, está em how to build a dataset with web scraping.
Comece pela mistura, não pelo crawler
Decida o que o modelo precisa antes de decidir o que fazer crawl. Um corpus de treinamento é uma mistura: proporções de idiomas, domínios, formatos e períodos de tempo, expressas como um orçamento de tokens para cada um.
Essa meta decide tudo a partir dali. Ela indica de quais regiões coletar, quanto orçamento de crawl cada fonte merece, e quando um domínio já contribuiu o suficiente. Sem ela, um crawl tende a se inclinar para o que for mais fácil de buscar, geralmente sites grandes, em inglês e fortemente vinculados, e o modelo herda esse desequilíbrio. O lado da amostragem desse problema é abordado em your residential proxy pool is a sample, not the internet.
A fronteira de crawl
A fronteira é a fila de URLs esperando para serem buscadas, e a forma como você a gerencia decide quais partes da web acabam no corpus.
Seeds. Comece a partir de fontes que correspondam à mistura: listas de domínios curadas por idioma e tópico, sitemaps, e links de páginas de alta qualidade.
Priorização. Classifique as URLs pelo valor esperado: uma prioridade de qualidade para a fonte, novidade em relação ao que você já possui, e atualidade onde a recência importa.
Canonicalização. Normalize as URLs antes de enfileirar, removendo parâmetros de rastreamento, identificadores de sessão e caminhos duplicados, para que a mesma página não seja buscada várias vezes sob endereços diferentes.
Orçamentos de cortesia. Limite a concorrência e a taxa de requisições por host, não apenas globalmente. Uma fronteira que sobrecarrega um site pequeno é ao mesmo tempo irresponsável e contraproducente, já que acaba sendo bloqueada. A mecânica está em rate limiting and request throttling.
Política de recrawl. Decida com que frequência cada fonte é revisitada, com base na frequência com que ela muda e na quantidade de conteúdo novo que a mistura precisa.
Respeite os opt-outs no momento da busca
Os sinais de opt-out precisam ser verificados no momento em que uma página é buscada e registrados junto a ela, porque mudam ao longo do tempo e você pode precisar comprovar qual era o estado.
- robots.txt, incluindo regras direcionadas a nomes de crawlers específicos de IA.
- Sinais em nível de página, como meta tags de robots e cabeçalhos de resposta.
- Reservas de direitos legíveis por máquina. Na UE, os titulares de direitos podem reservar direitos de mineração de texto e dados em formato legível por máquina, e espera-se que os provedores de modelos de IA de propósito geral respeitem essas reservas e documentem o conteúdo usado no treinamento.
- Termos do site que proíbam coleta ou reutilização automatizada.
Armazene o estado do opt-out junto a cada documento, e mantenha a capacidade de remover documentos depois, caso uma fonte retire a permissão. O enquadramento mais amplo está em ethical residential proxies for AI data collection.
Extração: do HTML ao texto
O HTML bruto, em sua maior parte, não é conteúdo. Navegação, rodapés, banners de cookies, widgets de artigos relacionados e anúncios podem superar em número o texto real de uma página.
- Extraia o conteúdo principal e descarte o boilerplate.
- Preserve a estrutura que carrega significado: cabeçalhos, listas, tabelas e blocos de código.
- Trate páginas renderizadas. Parte do conteúdo só existe depois que o JavaScript é executado; veja when you need a web scraping API.
- Identifique o idioma por documento, e por parágrafo em páginas multilíngues, para que as metas da mistura possam de fato ser medidas.
Mantenha as respostas brutas por uma janela de replay. A lógica de extração vai melhorar, e reextrair a partir das respostas armazenadas é muito mais barato do que refazer o crawl. O padrão de landing está em moving web scraping API data into SQL.
Filtragem de qualidade
A maior parte do que um crawl retorna não vale a pena para treinamento. A filtragem geralmente ocorre em camadas, começando pelas mais baratas.
Filtros heurísticos removem lixo óbvio: documentos muito curtos, páginas dominadas por símbolos ou números, linhas repetidas muitas vezes, texto sem palavras funcionais comuns, e páginas que são principalmente listas de links.
Filtros de qualidade baseados em modelo pontuam documentos em comparação com exemplos do tipo de texto que se deseja mais. São poderosos e codificam uma definição de qualidade, então verifique o que eles excluem sistematicamente.
A filtragem de conteúdo gerado importa cada vez mais a cada ano, como abordado em how to detect and filter AI-generated content in web datasets.
Filtros de segurança aplicam a política de conteúdo que o modelo exigir.
Calibre cada filtro por idioma. Um limiar ajustado para o inglês vai remover muito mais em alguns idiomas e muito menos em outros. E meça o que cada etapa remove, por idioma e domínio, para que um filtro que esteja silenciosamente apagando toda a produção escrita de uma região seja identificado.
Deduplicação em escala de corpus
Texto duplicado está por toda a web: artigos sindicados, sites espelhados, páginas templatizadas e boilerplate repetido em um domínio. Se deixado, isso sobrepondera o que quer que seja copiado com mais frequência.
- Duplicatas exatas são removidas por meio de hashing de texto normalizado.
- Quase duplicatas são encontradas com MinHash e locality-sensitive hashing sobre texto fragmentado em shingles, o que escala para corpora muito grandes.
- Parágrafos repetidos dentro de um domínio, como avisos legais e assinaturas, são removidos no nível do parágrafo.
- Duplicatas ao longo do tempo, quando a mesma página aparece em vários snapshots de crawl, são consolidadas em uma única versão.
Dados pessoais
Um crawl da web coleta dados pessoais quer você queira ou não: nomes, endereços de e-mail, números de telefone e, às vezes, números de identificação. Não colete por trás de logins, remova padrões comuns de identificadores durante o processamento, e documente o que o pipeline remove. O enquadramento legal está em residential proxies and GDPR compliance.
Descontaminação
Se seus benchmarks de avaliação aparecem nos dados de treinamento, suas avaliações deixam de medir qualquer coisa. Perguntas e respostas de benchmarks são copiadas pela web, então a contaminação acontece por padrão.
Verifique o corpus quanto a sobreposição com todo conjunto de avaliação que você planeja usar, normalmente com correspondência de n-gramas longos, e remova ou sinalize as correspondências. Registre quais benchmarks foram verificados, para que resultados posteriores possam ser interpretados honestamente.
Documente e versione tudo
Um corpus de treinamento é o produto de centenas de decisões, e ninguém pode usá-lo de forma responsável sem conhecê-las.
- Proveniência por documento: URL de origem, horário da busca, o ponto de vista a partir do qual foi observado, estado do opt-out, e quais versões de filtro ele passou.
- Um dataset card cobrindo fontes, intervalo de tempo, idiomas, filtros e suas versões, lacunas conhecidas e vieses conhecidos.
- Um pipeline reproduzível, para que uma versão do corpus possa ser reconstruída ou corrigida quando uma fonte retirar a permissão.
O argumento para registrar onde e quando cada observação foi feita está exposto em the vantage-point standard.
A camada de coleta em escala
A coleta em grande escala precisa de saídas distribuídas e geograficamente apropriadas, tanto para alcançar fontes regionais quanto para manter razoáveis as taxas de requisição por host. Com o gateway Shifter, o mercado é definido nas credenciais em relação a p.shifter.io:443, e omitir um identificador de sessão rotaciona a saída a cada requisição, o que é adequado para uma fronteira que busca muitas páginas independentes:
customer-USERNAME-country-jp:PASSWORD
Por que a camada de proxy importa especificamente para dados de treinamento é abordado em residential proxies for AI training data.
Métricas que mantêm o corpus honesto
| Métrica | O que ela indica |
|---|---|
| Tokens por idioma e domínio em relação à meta | Se a mistura está sendo atingida |
| Taxa de remoção por etapa de filtro, por idioma | Se um filtro está removendo demais em algum lugar |
| Taxa de duplicação | Quanto do crawl era repetição |
| Cobertura de opt-out | Proporção de documentos com verificação de opt-out registrada |
| Ocorrências de contaminação por benchmark | Se as avaliações podem ser confiáveis |
Perguntas frequentes
Podemos começar a partir de um crawl web público em vez de fazer nosso próprio crawl?
Crawls públicos são um ponto de partida sólido. Eles ficam atrás da web ao vivo e têm lacunas de cobertura, então a maioria das equipes adiciona coleta direcionada e mais recente para os idiomas e domínios que importam para elas.
Quão agressiva deve ser a filtragem de qualidade?
Agressiva o suficiente para remover lixo, medida com cuidado suficiente para ver o que mais ela remove. Audite as remoções por idioma e região antes de fixar os limiares.
Precisamos seguir o robots.txt para dados de treinamento?
Sim, incluindo regras específicas de IA, e registre o estado no momento da busca. Os opt-outs também estão se tornando uma expectativa legal em algumas jurisdições.
Qual a diferença em relação a dados de grounding?
Dados de treinamento moldam os pesos do modelo. Dados de grounding são buscados no momento da resposta e citados. O segundo caso é abordado em grounding LLM agents with live web data.
Conclusão
Um corpus de treinamento em grande escala é construído nas etapas posteriores ao crawl: uma meta de mistura que decide o que coletar, uma fronteira que se mantém cortês, opt-outs verificados e registrados no momento da busca, extração limpa, filtragem em camadas calibrada por idioma, deduplicação em todos os níveis, descontaminação em relação às avaliações, e documentação que permite a qualquer pessoa reconstruir as decisões.
Colete das regiões que a mistura exige, mantenha as respostas brutas para replay, e meça o que cada etapa remove. A visão de produto está na página residential proxies for AI and ML, com preços na página de preços.