[Traducción] MoA (Mixture-of-Agents, técnica de mezcla de agentes), una nueva técnica para mejorar el rendimiento de los LLM
(discuss.pytorch.kr)PyTorchKR
Después de MoE (Mixture-of-Experts) y MoD (Mixture-of-Depths), se ha propuesto una nueva técnica para mejorar el rendimiento de los LLM, y aquí la presentamos. Esta técnica, llamada mezcla de agentes (MoA, Mixture-of-Agents), reúne las fortalezas de varios LLM y aprovecha el conocimiento colectivo para mejorar significativamente el rendimiento. Veámosla juntos. :smiley:
Breve introducción a la técnica MoE (Mixture-of-Experts)
La técnica MoE (Mixture-of-Experts), conocida como mezcla de expertos, mejora el rendimiento del modelo entrenándolo para incluir varios modelos expertos durante el entrenamiento. Aunque el tamaño total del modelo es grande, en el momento de la ejecución (inferencia) solo activa algunos expertos capaces de responder adecuadamente a la consulta del usuario. #mixture-of-experts
Breve introducción a la técnica MoD (Mixture-of-Depths)
Recientemente también se ha investigado y publicado la técnica MoD (Mixture-of-Depths), que puede considerarse una técnica de mezcla de profundidades. Esta consiste en reducir la profundidad al disminuir la cantidad de capas activadas. #mixture-of-depths
MoA (Mixture-of-Agents, técnica de mezcla de agentes), una nueva técnica para mejorar el rendimiento de los LLM
Introducción al paper sobre la técnica MoA (Mixture-of-Agents)
En los últimos tiempos se han lanzado y publicado varios modelos de lenguaje de gran escala (LLM), y cada uno de ellos muestra un rendimiento impresionante en uno o varios campos. Sin embargo, el rendimiento de estos LLM suele crecer en proporción al tamaño del modelo, los datos de entrenamiento y la infraestructura de cómputo, por lo que seguir escalándolos resulta muy costoso.
Este paper (Mixture-of-Agents Enhances Large Language Model Capabilities) propone un framework de mezcla de agentes (Mixture-of-Agent) que puede mejorar la capacidad de razonamiento y generación de lenguaje aprovechando las fortalezas de varios LLM. Esta técnica de mezcla de agentes se basa en la colaboratividad entre LLM: cuando un modelo aprovecha las respuestas de otros modelos, puede generar respuestas de mejor calidad, incluso si esas respuestas de referencia son de baja calidad.
Con esta técnica MoA, los distintos LLM aportan sus fortalezas particulares y permiten combinar su conocimiento especializado para obtener un mejor rendimiento final. Como resultado, mostró un desempeño sobresaliente en varios benchmarks como AlpacaEval 2.0, MT-Benchmark y FLASK, y en particular superó a GPT-4o (GPT-4 Omni).
Sobre todo, la gran ventaja de MoA es que se usa sin modificar los LLM existentes; basta con cambiar el prompt de entrada y algunas configuraciones (incluidas temperature y otras sampling options). Es decir, no requiere procesos adicionales como fine-tuning, y ofrece flexibilidad y escalabilidad para aplicar de inmediato los LLM más recientes, sin importar el tamaño o la arquitectura del agente LLM utilizado.
Introducción a la técnica MoA (Mixture-of-Agents)
La metodología Mixture-of-Agents (MoA) tiene como objetivo aprovechar el conocimiento colectivo de varios LLM mediante una estructura jerárquica. Cada capa está compuesta por varios agentes LLM y genera respuestas basadas en las salidas de la capa anterior, mejorando progresivamente la salida final.
La idea central de MoA parte de que los modelos de lenguaje de gran escala (LLM) pueden generar respuestas de mayor calidad cuando toman como referencia las respuestas de otros modelos. Es decir, al permitir que varios LLM consulten mutuamente sus respuestas y actúen de forma colaborativa, se mejora el rendimiento de la respuesta final. De este modo, incluso si la calidad de los resultados intermedios es baja, la calidad de la respuesta final puede aumentar considerablemente.
Las principales características de la técnica de mezcla de agentes pueden resumirse así:
-
Estructura jerárquica: el framework MoA usa una estructura multicapa compuesta por varios agentes LLM. Cada agente mejora las respuestas de la capa anterior para elevar gradualmente la salida final.
-
Diversidad de modelos: el framework enfatiza el uso de distintos LLM en cada capa. Cuando se combinan modelos diversos, se pueden generar respuestas más ricas y detalladas.
-
Mejora iterativa: el proceso iterativo permite refinar continuamente el texto generado y obtener los mejores resultados mediante la síntesis colaborativa de varios modelos.
Colaboratividad de los modelos de lenguaje de gran escala
La colaboratividad de los modelos de lenguaje de gran escala (LLM, Large Language Models) se refiere a la capacidad de distintos LLM para generar mejores respuestas cuando consultan las salidas de otros modelos. Según muchos estudios, la calidad de la respuesta mejora cuando un modelo de lenguaje usa la salida de otro modelo como información auxiliar. Esto es posible porque cada modelo tiene fortalezas distintas.
Por ejemplo, un modelo puede seguir muy bien instrucciones complejas, mientras que otro puede destacar más en generación de código. Esta diversidad permite que, en un entorno colaborativo, cada modelo compense las debilidades de los demás. Para demostrar experimentalmente esta colaboratividad se usaron varios benchmarks, y en particular en AlpacaEval 2.0 se confirmó que el rendimiento mejora de manera importante cuando varios modelos consultan mutuamente sus salidas.
A partir de esto, puede observarse que el rendimiento general mejora notablemente cuando los LLM reciben respuestas generadas de forma independiente por otros modelos. Este resultado muestra que los LLM son intrínsecamente colaborativos. Además, sugiere que incluso salidas de baja calidad pueden ayudar a producir mejores respuestas cuando otro modelo extrae información de ellas.
En este paper, los roles de los LLM usados en la técnica MoA se dividen en dos categorías: proposer y aggregator:
-
LLM proposer: es un LLM sobresaliente para generar respuestas de referencia útiles que otros modelos pueden aprovechar. Un buen proposer no necesariamente produce por sí solo respuestas con puntajes altos, pero al ofrecer más contexto y perspectivas diversas puede contribuir a una mejor respuesta final cuando se usa junto con el aggregator.
-
LLM aggregator: es un modelo hábil para sintetizar las respuestas de otro u otros modelos en una sola salida de alta calidad. Un aggregator efectivo debe ser capaz de mantener o mejorar la calidad de la respuesta final incluso cuando recibe del proposer entradas de menor calidad que las respuestas que podría generar por sí mismo.
Estructura de la técnica MoA (Architecture of MoA, Mixture-of-Agents)
El framework MoA está compuesto, como en la figura anterior, por varias capas (Layer, $l$), y cada capa (Layer-$i$) incluye varios ($n$) LLM. En la figura, los LLM de la capa $i$ se representan como $A_{i,1}$, $A_{i,2}$, ...$A_{i,n}$. En esta estructura, los agentes de cada capa generan respuestas usando como información auxiliar todas las salidas de la capa anterior. Un punto importante es que cada LLM puede reutilizarse tanto en la misma capa como en capas distintas.
Al inicio, los LLM de la primera capa generan de forma independiente respuestas al prompt dado. Luego, estas respuestas se pasan a los agentes de la siguiente capa para producir respuestas más refinadas. Este proceso se repite hasta generar una respuesta final más precisa y completa. Al repetirse varias veces, se obtiene finalmente una respuesta más robusta e integral. Con ello se superan las limitaciones de los modelos individuales y se generan respuestas de alta calidad que integran información y perspectivas más diversas, lo cual resulta especialmente útil en la resolución de problemas complejos.
Otro elemento importante de esta estructura de mezcla de agentes es la selección de modelos. Es importante elegir con cuidado los modelos que formarán cada capa en función de su rendimiento y diversidad. La configuración óptima de agentes se determina considerando tanto métricas de rendimiento como la diversidad de los modelos.
Criterios para seleccionar los agentes (LLM) a utilizar
En la técnica de mezcla de agentes, además de las métricas de rendimiento que indican qué tan bien un modelo realiza una tarea específica, también se usa la diversidad, que indica qué tan variadas pueden ser las respuestas que genera un modelo:
-
Métricas de rendimiento (Performance Metrics): indican qué tan bien se desempeña cada modelo en una tarea específica, y permiten seleccionar modelos capaces de producir salidas de alta calidad. La diversidad se refiere a la capacidad de los modelos para abordar y resolver problemas de formas distintas. Por ejemplo, un modelo puede destacar en procesamiento de lenguaje natural, mientras que otro puede rendir mejor en generación de código o resolución de problemas matemáticos. Al mezclar modelos con capacidades diversas, una estructura multiagente puede producir respuestas más integrales y robustas.
-
Consideraciones sobre diversidad (Diversity Considerations): la diversidad de modelos ayuda a reducir los sesgos de un solo modelo y permite resolver una gama más amplia de problemas. Por ejemplo, si el mismo modelo se usa repetidamente en varias capas, la calidad de la respuesta puede degradarse debido a sus limitaciones. Por ello es importante usar modelos diversos. Al seleccionar modelos apropiados para cada capa teniendo en cuenta tanto el rendimiento como la diversidad, se puede maximizar la calidad de la respuesta final.
Estructura Single-Proposer y estructura Multi-Proposer
Desde una perspectiva abstracta de alto nivel, la técnica MoA (Mixture-of-Agents) puede verse como una elevación de la técnica MoE (Mixture-of-Experts) al nivel de modelo. Esta técnica MoA puede operar completamente a través de la interfaz de prompts, sin modificar las activaciones internas ni los pesos del LLM. Es decir, a diferencia de MoE, no usa subredes especializadas dentro de un solo modelo, sino uno o varios LLM a lo largo de varias capas.
-
Estructura Single-Proposer: aunque la técnica MoA se basa en usar varios agentes (LLM), también puede usar varias veces el mismo LLM. En ese caso, al dar entrada al mismo modelo se modifican configuraciones de sampling, incluida
temperature, para generar distintas salidas. En esta estructura Single-Proposer, en cada capa solo se activa uno o unos pocos modelos, pero las distintas respuestas que generan desempeñan un papel importante para que el aggregator produzca la respuesta final. -
Estructura Multi-Proposer: usa distintos modelos en cada capa para generar salidas diferentes. Esto permite maximizar la interacción y la colaboratividad entre modelos, y así producir respuestas más completas y de mayor calidad. La estructura Multi-Proposer aprovecha al máximo la diversidad de modelos, amplía el alcance de la resolución de problemas y puede superar las limitaciones de un solo modelo. Con esta configuración, la estructura multiagente puede ofrecer soluciones más sólidas e integrales.
Aquí, los proposers y los aggregators cumplen roles complementarios. Los proposers generan respuestas iniciales mediante enfoques diversos, y los aggregators sintetizan esas respuestas para asegurar la calidad de la respuesta final. Gracias a esta estructura colaborativa, un sistema multiagente puede ofrecer respuestas más sólidas e integrales que un solo modelo.
Rendimiento y eficiencia de costos de la técnica MoA
Rendimiento de la técnica MoA
En la tabla anterior, MoA y MoA-Lite son modelos con 6 proposers y con 3 capas (Layer) y 2 capas (Layer), respectivamente. MoA w/ GPT-4o es un modelo que usa GPT-4o como aggregator final de MoA. En el benchmark anterior, cada prueba se ejecutó 3 veces y se publicaron tanto la desviación estándar como el puntaje promedio.
El modelo que usa la técnica MoA registró 65.1% en AlpacaEval 2.0, superando el 57.5% de GPT-4o. Además, también mostró mejor rendimiento que GPT-4o en MT-Benchmark.
Como se muestra en la figura anterior, la técnica MoA supera en rendimiento al uso de un solo LLM. Esto parece deberse a que el aggregator no simplemente elige una de las respuestas generadas por los proposers, sino que genera una respuesta considerando de manera integral las respuestas propuestas.
La parte derecha de la figura anterior compara la respuesta del aggregator con las respuestas de los proposers usando puntajes de similitud como BLEU. Para cada muestra, se calculó el coeficiente de correlación de rango entre los $n$ puntajes de preferencia determinados por un evaluador basado en GPT-4 y los $n$ puntajes de similitud, a partir de las $n$ respuestas de los proposers. Es decir, se confirma que existe una correlación positiva entre la tasa de victoria y el puntaje BLEU.
Además, para encontrar una cantidad adecuada de proposers en cada capa, también se analizó el impacto sobre la calidad final variando el número de proposers (el $n$ de la tabla superior izquierda). A medida que aumenta $n$, aumenta la calidad final, lo cual puede interpretarse como resultado de que el aggregator dispone de más información porque distintos modelos producen respuestas diversas. (Aquí, la estructura Single-Proposer corresponde al resultado de usar un solo LLM con temperature fija en 0.7).
También se realizaron experimentos para comprobar si había modelos especialmente buenos en alguno de los roles de proposer o aggregator. (Tabla superior derecha). Los modelos GPT-4o, Qwen y LLaMA-3 mostraron buen rendimiento tanto como proposer como aggregator, mientras que algunos modelos, incluido WizardLM, mostraron mejor desempeño como proposer que como aggregator.
Eficiencia en tokens y costos de la técnica MoA
Incluyendo análisis de presupuesto y tokens, se muestra que MoA puede ofrecer alto rendimiento a menor costo en comparación con otros modelos de última generación. Esto significa que el enfoque no solo es efectivo, sino también costo-eficiente, y ofrece una solución práctica para escalar las capacidades de los LLM sin costos excesivos.
En la parte izquierda (a) de la figura anterior se muestran el costo promedio de inferencia por instancia y la tasa de victoria LC para cada instancia del benchmark AlpacaEval 2.0. Se calculó con base en los costos de cada proveedor de API, y muestra que la técnica MoA es un método costo-eficiente que alcanza alto rendimiento sin incurrir en costos excesivos. En particular, destaca que MoA-Lite supera a GPT-4 Turbo por alrededor de 4% y tiene más del doble de eficiencia de costos.
En la parte derecha (b) de la figura anterior se muestra la relación entre la tasa de victoria LC y la cantidad de teraflops. Aquí la cantidad de teraflops se usa como valor sustituto para representar la latencia. También aquí, de manera similar al análisis de eficiencia de costos, se observa una frontera de Pareto (Pareto frontier). Es decir, se muestra que se maximiza la tasa de victoria LC mientras se usan eficientemente los recursos de cómputo.
Otras observaciones sobre colaboratividad y diversidad
Los resultados de los diversos experimentos realizados en este paper confirmaron que los LLM generan mejores respuestas cuando consultan las salidas de otros modelos. Esta colaboratividad es el factor clave detrás de la mejora de rendimiento mediante la técnica MoA. Además, se demostró que usar distintos LLM en cada capa produce de manera consistente mejores resultados que depender de un solo modelo. En otras palabras, se puede confirmar que la diversidad de respuestas derivada de la diversidad de modelos es efectiva para mejorar el rendimiento general.
Conclusión
Como vimos hasta aquí, la técnica de mezcla de agentes (MoA, Mixture-of-Agents) representa un avance importante para aprovechar las fortalezas colectivas de varios LLM. Mediante un enfoque jerárquico y colaborativo, MoA muestra un rendimiento sobresaliente en varios benchmarks y demuestra el valor de la diversidad de modelos y del refinamiento iterativo. Se espera que este enfoque permita nuevos intentos hacia sistemas LLM más potentes y eficientes.
Paper sobre la técnica MoA
https://arxiv.org/abs/2406.04692
Repositorio de la técnica MoA
https://github.com/togethercomputer/moa
OpenPipe ofrece un modelo que supera el rendimiento de GPT-4 usando la técnica MoA a un precio 25 veces menor
https://discuss.pytorch.kr/t/openpipe-moa-25-gpt-4/4668
<br /><br />
Este texto se basa en un resumen hecho con un modelo GPT, por lo que podría contener puntos organizados de forma distinta al contenido o la intención del texto original. Si el tema te interesa, consulta también el original. Si al leer encuentras algo extraño o incorrecto, te agradeceremos que lo indiques en los comentarios. 🤗
⚠️Publicidad⚠️: ¿Te resultó útil este texto recopilado por :pytorch:PyTorch Korean User Group🇰🇷? Si te registras como miembro, te enviaremos por correo electrónico💌 los artículos principales. (La opción predeterminada es Weekly, pero también puedes cambiarla a Daily).
Aún no hay comentarios.