데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

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

      JHPark 25.01.22
      6,500 8 1
      DEVOTEE 요약
      MoA(Mixture-of-Agents) 기법은 여러 LLM의 강점을 결합하여 성능을 크게 향상시키는 방법으로, 협력적이고 계층적인 구조를 통해 개선된 결과를 제공합니다. 이 기법을 사용하면 각 모델의 응답을 참고하여 더 나은 품질의 응답을 생성할 수 있으며, 비용 효율성과 성능 향상을 동시에 달성할 수 있습니다. MoA는 기존 LLM의 입력 및 설정만 변경하여 다양한 벤치마크에서 우수한 성능을 보여주며, 확장성과 유연성도 뛰어납니다.
      DEVOTEE 추천 블로그

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

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

      소개

      지난 번 PoE(Panel-of-Experts) 기법에 대해서 소개한 뒤, 이어서 MoA(Mixture-of-Agents) 기법을 소개합니다.

      에이전트 혼합(MoA, Mixture-of-Agents)이라는 이름의 이 기법은 여러 LLM의 강점을 모아서 집단적 전문 지식을 활용하여 성능을 크게 향상시킬 수 있는 기법이라는데요,

      비슷한 이름의 MoE, MoD와 함께 살펴보시죠. 😄

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

      DeepSeek-V2 모델에서 사용한 DeepSeekMoE 기법 소개|1028x828


      전문가 혼합이라 불리는 MoE(Mixture-of-Experts) 기법은 학습 시점에 여러 전문가 모델들을 포함하도록 학습하여 모델의 크기는 크지만,

      실행(추론, Inference) 시점에는 사용자의 질문(Query)에 대해 적절히 답변할 수 있는 일부 전문가들만 활성화하는 방식으로 모델의 성능을 향상시키는 기법입니다.


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

      MoD 기법에 대한 소개|1009x599


      최근에는 깊이 혼합 기법이라 부를 수 있는 MoD(Mixture-of-Depths) 기법에 대해서도 연구 및 공개가 되었는데,

      이는 활성화된 레이어를 줄이는 기법으로 깊이(depth)를 줄이는 것에 대한 것입니다.


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

      최근 여러 대규모 언어 모델(LLM)들이 출시 및 공개되고 있으며, 각각의 LLM들은 하나 또는 여러 가지 분야에서 인상적인 성능을 보이고 있습니다.

      하지만 이러한 LLM들은 모델의 크기, 학습 데이터 및 연산 인프라 등에 비례하는 성능을 보이고 있어, 이러한 모델을 더 확장하는 것은 매우 비용이 많이 들게 됩니다.


      이 논문(Mixture-of-Agents Enhances Large Language Model Capabilities)은 여러 LLM의 강점을 활용하여

      추론 및 언어 생성 능력을 향상시킬 수 있는 에이전트 혼합(Mixture-of-Agent) 프레임워크를 제안하고 있습니다.

      이러한 에이전트 혼합 기법은 모델이 다른 모델의 답변을 활용하였을 때, 설령 그 답변의 품질이 낮더라도 (활용하지 않았을 때보다)

      더 나은 품질의 답변을 생성하는 LLM 간의 협력성(Collaborativeness)에 기초하고 있습니다.

      여러 LLM의 성능과 비교한 에이전트 혼합 기법(MoA)의 성능 : AlpacaEval 2.0 및 MT-Bench|1028x434

      이러한 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)

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

      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 기법의 성능

      여러 LLM의 성능과 비교한 에이전트 혼합 기법(MoA)의 성능 : AlpacaEval 2.0 및 MT-Bench|1028x434

      위 표에서 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보다 나은 성능을 보였습니다.

      AlpacaEval 2.0의 LC 승률에 대한 평가(좌측)과 BLEU 점수(오측)|1028x570

      위 그림과 같이, MoA 기법은 단일 LLM을 사용했을 때보다 성능이 우수합니다.

      이는 집계자(aggregator)가 단순히 제안자(proposer) LLM들이 생성한 응답 중 하나를 선택하는 것이 아니라, 제안된 답변들을 종합적으로 참고하여 답변을 생성하기 때문으로 보입니다.


      위 그림의 오른쪽은 BLEU와 같은 유사성 점수를 사용하여 집계자(aggregator)의 응답과 제안자(proposer)의 응답을 비교해 본 것입니다.

      각 샘플에서 제안자들의 응답 n개를 바탕으로 GPT-4 기반 평가자가 결정한 n개의 선호도 점수와 n개의 유사성 점수 간의 순위 상관 계수를 계산한 것입니다.

      즉, 승률과 BLEU 점수 간의 양의 상관관계가 있음을 확인할 수 있습니다.

      AlapacaEval 2.0에서 효율적인 제안자 모델의 수(좌측)와 제안자/집계자 모델을 바꿔봤을 때의 성능 비교(우측)|1028x426

      그 외에도 각 계층에 적절한 제안자 수를 찾아보기 위해 제안자의 수(위 좌측 표의 $n$)를 바꿔가며 최종 품질에 미치는 영향을 분석해보았습니다.

      $n$ 의 증가에 따라 최종 품질이 증가하며, 이는 다양한 모델에서 다양한 답변을 내보내기 때문에 집계자가 사용할 수 있는 정보가 많아지기 때문으로 분석할 수 있습니다.

      (여기에서 단일 제안자(Single-Proposer) 구조는 단일 LLM을 temperature를 0.7로 고정하여 사용한 결과입니다.)


      또한, 제안자와 집계자 역할 중 무엇 하나에 뛰어난 모델이 있는지 여부를 확인해보기 위한 실험도 수행하였습니다.

      (위 우측 표) GPT-4o, Qwen, LLaMA-3 모델은 제안자와 집계자 중 어디에 사용해도 좋은 성능을 보였으며,

      WizardLM을 비롯한 일부 모델들은 집계자보다는 제안자로써 좋은 성능을 보이는 것을 확인할 수 있습니다.


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

      예산 및 토큰 분석을 포함하여, MoA가 다른 최첨단 모델에 비해 높은 성능을 낮은 비용으로 제공할 수 있음을 보여줍니다.

      이는 접근 방식이 효과적일 뿐만 아니라 비용 효율적임을 의미하며, 과도한 비용 없이 LLM 기능을 확장하는 실용적인 솔루션을 제공합니다.

      MoA 기법의 토큰 및 비용 효율성: (a) 성능 대비 비용, (b) 성능 대비 테라플롭(TFlops) 수, 지연시간을 나타내는 대리 변수|1028x698

      위 그림의 좌측(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 기법에 대한 GitHub 저장소

      https://github.com/togethercomputer/moa


      MoA 기법의 적용 사례

      OpenPipe에서 MoA 기법을 활용하여 25배 낮은 가격으로 GPT-4 성능의 모델 제공

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



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

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      JHPark 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기