Simple Science

Ciência de ponta explicada de forma simples

# Informática# Aprendizagem de máquinas

Treinamento Eficiente para Modelos de Codificador Duplo

Novo método reduz erros no treinamento de codificadores duais e ainda é eficiente em memória.

― 8 min ler


Aumentando a EficiênciaAumentando a Eficiênciado Treinamento do DualEncodermemória.duplos pra melhorar desempenho e uso deAvançando métodos de codificadores
Índice

Modelos de codificadores duais são usados com frequência em tarefas como recuperar informações e classificar dados. Esses modelos funcionam mapeando perguntas (consultas) e respostas (alvos) em um espaço compartilhado. Quando estamos realizando tarefas, queremos calcular o quão semelhantes uma pergunta e uma resposta são, o que é feito checando o produto interno de suas representações vetoriais.

Um desafio importante no treinamento desses modelos é estimar de forma eficiente os Gradientes necessários para o aprendizado. Um gradiente nos dá uma ideia de como ajustar nosso modelo para melhorar o desempenho. Uma preocupação específica surge quando tentamos encontrar "negativos difíceis", que são respostas que estão erradas, mas ainda são semelhantes à resposta correta. Identificá-las corretamente é crucial para um aprendizado eficaz.

Tradicionalmente, encontrar esses negativos difíceis depende de índices estáticos de vizinhos mais próximos, o que significa que eles não se adaptam conforme o modelo aprende. Isso pode criar ineficiências tanto em tempo quanto em recursos computacionais. Índices estáticos precisam ser reconstruídos em intervalos, e esse processo consome tempo e recursos, já que envolve re-codificar todos os alvos potenciais usando a versão atualizada do modelo.

Para enfrentar esses desafios, propomos um novo algoritmo que usa uma estrutura de árvore dinâmica para amostrar respostas da distribuição softmax de forma eficaz. Essa estrutura de árvore se ajusta às mudanças nos parâmetros do modelo conforme o treinamento avança. Além disso, utilizamos um método baseado na aproximação de baixa ordem de Nyström para estimar como as atualizações de gradiente influenciam as codificações dos alvos.

Em testes com conjuntos de dados contendo mais de vinte milhões de alvos, nossa abordagem reduziu significativamente os erros em comparação com métodos de mineração negativa à força bruta. Além disso, descobrimos que nosso método teve um desempenho melhor do que as técnicas anteriores, usando 150 vezes menos memória no hardware de computação.

Entendendo os Codificadores Duais

Modelos de codificadores duais se destacam em tarefas que envolvem combinar uma pergunta com a resposta certa entre um grande número de alvos potenciais. Aplicações típicas dos codificadores duais incluem:

  • Recuperação de passagens: buscar texto relevante com base em uma pergunta dada.
  • Resposta a perguntas: fornecer respostas diretas a questionamentos.
  • Sistemas de recomendação: sugerir conteúdo com base nas preferências do usuário.
  • Vínculo de entidades: conectar nomes a entidades específicas em um banco de dados.

Essas tarefas geralmente envolvem lidar com um número imenso de correspondências potenciais, geralmente na casa dos milhões ou bilhões, tornando a eficiência vital. Os codificadores duais alcançam escalabilidade através de:

  1. Compartilhamento de pesos: Usando parâmetros que são comuns entre os alvos, eles reduzem o número de parâmetros únicos que precisam ser aprendidos.
  2. Funções de pontuação: Aproveitando produtos internos para pontuação, eles podem avaliar correspondências rapidamente.

Normalmente, os codificadores duais são construídos usando técnicas de aprendizado profundo, como transformers, e são treinados usando uma perda de entropia cruzada que compara as previsões do modelo com os rótulos dos alvos reais.

Os Desafios no Treinamento de Codificadores Duais

Treinar codificadores duais apresenta dois desafios significativos:

  1. Custo Computacional: Calcular o gradiente para a função de partição softmax se torna caro à medida que o número de alvos potenciais aumenta. A prática comum envolve amostrar um pequeno número dos maiores termos a partir dos alvos negativos, geralmente encontrados usando um índice de vizinho mais próximo. No entanto, esse método pode levar a vieses, impactando tanto o aprendizado quanto a precisão.

  2. Mudanças nas Embeddings: As representações tanto das consultas quanto dos alvos não são estáticas. Elas evoluem durante o treinamento devido a atualizações nos parâmetros do codificador. Re-codificar todos os alvos após cada passo de treinamento não é viável, o que leva a usar representações desatualizadas para encontrar negativos.

Nossa Abordagem para Treinamento de Codificadores Duais

Para enfrentar os desafios acima, introduzimos um novo algoritmo de treinamento para codificadores duais. Veja como funciona:

Estimativa Eficiente de Gradientes

O custo de calcular o gradiente exato está em computar a expectativa da distribuição softmax. Para lidar com isso, projetamos um método de Amostragem, semelhante ao Metropolis-Hastings, que utiliza uma estrutura de árvore para agrupar os alvos. Isso nos permite amostrar de forma eficiente enquanto fornece um erro de aproximação limitado, melhorando a precisão de nossas estimativas de gradiente.

Re-Embedding Dinâmico

Em vez de ficar re-executando o modelo de codificador de alvos inteiro para atualizar as embeddings dos alvos, melhoramos a eficiência ao aproximar os efeitos das atualizações através de um modelo de regressão de baixa ordem. Isso reduz o tempo e os recursos necessários para re-codificação e nos permite manter o desempenho sem depender constantemente de cálculos pesados.

Garantias Teóricas

Fornecemos uma análise sobre o tempo de execução do nosso algoritmo, mostrando que ele depende do número de grupos na nossa aproximação. Isso é significativamente menor do que o número total de alvos, tornando nossa abordagem mais eficiente. Também estabelecemos limites sobre vieses em nosso estimador softmax, garantindo convergência ao usar o gradiente estocástico.

Avaliação Empírica

Avaliar nosso método em dois conjuntos de dados: Perguntas Naturais (NQ) e MSMARCO. Perguntas Naturais envolve mais de vinte milhões de alvos, enquanto o MSMARCO contém 8,8 milhões de alvos.

No conjunto de dados NQ, nosso método cortou os erros pela metade em comparação com o impraticável método de mineração negativa à força bruta. Os métodos mais modernos geralmente melhoram a precisão dependendo do aumento do uso de memória durante o treinamento. No entanto, nosso método superou esses métodos enquanto usava memória significativamente reduzida.

Estruturas de Árvore Dinâmicas

Nossa estrutura de árvore dinâmica permite manter um agrupamento que facilita a amostragem eficiente da distribuição softmax. O método é projetado para se ajustar com base nos parâmetros dos modelos de codificadores duais à medida que eles mudam durante o treinamento, garantindo que quaisquer atualizações sejam efetivamente aproveitadas para melhorar o aprendizado.

Agrupamento de Alvos

Agrupar alvos em grupos ajuda a reduzir a complexidade da amostragem da distribuição softmax. Usamos agrupamento hierárquico, especificamente empregando estruturas como SG Trees. Essas árvores nos permitem agrupar alvos semelhantes, o que facilita atualizações eficientes e minimiza erros durante a amostragem.

Ao atribuir alvos a grupos com base em suas semelhanças, podemos acelerar o processo de amostragem. Cada grupo é representado por um único representante, o que significa que só precisamos calcular a similaridade entre consultas e esses pontos representativos do grupo.

Mantendo a Estrutura da Árvore

À medida que o treinamento avança, os parâmetros dos modelos de codificadores duais são atualizados, o que pode destruir as propriedades da estrutura da árvore. Desenvolvemos um método para manter essa estrutura, focado em identificar e reconstruir rapidamente as partes da árvore que não atendem mais às invariâncias necessárias.

Essa manutenção dinâmica é crucial, pois permite que nosso modelo se adapte conforme aprende, melhorando a eficiência e reduzindo a necessidade de operações de reconstrução custosas.

Re-Codificação Eficiente

A re-codificação continua a ser uma carga computacional significativa. Abordamos isso empregando métodos de regressão de baixa ordem juntamente com técnicas de redução de dimensionalidade. Representando cada alvo em um espaço de menor dimensão, conseguimos acelerar os cálculos sem sacrificar o desempenho.

O modelo de regressão nos permite aproximar as codificações atualizadas dos alvos sem precisar executar o modelo do zero. Isso reduz o número de vezes que precisamos chamar o modelo de codificador, acelerando significativamente o processo de treinamento.

Resultados

Nossos estudos empíricos mostram que, quando avaliados em relação a métodos de ponta em grandes conjuntos de dados, nossa abordagem consistentemente apresenta um desempenho melhor enquanto utiliza muito menos memória. Essa eficiência mostra que nosso método não apenas melhora o desempenho, mas também permite escalar para conjuntos de dados maiores.

Limitações e Trabalho Futuro

Embora nossa abordagem melhore os métodos existentes, mais trabalho é necessário. Pesquisas futuras podem explorar como refinar ainda mais os métodos de aproximação e entender melhor seu desempenho. A relação entre métodos de treinamento e vieses nos dados é outra área para exploração, pois apresenta considerações éticas em ciência de dados.

Conclusão

Apresentamos um novo método para treinar codificadores duais que utiliza índices dinâmicos para uma mineração negativa mais eficiente. Nosso modelo reduz significativamente os erros em tarefas de recuperação de informações enquanto é eficiente em termos de memória. À medida que os modelos de codificadores duais continuam a desempenhar um papel vital em várias aplicações, nossas contribuições fornecem uma base sólida para futuros avanços nesta área.

Fonte original

Título: Improving Dual-Encoder Training through Dynamic Indexes for Negative Mining

Resumo: Dual encoder models are ubiquitous in modern classification and retrieval. Crucial for training such dual encoders is an accurate estimation of gradients from the partition function of the softmax over the large output space; this requires finding negative targets that contribute most significantly ("hard negatives"). Since dual encoder model parameters change during training, the use of traditional static nearest neighbor indexes can be sub-optimal. These static indexes (1) periodically require expensive re-building of the index, which in turn requires (2) expensive re-encoding of all targets using updated model parameters. This paper addresses both of these challenges. First, we introduce an algorithm that uses a tree structure to approximate the softmax with provable bounds and that dynamically maintains the tree. Second, we approximate the effect of a gradient update on target encodings with an efficient Nystrom low-rank approximation. In our empirical study on datasets with over twenty million targets, our approach cuts error by half in relation to oracle brute-force negative mining. Furthermore, our method surpasses prior state-of-the-art while using 150x less accelerator memory.

Autores: Nicholas Monath, Manzil Zaheer, Kelsey Allen, Andrew McCallum

Última atualização: 2023-03-27 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2303.15311

Fonte PDF: https://arxiv.org/pdf/2303.15311

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.

Mais de autores

Artigos semelhantes