Mixture-of-Experts (MoE) (PT)
Mixture-of-Experts (MoE) (do inglês, "Mistura de Especialistas") é uma arquitetura de redes neurais baseada no princípio da computação condicional e no paradigma "Dividir para Conquistar". Em vez de utilizar um único modelo monolítico ("denso"), no qual todos os parâmetros são acionados para processar cada sinal de entrada, a arquitetura MoE decompõe a tarefa, delegando-a a um subconjunto de sub-redes especializadas, chamadas de "especialistas" (experts). Um componente especial, a rede de roteamento (gating network ou router), determina dinamicamente quais especialistas processarão cada token de entrada específico[1][2].
Essa abordagem permite criar modelos com um número imenso de parâmetros (centenas de bilhões ou até trilhões), mantendo os custos computacionais (FLOPs) durante a inferência em um nível comparável ao de modelos densos consideravelmente menores[3]. Graças a isso, a MoE tornou-se uma tecnologia fundamental para escalar os modernos grandes modelos de linguagem (LLMs) e é utilizada em sistemas de ponta como Mixtral 8x7B, Grok-1 e, segundo a crença geral, no GPT-4[1].
Princípio fundamental: computação condicional e esparsidade
O mecanismo fundamental da MoE é a computação condicional (conditional computation). Diferentemente dos modelos densos, onde todos os parâmetros estão ativos ao processar qualquer token, os modelos MoE ativam apenas uma pequena fração de seus parâmetros, dependendo dos dados de entrada. Esse processo leva à esparsidade de ativação (sparsity in activation), que é a principal diferença em relação às arquiteturas tradicionais[4].
Essa abordagem permite:
- Escalar a capacidade do modelo: O número total de parâmetros (e, consequentemente, o "conhecimento" do modelo) pode ser significativamente aumentado sem um crescimento proporcional da carga computacional.
- Aumentar a eficiência: O modelo realiza menos cálculos por token, o que resulta em uma inferência mais rápida e em custos de treinamento reduzidos para um orçamento computacional fixo[5].
Dessa forma, a MoE desloca o gargalo do poder computacional para os requisitos de memória (VRAM), pois todos os parâmetros de todos os especialistas precisam ser carregados na memória, mesmo que apenas uma pequena parte deles seja usada a cada momento[6].
Componentes da arquitetura MoE
1. Sub-redes especialistas (Experts)
Os especialistas são, geralmente, redes neurais independentes. No contexto da arquitetura Transformer, as camadas MoE costumam substituir os blocos densos totalmente conectados (Feed-Forward Networks, FFN), e cada especialista é, por si só, uma FFN[1]. Durante o treinamento, cada especialista pode desenvolver "competência" em áreas específicas — por exemplo, um pode se especializar em sintaxe, outro em fatos de uma área de conhecimento particular, e um terceiro em um determinado idioma ou estilo[7].
2. Rede de controle (Gating Network / Router)
A rede de roteamento é um componente pequeno, mas de importância crítica, que realiza a distribuição inteligente de tarefas. Para cada token de entrada, o roteador calcula pontuações (pesos) que determinam quais especialistas são mais relevantes para o seu processamento. A decisão de roteamento é dinâmica e dependente do contexto[8].
A estratégia mais comum é o roteamento Top-K, no qual são selecionados os K especialistas com as maiores pontuações para processar um token. O valor de K é geralmente pequeno (por exemplo, 1 ou 2), o que garante a esparsidade.
3. Combinação das saídas
Depois que os K especialistas selecionados processam o token, suas saídas individuais são combinadas para formar o resultado final da camada MoE. Geralmente, isso é feito por meio de uma soma ponderada, onde os pesos são as pontuações normalizadas geradas pelo roteador[1].
Evolução da MoE
O conceito de MoE foi proposto pela primeira vez em 1991, em um trabalho de Robert Jacobs, Geoffrey Hinton e Michael Jordan intitulado "Adaptive Mixtures of Local Experts"[3]. No entanto, devido a limitações computacionais e à complexidade do treinamento, a ideia não ganhou ampla adoção até a era do deep learning.
O avanço significativo ocorreu com o surgimento da arquitetura Transformer. Pesquisas entre 2010 e 2015, dedicadas à computação condicional (por Yoshua Bengio e outros), estabeleceram a base teórica, e o trabalho de Shazeer et al. (2017) demonstrou a viabilidade de escalar uma MoE para um modelo LSTM de 137 bilhões de parâmetros[8].
O renascimento moderno da MoE está associado ao modelo Switch Transformer do Google (2021), que escalou para 1,6 trilhão de parâmetros usando um roteamento Top-1 simples, mas eficaz[9]. O sucesso do modelo de código aberto Mixtral 8x7B da Mistral AI em 2023 consolidou definitivamente a MoE como uma das principais arquiteturas para a criação de LLMs de alto desempenho[1].
Desafios e métodos de otimização
Balanceamento de carga
Um dos principais desafios da MoE é o desbalanceamento de carga, que ocorre quando o roteador seleciona consistentemente os mesmos especialistas "populares", enquanto outros permanecem subutilizados. Isso leva a um treinamento ineficiente e ao "colapso de especialistas".
- Funções de perda auxiliares (Auxiliary Loss): Um método tradicional que adiciona uma "penalidade" à função de perda principal pela distribuição desigual de tokens. Embora ajude no balanceamento, essa abordagem pode introduzir "gradientes de ruído", prejudicando o desempenho geral[10].
- Balanceamento sem perda (Loss-Free Balancing): Uma abordagem mais recente que aplica dinamicamente um viés (bias) às pontuações do roteador, incentivando-o a tomar decisões mais equilibradas sem interferir na tarefa principal de treinamento[11].
- Roteamento por escolha do especialista (Expert Choice Routing): Uma abordagem alternativa onde não são os tokens que escolhem os especialistas, mas cada especialista escolhe os `top-k` tokens de um lote. Isso garante um balanceamento perfeito, mas pode ser mais complexo de implementar[1].
Ajuste fino e quantização
- Ajuste fino (Fine-tuning): Historicamente, os modelos MoE eram propensos ao sobreajuste (overfitting) devido ao grande número de parâmetros. Para mitigar esse problema, são utilizados métodos como o "dropout de especialistas"[12].
- Quantização (Quantization): A redução da precisão numérica dos pesos para diminuir o tamanho do modelo e acelerar a inferência. Para a MoE, essa é uma tarefa complexa devido ao desbalanceamento entre os especialistas. Métodos como o MoEQuant oferecem soluções baseadas em uma calibração balanceada para cada especialista[13].
Otimização de sistema
A implementação eficiente de MoE requer uma abordagem de sistema holística, que inclui:
- Estratégias de paralelismo: Paralelismo de especialistas (distribuição de especialistas por diferentes GPUs), paralelismo de modelo e de dados[14].
- Kernels especializados: Por exemplo, Megablocks para o Mixtral, que otimizam as multiplicações de matrizes para operações esparsas[15].
- Coprojetação de hardware (Hardware Co-design): O desenvolvimento de soluções de hardware especificamente otimizadas para as cargas de trabalho de MoE.
Modelos MoE notáveis
| Modelo | Desenvolvedor | Total de parâmetros |
Parâmetros ativos |
Nº de especialistas |
Especialistas selecionados (k) |
|---|---|---|---|---|---|
| Switch Transformer C-2048 | 1,6 trilhão | Depende do tamanho do especialista | 2048 | 1 | |
| Mixtral 8x7B | Mistral AI | ~47 bilhões | ~13 bilhões | 8 | 2 |
| Grok-1 | xAI | 314 bilhões | 86 bilhões | 8 | 2 |
| GPT-4 (supostamente) | OpenAI | >1 trilhão | - | 16 (sup.) | 2 (sup.) |
| Qwen 2 MoE | Alibaba | 57-90 bilhões | 14 bilhões | 64 | 4 ou 8 |
| DeepSeekMoE 16B | DeepSeek-AI | 16,4 bilhões | ~2,8 bilhões | 64 (2 ativos) | 2 (de 6)[16] |
Aplicações em diversas áreas
Embora as MoEs sejam mais conhecidas no contexto de LLMs, sua aplicação não se limita ao processamento de linguagem natural:
- Previsão de séries temporais: O modelo Time-MoE apresenta uma arquitetura escalável para o pré-treinamento de modelos de previsão[17].
- Detecção de vulnerabilidades: O MoEVD utiliza MoE para decompor a tarefa de detecção de vulnerabilidades em uma classificação por tipos de CWE, onde cada especialista se especializa em seu próprio tipo[18].
- Integração com tecnologias blockchain: A MoE encontra aplicação na otimização de contratos inteligentes e na detecção de fraudes, onde os especialistas analisam diferentes padrões de transações[19].
- Modelos multimodais: A MoE é usada para combinar especialistas focados em diferentes modalidades (texto, imagem, áudio), criando sistemas mais versáteis[20].
Referências
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 “Applying Mixture of Experts in LLM Architectures”. NVIDIA Technical Blog. [1]
- ↑ “Mixture of Experts (MoE): A Big Data Perspective”. arXiv. [2]
- ↑ 3.0 3.1 “Mixture-of-Experts (MoE): o que é e como funciona”. LLM Studio. [3]
- ↑ “Serving Mixtral MoE Model”. Friendli.ai Blog. [4]
- ↑ “What is Mixture of Experts (MoE)? How it Works and Use Cases”. Zilliz Learn. [5]
- ↑ “Mixture of Experts (MoE) vs Dense LLMs”. Maximilian Schwarzmüller's Blog. [6]
- ↑ “Understanding Mixture of Experts in Deep Learning”. VE3. [7]
- ↑ 8.0 8.1 “Mixture of Experts Explained”. Hugging Face Blog. [8]
- ↑ “Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity”. arXiv. [9]
- ↑ “Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts”. OpenReview. [10]
- ↑ “DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing”. gopubby.com. [11]
- ↑ “Switch Transformers: Scaling to Trillion Parameter Models with...”. cse.ust.hk. [12]
- ↑ “MoEQuant: Enhancing Quantization for Mixture-of-Experts...”. arXiv. [13]
- ↑ “A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance”. Preprints.org. [14]
- ↑ “Mixtral of Experts”. arXiv. [15]
- ↑ “A Survey on Inference Optimization Techniques for Mixture of Experts Models”. arXiv. [16]
- ↑ “Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models”. arXiv. [17]
- ↑ “MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection”. Semantic Scholar. [18]
- ↑ “What a Decentralized Mixture-of-Experts (MoE) Is and How It Works”. Gate.io Learn. [19]
- ↑ “LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs”. arXiv. [20]