Tech

A ascensão da mistura de especialistas para modelos eficientes de grandes linguagens

No mundo do processamento de linguagem pure (PNL), a busca pela construção de modelos de linguagem maiores e mais capazes tem sido a força motriz por trás de muitos avanços recentes. No entanto, à medida que estes modelos crescem em tamanho, os requisitos computacionais para treino e inferência tornam-se cada vez mais exigentes, indo contra os limites dos recursos de {hardware} disponíveis.

Entra em cena a Combination-of-Specialists (MoE), uma técnica que promete aliviar essa carga computacional ao mesmo tempo que permite o treinamento de modelos de linguagem maiores e mais poderosos. Neste weblog técnico, mergulharemos no mundo do MoE, explorando suas origens, funcionamento interno e suas aplicações em modelos de linguagem baseados em transformadores.

As origens da mistura de especialistas

O conceito de Mistura de Especialistas (MoE) remonta ao início da década de 1990, quando os pesquisadores exploraram a ideia de computação condicional, onde partes de uma rede neural são ativadas seletivamente com base nos dados de entrada. Um dos trabalhos pioneiros neste campo foi o artigo “Adaptive Combination of Native Specialists” de Jacobs et al. em 1991, que propôs uma estrutura de aprendizagem supervisionada para um conjunto de redes neurais, cada uma especializada em uma região diferente do espaço de entrada.

A ideia central por trás do MoE é ter múltiplas redes “especializadas”, cada uma responsável pelo processamento de um subconjunto dos dados de entrada. Um mecanismo de controle, normalmente uma rede neural, determina quais especialistas devem processar uma determinada entrada. Esta abordagem permite que o modelo aloque os seus recursos computacionais de forma mais eficiente, ativando apenas os especialistas relevantes para cada entrada, em vez de empregar toda a capacidade do modelo para cada entrada.

Ao longo dos anos, vários pesquisadores exploraram e ampliaram a ideia de computação condicional, levando a desenvolvimentos como MoEs hierárquicos, aproximações de baixo escalão para computação condicional e técnicas para estimar gradientes por meio de neurônios estocásticos e funções de ativação de limite rígido.

Mistura de especialistas em transformadores

Mistura de especialistas

Embora a ideia do MoE já exista há décadas, a sua aplicação a modelos de linguagem baseados em transformadores é relativamente recente. Os transformadores, que se tornaram o padrão de fato para modelos de linguagem de última geração, são compostos de múltiplas camadas, cada uma contendo um mecanismo de autoatenção e uma rede neural feed-forward (FFN).

A principal inovação na aplicação do MoE aos transformadores é substituir as camadas densas de FFN por camadas esparsas de MoE, cada uma consistindo em vários FFNs especializados e um mecanismo de disparo. O mecanismo de gate determina quais especialistas devem processar cada token de entrada, permitindo que o modelo ative seletivamente apenas um subconjunto de especialistas para uma determinada sequência de entrada.

Um dos primeiros trabalhos que demonstraram o potencial do MoE em transformadores foi o artigo “Outrageously Giant Neural Networks: The Sparsely-Gated Combination-of-Specialists Layer” de Shazeer et al. em 2017. Este trabalho introduziu o conceito de uma camada de MoE com portas esparsas, que empregava um mecanismo de portas que adicionava esparsidade e ruído ao processo de seleção de especialistas, garantindo que apenas um subconjunto de especialistas fosse ativado para cada entrada.

Desde então, vários outros trabalhos avançaram ainda mais na aplicação do MoE aos transformadores, abordando desafios como instabilidade de treinamento, balanceamento de carga e inferência eficiente. Exemplos notáveis ​​incluem o Change Transformer (Fedus et al., 2021), ST-MoE (Zoph et al., 2022) e GLaM (Du et al., 2022).

Benefícios da mistura de especialistas para modelos de linguagem

O principal benefício do emprego do MoE em modelos de linguagem é a capacidade de aumentar o tamanho do modelo, mantendo um custo computacional relativamente constante durante a inferência. Ao ativar seletivamente apenas um subconjunto de especialistas para cada token de entrada, os modelos MoE podem alcançar o poder expressivo de modelos densos muito maiores, exigindo significativamente menos computação.

Por exemplo, considere um modelo de linguagem com uma camada FFN densa de 7 bilhões de parâmetros. Se substituirmos esta camada por uma camada do MoE composta por oito especialistas, cada um com 7 mil milhões de parâmetros, o número complete de parâmetros aumenta para 56 mil milhões. No entanto, durante a inferência, se ativarmos apenas dois especialistas por token, o custo computacional será equivalente a um modelo denso de 14 bilhões de parâmetros, pois calcula duas multiplicações de matrizes de 7 bilhões de parâmetros.

Esta eficiência computacional durante a inferência é particularmente valiosa em cenários de implantação onde os recursos são limitados, como dispositivos móveis ou ambientes de computação de ponta. Além disso, os requisitos computacionais reduzidos durante a formação podem levar a poupanças substanciais de energia e a uma menor pegada de carbono, alinhando-se com a crescente ênfase em práticas sustentáveis ​​de IA.

Desafios e Considerações

Embora os modelos MoE ofereçam benefícios atraentes, a sua adoção e implantação também apresentam vários desafios e considerações:

  1. Instabilidade de treinamento: Os modelos MoE são conhecidos por serem mais propensos a instabilidades de treinamento em comparação com seus equivalentes densos. Este problema surge da natureza esparsa e condicional das ativações de especialistas, o que pode levar a desafios na propagação e convergência de gradientes. Técnicas como a perda z do roteador (Zoph et al., 2022) foram propostas para mitigar essas instabilidades, mas mais pesquisas ainda são necessárias.
  2. Ajuste fino e overfitting: Os modelos MoE tendem a se ajustar mais facilmente durante o ajuste fino, especialmente quando a tarefa downstream tem um conjunto de dados relativamente pequeno. Esse comportamento é atribuído ao aumento da capacidade e à dispersão dos modelos do MoE, o que pode levar à superespecialização dos dados de treinamento. São necessárias estratégias cuidadosas de regularização e ajuste para mitigar este problema.
  3. Requisitos de memória: Embora os modelos MoE possam reduzir os custos computacionais durante a inferência, eles geralmente têm requisitos de memória mais elevados em comparação com modelos densos de tamanho semelhante. Isso ocorre porque todos os pesos especialistas precisam ser carregados na memória, mesmo que apenas um subconjunto seja ativado para cada entrada. As restrições de memória podem limitar a escalabilidade dos modelos MoE em dispositivos com recursos limitados.
  4. Balanceamento de carga: Para alcançar a eficiência computacional supreme, é essential equilibrar a carga entre os especialistas, garantindo que nenhum especialista fique sobrecarregado enquanto outros permanecem subutilizados. Esse balanceamento de carga normalmente é obtido por meio de perdas auxiliares durante o treinamento e ajuste cuidadoso do fator de capacidade, que determina o número máximo de tokens que podem ser atribuídos a cada especialista.
  5. Despesas gerais de comunicação: Em cenários distribuídos de treinamento e inferência, os modelos MoE podem introduzir sobrecarga de comunicação adicional devido à necessidade de trocar informações de ativação e gradiente entre especialistas residentes em diferentes dispositivos ou aceleradores. Estratégias de comunicação eficientes e design de modelos com reconhecimento de {hardware} são essenciais para mitigar essa sobrecarga.

Apesar destes desafios, os benefícios potenciais dos modelos MoE ao permitir modelos linguísticos maiores e mais capazes estimularam esforços de investigação significativos para abordar e mitigar estes problemas.

Exemplo: Mixtral 8x7B e GLaM

Para ilustrar a aplicação prática do MoE em modelos de linguagem, consideremos dois exemplos notáveis: Mixtral 8x7B e GLaM.

Mixtral 8x7B é uma variante MoE do modelo de linguagem Mistral, desenvolvido pela Anthropic. É composto por oito especialistas, cada um com 7 mil milhões de parâmetros, resultando num complete de 56 mil milhões de parâmetros. No entanto, durante a inferência, apenas dois especialistas são ativados por token, reduzindo efetivamente o custo computacional para um modelo denso de 14 bilhões de parâmetros.

Mixtral 8x7B demonstrou desempenho impressionante, superando o modelo Llama de 70 bilhões de parâmetros, ao mesmo tempo que oferece tempos de inferência muito mais rápidos. Uma versão ajustada para instruções do Mixtral 8x7B, chamada Mixtral-8x7B-Instruct-v0.1, também foi lançada, aprimorando ainda mais suas capacidades de seguir instruções em linguagem pure.

Outro exemplo digno de nota é o GLaM (Google Language Mannequin), um modelo MoE em grande escala desenvolvido pelo Google. GLaM emprega uma arquitetura de transformador somente decodificador e foi treinado em um enorme conjunto de dados de tokens de 1,6 trilhão. O modelo atinge um desempenho impressionante em avaliações de poucos disparos e de um disparo, igualando a qualidade do GPT-3 enquanto usa apenas um terço da energia necessária para treinar o GPT-3.

O sucesso do GLaM pode ser atribuído à sua eficiente arquitetura MoE, que permitiu o treinamento de um modelo com um vasto número de parâmetros, mantendo requisitos computacionais razoáveis. O modelo também demonstrou o potencial dos modelos MoE para serem mais eficientes em termos energéticos e ambientalmente sustentáveis ​​em comparação com os seus homólogos densos.

A Arquitetura Grok-1

MISTURA GROK DE ESPECIALISTA

MISTURA GROK DE ESPECIALISTA

Grok-1 é um modelo MoE baseado em transformador com uma arquitetura exclusiva projetada para maximizar a eficiência e o desempenho. Vamos mergulhar nas principais especificações:

  1. Parâmetros: Com impressionantes 314 bilhões de parâmetros, o Grok-1 é o maior LLM aberto até o momento. No entanto, graças à arquitetura MoE, apenas 25% dos pesos (aproximadamente 86 mil milhões de parâmetros) estão ativos num determinado momento, melhorando as capacidades de processamento.
  2. Arquitetura: Grok-1 emprega uma arquitetura Combination-of-8-Specialists, com cada token sendo processado por dois especialistas durante a inferência.
  3. Camadas: O modelo consiste em 64 camadas de transformador, cada uma incorporando atenção multihead e blocos densos.
  4. Tokenização: Grok-1 utiliza um tokenizer SentencePiece com um tamanho de vocabulário de 131.072 tokens.
  5. Incorporações e codificação posicional: o modelo apresenta incorporações de 6.144 dimensões e emprega incorporações posicionais rotativas, permitindo uma interpretação mais dinâmica dos dados em comparação com codificações posicionais fixas tradicionais.
  6. Atenção: Grok-1 usa 48 cabeças de atenção para consultas e 8 cabeças de atenção para chaves e valores, cada uma com tamanho 128.
  7. Comprimento do contexto: O modelo pode processar sequências de até 8.192 tokens de comprimento, utilizando a precisão bfloat16 para computação eficiente.

Detalhes de desempenho e implementação

Grok-1 demonstrou desempenho impressionante, superando LLaMa 2 70B e Mixtral 8x7B com uma pontuação MMLU de 73%, demonstrando sua eficiência e precisão em vários testes.

No entanto, é importante notar que Grok-1 requer recursos de GPU significativos devido ao seu tamanho. A implementação atual na versão de código aberto concentra-se na validação da correção do modelo e emprega uma implementação ineficiente da camada MoE para evitar a necessidade de kernels personalizados.

No entanto, o modelo suporta fragmentação de ativação e quantização de 8 bits, o que pode otimizar o desempenho e reduzir os requisitos de memória.

Em um movimento notável, a xAI lançou o Grok-1 sob a licença Apache 2.0, tornando seus pesos e arquitetura acessíveis à comunidade international para uso e contribuições.

A versão de código aberto inclui um repositório de código de exemplo JAX que demonstra como carregar e executar o modelo Grok-1. Os usuários podem baixar os pesos dos pontos de verificação usando um cliente de torrent ou diretamente através do HuggingFace Hub, facilitando o acesso a este modelo inovador.

O futuro da mistura de especialistas em modelos de linguagem

À medida que a procura por modelos de linguagem maiores e mais capazes continua a crescer, espera-se que a adopção de técnicas de MoE ganhe ainda mais impulso. Os esforços de pesquisa em andamento estão focados em enfrentar os desafios restantes, como melhorar a estabilidade do treinamento, mitigar o overfitting durante o ajuste fino e otimizar os requisitos de memória e comunicação.

Uma direção promissora é a exploração de arquiteturas hierárquicas de MoE, onde cada especialista é composto por múltiplos subespecialistas. Esta abordagem poderia potencialmente permitir ainda maior escalabilidade e eficiência computacional, mantendo ao mesmo tempo o poder expressivo de grandes modelos.

Além disso, o desenvolvimento de sistemas de {hardware} e software program otimizados para modelos MoE é uma área ativa de pesquisa. Aceleradores especializados e estruturas de treinamento distribuídas projetadas para lidar com eficiência com os padrões de computação esparsos e condicionais dos modelos MoE poderiam melhorar ainda mais seu desempenho e escalabilidade.

Além disso, a integração das técnicas do MoE com outros avanços na modelagem linguística, tais como mecanismos de atenção esparsos, estratégias eficientes de tokenização e representações multimodais, poderia levar a modelos linguísticos ainda mais poderosos e versáteis, capazes de lidar com uma ampla gama de tarefas.

Conclusão

A técnica Combination-of-Specialists emergiu como uma ferramenta poderosa na busca por modelos de linguagem maiores e mais capazes. Ao ativar seletivamente especialistas com base nos dados de entrada, os modelos MoE oferecem uma solução promissora para os desafios computacionais associados à ampliação de modelos densos. Embora ainda existam desafios a superar, como instabilidade de treinamento, overfitting e requisitos de memória, os benefícios potenciais dos modelos MoE em termos de eficiência computacional, escalabilidade e sustentabilidade ambiental tornam-nos uma área interessante de pesquisa e desenvolvimento.

À medida que o campo do processamento de linguagem pure continua a ultrapassar os limites do que é possível, a adoção de técnicas de MoE provavelmente desempenhará um papel essential na viabilização da próxima geração de modelos linguísticos. Ao combinar o MoE com outros avanços na arquitetura de modelos, técnicas de treinamento e otimização de {hardware}, podemos esperar modelos de linguagem ainda mais poderosos e versáteis que possam realmente compreender e se comunicar com os humanos de maneira pure e contínua.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button