Construindo Conjuntos de Dados de Pré-treinamento Eficazes para Modelos de Linguagem
Um guia pra criar datasets de qualidade pra ter um desempenho melhor nos modelos de linguagem.
― 7 min ler
Índice
Modelos de linguagem recentes têm mostrado habilidades impressionantes graças à grande quantidade de dados com os quais são treinados. Esses modelos costumam usar conjuntos de dados que incluem trilhões de textos. Porém, muita gente que cria esses modelos não compartilha como monta esses conjuntos. Essa falta de informação dificulta para outros desenvolverem seus próprios conjuntos de dados eficazes.
Pra tentar resolver isso, fizemos um estudo detalhado sobre como construir esses conjuntos de pré-treinamento. Analisamos cada etapa do processo pra descobrir o que funciona melhor pra melhorar a performance dos modelos. Nossa intenção é fornecer passos claros que qualquer um possa seguir pra criar conjuntos de dados de qualidade.
Importância dos Conjuntos de Pré-Treinamento
Os conjuntos de pré-treinamento são essenciais pro sucesso dos modelos de linguagem. Embora a arquitetura desses modelos seja em sua maior parte similar, o tamanho e a qualidade dos conjuntos de dados têm um papel significativo na performance deles. O pré-treinamento auto-supervisionado em conjuntos de dados grandes e de qualidade tem sido um fator chave na melhoria das habilidades dos modelos mais novos em comparação com os mais antigos.
Apesar da importância desses conjuntos, não tem muita informação pública sobre como criá-los de forma eficaz. Muitos modelos de ponta mantêm seus métodos em segredo, e outros só compartilham pedaços sem explicar o porquê. Essa falta de transparência limita o progresso que a comunidade pode fazer pra melhorar as capacidades dos modelos.
Processo de Construção dos Conjuntos de Pré-Treinamento
Criar um conjunto de pré-treinamento envolve várias etapas. O processo começa com a Coleta de Dados textuais de várias fontes. Depois de juntar esses dados, os passos seguintes incluem limpá-los, removendo duplicatas e documentos mal feitos. Em seguida, documentos de baixa qualidade são filtrados, e por fim, as fontes de dados recebem pesos pra determinar quanto de cada fonte será usado no treinamento.
Coleta de Dados
A primeira etapa é juntar o máximo de dados textuais possível. Isso pode ser feito a partir de várias fontes, como sites, livros, artigos e mais. Uma coleta diversificada ajuda a garantir um conjunto de dados bem equilibrado.
Curadoria de Dados
Depois que os dados são coletados, é essencial fazer uma curadoria. A curadoria de dados envolve remover entradas duplicadas e textos mal escritos. Normalmente, usamos dois métodos pra deduplicação: deduplicação exata, que usa um hash único pra cada documento, e deduplicação difusa, que verifica semelhanças.
Uma vez que os dados são deduplicados, aplicamos uma Filtragem de Qualidade. Essa etapa garante que apenas textos de alta qualidade permaneçam. Usamos um modelo projetado pra identificar documentos de baixa qualidade com base em critérios específicos.
Seleção de Dados
Em seguida, focamos na seleção de dados. Isso envolve escolher os documentos de maior qualidade do conjunto de dados curado. Buscamos métodos especializados que ajudam a identificar quais documentos devem ser incluídos. Um método que exploramos é chamado Seleção de Domínio via Reamostragem de Importância (DSIR). Esse método compara o conjunto de dados bruto com um conjunto de exemplos de alta qualidade conhecidos e seleciona documentos que correspondem à qualidade desejada.
Amostragem de Dados
Na fase de amostragem de dados, atribuímos pesos a cada fonte de dados. Isso determina quanto cada fonte vai contribuir pro processo de treinamento. Escolher os pesos certos pode influenciar significativamente a performance do modelo de linguagem.
Testamos vários métodos pra determinar esses pesos, incluindo amostragem alpha e amostragem UniMax. Cada um desses métodos tem sua maneira de calcular quanto peso dar a diferentes fontes de dados.
Entendendo os Atributos dos Dados
Enquanto trabalhamos com nossos conjuntos de dados, examinamos vários atributos, como o tipo de conteúdo, qualidade geral e potencial toxicidade. Ao examinar esses atributos, nosso objetivo era refinar ainda mais o conjunto de dados e melhorar a performance do modelo.
Tipos de Conteúdo
Na nossa análise, descobrimos que muitos documentos da web se enquadram em categorias comuns: sites, artigos de notícias e blogs. No entanto, há uma falta de textos conversacionais, que são cruciais pra desenvolver modelos que podem interagir como um humano.
Também percebemos que certos campos técnicos, como ciência e finanças, estão sub-representados nos nossos dados da web. Pra melhorar as capacidades do modelo nessas áreas, precisamos focar em coletar mais textos desses domínios.
Qualidade do Conteúdo e Toxicidade
Nossas descobertas também mostraram que a qualidade dos documentos varia bastante. Alguns tipos de documentos, como notícias e artigos explicativos, tendem a ser de maior qualidade, enquanto outros, como conteúdo padrão, costumam ser de baixa qualidade.
Quando examinamos a toxicidade, descobrimos que alguns tipos de conteúdo, especialmente os que discutem questões sensíveis, tendem a ter pontuações de toxicidade mais altas. Isso levanta uma preocupação de que filtrar conteúdos tóxicos de forma exagerada pode eliminar textos de alta qualidade.
O Efeito dos Atributos dos Dados na Performance do Modelo
Pra entender como os atributos dos dados impactam a performance do modelo, exploramos como esses atributos poderiam ser aplicados em todo o processo do conjunto de dados de pré-treinamento. Categorizamos os dados com base em seus atributos, como toxicidade e qualidade.
Métodos de Amostragem Aprimorados
Usando os atributos definidos, melhoramos nossos métodos de amostragem de dados. Criamos grupos de exemplos com base nos seus atributos, permitindo que usemos essas informações pra definir melhores pesos de amostragem.
Quando treinamos modelos com essas novas estratégias de amostragem, encontramos uma melhora na precisão nas avaliações de performance. Atributos específicos, como domínio e tipo de discurso, se mostraram mais eficazes quando usados em um contexto agrupado, enquanto atributos de qualidade eram mais adequados pra uma abordagem mais detalhada.
Definições de Conjuntos Alvo
Os atributos dos dados também nos ajudaram a criar conjuntos alvo mais precisos pra seleção de dados. Ao focar em exemplos que são de alta qualidade e baixa toxicidade, conseguimos resultados melhores em nossas avaliações. Essa abordagem permite seleções mais informadas durante o processo de filtragem, melhorando ainda mais a qualidade do conjunto de dados.
Conclusão
A construção de conjuntos de pré-treinamento desempenha um papel crítico na eficácia dos modelos de linguagem. Ao entender as etapas envolvidas-desde a coleta e curadoria de dados até a seleção e amostragem-podemos construir melhores conjuntos de dados que aumentem a performance dos modelos.
Além disso, analisar os atributos dos dados fornece insights valiosos que podem levar à criação de conjuntos de dados de maior qualidade. Compartilhar essas descobertas pode contribuir para os esforços da comunidade em melhorar os modelos de linguagem, impulsionando, em última análise, os avanços em processamento de linguagem natural.
Enquanto continuamos a refinar nossos métodos e compartilhar o que aprendemos, nossa esperança é ajudar outros a construir melhores conjuntos de dados e desenvolver modelos de linguagem mais capazes que possam lidar com uma ampla gama de tarefas e aplicações.
Título: Data, Data Everywhere: A Guide for Pretraining Dataset Construction
Resumo: The impressive capabilities of recent language models can be largely attributed to the multi-trillion token pretraining datasets that they are trained on. However, model developers fail to disclose their construction methodology which has lead to a lack of open information on how to develop effective pretraining sets. To address this issue, we perform the first systematic study across the entire pipeline of pretraining set construction. First, we run ablations on existing techniques for pretraining set development to identify which methods translate to the largest gains in model accuracy on downstream evaluations. Then, we categorize the most widely used data source, web crawl snapshots, across the attributes of toxicity, quality, type of speech, and domain. Finally, we show how such attribute information can be used to further refine and improve the quality of a pretraining set. These findings constitute an actionable set of steps that practitioners can use to develop high quality pretraining sets.
Autores: Jupinder Parmar, Shrimai Prabhumoye, Joseph Jennings, Bo Liu, Aastha Jhunjhunwala, Zhilin Wang, Mostofa Patwary, Mohammad Shoeybi, Bryan Catanzaro
Última atualização: 2024-10-19 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.06380
Fonte PDF: https://arxiv.org/pdf/2407.06380
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://www.latex-project.org/help/documentation/encguide.pdf
- https://perspectiveapi.com/
- https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge/overview
- https://www.kaggle.com/competitions/jigsaw-unintended-bias-in-toxicity-classification
- https://cloud.google.com/natural-language/docs/classifying-text
- https://pypi.org/project/Wikipedia-API/
- https://huggingface.co/nvidia/domain-classifier
- https://www.surgehq.ai/