Programa
Treinar large language models (LLMs) costuma exigir muitos recursos computacionais, o que pode ser um obstáculo para muitas organizações e pesquisadores.
A técnica mixture of experts (MoE) resolve esse desafio ao dividir modelos grandes em redes menores e especializadas.
O conceito de MoE surgiu no artigo de 1991 Adaptive Mixture of Local Experts. Desde então, MoEs têm sido usados em modelos com múltiplos trilhões de parâmetros, como os Switch Transformers open source, com 1,6 trilhão de parâmetros.
Neste artigo, vou apresentar uma visão aprofundada de MoE, incluindo aplicações, benefícios e desafios.
Desenvolver aplicativos de IA
O que é Mixture of Experts (MoE)?
Pense em um modelo de IA como um time de especialistas, cada um com uma competência específica. Um modelo mixture of experts (MoE) opera nesse princípio ao dividir uma tarefa complexa em redes menores e especializadas, conhecidas como “experts”.
Cada expert foca em um aspecto específico do problema, permitindo que o modelo resolva a tarefa com mais eficiência e precisão. É como ter um médico para questões de saúde, um mecânico para o carro e um chef para a cozinha — cada expert cuida do que faz melhor.
Ao colaborar, esses especialistas resolvem uma gama mais ampla de problemas com mais eficácia do que um generalista sozinho.
Confira o diagrama abaixo — vamos explicá-lo em seguida.

Vamos destrinchar os componentes deste diagrama:
- Entrada: é o problema ou os dados que você quer que a IA processe.
- Experts: são modelos de IA menores, cada um treinado para ser muito bom em uma parte específica do problema geral. Pense neles como especialistas diferentes do seu time.
- Gating network (roteador): funciona como um gerente que decide qual expert é mais adequado para cada parte do problema. Ela olha para a entrada e define quem faz o quê.
- Saída: é a resposta ou solução final produzida após o trabalho dos experts.
As vantagens de usar MoE são:
- Eficiência: só os experts mais adequados para cada parte do problema são ativados, economizando tempo e computação.
- Flexibilidade: é fácil adicionar mais experts ou ajustar suas especialidades, tornando o sistema adaptável a diferentes problemas.
- Resultados melhores: como cada expert foca no que faz melhor, a solução final tende a ser mais precisa e confiável.
Agora, vamos detalhar um pouco mais as redes de experts e as gating networks.
Redes de experts
Pense nas “redes de experts” em um modelo MoE como um time de especialistas. Em vez de um único modelo de IA fazer tudo, cada expert foca em um tipo de tarefa ou dado.
Em um modelo MoE, esses experts são como redes neurais individuais, cada uma treinada em diferentes conjuntos de dados ou tarefas.
Elas são esparsas, ou seja, apenas algumas ficam ativas a cada momento, dependendo da natureza da entrada. Isso evita sobrecarga e garante que os experts mais relevantes atuem no problema.
Mas como o modelo sabe quais experts escolher? É aí que entra a gating network.
Gating networks
A gating network (o roteador) é outro tipo de rede neural que aprende a analisar os dados de entrada (como uma frase a ser traduzida) e determinar quais experts estão mais aptos a tratá-los.
Ela faz isso atribuindo um “peso” ou pontuação de importância a cada expert com base nas características da entrada. Os experts com maiores pesos são selecionados para processar os dados.
Existem várias maneiras (chamadas de “algoritmos de roteamento”) de a gating network selecionar os experts certos. Algumas comuns:
- Top-k routing: o método mais simples. A gating network escolhe os ‘k’ experts com maior afinidade e envia a eles os dados de entrada.
- Expert choice routing: aqui, em vez de os dados escolherem os experts, são os experts que decidem quais dados conseguem atender melhor. Essa estratégia busca o melhor balanceamento de carga e permite mapeamentos variados entre dados e experts.
- Sparse routing: ativa apenas alguns experts para cada item de dado, criando uma rede esparsa. Ele usa menos computação que o roteamento denso, em que todos os experts são ativados para cada dado.
Durante a predição, o modelo combina as saídas dos experts seguindo o mesmo processo usado para atribuir as tarefas. Em uma única tarefa, pode ser necessário mais de um expert, dependendo da complexidade e variedade do problema.
Agora, vamos entender como um MoE funciona.
Como funciona o Mixture of Experts (MoE)
O MoE opera em duas etapas:
- Fase de treinamento
- Fase de inferência
Fase de treinamento
Assim como em outros modelos de machine learning, o MoE começa treinando em um conjunto de dados. Porém, o treinamento não é aplicado ao modelo inteiro de uma vez — cada componente é treinado individualmente.
Treinamento dos experts
Cada componente do framework MoE é treinado em um subconjunto específico de dados ou tarefas. O objetivo é permitir que cada componente foque em um aspecto particular do problema maior.
Essa especialização é alcançada fornecendo a cada componente dados relevantes para sua tarefa. Em processamento de linguagem, por exemplo, um componente pode focar em sintaxe e outro em semântica.
O treinamento de cada componente segue o processo padrão de redes neurais, em que o modelo aprende a minimizar a função de perda no seu subconjunto de dados.
Treinamento da gating network
A gating network tem a tarefa de aprender a selecionar o expert mais adequado para uma dada entrada.
Durante o treinamento, ela é treinada em conjunto com as redes de experts. Recebe a mesma entrada que os experts e aprende a prever uma distribuição de probabilidade sobre os experts, indicando qual deles está mais apto a lidar com a entrada atual.
Geralmente, a gating network é otimizada considerando tanto sua própria acurácia quanto o desempenho dos experts escolhidos.
Treinamento conjunto
Na fase de treinamento conjunto, todo o sistema MoE, incluindo os modelos experts e a gating network, é treinado em harmonia.
Essa estratégia garante que ambos — gating e experts — sejam otimizados para trabalhar de forma coordenada. A função de perda combina as perdas dos experts e da gating network, incentivando uma otimização colaborativa.
Os gradientes da perda combinada são propagados pela gating network e pelos modelos experts, promovendo atualizações que melhoram o desempenho geral do sistema MoE.
Fase de inferência
A inferência envolve gerar saídas combinando o contexto da gating network com as saídas dos experts. No MoE, esse processo é projetado para manter o custo de inferência baixo.
Roteamento de entrada
No MoE, o papel da gating network é decisivo para definir quais modelos devem processar uma entrada específica.
Ao receber uma entrada, a gating network a avalia e cria uma distribuição de probabilidade sobre todos os modelos. Essa distribuição direciona a entrada para os modelos mais adequados, aproveitando os padrões aprendidos na fase de treinamento. Assim, a expertise certa é aplicada a cada tarefa, otimizando a tomada de decisão.
Seleção de experts
Apenas um ou poucos modelos são escolhidos para processar cada entrada, conforme as probabilidades atribuídas pela gating network.
Limitar o número de modelos por entrada ajuda a usar os recursos computacionais com eficiência, sem abrir mão do conhecimento especializado do framework MoE.
A saída da gating network garante que os modelos escolhidos sejam os mais apropriados para a entrada, elevando a eficiência e o desempenho do sistema.
Combinação de saídas
A última etapa da inferência envolve mesclar as saídas dos modelos selecionados.
Geralmente isso é feito por média ponderada, em que os pesos refletem as probabilidades atribuídas pela gating network. Em certos cenários, podem ser usadas alternativas como votação ou combinações aprendidas. A ideia é integrar os diferentes insights dos modelos selecionados em uma previsão final única e precisa, aproveitando ao máximo a arquitetura MoE.
Com o avanço acelerado da tecnologia, cresce a necessidade de técnicas rápidas, eficientes e otimizadas para lidar com modelos grandes. O MoE desponta como uma solução promissora nesse cenário. Que outros benefícios ele oferece?
Benefícios do Mixture of Experts (MoE)
A arquitetura Mixture of Experts (MoE) oferece diversas vantagens:
- Desempenho: ao ativar seletivamente apenas os experts relevantes para cada tarefa, modelos MoE evitam computação desnecessária, aumentando a velocidade e reduzindo o consumo de recursos.
- Flexibilidade: a diversidade de especialistas torna os modelos MoE altamente flexíveis. Ao acionar experts com capacidades específicas, o MoE consegue ter sucesso em um leque maior de tarefas.
- Tolerância a falhas: a abordagem de “dividir para conquistar”, em que as tarefas são executadas separadamente, aumenta a resiliência do modelo. Se um expert apresentar problema, isso não necessariamente afeta o funcionamento do sistema como um todo.
- Escalabilidade: decompor problemas complexos em tarefas menores e gerenciáveis ajuda os modelos MoE a lidar com entradas cada vez mais complicadas.
Aplicações de Mixture of Experts (MoE)
O fato de os MoEs existirem há mais de 30 anos faz deles uma técnica amplamente usada em diferentes áreas de machine learning.
Processamento de linguagem natural (NLP)
O MoE traz uma abordagem única para treinar modelos grandes com mais eficiência, pré-treinamento mais rápido e velocidade de inferência competitiva.
Em modelos densos tradicionais, todos os parâmetros são usados para todas as entradas. A esparsidade permite acionar apenas partes específicas do sistema conforme a entrada, reduzindo significativamente a computação.
Um exemplo é a API de tradução da Microsoft, Z-code. A arquitetura MoE no Z-code suporta uma escala massiva de parâmetros mantendo constante a quantidade de computação.
Visão computacional
V-MoEs do Google, uma arquitetura esparsa baseada em Vision Transformers (ViT), mostram a eficácia do MoE em tarefas de visão computacional.
Ao particionar imagens em patches menores e passá-los por uma camada de roteamento, os V-MoEs conseguem selecionar dinamicamente os experts mais adequados para cada patch, otimizando precisão e eficiência.
Uma vantagem notável dessa abordagem é a flexibilidade. Você pode reduzir o número de experts selecionados por token para economizar tempo e computação, sem necessidade de retreinar os pesos do modelo.
Sistemas de recomendação
O MoE também tem sido aplicado com sucesso a sistemas de recomendação. Por exemplo, pesquisadores do Google propuseram um sistema de ranqueamento baseado em MMoE (Multi-Gate Mixture of Experts) para recomendações de vídeos no YouTube.
Eles agrupam os objetivos de tarefa em duas categorias: engajamento e satisfação. Dada a lista de candidatos vinda da etapa de recuperação, o sistema de ranqueamento usa recursos do candidato, do usuário e do contexto para aprender a prever as probabilidades correspondentes aos dois tipos de comportamento do usuário.
Um ponto importante dessa abordagem é que eles não aplicaram a camada MoE diretamente à entrada, pois a alta dimensionalidade resultaria em custos significativos de treinamento e de serving do modelo.
MoEs têm sido amplamente adotados na indústria em várias aplicações. Seu procedimento de aprendizado divide a tarefa em subtarefas apropriadas, cada uma resolvida por uma rede de expert muito simples. Isso permite treinamento paralelizável e inferência rápida, tornando MoEs muito atraentes para sistemas em larga escala.
Mixture of Experts (MoE): desafios
Experts são especialmente úteis em cenários de alto throughput envolvendo muitas máquinas. Com um orçamento de computação fixo para pré-treinamento, um modelo esparso pode ser mais eficiente.
Por outro lado, modelos esparsos exigem muita memória na execução, já que todos os experts precisam estar carregados. Isso pode ser uma limitação significativa em sistemas com pouca VRAM.
Vamos ver outras limitações dos MoEs.
Complexidade de treinamento
Treinar modelos MoE é mais complexo do que treinar um único modelo. Eis o porquê:
- Coordenação: a gating network precisa aprender a rotear corretamente as entradas para os experts certos, enquanto cada expert se especializa em partes diferentes dos dados. Equilibrar isso é desafiador.
- Otimização: a função de perda no treinamento conjunto deve equilibrar o desempenho dos experts e da gating network, o que complica a otimização.
- Ajuste de hiperparâmetros: modelos MoE têm mais hiperparâmetros, como número de experts e arquitetura da gating network. Ajustá-los pode ser demorado e complexo.
Eficiência na inferência
A inferência em modelos MoE pode ser menos eficiente por alguns fatores:
- Gating network: ela precisa ser executada para cada entrada para definir os experts corretos. Isso adiciona computação extra.
- Seleção e ativação de experts: embora apenas um subconjunto de experts seja ativado por entrada, a seleção e ativação adicionam overhead, podendo aumentar o tempo de inferência.
- Paralelismo: executar múltiplos experts em paralelo pode ser desafiador, especialmente em ambientes com recursos limitados. Paralelismo eficaz requer agendamento e gestão de recursos avançados.
Aumento do tamanho do modelo
Modelos MoE tendem a ser maiores que modelos únicos por conta dos vários experts:
- Requisitos de armazenamento: armazenar múltiplas redes de experts e a gating network aumenta a necessidade geral de espaço, o que pode ser um problema em ambientes com limitação de armazenamento.
- Uso de memória: treinamento e inferência exigem mais memória porque vários modelos precisam ser carregados e mantidos simultaneamente. Isso pode ser crítico em ambientes com recursos escassos.
- Desafios de deploy: fazer o deploy de modelos MoE é mais difícil devido ao tamanho e à complexidade. Deploy eficiente em várias plataformas, incluindo edge, pode exigir otimizações e esforço extra de engenharia.
Conclusão
Neste artigo, exploramos a técnica Mixture of Experts (MoE), uma abordagem sofisticada para escalar redes neurais e lidar com tarefas complexas e dados diversos. O MoE usa múltiplos experts especializados e uma gating network para rotear entradas com eficácia.
Cobrimos os componentes centrais — redes de experts e gating network — e discutimos seus processos de treinamento e inferência.
Destacamos benefícios como desempenho, escalabilidade e adaptabilidade, além de aplicações em processamento de linguagem natural, visão computacional e sistemas de recomendação.
Apesar dos desafios de complexidade de treinamento e tamanho do modelo, o MoE é uma aposta promissora para avançar as capacidades da IA.
Obtenha uma das melhores certificações de IA
Engenheiro sênior de GenAI e criador de conteúdo que obteve 20 milhões de visualizações ao compartilhar conhecimento sobre GenAI e ciência de dados.
