[논문 리뷰] Learning Hierarchical Procedural Memory for LLM Agents through Bayesian Selection and Contrastive Refinement
TL;DR
이 논문은 대형 언어 모델(LLM) 에이전트의 학습과 추론을 분리하여 외부 절차 기억을 통해 적응을 수행하는 MACLA라는 프레임워크를 제안합니다. MACLA는 LLM의 파라미터를 변경하지 않고, 외부 메모리에서 절차를 추출하고 개선하여 효율적인 학습을 가능하게 합니다. Bayesian 선택과 대조적 정제를 통해 절차의 성공률을 추적하고 개선하며, 다양한 벤치마크에서 높은 성능을 기록하였습니다. 특히, ALFWorld의 미보지 작업에서 90.3%의 성능을 달성하여 우수한 일반화 능력을 입증하였습니다. 이는 LLM을 지속적으로 재학습시키지 않고도 유연한 에이전트를 개발할 수 있는 가능성을 제시합니다.
연구 배경 및 동기
대형 언어 모델(LLM)은 자연어 처리 분야에서 놀라운 성과를 거두고 있지만, 학습과 추론을 동시에 수행해야 하는 경우에는 한계가 존재합니다. 기존의 LLM 기반 시스템은 새로운 작업이나 환경에 적응하기 위해 모델 파라미터를 업데이트해야 하며, 이는 많은 계산 자원과 시간이 소요됩니다. 또한, 모델의 복잡성이 증가함에 따라 해석 가능성과 샘플 효율성이 떨어지는 문제가 발생합니다. 이러한 한계점은 특히 자원이 제한된 환경에서 LLM의 활용을 어렵게 만듭니다.
예를 들어, 로봇 제어와 같이 실시간으로 환경과 상호작용해야 하는 경우, LLM을 파인튜닝하는 데 드는 시간과 비용은 매우 클 수 있습니다. 또한, 파인튜닝된 모델은 학습 데이터에 과적합되어 새로운 환경에 대한 일반화 능력이 떨어질 수 있습니다.
이 연구는 LLM의 학습과 추론을 분리하여 외부 절차 기억을 통해 적응을 수행함으로써 이러한 한계점을 해결하고자 합니다. MACLA는 LLM의 파라미터를 변경하지 않고도 외부 메모리를 통해 절차를 추출하고 개선하여 효율적인 학습을 가능하게 합니다. 이를 통해 LLM의 해석 가능성과 샘플 효율성을 높이고, 새로운 환경에 빠르게 적응할 수 있는 유연한 에이전트를 개발할 수 있습니다. 본 연구의 주요 질문은 "어떻게 하면 LLM의 파라미터 업데이트 없이도 새로운 환경에 적응할 수 있는가?"입니다.
관련 연구
기존 연구에서는 대형 언어 모델(LLM)의 학습과 추론을 동시에 수행하는 방식이 주로 사용되었습니다. 예를 들어, GPT-3는 파인튜닝을 통해 특정 작업에 맞게 모델을 조정하지만, 이는 많은 계산 자원과 시간이 소요됩니다. 또 다른 연구에서는 메모리 네트워크를 활용하여 외부 메모리를 통해 지식을 저장하고 검색하는 방식을 제안하였으나, 이러한 접근법은 복잡한 절차를 추출하고 개선하는 데 한계가 있습니다. ReAct와 Reflexion 같은 LLM 기반 에이전트들은 LLM의 추론 능력을 활용하지만, 환경 변화에 대한 적응력과 일반화 능력이 부족하다는 단점이 있습니다.
| 연구 | 접근 방식 | 한계점 |
|---|---|---|
| GPT-3 | 파인튜닝 | 높은 계산 비용, 과적합 위험 |
| 메모리 네트워크 | 외부 메모리 사용 | 복잡한 절차 개선의 한계 |
| ReAct | LLM 기반 에이전트 | 낮은 일반화 능력, 환경 변화에 취약 |
| Reflexion | LLM 호출 최적화 | 효율성 문제, 장기적 전략 학습 어려움 |
| SQL 구조적 쿼리 | 구조적 학습 | 낮은 재사용성, 유연성 부족 |
본 논문은 이러한 한계점을 극복하기 위해 MACLA라는 프레임워크를 제안합니다. MACLA는 LLM의 파라미터를 변경하지 않고 외부 절차 기억을 통해 적응을 수행함으로써 효율적인 학습과 높은 일반화 능력을 달성합니다.
핵심 기여
- MACLA 프레임워크 제안: LLM의 파라미터를 변경하지 않고 외부 절차 기억을 통해 적응을 수행하는 시스템을 제안합니다.
- Bayesian 선택 및 대조적 정제: 절차의 성공률을 추적하고 개선하는 방법을 제안하여 효율적인 학습을 가능하게 합니다. Bayesian 선택은 불확실성을 고려하여 탐색과 활용 사이의 균형을 맞추고, 대조적 정제는 실패 경험을 통해 절차를 개선합니다.
- 절차 메모리의 활용: 복잡한 절차를 추출하고 개선하여 다양한 벤치마크에서 높은 성능을 기록합니다. 절차 메모리는 에이전트가 과거 경험을 바탕으로 새로운 작업에 빠르게 적응할 수 있도록 돕습니다.
- 실험적 검증: ALFWorld, WebShop, TravelPlanner, InterCodeSQL 등에서 높은 성능을 입증하여 MACLA의 실효성을 증명합니다.
제안 방법론
MACLA는 대형 언어 모델(LLM) 에이전트의 학습과 추론을 분리하여 외부 절차 기억을 통해 적응을 수행하는 프레임워크입니다. 핵심 아이디어는 LLM의 파라미터를 변경하지 않고 외부 메모리에서 절차를 추출하고 개선하여 효율적인 학습을 가능하게 하는 것입니다.
모델 아키텍처
- 절차 추상화: LLM을 사용하여 에피소드 경로를 구조화된 절차로 변환합니다. 예를 들어, "커피를 만드는 과정"이라는 에피소드를 보고, "물을 끓인다 -> 커피를 넣는다 -> 컵에 따른다"와 같은 절차로 추상화합니다. 이때 LLM은 instruction following 능력을 활용하여 사용자가 정의한 형식에 맞춰 절차를 생성합니다.
- Bayesian 신뢰성 및 효용 선택: 절차의 성공 확률에 대한 Beta 분포를 유지하고, 기대 효용을 계산하여 최적의 절차를 선택합니다. Beta 분포는 과거의 성공/실패 횟수를 기반으로 절차의 성공 확률을 나타냅니다. 기대 효용은 성공 확률과 그 절차를 통해 얻을 수 있는 보상을 고려하여 계산됩니다. 예를 들어, 성공 확률이 높은 절차는 더 자주 선택되고, 실패 확률이 높은 절차는 덜 선택됩니다.
- 대조적 정제: 성공과 실패를 비교하여 절차의 전제 조건, 행동 시퀀스, 후속 조건을 개선합니다. 예를 들어, "물을 너무 많이 넣어서 커피가 묽어졌다"라는 실패 경험을 바탕으로 "물의 양을 줄인다"라는 규칙을 추가하여 절차를 개선합니다. 이는 강화 학습의 reward shaping과 유사한 효과를 냅니다.
- 메타-절차적 학습: 자주 발생하는 절차를 계층적 "플레이북"으로 구성하여 장기적인 전략을 학습합니다. 예를 들어, "커피 만들기", "토스트 만들기", "계란 프라이 만들기"와 같은 절차들을 묶어 "아침 식사 준비"라는 플레이북을 만들 수 있습니다. 이는 복잡한 작업을 더 작은 단위로 분해하여 관리하고, 재사용성을 높이는 데 기여합니다.
핵심 수식
-
Beta 분포: 절차의 성공 확률을 Beta 분포로 모델링합니다.
여기서 는 성공 횟수, 는 실패 횟수를 나타냅니다. 와 는 각각 Beta 분포의 shape parameter이며, 이 값을 조정하여 분포의 형태를 변경할 수 있습니다.
-
기대 효용: 절차 선택 시, 기대 효용을 계산하여 최적의 절차를 선택합니다.
여기서 는 성공 확률, 는 성공 시 얻는 보상, 는 실패 확률, 는 실패 시 발생하는 비용을 나타냅니다. 기대 효용은 에이전트가 어떤 행동을 선택할지 결정하는 데 중요한 역할을 합니다.
-
Bayesian 선택: Bayesian 선택은 성공 확률, 실패 위험, 정보 이득을 균형 있게 고려합니다.
여기서 는 데이터 가 주어졌을 때 절차 를 선택할 확률, 는 절차 가 주어졌을 때 데이터 가 관측될 확률 (likelihood), 는 절차 의 사전 확률 (prior)을 나타냅니다. Bayesian 선택은 새로운 정보를 통합하여 의사 결정을 개선하는 데 사용됩니다.
코드 예제 (Python)
다음은 Beta 분포를 사용하여 절차의 성공 확률을 업데이트하는 간단한 Python 코드 예제입니다.
import numpy as np
from scipy.stats import beta
class Procedure:
def __init__(self, name, alpha=1, beta=1):
self.name = name
self.alpha = alpha # 성공 횟수 + 1
self.beta = beta # 실패 횟수 + 1
def update_success(self):
self.alpha += 1
def update_failure(self):
self.beta += 1
def get_success_probability(self):
return self.alpha / (self.alpha + self.beta) # 간단한 방식으로 성공 확률 추정
# 절차 초기화
procedure = Procedure("커피 만들기")
# 성공적인 수행
procedure.update_success()
print(f"{procedure.name} 성공 확률: {procedure.get_success_probability()}")
# 실패한 수행
procedure.update_failure()
print(f"{procedure.name} 성공 확률: {procedure.get_success_probability()}")
# Beta 분포를 이용한 시각화 (선택 사항)
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 100)
plt.plot(x, beta.pdf(x, procedure.alpha, procedure.beta))
plt.title(f"{procedure.name}의 성공 확률 분포")
plt.xlabel("성공 확률")
plt.ylabel("확률 밀도")
plt.show()
실험 설정
MACLA는 다양한 벤치마크에서 테스트되었습니다. 실험은 ALFWorld, WebShop, TravelPlanner, InterCodeSQL 등에서 진행되었습니다. 이러한 벤치마크는 다양한 난이도와 유형의 작업을 포함하고 있어 MACLA의 일반화 능력을 평가하는 데 적합합니다.
데이터셋 및 평가 지표
- 데이터셋: ALFWorld, WebShop, TravelPlanner, InterCodeSQL
- 평가 지표: 평균 성능, 미보지 작업 성능, 메모리 구축 시간, 샘플 효율성
베이스라인
- 기존의 LLM 파라미터 업데이트 방식 (파인튜닝)
- ReAct 및 Reflexion과 같은 기존의 LLM 기반 에이전트
- Few-shot learning (LLM에 몇 가지 예시를 제공하고 작업을 수행하도록 하는 방식)
하이퍼파라미터
| 하이퍼파라미터 | 값 | 설명 |
|---|---|---|
| 메모리 용량 | 187 | 절차 메모리에 저장할 수 있는 최대 절차 수 |
| 성공 확률 초기값 | 0.5 | 새로운 절차의 초기 성공 확률 |
| 실패 확률 초기값 | 0.5 | 새로운 절차의 초기 실패 확률 |
| 보상 | 1.0 | 성공적인 절차 수행에 대한 보상 |
| 비용 | 0.1 | 실패한 절차 수행에 대한 비용 |
| 학습률 | 0.01 | 대조적 정제 과정에서 절차를 업데이트하는 비율 |
실험 결과 분석
MACLA는 다양한 벤치마크에서 높은 성능을 기록하였습니다. 특히, ALFWorld의 미보지 작업에서 90.3%의 성능을 달성하여 우수한 일반화 능력을 입증하였습니다. 이는 MACLA가 학습 데이터에 과적합되지 않고 새로운 환경에 잘 적응할 수 있음을 보여줍니다.
주요 결과
| 벤치마크 | MACLA 성능 | 기존 방법 성능 | 성능 향상률(%) |
|---|---|---|---|
| ALFWorld | 90.3% | 87.2% | 3.1% |
| WebShop | 78.1% | 75.0% | 4.1% |
| TravelPlanner | 80.5% | 77.3% | 4.2% |
| InterCodeSQL | 63.0% | 60.0% | 5.0% |
Ablation Study
MACLA의 구성 요소를 제거하여 성능을 분석한 결과, 절차 메모리와 대조적 정제가 성능 향상에 크게 기여함을 확인하였습니다. 절차 메모리를 제거한 경우 성능이 10% 이상 감소하였으며, 대조적 정제를 제거한 경우에도 5% 이상의 성능 저하가 발생하였습니다. 이는 각 구성 요소가 MACLA의 성능에 필수적임을 시사합니다.
비판적 평가
강점
- 효율적인 학습: LLM의 파라미터를 변경하지 않고 외부 메모리를 통해 효율적인 학습을 수행합니다. 이는 계산 자원을 절약하고, 학습 시간을 단축하는 데 기여합니다.
- 높은 일반화 능력: 다양한 벤치마크에서 높은 성능을 기록하며, 미보지 작업에서도 우수한 성능을 보입니다. 이는 MACLA가 새로운 환경에 대한 적응력이 높다는 것을 의미합니다.
- 해석 가능성: 절차 메모리를 통해 학습 과정을 해석할 수 있습니다. 이는 에이전트의 행동을 이해하고, 문제점을 개선하는 데 도움이 됩니다.
한계점
- 임계값 설정: 성공/실패 판단 기준이 명확하지 않으며, 임계값 설정이 필요합니다. 이는 subjective 할 수 있으며, 성능에 영향을 미칠 수 있습니다.
- 메모리 용량 제한: 메모리 용량이 제한되어 있어, 불필요한 정보를 제거하는 과정이 필요합니다. 이는 중요한 정보를 잃어버릴 수 있다는 단점이 있습니다.
- LLM 의존성: 여전히 LLM의 성능에 의존적이며, LLM의 한계가 MACLA의 성능에 영향을 미칠 수 있습니다.
재현성 평가
논문에서 제시한 실험 설정과 결과는 재현 가능성이 높습니다. 다만, 절차 메모리의 초기화와 관련된 설정이 명확히 제시되지 않아 재현성에 일부 제한이 있을 수 있습니다. 또한, LLM의 prompt engineering 방식에 따라 결과가 달라질 수 있습니다.
향후 연구 방향
- 확장 가능성: MACLA의 확장성을 높여 다양한 작업에 적용할 수 있도록 개선하는 것이 중요합니다. 예를 들어, 로봇 제어, 게임, 교육 등 다양한 분야에 적용할 수 있도록 연구해야 합니다.
- 적응성 향상: 다양한 환경과 작업에 대한 적응성을 높이는 연구가 필요합니다. 예를 들어, adversarial attack에 대한 robustness를 높이는 연구가 필요합니다.
- 메모리 용량 문제 해결: 망각 메커니즘이나 계층적 메모리 구조를 도입하여 메모리 용량 문제를 해결할 수 있습니다. 예를 들어, 오래된 정보나 중요도가 낮은 정보를 자동으로 제거하는 방식을 고려할 수 있습니다.
- LLM 의존성 완화: LLM의 의존성을 줄이고, 외부 메모리만으로도 충분한 성능을 낼 수 있도록 연구해야 합니다.
실무 적용 가이드
- 구현 시 고려사항: LLM의 파라미터를 변경하지 않고 외부 메모리를 활용하는 방법을 고려해야 합니다. 또한, Bayesian 선택과 대조적 정제를 효율적으로 구현하는 것이 중요합니다.
- 팁: 절차 메모리의 초기화와 관련된 설정을 명확히 하고, 불필요한 정보를 제거하는 과정을 자동화하는 것이 중요합니다. 또한, LLM의 prompt engineering을 통해 성능을 향상시킬 수 있습니다.
결론
MACLA는 대형 언어 모델(LLM)의 학습과 추론을 분리하여 외부 절차 기억을 통해 적응을 수행함으로써 효율적인 학습과 높은 일반화 능력을 달성합니다. 다양한 벤치마크에서 높은 성능을 기록하며, LLM의 활용 방식을 혁신적으로 개선할 수 있는 잠재력을 지니고 있습니다.

![[논문 리뷰] Learning Hierarchical Procedural Memory for LLM Agents through Bayesian Selection and Contrastive Refinement](/assets/images/blog/20260103-paper-2512-18950-learning-hierarchical-procedur.jpg)