MetaLLM: A High-performant and Cost-efficient Dynamic Framework for Wrapping LLMs

하임·2024년 11월 28일

Routing

목록 보기
5/44

https://arxiv.org/pdf/2407.10834

간단 요약

MetaLLM 방법론은 비용 효율적이면서도 높은 성능을 유지하기 위해 각 쿼리에 대해 최적의 LLM(대형 언어 모델)을 선택하여 라우팅하는 동적 프레임워크입니다. MetaLLM의 주요 개념과 방법론을 이해하기 쉽게 설명하면 다음과 같습니다.

1. 문제 정의

MetaLLM은 다양한 LLM들 중에서 각 쿼리에 대해 정확하면서도 저렴한 비용으로 결과를 반환하는 모델을 선택하는 문제를 해결하고자 합니다. 이는 LLM 사용 비용과 성능 간의 최적 균형을 이루기 위해, 입력된 쿼리를 분석하고, 이에 맞는 LLM을 선택하는 과정을 포함합니다.

2. 멀티암드 밴딧(Multi-Armed Bandit) 알고리즘 적용

MetaLLM은 멀티암드 밴딧 접근 방식을 활용해 쿼리 라우팅 문제를 해결합니다.

  • 팔(Bandit Arm): 각 LLM을 하나의 '팔'로 간주하며, 이를 선택할 때마다 해당 LLM이 쿼리에 대해 답을 반환합니다.
  • 보상 함수(Reward Function): 각 쿼리에 대해 올바른 응답을 제공하면서도 비용이 낮은 모델이 높은 보상을 얻도록 설계되었습니다. 이를 통해 MetaLLM은 비용이 적으면서도 정확한 답을 제공하는 LLM을 점진적으로 선택하는 방향으로 학습됩니다.

3. 보상 함수와 비용 최적화

MetaLLM은 다음과 같은 방식으로 보상을 최적화합니다.

  • 보상 함수 설계: r(x,i)=ai(x)p×cir(x, i) = a_i(x) - p \times c_i 로 정의된 보상 함수는 쿼리 xx 에 대해 모델 ii 가 올바른 응답을 제공할 확률과 모델의 비용 cic_i 의 조합입니다.
  • 비용 스케일링: 비용 성분에 가중치 pp 를 추가해, 정확도와 비용 간의 균형을 사용자 요구에 맞게 조정할 수 있습니다. 이를 통해 고비용 모델을 자주 사용하지 않고도 높은 성능을 유지할 수 있습니다.

4. 훈련 및 추론 단계

  • 훈련: 각 쿼리에 대해 기대되는 보상을 계산하고, 가장 높은 보상을 제공하는 모델을 선택합니다. 모델의 선택과 실제 보상 간의 오차를 최소화하는 방식으로 학습이 진행됩니다.
  • 추론: 추론 시에는 각 모델의 보상 값을 계산하여 가장 높은 보상을 기대할 수 있는 모델로 쿼리를 라우팅합니다.

5. 실험 결과

MetaLLM은 다양한 LLM API(OpenAI, Amazon Bedrock 등)를 활용하여 텍스트 분류에서 기존의 단일 모델을 사용하는 방식보다 비용을 줄이면서도 정확도를 향상시키는 결과를 보였습니다.

MetaLLM의 방법론을 좀 더 자세히 설명하겠습니다. 이 프레임워크는 다양한 LLM 중에서 각 쿼리에 최적의 모델을 선택하여 비용 효율성을 높이면서도 높은 성능을 유지하려고 합니다. 이를 위해 MetaLLM은 다음과 같은 구성 요소와 프로세스를 포함합니다.

방법에 대한 좀 더 자세한 요약

1. 문제 정의와 목표

MetaLLM은 다양한 LLM이 서로 다른 특성과 비용 구조를 가지고 있을 때, 주어진 쿼리에 대해 가장 적절하고 비용 효율적인 LLM을 선택하는 것을 목표로 합니다. 이 목표를 달성하기 위해 쿼리별로 가장 성능이 좋으면서도 비용이 적은 모델을 선택하도록 설계되었습니다.

2. 멀티암드 밴딧 문제로의 모델 선택 접근

MetaLLM은 각 쿼리에 대한 최적의 모델을 선택하는 문제를 멀티암드 밴딧 문제로 접근합니다.

  • 팔(Arm): 각 LLM을 하나의 팔로 보고, 모델을 선택할 때마다 이 모델이 올바른 응답을 제공하는지, 그리고 그에 따른 비용이 얼마나 드는지를 확인합니다.
  • 보상(Reward): 각 쿼리에 대해 적합한 답변을 제공하면서도 비용이 낮은 모델에 높은 보상을 주어, 모델 선택이 점차 비용 대비 성능이 높은 모델을 선택하는 방향으로 학습됩니다.

3. 보상 함수 설계

MetaLLM의 보상 함수는 성능과 비용을 동시에 고려하는 형태로 구성되어 있습니다.

  • 보상 함수는 r(x,i)=ai(x)p×cir(x, i) = a_i(x) - p \times c_i 의 형태로 정의됩니다. 여기서:
    • ai(x)a_i(x) : 모델 i 가 주어진 쿼리 x 에 대해 올바른 응답을 제공할 확률입니다.
    • cic_i : 모델 i 의 비용입니다.
    • p : 비용 가중치로, 이를 통해 정확도와 비용 간의 균형을 사용자 요구에 맞게 조정할 수 있습니다.
  • *비용 가중치 p **의 값에 따라 성능과 비용 간의 우선순위를 조정할 수 있으며, 작은 값일수록 정확도를 높이는 데 중점을 두고, 큰 값일수록 비용 절감에 중점을 둡니다.

4. 훈련 단계와 최적화

MetaLLM의 훈련은 쿼리별 보상을 최적화하는 과정으로 진행됩니다.

  • 각 훈련 샘플에 대해 보상 Q 의 기대값을 계산한 후, 가장 높은 보상을 줄 모델을 선택합니다. 선택한 모델의 실제 보상과 기대 보상 간의 차이를 최소화하여 파라미터 θ\theta 를 업데이트하는 방식으로 훈련이 이루어집니다.
  • 구체적인 훈련 과정:
    1. 각 쿼리에 대해 가능한 모든 LLM 팔(Arm)들의 보상을 계산합니다.
    2. 보상이 가장 높은 팔을 선택하고, 그 보상 값과 실제 응답의 오차를 기반으로 파라미터를 업데이트하여 성능을 향상시킵니다.

5. 추론 단계와 모델 라우팅

  • 추론 시에는 훈련된 모델의 파라미터를 사용하여 각 LLM의 보상을 계산하고, 보상이 가장 높은 모델을 선택하여 쿼리에 응답합니다.
  • 추론 과정은 비용이 많이 드는 모델 사용을 피하면서도 쿼리의 답변 품질을 유지할 수 있도록 설계되어, 높은 비용 효율성을 달성합니다.

6. 비용 스케일링과 동적 비용 처리

  • MetaLLM은 동적 비용 처리가 가능한데, 이는 쿼리의 길이와 복잡성에 따라 비용이 달라질 수 있기 때문에 중요합니다. 예를 들어, 더 긴 쿼리는 더 높은 비용을 유발할 수 있습니다.
  • 그러나, 동적 비용 처리는 고비용 모델로의 라우팅을 더욱 줄이기 때문에 성능에는 일부 영향을 미칠 수 있습니다. 따라서 기본적으로는 고정 비용 설정이 추천됩니다.

7. 실험 결과와 성능 분석

MetaLLM은 OpenAI 및 Amazon의 Bedrock API에서 테스트되었으며, 동일한 성능을 유지하면서도 최대 60%의 비용 절감 효과를 보였습니다. 이는 MetaLLM이 쿼리에 적합한 LLM을 선택함으로써 달성한 성과로, 고가 모델을 사용하는 방식보다 비용 효율적입니다.

요약

MetaLLM은 사용자가 요구하는 성능과 비용 간의 균형을 맞추기 위해 멀티암드 밴딧 문제로 접근하여 각 쿼리에 가장 적합한 모델을 선택하는 동적 프레임워크입니다.

MetaLLM의 실험 결과는 다양한 LLM API 환경에서 성능과 비용 효율성을 평가하여 다음과 같은 주요 결과를 보여줍니다.

1. OpenAI 모델에서의 성능 평가

  • OpenAI의 다양한 모델(text-ada-001, text-babbage-001, text-curie-001, text-davinci-002)을 사용하여 실험한 결과, MetaLLM은 정확도를 1% 이상 향상시키면서도 최대 60%의 비용을 절감하는 효과를 보였습니다.
  • 특히, 가장 고가의 모델(text-davinci-002)을 기본으로 사용할 때보다 MetaLLM은 비용을 대폭 절감하면서도 유사하거나 더 나은 성능을 유지했습니다. 예를 들어, text-curie-001 모델보다 약간 더 높은 정확도를 유지하면서도 약 32%의 비용 절감 효과가 있었습니다.

2. Amazon Bedrock API에서의 평가

  • Amazon Bedrock에서 제공하는 Titan Lite, Cohere Command-Light, Llama 2 7B, Claude Instant 모델을 사용하여 테스트한 결과에서도 비슷한 성능과 비용 절감 효과가 확인되었습니다.
  • MetaLLM은 비용 가중치 p = 0.5 일 때, 가장 성능이 좋은 모델(Llama 2 7B)보다 3% 이상의 정확도를 높이면서도 42%의 비용 절감을 달성했습니다.
  • 또한, 비용이 가장 저렴한 Titan Lite 모델과 비교했을 때는 3% 이상의 정확도 향상을 이루었으며, 비용도 비슷한 수준으로 유지되었습니다.

3. 쿼리별 성능 차이 분석

  • MetaLLM은 고가의 모델이 항상 최상의 성능을 보이지 않는다는 점을 실험적으로 보여줍니다. 예를 들어, 특정 쿼리에서는 더 저렴한 모델(text-ada-001, text-babbage-001)이 고가 모델(text-curie-001, text-davinci-002)보다 정확하게 응답할 수 있었습니다.
  • 이를 통해, MetaLLM은 고가의 모델을 무조건적으로 사용하는 것이 아니라 쿼리에 따라 성능이 더 높은 저가 모델을 선택하여 비용을 절감하고 성능을 유지하는 데 기여했습니다.

4. 동적 비용 설정에 대한 실험

  • 쿼리의 길이에 따라 비용이 달라지는 동적 비용 설정 실험 결과, 고정 비용 설정과 비교했을 때 큰 성능 차이는 없었지만 일부 긴 쿼리에서는 저가 모델로 라우팅하는 경우가 많아져 성능이 다소 감소할 수 있다는 점이 확인되었습니다.
  • 따라서 고정 비용 설정이 대부분의 경우에 더 나은 성능을 유지하며, 고비용 모델로의 라우팅을 줄일 수 있는 효율적인 방법임을 보여줍니다.

5. 파라미터 pp 값에 따른 성능 변화

  • 비용 가중치 p 의 값에 따라 성능과 비용의 트레이드오프가 발생하는데, p 가 작을수록 높은 성능을 유지하면서도 더 고가의 모델을 사용하는 경향이 나타났습니다. 반대로, p 값이 커질수록 비용 절감에 더 중점을 두어 저가의 모델이 더 자주 선택되었습니다.
  • 최적의 p 값을 설정함으로써 사용자는 자신의 애플리케이션 요구 사항에 맞는 성능과 비용의 균형을 맞출 수 있습니다.

결론

MetaLLM은 쿼리에 대해 적합한 모델을 선택함으로써 정확도를 유지하거나 향상시키면서도 비용을 상당히 절감할 수 있는 효과적인 프레임워크입니다. 특히, MetaLLM은 고가 모델에 의존하지 않고도 동일하거나 더 나은 성능을 유지하며, 다양한 LLM 간의 성능 차이를 활용하여 비용 절감 효과를 최대화합니다.


초록

기계 학습(ML)의 급속한 발전은 다양한 작업과 분야에서 뛰어난 성능을 발휘하는 대형 언어 모델(LLM)의 등장을 가져왔습니다. 이러한 LLM은 계산이나 가격 측면에서 다양한 능력과 비용을 수반합니다. 각 쿼리에 대한 요구가 쿼리된 도메인이나 복잡성에 따라 달라질 수 있기 때문에, 하나의 LLM을 기본값으로 사용하는 것은 일반적으로 최적의 선택이 아닙니다. 가장 크거나 가장 비싸거나 평균 테스트 성능이 가장 좋은 모델이라 하더라도, 항상 이상적이지 않기 때문입니다. 따라서, 애플리케이션에 맞게 정확하면서도 비용 효율적인 LLM을 선택하는 것은 여전히 도전 과제입니다. 본 논문에서는 여러 LLM 중 최적의 모델을 선택하여 각 쿼리를 동적으로 라우팅하는 메타LLM(MetaLLM)이라는 프레임워크를 소개합니다. 이 프레임워크는 분류 작업에서 향상된 정확성과 비용 효율성을 달성합니다. 또한, 모델 선택 문제를 멀티암드 밴딧 문제로 구성하여 예측 정확성과 비용 효율성을 균형 있게 조절합니다. 본 연구는 OpenAI의 GPT 모델, Amazon의 Titan, Anthropic의 Claude, Meta의 LLaMa 등 주요 LLM 플랫폼을 사용한 실험을 통해 MetaLLM의 실제 시나리오에서의 효과를 입증하며, 분류 작업을 넘어서는 미래 확장 가능성의 기초를 마련합니다.

1 서론

대형 언어 모델(LLM)은 텍스트 분류, 요약, 질문 응답, 챗봇 등 다양한 작업과 분야에서 놀라운 제로샷 성능을 보이고 있습니다[22, 1, 25, 32, 21, 29]. 최근 연구들[13, 5, 10]에서는 모델 크기와 학습 데이터 크기를 확장하여 언어 모델의 성능을 개선하고 모델의 잠재 능력을 자극하는 방향을 제안하고 있습니다. 예를 들어, 1.74조 개 이상의 파라미터를 가진 GPT-4는 여러 작업에서 뛰어난 성능을 보여주지만, 높은 경제적 비용도 수반됩니다. 언어 모델 확장의 추세는 앞으로도 계속될 것으로 예상되지만, 최근 모델들 간에는 작업 또는 (하위)도메인 특화와 계산 비용 측면에서 점점 다양성이 증가하고 있습니다. 이에 따라, LLM 사용자들은 애플리케이션에 적합한 LLM을 식별하는 것이 더욱 어렵고, 계산 자원이나 API 서비스 요금과 같은 비용 제약을 고려하면 더욱 복잡해집니다.

본 논문에서는 여러 LLM 제공자가 존재하는 세상을 상상해 보겠습니다. 예를 들어 OpenAI3 또는 Amazon의 Bedrock4와 같은 여러 제공자가 다양한 능력과 비용 구조를 가진 LLM을 서비스합니다. 여기서 LLM 사용자는 "내 애플리케이션에서 최적의 성능과 사용 비용을 달성하기 위해 어떤 LLM i(k개의 LLM 중에서)를 선택해야 하는가?"라는 중요한 질문을 던지게 됩니다. 기존의 앙상블 방법[12, 30]과 같이 여러 LLM을 결합하는 옵션이 있지만, 이는 서비스 비용을 상당히 증가시킬 수 있습니다. 다른 방법으로는 일련의 LLM에 대해 순차적으로 쿼리를 진행하는 방법[4]이 있으나, 최적의 모델을 찾기 위해 여전히 여러 모델에 쿼리를 보내야 합니다. 반면, 단일 LLM을 기본값으로 설정하여 여러 모델을 쿼리하는 추가 비용을 피하는 방식은 일부 쿼리에 대해 적합한 모델이 덜 비용이 많이 드는 모델일 수 있다는 점에서 최적이 아닐 수 있습니다. 또한, 서로 다른 LLM은 다양한 작업과 데이터 분포에서 매우 독특한 성능을 보이기 때문에[12, 30], 특정 쿼리에 대해 LLM i가 LLM j보다 성능이 뛰어나면서도 비용이 더 낮을 수 있습니다.

본 연구에서는 다양한 능력을 가진 여러 LLM을 감싸는 프레임워크를 제안하여 사용자 애플리케이션에 최적의 성능을 보다 저렴한 비용으로 제공합니다. 이 프레임워크의 핵심 구성 요소는 멀티암드 밴딧 알고리즘으로, 제로샷 분류 작업에 대해 올바른 답변을 제공하는 가장 저렴한 LLM으로 각 쿼리를 라우팅합니다. 우리는 쿼리에 대해 "최적의" LLM을 선택하는 문제를 불확실성 하에서의 의사 결정 문제로 공식화합니다. 새 쿼리가 도착하면, 제안된 프레임워크는 응답할 LLM을 선택하고 해당 LLM이 올바른 답을 제공하는지 관찰합니다. 목표는 전체 성능과 사용 비용 간의 특정 균형을 최대화하는 것입니다. 직관적으로, 우리의 방법은 저렴한 비용으로 쿼리에 답변할 확률이 높은 LLM을 선호합니다. 본 연구의 기여는 다음과 같이 요약할 수 있습니다:

  • 메타LLM(MetaLLM)을 제안하여 제로샷 텍스트 분류 작업을 위해 다양한 오픈 소스 LLM을 감싸는 다목적 래퍼 역할을 수행하고, 쿼리마다 최적의 성능과 비용을 달성할 수 있는 목표 LLM을 지능적으로 선택합니다.
  • MetaLLM의 라우팅 문제를 해결하기 위해 멀티암드 밴딧 알고리즘을 제안하며, 이는 LLM을 쿼리하지 않고도 라우팅 결정을 내릴 수 있도록 합니다.
  • OpenAI 및 Amazon의 Bedrock API를 포함한 벤치마크 데이터셋과 인기 있는 API 서비스에서 실험 결과를 통해 MetaLLM이 비용과 성능 측면에서 최적의 LLM을 식별할 수 있음을 보여줍니다. 구체적으로 MetaLLM은 최고 모델의 정확도를 약 1% 개선하고, OpenAI 및 Bedrock API의 총 비용을 각각 최대 60% 및 40% 절감합니다.

제로샷 텍스트 분류는 많은 자연어 처리(NLP) 애플리케이션에서 중요한 작업이며, LLM은 이 작업을 수행하는 예측 모델로 점점 더 많이 사용되고 있습니다. LLM을 활용하면 불균형 데이터, 누락된 데이터, 손상된 데이터, 제로샷 성능 등 텍스트 분류 모델을 처음부터 만드는 데 있어 여러 어려움을 제거할 수 있습니다. 본 연구는 제로샷 분류 문제에 중점을 두고 있지만, MetaLLM 프레임워크는 보상 함수에 적절한 지표를 추가하여 응답 품질을 평가하도록 수정함으로써 임의의 언어 작업으로 확장될 수 있습니다. 그러나, 이는 향후 연구로 남겨둡니다.

2 관련 연구

대형 언어 모델 (LLM)

대형 언어 모델(LLM)의 등장은 자연어 처리, 컴퓨터 비전, 전자 상거래를 포함한 여러 분야에 근본적인 변화를 가져왔으며, 제로샷 분류, 질문 응답, 추천과 같은 다양한 작업에서도 탁월한 성과를 보였습니다 [20, 15, 16]. 이러한 LLM의 놀라운 효과와 다재다능함은 모델 크기의 급격한 증가와 이 모델들을 학습시키기 위한 상당한 계산 비용과 데이터, 그리고 추론에 필요한 고비용의 계산 자원을 요구하는 대가로 이어졌습니다. 결과적으로, 여러 기업이나 서비스가 다양한 기능과 이질적인 비용 구조를 갖춘 LLM에 대한 접근을 사용자에게 제공하기 시작했습니다. 예를 들어, Amazon Bedrock API를 사용할 때 1,000만 토큰을 처리하는 비용은 Titan Lite가 $15, Cohere Command-Light가 $30, Llama 2 7B가 $75, 그리고 Claude Instant가 $80입니다. 이와 같은 다양한 API 선택지는 사용자에게 “어떤 LLM을 사용해야 할까?”라는 복잡한 결정을 강요하며, 여러 LLM API가 예측 작업에서 각기 다른 기능을 제공하는 것으로 알려져 있습니다 [14, 18, 19].

프롬프트 최적화와 전문가 혼합

특정 작업에서 LLM의 성능을 개선하는 방법으로 파인튜닝이 일반적인 옵션으로 사용됩니다. 전문가 혼합(MoE, Mixture-of-Experts) [8, 26, 7, 28]은 대형 모델 내에서 라우팅 연산자를 학습하여 성능을 향상시키는 방법으로, MoE는 모델을 “전문가”(모듈)로 이루어진 집합으로 가정하고 입력을 최적의 전문가로 라우팅하도록 학습합니다. 이러한 접근법은 LLM을 학습해야 하므로 많은 사용자에게는 어려운 과정이며, 단일 LLM 개선 방식은 대개 특정 모델과 시나리오에 한정됩니다. 연쇄 사고(Chain-of-Thought) [32, 31, 34]나 사고의 트리(Tree of Thoughts) [33]와 같은 프롬프트 추론 방식은 추가 학습 없이도 LLM의 성능을 개선할 수 있습니다. 그러나 MoE와 프롬프트 기반 추론 방식은 다양한 LLM 중에서 비용이 저렴한 모델을 사용할 가능성을 고려하지 못합니다.

모델 앙상블

LLM은 아키텍처와 데이터셋에 따라 다양한 능력을 보입니다 [12, 30]. Jiang 등 [12]은 5000개 이상의 지시에 대해 쿼리마다 최적의 LLM이 크게 다르며, 모델 크기와 무관하게 단일 최적 모델이 없다는 사실을 관찰했습니다. 따라서 이들은 여러 LLM의 장점을 결합하여 성능을 높이는 앙상블 방식을 추천합니다. FrugalML [2, 3]은 높은 신뢰 점수를 가진 응답을 얻을 때까지 여러 기계 학습 모델을 순차적으로 쿼리하는 방식으로 모델을 연쇄적으로 배치합니다. FrugalML에서 영감을 받은 Chen 등 [4]은 고품질의 응답을 위해 프롬프트 엔지니어링, 캐싱, 연쇄 모델링을 포함한 여러 기술을 사용하여 LLM의 잠재력을 최대한 활용합니다.

모델 선택

여러 모델의 강점을 결합하는 이전 접근 방식과 달리, 각 작업에 대해 단일 LLM을 쿼리하는 방식도 있습니다. Hari와 Thomson [9]은 LLM의 성능을 예측하여 최고 성능을 낼 모델로 라우팅하는 방법을 제안했으나, 이는 라우터 비용이 높다는 단점이 있습니다. Šakota 등 [24]은 비용-성능 균형을 정수 선형 계획 문제(ILP)로 공식화하고, 기존의 ILP 솔버를 사용하여 각 입력 쿼리에 적합한 LLM을 할당합니다. Lu 등 [17]은 외부 보상 모델의 선호도를 바탕으로 최적의 성능을 달성하는 LLM을 선택하는 방식을 제안하지만, 비용은 고려하지 않습니다. Ding 등 [6]은 쉬운 쿼리는 작은 모델로, 어려운 쿼리는 큰 모델로 라우팅하는 방법을 제안했으나, 이 프레임워크는 두 개의 LLM을 사용할 때에만 적용할 수 있습니다. 최근 Hu 등 [11]은 비용과 성능에 따라 라우팅 모델을 평가하기 위한 벤치마크를 제안했습니다.

상용화된 파운데이션 모델 서비스

최근 많은 기업이 LLM 모델을 상용화하여 사용자가 고도의 기술적 지식 없이도 자신의 사용 사례에 맞게 LLM을 적용하거나 파인튜닝할 수 있도록 하고 있습니다. 2023년 OpenAI는 text-ada-001, text-babbage-001, text-curie-001, text-davinci-0025 등의 다양한 가격과 기능을 가진 여러 언어 모델을 출시했습니다. 사용자는 이러한 모델을 챗봇으로 활용하거나, 텍스트 임베딩을 추출하거나, 코드 작성 요청에도 사용할 수 있습니다. 최근 Amazon도 Bedrock API를 출시하여 텍스트 생성, 이미지 생성, 멀티모달 모델을 포함한 여러 생성형 모델에 접근할 수 있도록 하였으며, 여기에는 Amazon의 Titan 모델뿐만 아니라 Anthropic, Cohere, Meta, Mistral, Stability 등의 다른 기업의 모델도 포함됩니다.

3 MetaLLM 프레임워크

3.1 기초 개념

제로샷 분류

본 논문에서는 추가 학습 없이 LLM을 사용하여 텍스트 분류를 수행합니다. 주어진 입력 문장 xXx \in X 에 대해, 우리는 모델 M 에게 레이블을 요청하는 프롬프트를 생성합니다. 모델이 반환한 답변 M(x)M(x) 이 해당하는 정답 레이블 y 와 일치하면 올바른 예측으로 간주합니다.

LLM API

사용자는 서로 다른 k 개의 LLM API로 구성된 집합 K 에 접근할 수 있다고 가정합니다. 각 LLM M_i 는 쿼리 x 에 대한 응답 능력과 비용 cic_i 를 가지며, 제로샷 분류 작업에서 LLM MiM_i 의 능력 ai(x){0,1}a_i(x) \in \{0, 1\} 은 답변과 정답 레이블을 비교하여 정의됩니다. Mi(x)=yM_i(x) = y 일 경우 ai(x)=1a_i(x) = 1 이 됩니다. 보통 비용이 높은 모델이 더 나은 성능을 발휘하지만, 사용자 예산이 제한적일 경우 저비용 모델을 선택할 수 있으며, 높은 성능이 필요할 때는 더 비싼 모델을 선택할 수 있습니다. 그러나 모든 쿼리에 대해 고비용 모델이 항상 최고의 선택은 아닙니다 [12, 30].

문제 정의

MetaLLM의 목표는 쿼리 x 에 대해 적절한 LLM으로 라우팅하는 함수 f:XKf : X \rightarrow K 를 학습하여 비용을 줄이며 좋은 응답을 얻는 것입니다. 예를 들어, x 에 대해 좋은 응답을 제공할 수 있는 LLM들의 부분집합 KKK' \subseteq K 가 주어졌을 때, MetaLLM의 목적은 arg minlKcl\text{arg min}_{l \in K'} c_l 을 반환하는 것입니다. 실질적으로 사용자는 애플리케이션의 요구에 따라 성능과 사용 비용을 조절할 수 있는 기능을 원합니다. 특히 주어진 예산 b 하에서 최대 성능을 달성하고자 합니다.

arg maxfi=1Naf(xi)(xi)s.t.i=1Ncf(xi)b\text{arg max}f \sum{i=1}^{N} a_{f(x_i)}(x_i) \quad \text{s.t.} \quad \sum_{i=1}^{N} c_{f(x_i)} \leq b

3.2 라우팅 목표의 최적 솔루션

행렬 S{0,1}N×kS \in \{0, 1\}^{N \times k} , ARN×kA \in \mathbb{R}^{N \times k} 에서 S 는 Si,j=1S_{i,j} = 1 일 때 f(xi)=jf(x_i) = j 이며, Ai,j=aj(xi)A_{i,j} = a_j(x_i) 는 샘플 xix_i 에 대한 j -번째 API의 성능입니다. 식 (1)의 목표는 다음과 같이 재구성될 수 있습니다.

arg maxSi=1Nj=1kAi,jSi,js.t.i=1Ncf(xi)b.\text{arg max}S \sum{i=1}^{N} \sum_{j=1}^{k} A_{i,j} S_{i,j} \quad \text{s.t.} \quad \sum_{i=1}^{N} c_{f(x_i)} \leq b.

제약 조건을 SRN×kS \in \mathbb{R}^{N \times k}j=1kSi,j=1\sum_{j=1}^{k} S_{i,j} = 1 로 완화하면, 이에 대한 이중 문제는 다음과 같이 유도됩니다.

arg minpR,qRNp+iqis.t.pcj+qiaj(xi)+1.\text{arg min}{p \in \mathbb{R}, q \in \mathbb{R}^N} p + \sum{i} q_i \quad \text{s.t.} \quad p c_j + q_i \geq a_j(x_i) + 1.

Chen 등 [3]은 모델 연쇄 구성을 위해 유사한 형태를 연구하였고, 이중 형태 (3)를 해결하는 방법을 제안했습니다. 정확한 정확도 행렬 A 를 갖춘 경우, 최적의 S 를 찾아 Si,j=1S_{i,j} = 1 인 적절한 API j 를 선택할 수 있습니다.

3.3 제안된 MetaLLM

애플리케이션을 배포할 때, 테스트 샘플을 해당 LLM에 전달하기 전에는 LLM API의 정확도를 정확히 알 수 없습니다. 기존 연구들 [3, 2]은 각 API의 성능을 예측하는 모델을 학습하여 응답이 높은 신뢰도를 가질 때까지 여러 머신 러닝 모델을 연속적으로 쿼리하는 방법을 제안합니다. 이러한 방식은 많은 쿼리가 있을 때 비용이 매우 높아지는 단점이 있습니다.

본 연구에서는 정확도 예측기를 학습하는 대신, 이 문제를 다중 무장 밴딧 문제로 재구성하여 접근합니다. 각 입력 쿼리에 대해 LLM을 “팔”로 정의하고, 해당 쿼리에 대한 LLM의 성능과 비용을 나타내는 보상을 설정합니다. 이 접근의 장점은 두 가지입니다. 첫째, 모델 설계자가 애플리케이션의 요구를 반영할 보상 함수를 설계하는 데 중점을 둘 수 있어 프레임워크의 유연성이 높아집니다. 둘째, 다중 무장 밴딧에 대한 광범위하고 잘 개발된 연구를 활용할 수 있어 이론적 기초와 실용적인 솔루션이 탄탄하게 지원됩니다. MetaLLM 프레임워크는 그림 1에 나타나 있습니다.

남은 질문은 제로샷 분류 작업을 위한 보상 함수의 설계에 대해 논의합니다. Chen 등 [3]은 비용 스케일링 pRp \in \mathbb{R} 이 (3)의 해일 경우, 라우팅 함수 f(x)=arg maxiai(x)pcif(x) = \text{arg max}_i a_i(x) - p c_i 가 (1)의 최적 해가 된다고 증명했습니다. 이 전략은 높은 성능과 저비용을 가진 LLM을 선호합니다. 이를 바탕으로 다중 무장 밴딧을 훈련하기 위한 보상 함수는 다음과 같이 제안됩니다.

r(x,i)=ai(x)pci.r(x, i) = a_i(x) - p c_i.

훈련 과정에서 각 팔 j' 에 대해 훈련 샘플 x 의 예상 보상 Qj(x;θ)Q_{j'}(x; \theta) 를 계산하고, 가장 높은 예상 보상을 가지는 팔 j 를 선택하여 다음 목표를 최소화합니다.

θ=arg minθQj(xi,θ)(aj(xi)pcj)22.\theta = \text{arg min}_{\theta'} \| Q_j(x_i, \theta') - (a_j(x_i) - p c_j) \|_2^2.

추론 과정에서는 각 쿼리에 대해 각 팔의 예상 보상을 반환하고, 그 쿼리를 가장 높은 보상을 가진 LLM에 라우팅합니다. MetaLLM의 훈련 및 추론 알고리즘은 알고리즘 1에 설명되어 있습니다.

알고리즘 1: MetaLLM 프레임워크

입력: 비용 cjc_j 와 정확도 함수 aj()a_j(\cdot) 를 가지는 k 개의 LLM, 비용 스케일링 p , 매개변수 θ\theta , 훈련 샘플 {x1,...,xN}\{x_1, ..., x_N\}, 테스트 쿼리 x

출력: 쿼리 x 에 대한 최적의 LLM

훈련 단계

  1. s=1s = 1 부터 단계별로 진행
  2. 각 샘플 i=1i = 1 부터 N 까지:
    • jarg maxjQj(xi;θ)j \leftarrow \text{arg max}{j'} Q{j'}(x_i; \theta)
    • θarg minθQj(xi,θ)(aj(xi)pcj)22\theta \leftarrow \text{arg min}_{\theta'} \| Q_j(x_i, \theta') - (a_j(x_i) - p c_j) \|_2^2

추론 단계

가장 높은 보상을 가진 j 를 반환합니다.

4 실험

이 절에서는 주요 API와 벤치마크 데이터셋에 대한 MetaLLM의 실험 결과를 제공합니다.

4.1 실험 환경

LLM 서비스

실험은 OpenAI와 Amazon의 Bedrock에서 제공하는 LLM을 사용하여 진행했습니다. OpenAI에서는 서로 다른 비용과 기능을 가진 네 가지 모델(text-ada-001, text-babbage-001, text-curie-001, text-davinci-002)을 선택했습니다. 각 모델의 비용은 표 1에 나타나 있습니다.

모델비용
text-ada-001$0.0004 / 1K tokens
text-babbage-001$0.0005 / 1K tokens
text-curie-001$0.0020 / 1K tokens
text-davinci-002$0.0200 / 1K tokens

주어진 샘플 SENT에 대해 OpenAI 모델을 다음 프롬프트로 쿼리했습니다:

"문장: SENT에서 이 문장의 감정이 긍정적인가 부정적인가?"

Amazon의 Bedrock API에서는 Titan Lite, Cohere Command-Light, Llama 2 7B, Claude Instant이라는 서로 다른 네 가지 LLM을 평가했습니다. 이들은 서로 다른 계열의 모델이므로, OpenAI 모델을 사용하는 설정보다 더 많은 이질성을 나타냅니다. 각 모델의 비용은 표 2에 요약되어 있습니다.

모델비용
Titan Lite$0.00015 / 1K tokens
Cohere Command-Light$0.00030 / 1K tokens
Llama 2 7B$0.00075 / 1K tokens
Claude Instant$0.00080 / 1K tokens

주어진 샘플 SENT에 대해 Bedrock API를 다음 프롬프트로 쿼리했습니다:

"단락: 'SENT'에서 이 문장의 감정이 긍정적인가 부정적인가? 한 단어로 답하세요."

데이터셋

SST-2와 IMDB라는 두 텍스트 분류 데이터셋을 사용하여 실험을 진행했습니다. SST-2는 영화 리뷰를 포함한 이진 감정 분석 데이터셋으로, 리뷰가 긍정적인지 부정적인지 분류합니다. IMDB 데이터셋은 25,000개의 훈련 샘플과 25,000개의 테스트 샘플을 포함합니다.

MetaLLM 학습

각 쿼리 입력에 대해 Sentence-BERT [23] 모델을 사용하여 임베딩 벡터를 추출하고, MetaLLM은 임베딩 벡터를 보상 기대값에 매핑하는 선형 모델로 학습되었습니다.

평가

분류 작업의 테스트 세트에서 MetaLLM의 비용과 정확도를 계산하고, 각 LLM 후보와 비교합니다. 모든 실험에서 10,000개의 쿼리당 평균 비용을 보고합니다.

4.2 OpenAI 모델에 대한 MetaLLM의 성능

표 3은 SST-2 데이터셋에서 각 OpenAI LLM과 MetaLLM의 비용 및 정확도를 보여줍니다. 비용이 높은 LLM이 더 높은 정확도를 보이는 경향이 있지만, 예산이 충분하지 않은 경우 가장 비싼 LLM을 쿼리하는 것은 최적의 선택이 아닙니다. 예를 들어, MetaLLM에서 ( p = 0.03 )일 때는 text-babbage-001을 기본 설정으로 사용할 때보다 약간 저렴한 비용으로 2% 더 높은 성능을 달성했습니다.

방법테스트 비용테스트 정확도
text-ada-0010.09680.57
text-babbage-0010.11982.12
text-curie-0010.47890.54
text-davinci-0024.77990.93
MetaLLM ( p = 0.03 )0.11184.02
MetaLLM ( p = 0.001 )0.32590.98
MetaLLM ( p = 0 )1.90191.87

4.3 다양한 LLM의 이질적인 기능

MetaLLM이 가장 비싼 OpenAI 모델보다 더 나은 정확도를 달성할 수 있다는 사실은 쿼리마다 LLM의 성능이 다를 수 있음을 나타냅니다. 그림 2는 (i, j) 위치의 값이 i 번째 모델은 맞고 j 번째 모델은 틀린 샘플의 수를 나타냅니다. 저렴한 모델들도 더 비싼 모델이 틀린 쿼리에 대해 정확히 응답할 수 있음을 보여줍니다.

4.4 동적 비용을 사용한 보상 함수

LLM의 비용은 입력의 길이에 따라 달라질 수 있습니다. 동적 비용 설정과 고정 비용 설정을 비교한 결과, 동적 비용 설정이 더 나은 정확도를 가져오지 않았으며, 높은 예산일 때는 정확도가 오히려 낮아졌습니다. 따라서, 우리는 고정 비용을 사용하는 것을 추천합니다.

4.5 Bedrock API에 대한 MetaLLM의 성능

Amazon의 Bedrock과 IMDB 데이터셋을 사용하여 이질적인 LLM 성능을 연구했습니다. 표 4는 각 접근 방식의 정확도와 비용을 제공합니다. MetaLLM ( p = 0.5 )는 최고의 LLM(Llama 2 7B)보다 더 나은 성능을 달성하면서도 비용은 훨씬 적었습니다.

방법테스트 비용테스트 정확도
Titan Lite0.47288.10
Cohere Command-Light0.94590.65
Llama 2 7B2.36291.50
Claude Instant2.52087.55
MetaLLM ( p = 0.5 )0.48591.59
MetaLLM ( p = 0 )1.37692.76

4.6 MetaLLM의 비용 스케일링 파라미터 분석

보상 함수에서 ( p )의 값에 따른 MetaLLM의 특성을 분석했습니다. 예를 들어, ( p = 0 )인 경우 성능을 최적화하려고 할 때, MetaLLM은 더 저렴한 모델을 선호하는 경향을 보였습니다. ( p = 0.001 )로 설정하면 text-davinci-002를 거의 선택하지 않으면서도 더 높은 정확도를 유지하여 비용 절감 효과를 가져왔습니다.

5 결론

본 논문에서는 최적 성능과 비용 효율성을 동시에 달성하기 위해 여러 LLM 중 적절한 모델을 선택하는 문제를 다룹니다. 우리는 다중 무장 밴딧 알고리즘을 사용하여 적절한 모델을 저비용으로 쿼리하는 보상을 학습하는 MetaLLM을 제안합니다. MetaLLM은 가벼우며, 기존의 LLM 세트 어디에서나 적용할 수 있어 실용적인 활용 사례에 유연하게 대응할 수 있습니다. 실험 결과에 따르면, MetaLLM은 OpenAI와 Bedrock API에서 제로샷 텍스트 분류 작업의 비용을 각각 60%와 40% 절감하면서도 최고 성능 API의 정확도를 약 1% 향상시킬 수 있음을 보여주었습니다.

6 한계 및 사회적 영향

6.1 한계

이전 섹션에서 언급했듯이, 본 연구에서는 NLP 애플리케이션에서 중요한 작업인 제로샷 텍스트 분류 작업에 MetaLLM의 프레임워크를 적용했습니다. LLM의 올바른 출력과 이에 따른 보상 함수를 설정하는 것이 비교적 간단하기 때문입니다. 본 논문은 MetaLLM 프레임워크의 가능성을 증명하는 데 중점을 두고 있으므로, 이는 충분한 접근입니다.

그러나 MetaLLM 프레임워크는 질문 응답이나 텍스트 생성과 같은 임의의 언어 작업으로 확장될 수 있으며, 이를 위해서는 응답 품질을 평가할 적절한 지표를 보상 함수에 통합하는 작업이 필요합니다. 이러한 보상 함수를 설계하는 데 필요한 복잡성으로 인해, 이는 독립적인 연구가 필요할 것입니다. 또한, MetaLLM은 쿼리에서 추출한 특징을 입력으로 하는 단순 선형 모델을 학습하므로, 더 세부적인 특징을 무시할 수 있습니다. 쿼리의 도메인 정보나 사용자의 요구 사항과 같은 추가 정보를 활용해 복잡한 보상 모델을 구축하면 MetaLLM의 성능을 더욱 향상시킬 수 있습니다.

마지막으로, MetaLLM은 보상 함수에서 API 쿼리의 성능과 비용이라는 두 가지 요소를 최적화하지만, 실제 평가에서는 모델의 추론 시간, 강건성, 잠재적 능력, 학습 데이터 분포와 같은 여러 요소를 보상에 통합할 수 있습니다. 이러한 요소를 결합함으로써 다양한 목적에 맞는 더욱 강력하고 신뢰할 수 있는 AI 시스템을 구축하는 데 도움이 될 것입니다.

6.2 사회적 영향

대형 언어 모델은 다양한 작업에서 도움을 제공함으로써 우리의 삶에 큰 변화를 가져왔습니다. 그러나 대형 모델은 높은 추론 비용을 수반하며, 이를 배포하는 데 많은 비용이 소요되고 높은 전력 소비로 인해 환경에 해로운 영향을 미칠 수 있습니다. MetaLLM 프레임워크는 정답을 반환할 수 있는 저렴한 모델로 입력을 라우팅함으로써 쿼리 비용을 크게 줄일 수 있으며, 여러 LLM을 결합하여 성능을 향상시킬 수도 있습니다. MetaLLM은 기존의 LLM 세트에 적용할 수 있으며, 향후 보다 현대적인 언어 모델을 탑재한 AI 시스템에도 유용하게 활용될 것입니다.

profile
NLP 공부합니당

0개의 댓글