[Tradução] MoA (Mixture-of-Agents), uma nova técnica para melhorar o desempenho de LLMs
(discuss.pytorch.kr)PyTorchKR
Após MoE (Mixture-of-Experts) e MoD (Mixture-of-Depths), surgiu mais uma nova técnica para melhorar o desempenho de LLMs, e vale a pena apresentá-la. Essa técnica, chamada mistura de agentes (MoA, Mixture-of-Agents), reúne os pontos fortes de vários LLMs para aproveitar conhecimento especializado coletivo e pode melhorar significativamente o desempenho. Vamos dar uma olhada. :smiley:
Breve introdução à técnica MoE (Mixture-of-Experts)
A técnica MoE (Mixture-of-Experts), conhecida como mistura de especialistas, melhora o desempenho do modelo ao treiná-lo para incluir vários modelos especialistas no momento do treinamento. Assim, embora o modelo seja grande, durante a execução (inferência), apenas alguns especialistas capazes de responder adequadamente à pergunta (query) do usuário são ativados. #mixture-of-experts
Breve introdução à técnica MoD (Mixture-of-Depths)
Recentemente, também houve pesquisa e divulgação sobre a técnica MoD (Mixture-of-Depths), que pode ser chamada de técnica de mistura de profundidade. Ela reduz a profundidade ao diminuir o número de camadas ativadas. #mixture-of-depths
MoA (Mixture-of-Agents), uma nova técnica para melhorar o desempenho de LLMs
Introdução ao artigo sobre a técnica MoA (Mixture-of-Agents)
Recentemente, vários modelos de linguagem de grande porte (LLMs) vêm sendo lançados e disponibilizados, e cada um deles apresenta desempenho impressionante em uma ou mais áreas. No entanto, esses LLMs têm desempenho proporcional ao tamanho do modelo, aos dados de treinamento e à infraestrutura computacional, o que torna sua expansão ainda mais muito cara.
Este artigo (Mixture-of-Agents Enhances Large Language Model Capabilities) propõe um framework de mistura de agentes (Mixture-of-Agent) capaz de melhorar raciocínio e geração de linguagem ao aproveitar os pontos fortes de vários LLMs. Essa técnica de mistura de agentes se baseia na colaboratividade entre LLMs: quando um modelo utiliza a resposta de outro, ele pode gerar uma resposta de melhor qualidade, mesmo que a resposta usada como referência seja de baixa qualidade.
Com essa técnica MoA, os pontos fortes únicos de vários LLMs podem ser combinados, unindo seu conhecimento especializado para, no fim, obter um desempenho melhor. Como resultado, ela mostrou excelente desempenho em benchmarks como AlpacaEval 2.0, MT-Benchmark e FLASK, superando especialmente o GPT-4o (GPT-4 Omni).
Acima de tudo, uma grande vantagem do MoA é que ele é usado sem alterar o próprio LLM existente, apenas mudando o prompt de entrada do LLM e algumas configurações (incluindo temperature e outras sampling options). Em outras palavras, não há necessidade de processos como fine-tuning, e a abordagem oferece flexibilidade e escalabilidade para aplicar imediatamente os LLMs mais recentes, independentemente do tamanho ou da arquitetura do agente LLM utilizado.
Introdução à técnica MoA (Mixture-of-Agents)
A metodologia Mixture-of-Agents (MoA) tem como objetivo aproveitar o conhecimento especializado coletivo de vários LLMs por meio de uma estrutura hierárquica. Cada camada é composta por vários agentes LLM, que geram respostas com base nas saídas da camada anterior, refinando gradualmente a saída final.
A ideia central da técnica MoA parte do fato de que modelos de linguagem de grande porte (LLMs) podem gerar respostas de maior qualidade quando consultam as respostas de outros modelos. Em outras palavras, ao fazer com que vários LLMs possam se referenciar mutuamente, dando-lhes colaboratividade, o desempenho da resposta final é melhorado. Assim, mesmo que a qualidade dos resultados intermediários seja baixa, a qualidade da resposta final pode aumentar bastante.
As principais características da técnica de mistura de agentes podem ser resumidas da seguinte forma:
-
Estrutura hierárquica: o framework MoA usa uma estrutura multicamadas composta por vários agentes LLM. Cada agente melhora as respostas da camada anterior, elevando gradualmente a qualidade da saída final.
-
Diversidade de modelos: o framework enfatiza o uso de diferentes LLMs em cada camada. Quando modelos diversos são combinados, é possível gerar respostas mais ricas e detalhadas.
-
Refinamento iterativo: o processo iterativo permite melhorar continuamente o texto gerado e produzir os melhores resultados por meio da síntese colaborativa de vários modelos.
Colaboratividade de modelos de linguagem de grande porte
A colaboratividade de modelos de linguagem de grande porte (LLMs, Large Language Models) refere-se à capacidade de diferentes LLMs gerarem respostas melhores quando consultam as saídas uns dos outros. Segundo muitos estudos, quando um modelo de linguagem usa a saída de outro modelo como informação auxiliar, a qualidade da resposta melhora. Isso é possível porque cada modelo tem pontos fortes diferentes.
Por exemplo, um modelo pode seguir muito bem instruções complexas, enquanto outro pode se destacar mais em geração de código. Essa diversidade permite, em um ambiente colaborativo, que cada modelo compense as fraquezas dos outros. Para demonstrar essa colaboratividade experimentalmente, foram usados vários testes de benchmark, e em especial no benchmark AlpacaEval 2.0 foi possível confirmar que o desempenho melhora significativamente quando vários modelos consultam as saídas uns dos outros.
Com isso, observa-se que o desempenho geral melhora consideravelmente quando os LLMs recebem respostas geradas de forma independente por outros modelos. Resultados assim mostram o fenômeno de que os LLMs são inerentemente colaborativos. Além disso, sugerem que mesmo saídas de baixa qualidade podem ajudar a gerar respostas melhores quando outro modelo extrai informações delas.
No artigo, os papéis dos LLMs usados na técnica MoA são divididos em dois: Proposer e Aggregator:
-
LLM Proposer: é um LLM excelente em gerar respostas de referência úteis para serem usadas por outros modelos. Um bom proposer não precisa necessariamente gerar, por si só, uma resposta com alta pontuação, mas pode contribuir para uma resposta final melhor ao fornecer mais contexto e perspectivas variadas, especialmente quando usado junto com um Aggregator.
-
LLM Aggregator: é um modelo capaz de sintetizar as respostas de outros modelos em uma única saída de alta qualidade. Um aggregator eficaz deve ser capaz de manter ou melhorar a qualidade da resposta final mesmo quando recebe do Proposer entradas de qualidade inferior àquela que ele próprio conseguiria gerar sozinho.
Estrutura da técnica de mistura de agentes (Architecture of MoA, Mixture-of-Agents)
O framework MoA é composto, como mostrado na figura acima, por várias camadas (Layer, $l$), e cada camada (Layer-$i$) inclui vários ($n$) LLMs. Na figura, cada LLM da $i$-ésima camada é indicado como $A_{i,1}$, $A_{i,2}$, ...$A_{i,n}$. Nessa estrutura, os agentes de cada camada geram respostas usando todas as saídas da camada anterior como informação auxiliar. Um ponto importante é que cada LLM pode ser reutilizado tanto na mesma camada quanto em camadas diferentes.
No início, os LLMs da primeira camada geram independentemente respostas para o prompt dado. Em seguida, essas respostas são passadas para os agentes da camada seguinte, que produzem respostas mais refinadas. Esse processo se repete até que uma resposta final mais precisa e abrangente seja gerada. Como o processo é repetido várias vezes, no fim obtém-se uma resposta mais robusta e completa. Isso permite superar as limitações de modelos individuais e gerar respostas de alta qualidade que integram informações e perspectivas mais diversas, sendo especialmente útil na resolução de problemas complexos.
Outro elemento importante dessa estrutura de mistura de agentes é a seleção dos modelos. É importante escolher cuidadosamente, com base em desempenho e diversidade, quais modelos serão incluídos em cada camada. A configuração ideal de agentes é determinada levando em conta métricas de desempenho e diversidade dos modelos.
Critérios para selecionar os agentes (LLMs) a serem usados
Na técnica de mistura de agentes, os modelos são selecionados não apenas com base em métricas de desempenho, que indicam o quão bem realizam uma tarefa específica, mas também com base na diversidade, que indica o quão variadas podem ser suas respostas:
-
Métricas de desempenho (Performance Metrics): indicam o quão bem cada modelo executa uma tarefa específica, permitindo selecionar aqueles capazes de gerar saídas de alta qualidade. Já a diversidade refere-se à capacidade dos modelos de abordar e resolver problemas de maneiras diferentes. Por exemplo, um modelo pode ter ótimo desempenho em processamento de linguagem natural, enquanto outro pode se sair melhor em geração de código ou resolução de problemas matemáticos. Ao misturar modelos com capacidades tão variadas, a estrutura multiagente pode produzir respostas mais abrangentes e poderosas.
-
Considerações sobre diversidade (Diversity Considerations): a diversidade dos modelos ajuda a reduzir vieses presentes em um único modelo e permite resolver uma gama mais ampla de problemas. Por exemplo, se o mesmo modelo for usado repetidamente em várias camadas, a qualidade das respostas pode cair por causa das limitações desse modelo. Por isso, é importante usar modelos diversos. Ao selecionar modelos adequados para cada camada levando em conta desempenho e diversidade, é possível maximizar a qualidade da resposta final.
Estruturas Single-Proposer e Multi-Proposer
De uma perspectiva abstrata de alto nível, a técnica MoA pode ser vista como uma elevação da técnica MoE para o nível de modelo. Essa técnica MoA pode operar inteiramente por meio da interface de prompt, sem modificar ativações internas nem pesos do LLM. Ou seja, ao contrário do MoE, ela não coloca sub-redes especializadas dentro de um único modelo, mas usa um ou vários LLMs ao longo de múltiplas camadas.
-
Estrutura Single-Proposer: embora a técnica MoA se baseie, em essência, no uso de vários agentes (LLMs), também é possível usar repetidamente o mesmo LLM. Nesse caso, ao fornecer entradas ao mesmo modelo, alteram-se configurações de sampling, incluindo
temperature, para gerar várias saídas diferentes. Nessa estrutura Single-Proposer, apenas um ou poucos modelos são ativados em cada camada, mas as respostas diversas que eles geram desempenham um papel importante para que o Aggregator produza a resposta final. -
Estrutura Multi-Proposer: usa diferentes modelos em cada camada para gerar saídas distintas. Isso maximiza a interação e a colaboratividade entre modelos, permitindo produzir respostas mais abrangentes e de maior qualidade. A estrutura Multi-Proposer aproveita ao máximo a diversidade de modelos, ampliando o alcance da resolução de problemas e superando os limites de um modelo único. Com essa configuração, a estrutura multiagente pode oferecer soluções mais robustas e completas.
Aqui, Proposers e Aggregators desempenham papéis complementares. Os proposers geram respostas iniciais por meio de abordagens variadas, e os aggregators sintetizam essas respostas para garantir a qualidade da resposta final. Com essa estrutura colaborativa, o sistema multiagente pode oferecer respostas mais robustas e abrangentes do que um único modelo.
Desempenho e eficiência de custo da técnica MoA
Desempenho da técnica MoA
Na tabela acima, MoA e MoA-Lite são modelos com 6 proposers, tendo respectivamente 3 camadas (Layer) e 2 camadas (Layer). MoA w/ GPT-4o é o modelo que usa o GPT-4o como aggregator final do MoA. Os benchmarks acima foram executados três vezes cada, e foram divulgados tanto o desvio padrão quanto a média das pontuações.
O modelo com técnica MoA registrou 65,1% no AlpacaEval 2.0, superando os 57,5% do GPT-4o. Além disso, também mostrou desempenho melhor que o GPT-4o no MT-Benchmark.
Como mostra a figura acima, a técnica MoA tem desempenho superior ao uso de um único LLM. Isso parece ocorrer porque o aggregator não apenas escolhe uma das respostas geradas pelos LLMs proposer, mas gera a resposta levando em conta de forma abrangente todas as respostas propostas.
A parte direita da figura acima compara as respostas do aggregator com as dos proposers usando pontuações de similaridade como BLEU. Em cada amostra, com base em n respostas dos proposers, foi calculado o coeficiente de correlação de ranking entre n pontuações de preferência determinadas por um avaliador baseado em GPT-4 e n pontuações de similaridade. Em outras palavras, foi confirmado que existe correlação positiva entre taxa de vitória e pontuação BLEU.
Além disso, para encontrar o número adequado de proposers em cada camada, foi analisado o impacto da variação do número de proposers (o $n$ na tabela à esquerda acima) sobre a qualidade final. À medida que $n$ aumenta, a qualidade final também aumenta, o que pode ser interpretado como resultado do maior volume de informação disponível ao aggregator, já que diferentes modelos produzem respostas diferentes. (Aqui, a estrutura Single-Proposer corresponde ao resultado obtido ao usar um único LLM com temperature fixada em 0.7.)
Também foi realizado um experimento para verificar se havia modelos particularmente bons em apenas um dos dois papéis, proposer ou aggregator. (Tabela à direita acima.) Os modelos GPT-4o, Qwen e LLaMA-3 apresentaram bom desempenho em ambos os papéis, enquanto alguns modelos, incluindo o WizardLM, mostraram desempenho melhor como proposer do que como aggregator.
Eficiência de tokens e custo da técnica MoA
Incluindo análise de orçamento e tokens, o estudo mostra que o MoA pode oferecer alto desempenho a um custo menor do que outros modelos state-of-the-art. Isso significa que a abordagem não é apenas eficaz, mas também eficiente em termos de custo, oferecendo uma solução prática para ampliar as capacidades de LLMs sem custos excessivos.
Na parte esquerda (a) da figura acima, são mostrados o custo médio de inferência por instância e a taxa de vitória LC no benchmark AlpacaEval 2.0. Os valores foram calculados com base nos custos de cada provedor de API, mostrando que a técnica MoA é uma abordagem custo-efetiva, capaz de alcançar alto desempenho sem gerar custos excessivos. Em especial, chama a atenção o fato de que o MoA-Lite supera o GPT-4 Turbo em cerca de 4% e ainda apresenta mais do que o dobro de eficiência de custo.
Na parte direita (b) da figura acima, é mostrada a relação entre a taxa de vitória LC e o número de teraflops. Aqui, o número de teraflops é usado como valor substituto para representar latência. Também nesse caso, assim como na análise de eficiência de custo, observa-se uma fronteira de Pareto (Pareto frontier). Ou seja, isso mostra que a taxa de vitória LC é maximizada ao mesmo tempo em que os recursos computacionais são usados de forma eficiente.
Outras considerações sobre colaboratividade e diversidade
Os resultados dos vários experimentos realizados no artigo confirmaram que os LLMs geram respostas melhores quando consultam saídas de outros modelos. Essa colaboratividade é o elemento central por trás da melhora de desempenho obtida com a técnica MoA. Além disso, ficou demonstrado que usar LLMs diversos em cada camada produz consistentemente resultados melhores do que depender de um único modelo. Em outras palavras, é possível confirmar que a diversidade de respostas derivada da diversidade de modelos é eficaz para melhorar o desempenho geral.
Conclusão
Como vimos até aqui, a técnica Mixture-of-Agents (MoA) representa um avanço importante no aproveitamento dos pontos fortes coletivos de vários LLMs. Por meio de uma abordagem hierárquica e colaborativa, o MoA apresenta excelente desempenho em diversos benchmarks e demonstra o valor da diversidade de modelos e do refinamento iterativo. Espera-se que essa abordagem permita novas tentativas de construir sistemas de LLM mais poderosos e eficientes.
Artigo sobre a técnica MoA
https://arxiv.org/abs/2406.04692
Repositório da técnica MoA
https://github.com/togethercomputer/moa
OpenPipe oferece um modelo que supera o desempenho do GPT-4 usando a técnica MoA por um preço 25 vezes menor
https://discuss.pytorch.kr/t/openpipe-moa-25-gpt-4/4668
<br /><br />
Este texto foi organizado com base em um resumo feito por um modelo GPT, portanto pode haver partes resumidas de forma diferente do conteúdo ou da intenção do texto original. Se o tema for do seu interesse, consulte também o texto original. Se durante a leitura você encontrar algo estranho ou incorreto, por favor avise nos comentários. 🤗
⚠️Publicidade⚠️: Este texto organizado pela :pytorch: comunidade coreana de usuários de PyTorch🇰🇷 foi útil para você? Cadastre-se como membro e enviaremos os principais textos por email💌! (O padrão é semanal, mas também é possível mudar para diário.)
Ainda não há comentários.