3P by ninebow 3달전 | favorite | 댓글과 토론

PyTorchKR

MoE(Mixture-of-Experts)와 MoD(Mixture-of-Depths)에 이어, LLM의 성능을 향상시키기 위한 새로운 기법이 제안되어 소개합니다. 에이전트 혼합(MoA, Mixture-of-Agents)이라는 이름의 이 기법은 여러 LLM의 강점을 모아서 집단적 전문 지식을 활용하여 성능을 크게 향상시킬 수 있는 기법이라는데요, 함께 살펴보시죠. :smiley:

전문가 혼합(MoE, Mixture-of-Experts) 기법에 대한 간단한 소개

전문가 혼합이라 불리는 MoE(Mixture-of-Experts) 기법은 학습 시점에 여러 전문가 모델들을 포함하도록 학습하여 모델의 크기는 크지만, 실행(추론, Inference) 시점에는 사용자의 질문(Query)에 대해 적절히 답변할 수 있는 일부 전문가들만 활성화하는 방식으로 모델의 성능을 향상시키는 기법입니다. #mixture-of-experts

깊이 혼합(MoD, Mixture-of-Depths) 기법에 대한 간단한 소개

최근에는 깊이 혼합 기법이라 부를 수 있는 MoD(Mixture-of-Depths) 기법에 대해서도 연구 및 공개가 되었는데, 이는 활성화된 레이어를 줄이는 기법으로 깊이(depth)를 줄이는 것에 대한 것입니다. #mixture-of-depths


MoA(Mixture-of-Agents, 에이전트 혼합 기법), LLM 성능을 향상시키기 위한 새로운 기법

에이전트 혼합(MoA, Mixture-of-Agents) 기법 논문 소개

최근 여러 대규모 언어 모델(LLM)들이 출시 및 공개되고 있으며, 각각의 LLM들은 하나 또는 여러 가지 분야에서 인상적인 성능을 보이고 있습니다. 하지만 이러한 LLM들은 모델의 크기, 학습 데이터 및 연산 인프라 등에 비례하는 성능을 보이고 있어, 이러한 모델을 더 확장하는 것은 매우 비용이 많이 들게 됩니다.

이 논문(Mixture-of-Agents Enhances Large Language Model Capabilities)은 여러 LLM의 강점을 활용하여 추론 및 언어 생성 능력을 향상시킬 수 있는 에이전트 혼합(Mixture-of-Agent) 프레임워크를 제안하고 있습니다. 이러한 에이전트 혼합 기법은 모델이 다른 모델의 답변을 활용하였을 때, 설령 그 답변의 품질이 낮더라도 (활용하지 않았을 때보다) 더 나은 품질의 답변을 생성하는 LLM 간의 협력성(Collaborativeness)에 기초하고 있습니다.

이러한 MoA 기법을 통해 여러 LLM들이 갖고 있는 고유한 강점을 가지고 있어 이들의 전문 지식을 결합하여 최종적으로 더 나은 성능을 낼 수 있도록 합니다. 그 결과, AlapacaEval 2.0, MT-Benchmark, FLASK 등의 여러 벤치마크에서 뛰어난 성능을 보였으며, 특히 GPT-4o (GPT-4 Omni) 대비 더 뛰어난 성능을 보였습니다.

무엇보다, MoA 기법은 기존의 LLM 자체를 변경하지 않고, LLM의 입력 프롬프트 및 일부 설정(temperature를 비롯한 sampling options)들만 변경하여 사용한다는 것이 무엇보다 큰 장점입니다. 즉, 별도의 미세 조정(fine-tuning)과 같은 과정이 필요하지 않으며, 사용하는 에이전트 LLM의 규모나 구조와 상관없이 최신의 LLM을 바로 적용해볼 수도 있는 유연성 및 확장성을 제공합니다.

에이전트 혼합(MoA, Mixture-of-Agents) 기법 소개

Mixture-of-Agents(MoA) 방법론은 여러 LLM의 집단적 전문 지식을 계층 구조를 통해 활용하는 것을 목표로 합니다. 각 계층은 여러 LLM 에이전트로 구성되며, 이전 계층의 출력물을 기반으로 응답을 생성하여 최종 출력을 점진적으로 개선합니다.

MoA 기법의 핵심 아이디어는 대규모 언어 모델(LLM)이 다른 모델의 답변을 참고할 때 더 높은 품질의 응답을 생성할 수 있다는 점에서 시작하고 있습니다. 즉, 여러 LLM들의 답변을 서로의 답변을 참고할 수 있도록 하여 협력성(collaborativeness)을 갖추게 함으로써, 최종 답변의 성능을 높이는 것입니다. 이렇게 하면 중간 결과물의 품질이 낮더라도 최종 답변의 품질을 크게 높일 수 있습니다.

에이전트 혼합 기법의 주요 특징들은 다음과 같이 정리해 볼 수 있습니다:

  • 계층 구조: MoA 프레임워크는 여러 LLM 에이전트로 구성된 다층 구조를 사용합니다. 각 에이전트는 이전 계층의 응답을 개선하여 최종 출력을 점진적으로 향상시킵니다.

  • 모델 다양성: 프레임워크는 각 계층에서 다양한 LLM을 사용하는 것을 강조합니다. 다양한 모델이 결합될 때 더 풍부하고 세밀한 응답을 생성할 수 있습니다.

  • 반복적 개선: 반복적인 과정은 생성된 텍스트를 지속적으로 개선할 수 있게 하며, 여러 모델의 협력적 합성을 통해 최상의 결과를 도출합니다.

대규모 언어 모델의 협력성(Collaborativeness)

대규모 언어 모델(LLM, Large Language Models)의 협력성(collaborativeness)은 다양한 LLM들이 서로의 출력을 참조할 때 더 나은 응답을 생성할 수 있는 능력을 의미합니다. 많은 연구에 따르면, 하나의 언어 모델이 다른 모델의 출력을 보조 정보로 활용하면 응답의 품질이 향상됩니다. 이는 각 모델이 서로 다른 강점을 가지고 있기 때문에 가능한 일입니다.

예를 들어, 어떤 모델은 복잡한 명령어를 잘 따르지만, 다른 모델은 코드 생성에 더 뛰어난 성능을 보일 수 있습니다. 이러한 다양성은 협력적 환경에서 각 모델이 다른 모델의 약점을 보완할 수 있게 합니다. 이러한 협력성을 실험적으로 입증하기 위해 여러 벤치마크 테스트가 사용되었으며, 특히 AlpacaEval 2.0 벤치마크에서는 여러 모델이 서로의 출력을 참조할 때 성능이 크게 향상되는 것을 확인할 수 있습니다.

이를 통해 LLM들이 독립적으로 생성한 답변을 제공받았을 때, 전체적인 성능이 현저히 향상되는 것을 관찰할 수 있습니다. 이와 같은 결과는 LLM들이 본질적으로 협력적이라는 현상을 보여줍니다. 더불어, 질이 낮은 출력물이라도 다른 모델의 출력물로부터 정보를 얻을 때 더 나은 응답을 생성할 수 있음을 시사합니다.

이 논문에서는 에이전트 혼합 기법(MoA)에서 사용하는 LLM들의 역할을 제안자(Proposer)취합자(Aggregator) 의 2가지로 나누어서 설명하고 있습니다:

  • 제안자(Proposer) LLM: 다른 모델에서 사용할 수 있는 유용한 참조 응답을 생성하는 데 탁월한 LLM입니다. 좋은 제안자는 그 자체로 반드시 높은 점수를 받는 응답을 생성하지는 않지만, 더 많은 맥락과 다양한 관점을 제공하여 궁극적으로 집계자(Aggregator) 와 함께 사용할 때 더 나은 최종 응답에 기여할 수 있습니다.

  • 집계자(Aggregator) LLM: 다른 모델(들)의 응답을 하나의 고품질 출력으로 합성하는데 능숙한 모델입니다. 효과적인 집계자는 집계자 LLM이 자체적으로 생성할 수 있는 답변의 품질보다 낮은 품질의 입력이 제안자(Proposer) 로부터 들어왔을 때도 최종 답변의 품질을 유지하거나 향상시킬 수 있어야 합니다.

에이전트 혼합 기법의 구조 (Architecture of MoA, Mixture-of-Agents)

MoA 프레임워크는 위 그림과 같이 여러 계층(Layer, $l$)으로 구성되며, 각 계층(Layer-$i$)에는 여러($n$)개의 LLM들이 포함됩니다. 그림에서는 $i$ 번째 계층에서의 각 LLM들은 $A_{i,1}$, $A_{i,2}$, ...$A_{i,n}$ 으로 표시하고 있습니다. 이 구조에서 각 계층의 에이전트는 이전 계층의 모든 출력물을 보조 정보로 사용하여 응답을 생성합니다. 이 때 유의해야 할 점은 각 LLM이 동일한 계층(layer) 및 서로 다른 계층(layer)에서 재사용될 수 있다는 것입니다.

처음에는 첫 번째 계층의 LLM이 독립적으로 주어진 프롬프트에 대한 응답을 생성합니다. 그런 다음, 이 응답은 다음 계층의 에이전트에게 전달되어 더 정교한 응답을 생성합니다. 이 과정은 최종적으로 더 정밀하고 종합적인 응답이 생성될 때까지 반복됩니다. 이 과정은 여러 차례 반복되며, 최종적으로 더 강력하고 종합적인 응답을 얻을 수 있습니다. 이를 통해 개별 모델의 한계를 극복하고, 보다 다양한 정보와 관점을 통합한 고품질의 응답을 생성할 수 있으며, 특히 복잡한 문제 해결에서 매우 유용합니다.

이러한 에이전트 혼합 기법 구조의 또 다른 중요한 요소는 모델 선택입니다. 각 계층에 포함될 모델을 성능과 다양성에 따라 신중하게 선택하는 것이 중요합니다. 성능 지표와 모델의 다양성을 고려하여 최적의 에이전트 구성을 결정합니다.

사용할 에이전트(LLM)의 선택 기준

에이전트 혼합 기법에서는 특정 작업을 얼마나 잘 수행하는지를 나타내는 성능 지표 외에도 얼마나 다양한 답변을 생성할 수 있는지를 나타내는 다양성을 사용하여 모델을 선택하고 있습니다:

  • 성능 지표(Performance Metrics): 각 모델이 특정 작업에서 얼마나 잘 수행되는지를 나타내며, 이를 통해 높은 품질의 출력을 생성할 수 있는 모델을 선택합니다. 다양성은 모델들이 서로 다른 방식으로 문제를 접근하고 해결할 수 있는 능력을 의미합니다. 예를 들어, 어떤 모델은 자연어 처리에서 뛰어난 성능을 보일 수 있지만, 다른 모델은 코드 생성이나 수학 문제 해결에서 더 나은 성능을 보일 수 있습니다. 이러한 다양한 능력을 가진 모델들을 혼합함으로써, 다중 에이전트 구조는 보다 종합적이고 강력한 응답을 생성할 수 있습니다.

  • 다양성에 대한 고려(Diversity Considerations): 모델의 다양성은 단일 모델이 가지고 있는 편향성을 줄이고, 더 넓은 범위의 문제를 해결할 수 있게 합니다. 예를 들어, 동일한 모델이 여러 계층에서 반복적으로 사용되면, 그 모델의 한계로 인해 응답의 품질이 저하될 수 있습니다. 따라서 다양한 모델을 사용하는 것이 중요합니다. 성능 지표와 다양성을 고려하여 각 계층에 적합한 모델을 선택함으로써, 최종 응답의 품질을 극대화할 수 있습니다.

단일 제안자(Single-Proposer) 구조 및 다중 제안자(Multi-Proposer) 구조

높은 수준의 추상적인 관점(High-level perspective)에서 보았을 때, 에이전트-혼합 기법(MoA)은 전문가-혼합 기법(MoE)를 모델 수준으로 끌어올린 것으로 볼 수 있습니다. 이러한 MoA 기법은 LLM의 내부 활성화나 가중치를 수정하지 않고 전적으로 프롬프트 인터페이스를 통해서만 동작할 수 있습니다. 즉, MoE와 같이 단일 모델 내에 특화된 하위 네트워크를 두지 않고 여러 계층에 걸쳐서 여러개(또는 하나)의 LLM을 사용하고 있습니다.

  • 단일 제안자(Single-Proposer) 구조: 에이전트 혼합 기법(MoA)은 기본적으로는 여러 에이전트(LLM)을 사용하는 것을 기반으로 하지만, 동일한 LLM을 여러번 사용할 수도 있습니다. 이러한 경우에는 동일한 모델에 입력을 제공할 때 temperature 설정을 비롯한 다양한 샘플링 설정을 변경하여 여러가지 다른 출력을 생성하도록 합니다. 이러한 단일 제안자 구조에서는 각 계층(layer)에서 하나 또는 소수의 모델만 활성화되지만, 이 모델들이 생성하는 다양한 응답은 집계자(Aggregator)가 최종 응답을 생성하는 데 중요한 역할을 합니다

  • 다중 제안자(Multi-Proposer) 구조: 각 계층에 다양한 모델을 사용하여 각기 다른 출력을 생성합니다. 이는 모델 간의 상호작용과 협력성을 최대화하여 더 포괄적이고 높은 품질의 응답을 생성할 수 있게 합니다. 다중 제안자 구조는 모델의 다양성을 최대한 활용하여 문제 해결의 폭을 넓히고, 단일 모델이 가지고 있는 한계를 극복할 수 있습니다. 이러한 설정을 통해 다중 에이전트 구조는 보다 강력하고 종합적인 솔루션을 제공할 수 있습니다.

여기에서 제안자(Proposers)와 집계자(Aggregators)는 상호 보완적인 역할을 수행합니다. 제안자는 다양한 접근 방식을 통해 초기 응답을 생성하고, 집계자는 이러한 응답을 종합하여 최종 응답의 품질을 보장합니다. 이러한 협력적인 구조를 통해 다중 에이전트 시스템은 단일 모델보다 더욱 강력하고 종합적인 응답을 제공할 수 있습니다.

MoA 기법의 성능 및 비용 효율성

MoA 기법의 성능

위 표에서 MoA와 MoA-Lite는 6개의 제안자(proposer)를 각각 3개 계층(Layer)과 2개 계층(Layer)을 가진 모델입니다. MoA w/ GPT-4o는 MoA의 최종 집계자(aggregator)로 GPT-4o를 사용한 모델입니다. 위 벤치마크는 각 3번 실행 후 표준편차와 평균 점수를 함께 공개하였습니다.

MoA 기법을 사용한 모델은 AlpacaEval 2.0에서 65.1%의 점수를 기록하여 GPT-4o의 57.5%를 능가했습니다. 또한, MT-Benchmark에서도 GPT-4o보다 나은 성능을 보였습니다.

위 그림과 같이, MoA 기법은 단일 LLM을 사용했을 때보다 성능이 우수합니다. 이는 집계자(aggregator)가 단순히 제안자(proposer) LLM들이 생성한 응답 중 하나를 선택하는 것이 아니라, 제안된 답변들을 종합적으로 참고하여 답변을 생성하기 때문으로 보입니다.

위 그림의 오른쪽은 BLEU와 같은 유사성 점수를 사용하여 집계자(aggregator)의 응답과 제안자(proposer)의 응답을 비교해 본 것입니다. 각 샘플에서 제안자들의 응답 n개를 바탕으로 GPT-4 기반 평가자가 결정한 n개의 선호도 점수와 n개의 유사성 점수 간의 순위 상관 계수를 계산한 것입니다. 즉, 승률과 BLEU 점수 간의 양의 상관관계가 있음을 확인할 수 있습니다.

그 외에도 각 계층에 적절한 제안자 수를 찾아보기 위해 제안자의 수(위 좌측 표의 $n$)를 바꿔가며 최종 품질에 미치는 영향을 분석해보았습니다. $n$ 의 증가에 따라 최종 품질이 증가하며, 이는 다양한 모델에서 다양한 답변을 내보내기 때문에 집계자가 사용할 수 있는 정보가 많아지기 때문으로 분석할 수 있습니다. (여기에서 단일 제안자(Single-Proposer) 구조는 단일 LLM을 temperature를 0.7로 고정하여 사용한 결과입니다.)

또한, 제안자와 집계자 역할 중 무엇 하나에 뛰어난 모델이 있는지 여부를 확인해보기 위한 실험도 수행하였습니다. (위 우측 표) GPT-4o, Qwen, LLaMA-3 모델은 제안자와 집계자 중 어디에 사용해도 좋은 성능을 보였으며, WizardLM을 비롯한 일부 모델들은 집계자보다는 제안자로써 좋은 성능을 보이는 것을 확인할 수 있습니다.

MoA 기법의 토큰 및 비용 효율성

예산 및 토큰 분석을 포함하여, MoA가 다른 최첨단 모델에 비해 높은 성능을 낮은 비용으로 제공할 수 있음을 보여줍니다. 이는 접근 방식이 효과적일 뿐만 아니라 비용 효율적임을 의미하며, 과도한 비용 없이 LLM 기능을 확장하는 실용적인 솔루션을 제공합니다.

위 그림의 좌측(a)에서는 AplacaEval 2.0 벤치마크의 각 인스턴스에 대한 평균 추론 비용과 LC 승률을 보여주고 있습니다. 각 API 제공자의 비용을 바탕으로 계산하였으며, 이는 MoA 기법이 높은 성능을 달성하면서 과도한 비용을 발생시키지 않는 비용 효율적인 방법임을 보여주고 있습니다. 특히, MoA-Lite는 GPT-4 Turbo보다 약 4% 더 우수하면서 비용 효율성은 두 배 이상인 것이 주목할만합니다.

위 그림의 우측(b)에서는 LC 승률과 테라플롭 수 간의 관계를 보여줍니다. 여기서 테라플롭 수를 지연 시간(latency)를 나타낼 수 있는 값으로 대신 사용하고 있습니다. 여기에서도 비용 효율성 분석과 유사하게 파레토 프런티어(Pareto frontier)가 관찰됩니다. 즉, 연산 자원을 효율적으로 사용하면서 LC 승률을 최대화하고 있음을 보여줍니다.

그 외 협력성과 다양성에 대한 고찰

이 논문에서 실행한 다양한 실험의 결과로, LLM은 다른 모델의 출력을 참조할 때 더 나은 응답을 생성한다는 것이 확인되었습니다. 이 협력성은 MoA 기법을 통해 성능이 향상되는 핵심 요소입니다. 또한, 각 계층에서 다양한 LLM을 사용하는 것이 단일 모델에 의존하는 것보다 일관되게 더 나은 결과를 도출한다는 것이 입증되었습니다. 즉, 모델의 다양성을 통해 나타나는 답변의 다양성이 전체적인 성능을 향상시키는데 효과적임을 확인할 수 있습니다.

결론

지금까지 살펴본 것과 같이, 에이전트 혼합 기법(MoA, Mixture-of-Agents)은 여러 LLM의 집단적 강점을 활용하는 데 있어 중요한 진전을 나타냅니다. 계층적, 협력적 접근 방식을 통해 MoA는 다양한 벤치마크에서 탁월한 성능을 발휘하며, 모델 다양성과 반복적 정교화의 가치를 입증합니다. 이 접근 방식을 활용하여 더 강력하고 효율적인 LLM 시스템을 위한 새로운 시도를 해볼 수 있을 것으로 기대합니다.

MoA 기법 논문

https://arxiv.org/abs/2406.04692

MoA 기법 저장소

https://github.com/togethercomputer/moa

OpenPipe가 MoA 기법을 활용하여 25배 낮은 가격으로 GPT-4 성능을 뛰어넘는 모델 제공

https://discuss.pytorch.kr/t/openpipe-moa-25-gpt-4/4668

<br /><br />


이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. 🤗

⚠️광고⚠️: :pytorch:파이토치 한국 사용자 모임🇰🇷이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일💌로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)