Mixture-of-Agents (MoA): 집단 지성이 LLM 성능을 향상시키는 방법
대규모 언어 모델 (LLM)의 빠른 발전은 양날의 검과 같습니다. 한편으로는 수많은 최첨단 LLM이 있어 우리의 사용 사례를 해결할 수 있는 많은 선택지를 제공합니다. 다른 한편으로는 이러한 선택지의 풍부함이 부담스러울 수 있습니다.
더 나아가, 서로 다른 조직과 기업이 이러한 LLM을 개발하기 때문에, 이들은 서로 다른 데이터셋으로 학습되어 다양한 전문 분야를 가진 LLM이 됩니다. 일부 LLM은 수학 문제 해결에 뛰어난 반면, 다른 LLM은 코딩 작업에 더 적합합니다. 이러한 다양성은 특히 다중 도메인 사용 사례를 다룰 때 우리의 필요에 가장 적합한 LLM을 선택하는 일을 어렵게 만듭니다.
이 글에서는 이러한 과제를 해결하기 위한 한 가지 방법인 Mixture-of-Agents (MoA) 접근법을 살펴보겠습니다. 이는 서로 다른 전문성을 가진 여러 LLM을 하나의 시스템으로 결합합니다. 그럼 더 지체하지 않고, MoA의 동기부터 시작해 보겠습니다.
Mixture-of-Agents (MoA)의 배경 동기
LLM의 빠른 발전은 우리의 사용 사례에 가장 적합한 모델을 선택할 때 수많은 선택지를 제공해 주었습니다. 그러나 공짜 점심은 없다는 정리는 여전히 LLM에도 적용됩니다. 즉, 모든 작업에서 동일하게 잘 수행하는 단일 모델은 없습니다. 서로 다른 LLM은 다양한 학습 데이터로 인해 각기 다른 작업에 뛰어납니다. 따라서 우리가 해결하려는 특정 문제에 가장 잘 맞는 LLM을 선택하는 것이 매우 중요합니다.
여러 LLM의 전문성이 필요한 다중 도메인 사용 사례를 다룰 때 과제가 발생합니다. 이는 중요한 질문을 제기합니다. 여러 LLM을 함께 사용하여 각자의 강점을 활용하고 더 유능하고 견고한 시스템을 만들 수 있을까요? Mixture-of-Agents (MoA) 방법은 이 질문에 답하고자 합니다.
MoA란 무엇인가요?
간단히 말해, Mixture-of-Agents (MoA)는 여러 전문화된 LLM, 즉 "에이전트"가 각자의 고유한 강점을 활용하여 작업을 해결하기 위해 협력하는 프레임워크입니다.
MoA의 개념은 간단합니다. 서로 다른 강점과 역량을 가진 여러 LLM을 하나의 시스템으로 결합하는 것입니다. 사용자가 질의를 제출하면, 시스템 내의 각 LLM이 응답을 생성합니다. 그런 다음, 마지막에 지정된 LLM이 아래 시각화에 표시된 것처럼 이 모든 응답을 하나의 일관된 답변으로 종합하여 사용자에게 제공합니다.
그림: Mixture-of-Agents 개념
그림: Mixture-of-Agents 개념.
MoA 개념은 단순하지만, 놀라울 정도로 효과적입니다. MoA 논문의 저자들은 LLM이 다른 LLM의 응답을 제시받았을 때 더 높은 품질의 출력을 생성하는 경향이 있음을 발견했습니다.
이 현상은 Qwen, Wizard, Mixtral, Llama 3, dbrx를 포함한 여섯 가지 서로 다른 LLM을 사용하여 AlpacaEval 2.0 데이터셋에서 벤치마크 테스트를 통해 입증되었습니다. 저자들은 직접 입력 프롬프트를 사용하는 경우와 다른 모델의 응답을 사용하는 경우라는 두 조건에서 LLM의 응답 품질을 비교했습니다. 이들은 평가 결과에 큰 영향을 줄 수 있는 응답 길이와 같은 요인과 독립적으로 출력 품질을 평가하는 Length Controlled (LC) 승률 지표를 사용하여 품질을 측정했습니다.
그림: 두 가지 서로 다른 입력(사용자 프롬프트에서 직접 입력 및 다른 모델의 출력)에서 각 LLM의 AlpacaEval 2.0 LC 승률 비교
그림: 두 가지 서로 다른 입력(사용자 프롬프트에서 직접 입력 및 다른 모델의 출력)에서 각 LLM의 AlpacaEval 2.0 LC 승률 비교. 출처.
결과는 여섯 개의 LLM 모두에서 일관되게 나타났습니다. 입력 프롬프트를 직접 처리할 때보다 다른 LLM의 출력으로 작업할 때 더 나은 LC 승률 점수를 달성했습니다. 이러한 발견을 바탕으로 저자들은 MoA 개념을 개발했으며, 다음 섹션에서 자세히 살펴보겠습니다.
Mixture-of-Agents (MoA)의 기본 원리
MoA는 여러 LLM을 하나의 시스템으로 통합하여 응답 생성 품질을 반복적으로 개선합니다.
이 시스템은 여러 계층으로 구성되며, 각 계층에는 크기와 기능이 서로 다른 여러 LLM이 포함됩니다. 첫 번째 계층의 LLM들은 입력 프롬프트에 대한 응답을 독립적으로 생성합니다. 그런 다음 이러한 응답은 두 번째 계층의 LLM들에게 입력으로 제시되며, 이들은 자체적인 독립 응답을 생성합니다. 이 사이클은 최종 계층에 도달할 때까지 후속 계층을 통해 계속됩니다. 마지막에는 하나의 LLM이 마지막 계층의 응답을 종합하여 사용자를 위한 최종 응답을 생성합니다.
그림: Mixture-of-Agents 구조 설명
그림: Mixture-of-Agents 구조 설명. 출처.
이 개념을 바탕으로 MoA에서 사용되는 LLM은 두 가지 범주로 분류할 수 있습니다: 제안자와 집계자.
제안자는 MoA 시스템의 각 계층 내에서 응답을 생성하여 최종 응답의 품질에 기여합니다.
집계자는 마지막 계층의 LLM들로부터 모든 응답을 수집하고 이를 사용자를 위한 하나의 고품질 응답으로 종합합니다.
다양한 LLM의 기능과 전문성이 서로 다르기 때문에, 어떤 모델을 제안자와 집계자로 사용할지 선택할 때 주의를 기울여야 합니다. 어떤 LLM은 제안자로서 뛰어난 반면, 다른 LLM은 집계자로서 더 나은 성능을 보이며, 일부는 두 역할을 모두 효과적으로 수행할 수 있습니다. 자세한 결과는 다음 섹션에서 논의하겠습니다.
MoA는 많은 계층으로 구성될 수 있으므로, 동일한 LLM을 같은 계층 내에서 또는 다른 계층에 걸쳐 제안자로 재사용할 수 있습니다. 예를 들어, 각각 5개의 LLM을 포함하는 5개 계층의 MoA 시스템을 구축하고, 모든 계층에서 Llama3 70B 모델을 단일 제안자로 사용할 수 있습니다.
마지막 계층의 제안자들이 응답을 생성하면, 모든 출력은 집계자가 최종 응답을 생성할 수 있도록 하나의 일관된 프롬프트로 구조화됩니다.
다음은 그러한 프롬프트의 예입니다:
그림: 여러 LLM의 응답을 종합하고 집계하기 위한 프롬프트 예시
그림: 여러 LLM의 응답을 종합하고 집계하기 위한 프롬프트 예시. 출처.
이 개념은 기존 neural networks에서 사용되는 Mixture-of-Experts (MoE) 접근 방식과 유사하지만, 핵심적인 차이가 있습니다. 기존 신경망에서는 MoE 계층이 단일 모델 아키텍처 내의 여러 하위 네트워크로 구현됩니다. 따라서 학습 데이터와 크게 다른 새로운 데이터가 생기면, 성능을 최적화하기 위해 각 MoE 계층의 가중치를 fine-tune해야 합니다.
반면 MoA는 전적으로 prompting에 의존합니다. 따라서 시스템의 전체 성능을 개선하기 위해 LLM을 fine-tune할 필요가 없습니다. 이는 크기와 아키텍처에 관계없이 다양한 LLM을 제안자 또는 집계자로 자유롭게 선택할 수 있으므로 더 큰 유연성을 제공합니다. 또한 향후 새로운 최첨단 모델이 등장하면, 이 모델을 제안자 또는 집계자로서 MoA 시스템에 직접 구현할 수 있다는 의미이기도 합니다.
MoA는 또한 경쟁력 있는 성능을 제공하며, 다음과 같이 다양한 LLM 기능을 활용하도록 설계된 다른 멀티 에이전트 방법에 대한 효과적인 대안으로 작용합니다:
LLM ranker: 이 방법은 여러 LLM을 제안자로 사용하여 입력 쿼리에 대한 응답을 독립적으로 생성합니다. 그런 다음 독립형 LLM이 이러한 제안자들 중에서 최상의 응답을 선택합니다.
RouteLLM: 이 방법은 학습된 라우터 함수를 사용하여 쿼리 복잡도를 분석하고 어떤 LLM이 입력을 처리해야 하는지 결정합니다.
벤치마크 데이터셋에서의 평가 결과
MoA는 AlpacaEval 2.0, MT-Bench, FLASK라는 세 가지 벤치마크 데이터셋에서 평가되었습니다.
MoA의 세 가지 서로 다른 변형이 테스트되었습니다:
MoA: 레이어당 여섯 개의 제안자(Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1, dbrx-instruct)와 Qwen1.5-110B-Chat을 집계자로 사용하는 3계층 시스템입니다.
GPT-4o를 사용한 MoA: 위와 동일한 구성이나 GPT-4o를 집계자로 사용합니다.
MoA-lite: 표준 MoA와 동일한 여섯 개의 제안자 및 집계자를 사용하는 2계층 시스템입니다.
Figure: 2-layers MoA (left) vs 3-layers MoA (right)
그림: 2계층 MoA(왼쪽) vs 3계층 MoA(오른쪽). 출처.
AlpacaEval 2.0 데이터셋에서 세 가지 MoA 변형 모두 최신 모델인 GPT-4 Omni를 최대 8.2%까지 능가했습니다. GPT-4o를 집계자로 사용한 MoA 구성은 변형들 중 가장 높은 LC 승률을 달성했습니다.
세 가지 MoA 변형 모두 MT-Bench 데이터셋에서도 경쟁력 있는 성능을 보였습니다. 현재 최신 모델인 GPT-4 Turbo가 매우 뛰어난 성능을 보였지만, GPT-4o를 집계자로 사용한 MoA가 이를 뛰어넘었습니다. MoA 변형들과 다른 최신 모델 간의 성능 비교는 아래와 같습니다:
Figure: Results on AlpacaEval 2.0 (left) and MT-Bench (right)
그림: AlpacaEval 2.0(왼쪽) 및 MT-Bench(오른쪽) 결과. 출처.
FLASK 데이터셋은 AlpacaEval 2.0 및 MT-Bench보다 더 세분화된 평가를 제공하며, 견고성, 정확성, 효율성, 사실성, 상식, 이해도, 통찰력, 완전성, 메타인지, 가독성, 간결성, 무해성의 12가지 측면을 평가합니다.
Qwen1.5-110B-Chat을 집계자로 사용한 MoA 구성은 정확성, 사실성, 통찰력, 완전성, 메타인지의 다섯 가지 측면에서 GPT-4 Omni를 능가했습니다. 한편, 간결성을 제외하면 다른 지표의 성능은 GPT-4 Omni와 상당히 비슷합니다. MoA 구성은 아래 그림과 같이 간결성에서 두드러진 하락을 보였습니다:
Figure: Results on FLASK
그림: FLASK 결과. 출처.
이제 GPT-4 계열과 같은 최신 모델 대비 성능을 알았으므로, 관련된 다른 mixture-of-agent 방법들과 비교한 성능을 살펴보는 것도 흥미롭습니다.
이전 섹션에서 언급했듯이, 또 다른 mixture-of-agent와 유사한 방법의 예로는 LLM ranker가 있으며, 이는 여러 LLM(제안자)을 사용하여 입력 프롬프트에 대한 독립적인 응답을 생성합니다. 집계자를 사용하는 대신, LLM ranker는 제안자들 중에서 최상의 응답을 선택합니다.
평가를 위해 MoA와 LLM ranker는 동일한 여섯 개의 제안자(Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1, dbrx-instruct)를 사용했습니다. 각 제안자는 MoA의 집계자로 테스트되었으며, LLM ranker는 최상의 응답을 선택하기 위해 Qwen1.5-110B-Chat만 사용했습니다.
AlpacaEval 2.0 데이터셋 평가에서 MoA는 사용된 aggregator와 관계없이 LLM ranker들을 일관되게 능가했습니다. 이는 MoA 방법의 잠재력을 보여주며, 여기서 최종적으로 aggregator는 단순히 proposer들의 응답 중 하나를 선택하는 것이 아니라, 모든 proposer의 응답을 종합해 더 유능하고 견고한 최종 응답을 생성합니다.
그림: 6개의 proposer를 사용하는 MoA 설정에서 서로 다른 aggregator에 따른 AlpacaEval 2.0의 LC 승률
그림: 6개의 proposer를 사용하는 MoA 설정에서 서로 다른 aggregator에 따른 AlpacaEval 2.0의 LC 승률. 출처.
Mixture-of-Agents (MoA) 설정 권장 사항
이제 각각 여섯 개의 서로 다른 proposer를 사용하는 세 가지 변형으로 GPT-4 계열과 비교한 MoA의 성능을 살펴보았으므로, 두 가지 핵심 질문이 제기됩니다: proposer의 수는 MoA의 전체 성능에 어떤 영향을 미칠까요? 그리고 서로 다른 LLM 대신 동일한 LLM 여러 개를 proposer로 사용하면 어떤 일이 일어날까요?
proposer 수의 영향을 파악하기 위해 MoA 논문의 저자는 다양한 proposer 수로 AlpacaEval 2.0에서 MoA를 평가했습니다. 이들은 6개, 3개, 2개, 1개의 서로 다른 proposer를 사용하는 2-layer MoA 구성의 LC 승률을 측정했습니다. 결과는 proposer가 많을수록 aggregator가 더 견고한 응답을 생성하는 데 도움이 된다는 것을 보여줍니다.
또한 단일 proposer(동일한 LLM들을 proposer로 사용)를 사용하는 MoA 설정은 다중 proposer 구성보다 성능이 낮았습니다. 이는 MoA가 하나의 동일한 LLM을 사용하는 것보다 서로 다른 전문성을 가진 다양한 LLM 집합을 갖출 때 이점을 얻는다는 것을 시사합니다.
그림: proposer 수가 AlpacaEval 2.0에 미치는 영향.
그림: proposer 수가 AlpacaEval 2.0에 미치는 영향. 출처.
다중 proposer 설정의 장점을 고려할 때, 이러한 구성에서 어떤 LLM이 가장 잘 작동하는지 이해하는 것도 중요합니다. AlpacaEval 2.0에서 여섯 가지 서로 다른 LLM을 테스트한 결과, GPT-4o, Qwen, Llama 3와 같은 모델은 proposer와 aggregator 모두로 활용될 만큼 다재다능한 것으로 나타났습니다. 그러나 WizardLM과 같은 모델은 aggregator보다 proposer로 사용할 때 눈에 띄게 더 좋은 성능을 보입니다.
proposer와 aggregator로 사용된 서로 다른 LLM의 영향
proposer와 aggregator로 사용된 서로 다른 LLM의 영향. 출처.
비용과 관련하여, MoA가 여러 LLM에 의존한다는 점은 GPT-4o 및 GPT-4 Turbo와 같은 최신 모델과 비교할 때 비용 대비 성능 비율을 특히 흥미롭게 만듭니다. 실험에 따르면 MoA-Lite는 AlpacaEval 2.0에서 GPT-4 Turbo를 약 4% 능가하면서 비용은 절반 이상 줄일 수 있습니다. 여기서 MoA-Lite의 비용은 TogetherAI에서 제공하는 가격 정보를 기반으로 계산되었습니다. 그러나 성능 극대화를 위해 더 많은 비용을 지출하는 데 문제가 없다면 3-layer MoA가 더 나은 선택이 될 것입니다.
그림: 성능 트레이드오프 vs 비용(왼쪽) 및 성능 트레이드오프 vs TFLOPS(오른쪽).
그림: 성능 트레이드오프 vs 비용(왼쪽) 및 성능 트레이드오프 vs TFLOPS(오른쪽). 출처.
지연 시간 평가를 위해 저자들은 TFLOPS를 지표로 사용했습니다. TFLOPS는 시스템이 1초에 1조 개의 부동소수점 연산을 수행할 수 있는 능력을 의미합니다. TFLOPS가 지연 시간과 정확히 비교 가능한 것은 아니지만, 지연 시간은 추론 시스템에 따라 달라질 수 있기 때문에 저자는 TFLOP를 지연 시간의 대용 지표로 사용했습니다. 실험 결과는 위 시각화의 파레토 점선으로 표시된 것처럼, 3계층 MoA 설정이 LC 승률을 최대화하기 위해 TFLOPS를 최적화한다는 것을 보여주었습니다.
그러나 GPT-4 family는 MoA 설정에 비해 더 높은 TFLOPS를 보여줍니다. 이는 MoA가 최종 출력을 생성하기 전에 여러 LLM 응답을 처리해야 하므로 예상되는 결과입니다. 이는 주요 한계로 이어집니다: Time to First Token (TTFT)이며, 이는 사용자 경험에 부정적인 영향을 미칠 수 있습니다. 향후 연구는 전체 응답 집계 대신 청크 단위 응답 집계를 구현하여 이를 해결하는 것을 목표로 하며, 성능을 유지하면서 TTFT를 잠재적으로 줄일 수 있습니다.
결론
Mixture-of-Agents (MoA) 방법은 현대 LLM의 다양성과 전문성을 활용할 수 있는 유망한 솔루션을 제공합니다. 제안자와 집계자의 시스템을 통해 다양한 강점을 가진 여러 LLM을 활용함으로써, MoA는 더 유능하고 견고한 최종 응답을 생성합니다. prompt engineering에 의존하는 유연성과 방식은 fine-tuning이 아니라, 비용 효율적이고 적응력이 뛰어난 접근 방식이 되게 하며, 특히 다중 도메인 사용 사례에 적합합니다.
AlpacaEval 2.0 및 MT-Bench와 같은 데이터셋에 대한 벤치마크 평가는 MoA가 GPT-4 family와 같은 최첨단 모델보다 우수한 성능을 보인다는 것을 보여줍니다. 성능을 더욱 최적화하려면 단일 제안자 설정 대신 다중 제안자를 사용하는 것이 권장됩니다. 그러나 MoA에도 한계가 없는 것은 아닙니다. 여러 LLM에 대한 의존은 지연 시간을 증가시켜, 더 높은 Time to First Token (TTFT)으로 인해 사용자 경험에 영향을 미칩니다. 따라서 청크 단위 응답 집계와 같은 추가적인 개선이 효율성을 최적화하는 데 필요합니다.
관련 리소스
MoA GitHub Repo: https://github.com/togethercomputer/MoA
MoA Paper: Mixture-of-Agents Enhances Large Language Model Capabilities
계속 읽기

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

Milvus WebUI: A Visual Management Tool for Your Vector Database
Explore Milvus WebUI to monitor, manage, and optimize your vector database with real-time insights, performance tracking, and system health monitoring.


