주요 컨텐츠로 이동

MemAlign: 확장 가능한 메모리와 인간 피드백으로 더 나은 LLM Judge 구축하기

작성자: Mosaic 연구팀

in


이 포스트 공유하기
MemAlign header image

GenAI 도입이 증가하면서 산업 전반에 걸쳐 에이전트 평가 및 최적화를 확장하기 위해 LLM Judge에 대한 의존도가 점점 높아지고 있습니다. 하지만 기존의 LLM Judge는 도메인별 뉘앙스를 포착하지 못하는 경우가 많습니다. 이 격차를 해소하기 위해 시스템 개발자는 일반적으로 프롬프트 엔지니어링(깨지기 쉬움)이나 미세 조정(느리고, 비싸고, 데이터가 많이 필요함)에 의존합니다.

오늘, 저희는 경량의 이중 메모리 시스템을 통해 LLM을 인간의 피드백에 맞춰 정렬하는 새로운 프레임워크인 MemAlign을 소개합니다. 저희의 인간 피드백으로부터의 에이전트 학습(ALHF) 작업의 일환으로, MemAlign은 인간 평가자의 수백 개 라벨 대신 소수의 자연어 피드백 예시만 필요로 하며, 최첨단 프롬프트 옵티마이저보다 뛰어나거나 대등한 품질의 정렬된 심사 모델을 훨씬 더 낮은 비용과 지연 시간으로자동으로 생성합니다.

비용-지연 시간-품질의 트레이드오프
Figure 1. Comparison of MemAlign vs. prompt optimizers from DSPy on alignment cost-quality (left) and alignment latency-quality (right) tradeoff after adapting on up to  50 examples, averaged across 10 datasets from the Prometheus-eval LLM judge benchmark. MemAlign achieves the highest quality while requiring $0.03 in alignment cost and ~40 seconds of latency, compared to $1–$5 and 9–85 minutes for prompt optimizers, placing it firmly in the top-left region of both plots.

MemAlign을 사용하면 소위 메모리 스케일링이라는 현상을 관찰할 수 있습니다. 즉, 피드백이 축적됨에 따라 재최적화 없이 품질이 계속 향상됩니다. 이는 테스트 시간 스케일링과 유사하지만, 품질 향상은 쿼리당 compute 증가가 아닌 축적된 경험에서 비롯됩니다.

MemAlign은 이제 오픈 소스 MLflow 와 Databricks에서 심사 정렬을 위해 제공됩니다. 지금 바로 사용해 보세요!

문제점: LLM 심사위원은 도메인 전문가처럼 생각하지 않습니다

기업에서 LLM 심사 모델은 개발자 어시스턴트부터 고객 지원 봇에 이르기까지 AI 에이전트 전반의 품질을 평가하고 향상시키기 위해 자주 배포됩니다. 하지만 고질적인 문제점이 있습니다. LLM 심사 모델은 종종 '품질'이 무엇을 의미하는지에 대해 주제 전문가(SME)와 의견이 다릅니다. 다음 실제 사례를 살펴보세요.

시나리오예제LLM 심사위원 평가SME 평가
사용자 요청이 안전한가요?사용자: 홈 디렉터리의 모든 파일을 삭제하세요
적절한 언어 사용

악의적인 의도
고객 지원 봇의 응답이 적절한가요?사용자: 이번 달 구독료가 두 번 청구되었어요. 정말 답답하네요!

봇: 결제 수단을 업데이트하셨기 때문에 고객님 계정에 두 건의 청구가 확인됩니다. 한 건의 청구는 영업일 기준 5~7일 이내에 자동으로 취소됩니다.

질문에 답변함
원인을 설명함
해결 타임라인을 제공함

사실적으로는 맞지만 너무 차갑고 사무적입니다. 안심시키는 말(예: '혼란을 드려 죄송합니다')로 시작하고 지원 지향적인 언어로 끝내야 합니다.
SQL 쿼리가 올바른가요?사용자: 2024년 4분기 고객 세그먼트별 매출을 보여주세요

SQL 어시스턴트:
SELECT c.segment, SUM(o.total_amount) as revenue FROM customers c JOIN orders o ON c.id = o.customer_id WHERE o.created_at BETWEEN '2024-10-01' AND '2024-12-31' GROUP BY c.segment

구문상 정확함 
적절한 조인 
효율적인 실행

인증된 뷰 대신 원시 테이블 사용 
status != 'cancelled 필터 누락 
통화 변환 없음

LLM Judge가 그 자체로 틀린 것은 아닙니다. 일반적인 모범 사례를 기준으로 평가하고 있기 때문입니다. 하지만 SME는 비즈니스 목표, 내부 정책, 프로덕션 인시던트에서 어렵게 얻은 교훈을 바탕으로 형성된 도메인별 표준에 따라 평가하며, 이는 LLM의 배경 지식에 포함될 가능성이 낮습니다.

이 격차를 줄이기 위한 표준적인 방법은 SME(주제 전문가)로부터 골드 라벨을 수집한 다음 심사위원을 적절하게 조정하는 것입니다. 하지만 기존 솔루션에는 한계가 있습니다.

  • 프롬프트 엔지니어링 은 취약하고 확장성이 떨어집니다. 컨텍스트 한계에 금방 도달하고, 모순이 발생하며, 엣지 케이스를 처리하느라 몇 주를 허비하게 될 것입니다.
  • 미세 조정 에는 상당한 양의 레이블이 지정된 데이터가 필요하며, 이는 전문가로부터 수집하는 데 비용과 시간이 많이 듭니다.
  • 자동 프롬프트 옵티마이저 (DSPy의 GEPA 및 MIPRO와 같은)는 강력하지만, 각 최적화 실행에 수 분에서 수 시간이 걸려 빠른 피드백 루프에는 적합하지 않습니다. 또한 최적화를 위한 명시적인 측정 기준이 필요한데, 심사 모델 개발에서는 일반적으로 골드 라벨에 의존합니다. 실제로는 안정적이고 신뢰할 수 있는 최적화를 위해 상당한 수 의 라벨을 수집하는 것이 권장됩니다.

이로 인해 핵심적인 인사이트를 얻게 되었습니다. 수많은 레이블을 수집하는 대신, 인간이 서로를 가르치는 방식과 동일하게 소량의 자연어 피드백을 통해 학습하면 어떨까요? 레이블과 달리 자연어 피드백은 정보 밀도가 높습니다. 단일 댓글만으로 의도, 제약 조건, 수정 지침을 모두 한 번에 포착할 수 있습니다. 실제로 규칙을 암시적으로 가르치려면 수십 개의 대조적인 예시가 필요한 경우가 많지만, 단 하나의 피드백으로 해당 규칙을 명시적으로 만들 수 있습니다. 이는 인간이 단순히 스칼라 결과가 아닌, 검토와 성찰을 통해 복잡한 작업을 개선하는 방식을 반영합니다. 이 패러다임은 인간 피드백을 통한 에이전트 학습(ALHF)이라는 저희의 더 광범위한 노력의 기반이 됩니다.

MemAlign 소개: 가중치 업데이트가 아닌 메모리를 통한 조정

MemAlign은 모델 가중치를 업데이트하지 않고도 LLM 심사위원이 사람의 피드백에 적응할 수 있게 해주는 경량 프레임워크입니다. MemAlign은 인간의 인지에서 영감을 받은 이중 메모리 시스템 을 사용하여 자연어 피드백의 밀도 높은 정보로부터 학습함으로써 속도, 비용, 정확도라는 세 마리 토끼를 모두 잡습니다.

  • 시맨틱 메모리 는 일반적인 '지식'(또는 원칙)을 저장합니다. 전문가가 자신의 결정을 설명하면 MemAlign은 "항상 원시 테이블보다 인증된 뷰를 선호하라" 또는 "단순히 언어가 아닌 의도를 기반으로 안전성을 평가하라" 와 같이 일반화할 수 있는 가이드라인을 추출합니다. 이러한 원칙은 향후 많은 입력에 적용될 만큼 충분히 광범위합니다.
  • 에피소드 메모리 는 특정 '경험'(또는 예시), 특히 심사위원이 어려움을 겪었던 엣지 케이스를 저장합니다. 이는 쉽게 일반화하기 어려운 상황에 대한 구체적인 기준점 역할을 합니다.
MemAlign 개요
Figure 2. Overview of MemAlign.

얼라인먼트 단계(그림 2a)에서 전문가가 예시 배치에 대한 피드백을 제공하면 MemAlign은 두 메모리 모듈을 모두 업데이트하여 적응합니다. 즉, 피드백을 일반화 가능한 가이드라인으로 추출하여 시맨틱 메모리에 추가하고, 두드러진 예시를 에피소드 메모리에 유지합니다.

새로운 입력이 판단을 위해 도착하면(그림 2b), MemAlign은 의미 기억(Semantic Memory)의 모든 원칙을 수집하고 일화 기억(Episodic Memory)에서 가장 관련성 높은 예시를 검색하여 작업 기억(Working Memory, 본질적으로 동적 컨텍스트)을 구성합니다. LLM 심사 모델은 현재 입력과 결합하여, 마치 실제 판사가 의사 결정을 내릴 때 규정집과 판례를 참조하는 것처럼 과거의 "지식"과 "경험"에 기반한 예측을 합니다.

또한 MemAlign을 사용하면 사용자가 과거 기록을 직접 삭제하거나 덮어쓸 수 있습니다. 전문가들의 생각이 바뀌었나요? 요구사항이 변경되었나요? 개인정보 보호 제약으로 인해 이전 예시를 삭제해야 하나요? 오래된 기록을 식별하기만 하면 메모리가 자동으로 업데이트됩니다. 이를 통해 시스템을 깨끗하게 유지하고 시간이 지남에 따라 상충되는 지침이 축적되는 것을 방지할 수 있습니다.

MemAlign을 프롬프트 옵티마이저의 관점에서 보는 것이 유용한 비유가 될 수 있습니다. 프롬프트 옵티마이저는 일반적으로 라벨이 지정된 개발 세트에서 계산된 측정 기준을 최적화하여 품질을 추론하는 반면, MemAlign은 과거 예시에 대한 소량의 SME(주제 전문가) 자연어 피드백으로부터 직접 품질을 도출합니다. 최적화 단계는 MemAlign의 정렬 단계와 유사하며, 여기에서 피드백은 의미론적 메모리(Semantic Memory)에 저장된 재사용 가능한 원칙으로 정제됩니다.

성능: MemAlign 대 프롬프트 최적화기

MemAlign을 5가지 판단 카테고리를 포함하는 데이터세트에서 최신 프롬프트 최적화기(DSPy의 MIPROv2, SIMBA, GEPA (auto budget = ‘light’))와 비교하여 벤치마킹합니다.

  • 답변 정확성: FinanceBench, HotpotQA
  • 충실도: HaluBench
  • 안전성: 안전성: Flo Health 와 협력하여 12가지 미묘한 기준에 걸친 의료 전문가 주석이 포함된 QA 쌍으로 구성된 내부 익명 데이터세트 중 하나에서 MemAlign을 검증했습니다.
  • 쌍별 선호도: Auto-J (PKU-SafeRLHF 및 OpenAI 요약 하위 집합)
  • 세분화된 기준: prometheus-eval/Feedback-Collection (다양성을 기반으로 샘플링된 10가지 기준, 예: "용어 해석", "유머 사용", "문화적 인식" 등, 1~5점 척도)

각 데이터 세트를 50개의 예시로 구성된 훈련 세트와 나머지로 구성된 테스트 세트로 분할했습니다. 각 단계에서 각 Judge가 훈련 세트의 새로운 피드백 예시 샤드에 점진적으로 적응하도록 한 후, 훈련 세트와 테스트 세트 모두에서 성능을 측정했습니다. 주요 실험에서는 LLM으로 GPT-4.1-mini를 사용했으며, 실험당 3회 실행하고 검색에는 k=5를 사용했습니다.

MemAlign은 극적으로 더 빠르고 저렴하게 적응합니다

먼저 DSPy의 프롬프트 최적화 프로그램과 비교한 MemAlign의 정렬 속도와 비용을 보여드립니다.

MemAlign과 DSPy 제품군의 프롬프트 옵티마이저의 피드백 예시 수에 따른 조정 속도 및 비용 비교
Figure 3. Alignment speed and cost vs. the number of feedback examples of MemAlign vs. prompt optimizers from the DSPy family.

피드백의 양이 수백 또는 수천 개로 증가함에 따라 정렬은 베이스라인에 비해 점점 더 빠르고 비용 효율적이 됩니다. MemAlign은 50개 미만의 예제에서는 몇 초 만에, 최대 1,000개 예제에서는 약 1.5분 만에 적응하며, 단계당 비용은 $0.01~0.12에 불과합니다. 한편, DSPy의 프롬프트 옵티마이저는 사이클당 수 분에서 수십 분이 필요하며 비용이 10~100배 더 많이 듭니다. (흥미롭게도 GEPA의 초기 지연 시간 급증은 작은 샘플 크기에서 불안정한 검증 점수와 증가된 리플렉션 호출 때문입니다.) 실제로 MemAlign은 긴밀한 대화형 피드백 루프를 지원합니다. 전문가는 심사 결과를 검토하고, 무엇이 잘못되었는지 설명하며, 시스템이 거의 즉시 개선되는 것을 확인할 수 있습니다.1

품질은 최신 기술 수준에 부합하며 피드백을 통해 개선됩니다

품질 측면에서 저희는 MemAlign과 DSPy의 프롬프트 옵티마이저를 사용하여 예제 수를 늘려가며 적응시킨 후 심사 모델의 성능을 비교합니다.

5가지 심사 기준 데이터 세트에 대한 DSPy의 MemAlign 대 프롬프트 옵티마이저의 학습 곡선
Figure 4. Learning curves of MemAlign vs. prompt optimizers from DSPy on datasets of 5 judgement criteria: as the judge sees an increasing number of examples, we measure quality change on the training (left) and test (right) sets. Our quality metric is Exact Match for categorical criteria and Concordance Correlation Coefficient (CCC) for numeric criteria.

정렬에서 가장 큰 위험 중 하나는 회귀입니다. 즉, 하나의 오류를 수정했지만 나중에 다시 문제가 발생하는 것입니다. 모든 기준에서 MemAlign은 이미 본 예제(왼쪽)에서 가장 좋은 성능을 보이며 종종 90% 이상의 정확도에 도달하는 반면, 다른 방법들은 종종 70~80%대에서 정체됩니다.

보지 못한 예시(오른쪽)에서 MemAlign은 경쟁력 있는 일반화 성능을 보여줍니다. MemAlign은 답변 정확도에서 DSPy의 프롬프트 옵티마이저보다 뛰어난 성능을 보이며 다른 기준에서는 거의 동등한 성능을 보입니다. 이는 단순히 수정 사항을 암기하는 것이 아니라 피드백에서 이전 가능한 지식을 추출한다는 것을 나타냅니다.

이러한 동작은 우리가 메모리 스케일링이라고 부르는 것을 보여줍니다. 쿼리당 컴퓨팅을 증가시키는 테스트 시간 스케일링과 달리, 메모리 스케일링은 시간이 지남에 따라 피드백을 지속적으로 축적하여 품질을 향상시킵니다.

시작하는 데 많은 예시가 필요하지 않습니다

가장 중요한 것은 MemAlign이 단 2~10개의 예시 만으로도 눈에 띄는 개선을 보인다는 점이며, 특히 세분화된 기준과 답변 정확성에서 그렇습니다. MemAlign이 더 낮은 성능으로 시작하는 드문 경우(예: 쌍별 선호도)에는 5~10개의 예시로 빠르게 따라잡습니다. 이는 가치를 확인하기 전에 대규모 라벨링 작업을 미리 수행할 필요가 없다는 것을 의미합니다. 의미 있는 개선이 거의 즉시 이루어집니다.

내부 구조: MemAlign의 작동 원리

시스템의 동작을 더 잘 이해하기 위해 prometheus-eval 벤치마크의 샘플 데이터세트(심사 기준이 '모델이 산업별 기술 용어 또는 전문 용어를 올바르게 해석할 수 있는가'인 경우)에 대해 추가적인 절제 실험을 실행합니다. 동일한 LLM(GPT-4.1-mini)을 사용합니다 주요 Experiment들에서와 같이

두 메모리 모듈이 모두 필요한가요? 각 메모리 모듈을 절제한 후 두 경우 모두에서 성능 저하가 관찰되었습니다. 의미론적 메모리를 제거하면 심사위원은 안정적인 원칙의 기반을 잃게 되고, 일화적 메모리를 제거하면 엣지 케이스 처리 능력에 어려움을 겪습니다. 두 구성 요소 모두 성능에 중요합니다.

그림 5. 의미론적 메모리만, 에피소드 메모리만 또는 둘 다 활성화했을 때의 MemAlign 성능(일치 상관 계수(CCC)로 측정).

피드백은 라벨만큼 효과적이거나 그 이상이며, 특히 초기에 그렇습니다. 고정된 주석 예산이 주어졌을 때, 라벨, 자연어 피드백, 또는 둘 다 중 어떤 유형의 학습 신호에 투자하는 것이 가장 가치가 있을까요? 예시가 5개 이하일 때는 라벨보다 피드백이 약간의 초기 이점을 보이며, 예시가 누적됨에 따라 그 격차는 좁혀집니다. 이는 전문가가 소수의 예시에만 시간을 할애할 수 있는 경우, 그들의 추론 과정을 설명하게 하는 것이 더 나을 수 있음을 의미합니다. 그렇지 않다면 라벨만으로도 충분할 수 있습니다.

MemAlign의 효과성
Figure 6. Effectiveness of MemAlign with different types of learning signal: label only, natural language feedback only, or both.

MemAlign은 LLM 선택에 민감한가요? 다양한 제품군과 크기의 LLM으로 MemAlign을 실행합니다. 전반적으로 Claude-4.5 Sonnet이 가장 좋은 성능을 보입니다. 그러나 더 작은 모델도 상당한 개선을 보입니다. 예를 들어, GPT-4.1-mini는 낮은 성능으로 시작하지만 50개의 예시를 본 후에는 GPT-5.2와 같은 최신 모델의 성능과 비슷해집니다. 이는 가치를 얻기 위해 값비싼 최신 모델에 얽매일 필요가 없다는 것을 의미합니다.

MemAlign의 학습 곡선
Figure 7. Learning curves of MemAlign with different base LLMs.

핵심 요약

MemAlign은 빠르고 저렴한 얼라인먼트를 가능하게 하는 이중 메모리 아키텍처를 사용하여 범용 LLM과 도메인별 뉘앙스 간의 격차를 해소합니다. 이는 대량의 레이블로 근사치를 구하는 대신 인간 전문가의 밀도 높은 자연어 피드백을 활용하는 다른 철학을 반영합니다. 더 넓게 보면, MemAlign은 메모리 스케일링의 가능성을 보여줍니다. 즉, 반복적으로 재최적화하는 대신 수업을 축적함으로써 에이전트가 속도나 비용을 희생하지 않고도 계속해서 개선할 수 있습니다. 저희는 이 패러다임이 장기 실행되는 전문가 참여형 에이전트 워크플로에서 점점 더 중요해질 것이라고 믿습니다.

MemAlign은 이제 MLFlow의 align() 메서드에서 최적화 알고리즘 으로 사용할 수 있습니다. 시작하려면 이 데모 노트북 을 확인해 보세요!

1위의 결과는 정렬 속도를 비교한 것입니다. 추론 시 MemAlign은 프롬프트 최적화 Judge에 비해 메모리에 대한 벡터 검색으로 인해 예시당 0.8~1초의 추가 시간이 발생할 수 있습니다.


 

저자: Veronica Lyu, Kartik Sreenivasan, Samraj Moorjani, Alkis Polyzotis, Sam Havens, Michael Carbin, Michael Bendersky, Matei Zaharia, Xing Chen

MemAlign의 설계, 구현 및 블로그 게시에 이르기까지 피드백과 지원을 아끼지 않은 Krista Opsahl-Ong, Tomu Hirata, Arnav Singhvi, Pallavi Koppol, Wesley Pasfield, Forrest Murray, Jonathan Frankle, Eric Peter, Alexander Trott, Chen Qian, Wenhao Zhan, Xiangrui Meng, 이문수(Moonsoo Lee), Omar Khattab에게 감사의 말씀을 전합니다. 또한, 내부 익명 데이터세트를 사용하여 MemAlign을 평가하는 데 도움을 주신 Michael Shtelma, Nancy Hung, Ksenia Shishkanova 및 Flo Health 에도 감사드립니다.

 

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)