TL;DR
대형 언어 모델의 긴 컨텍스트 처리에서 Self-Attention의 제곱 복잡도 문제를 해결하기 위해 메모리 기반 접근이 제안되었다. 그러나 과거 재검색 기반 메모리 시스템은 초기에 중요한 정보를 잃거나 잘못된 질의로 인해 노이즈가 누적되기 쉽다. MemReread는 streaming reading을 유지하되 최종 메모리가 부족하면 sub-question으로 이진 탐색적 rereading을 수행하여 잃어버린 사실을 복구하고, 읽기-추론의 구분을 통해 정보의 흐름을 보존한다. 또한 Rereading-Adaptive GRPO를 도입해 필요에 따라 rereading 횟수를 동적으로 조절하므로 계산 비용을 선형적으로 유지한다. 실험에서 길이가 긴 컨텍스트에서 baselines를 능가하고, 각종 long-context 벤치마크에서 강한 일반화 성능을 보였다.
왜 중요한가
대형 언어 모델의 긴 컨텍스트 처리에서 Self-Attention의 제곱 복잡도 문제를 해결하기 위해 메모리 기반 접근이 제안되었다. 그러나 과거 재검색 기반 메모리 시스템은 초기에 중요한 정보를 잃거나 잘못된 질의로 인해 노이즈가 누적되기 쉽다. MemReread는 streaming reading을 유지하되 최종 메모리가 부족하면 sub-question으로 이진 탐색적 rereading을 수행하여 잃어버린 사실을 복구하고, 읽기-추론의 구분을 통해 정보의 흐름을 보존한다. 또한 Rereading-Adaptive GRPO를 도입해 필요에 따라 rereading 횟수를 동적으로 조절하므로 계산 비용을 선형적으로 유지한다. 실험에서 길이가 긴 컨텍스트에서 baselines를 능가하고, 각종 long-context 벤치마크에서 강한 일반화 성능을 보였다.
핵심 기여
MemReread 프레임워크의 4단계 읽기 구조
Read, Decompose, Integrate, Answer의 네 단계로 구성되며, 단일 고정 메모리로 문맥을 순차적으로 처리한다. Decompose 단계에서 메모리의 불충분 여부를 판단하고, 부족 시 서브-질문을 생성하여 rereading을 수행한 뒤, Integrate에서 서브-질문/답을 루트 메모리에 통합한다.
서브-질문 기반 rereading으로 잃어버린 직간접 증거 복구
최종 메모리에서 누락 정보를 탐지하면 서브-질문을 생성하고, 해당 질문에 대한 메모리에서 재읽기를 수행한다. 이 과정을 반복하여 메모리 내 모든 필요한 정보를 채운 뒤 최종 Answer를 생성한다.
Rereading-Adaptive GRPO로 학습-적응적 rereading 제어
GRPO를 확장한 ReA-GRPO는 프로세스-레벨(읽기 패스 수)과 결과-레벨(정답 여부)에 대한 보상을 분리해, 학습 중 rereading 패스를 최소화하되 정확도를 유지하도록 한다.
선형 시간복잡도 및 일정한 메모리 오버헤드 유지
메모리 재읽기 기반 설계로 컨텍스트 길이에 선형적으로 스케일링되며, peak 저장 메모리는 MemAgent 수준으로 상수에 가깝다. pc( rereading passes 최대치)와 n(context length)에 따라 시간 복잡도는 O(pcn)이다.
강화학습 기반의 성능-효율 트레이드오프 및 일반화
4B-8B 규모에서 HotpotQA 및 2WikiMultiHopQA에서 Baseline 대비 향상된 정확도를 보이고, OOD 벤치마크에서도 일반화가 강화되었다.
핵심 아이디어 이해하기
출발점: self-attention의 제곱 복잡도 때문에 긴 문서를 다루는 LLM은 핵심 단서를 놓치거나 기억을 잃을 위험이 있다. MemAgent류는 읽기를 통해 기억을 축적하지만, 중간에 잃거나 잘못된 질의로 잡혀 버리면 정보 손실이 발생한다. 기초 아이디어: 읽기와 추론의 역할을 분리하고, 읽기 단계에서 메모리에서 부족한 정보를 찾기 위해 sub-question을 생성하여 rereading을 수행한다. 이렇게 얻은 서브-답을 루트 메모리에 통합하고, 필요 시 더 많은 rereading을 반복한다. 학습 측면에서는 재읽이의 비용과 정확도 사이의 균형을 맞추기 위해 Rereading-Adaptive GRPO를 도입해 rereading 패스를 상황에 맞게 조절한다. 이로써 컨텍스트 길이가 늘어나도 계산 비용은 선형으로 유지되며, 긴 맥락에서의 비선형 추론이 가능해진다.
방법론
MemReread는 Read-Answer 파이프라인에서 Decompose 단계로 넘어가 memory의 결함 여부를 검사한다. 충분한 정보가 없으면 Decompose가 generate된 서브-질문을 통해 다시 읽기를 수행하고, 해당 서브-질문/답을 Integrate로 루트 메모리에 반영한다. 이 과정을 여러 패스(p) 동안 반복하며, MemReread는 p의 상한(pc)을 설정해 최적의 트레이드오프를 찾는다. 학습은 Verl2 기반의 vLLM 롤아웃 엔진을 사용하며, GRPO를 확장한 ReA-GRPO로 프로세스 보상과 결과 보상을 분리해 학습 안정성과 rereading 효율을 향상시킨다. 보상 구성은 상태 보상과 결과 보상을 결합하는 방식으로 정의되며, 파생된 보상 신호는 중요도 샘플링 비율(ρ)과 KL 규제로 정책의 업데이트를 안정화한다.
관련 Figure

Figure 1은 Retrieve-while-reading과 reread의 차이를 비교하고 MemReread의 네 가지 모듈(Read, Decompose, Integrate, Answer)의 역할을 명확히 보여준다. MemReread의 핵심 아이디어가 읽기를 통한 정보 획득과 필요한 경우 재읽기를 통해 누락 정보를 보완한다는 점을 시각적으로 확인할 수 있다.
MemReread의 읽기-재읽기 흐름과 메모리 업데이트 흐름을 시각화한 다이어그램이다.

Figure 4는 MemReread의 Read-Decompose-Integrate-Answer 파이프라인을 한 눈에 보여준다. Decompose에서 정보를 보강할 필요가 있는지 판단하고, Sub-task를 생성해 rereading을 수행한 뒤 Integrate로 루트 메모리에 반영한다는 흐름이 시각적으로 정리된다.
MemReread 프레임워크의 Decompose/Integrate 읽기 흐름 다이어그램.

Figure 5는 MemReread의 GRPO 확장인 ReA-GRPO를 도입해, 프로세스 보상과 결과 보상을 조합하는 방법을 설명한다. Trajectory별로 rereading 패스 수에 따른 보상 차이가 반영되며, fully-correct와 partial-correct 그룹의 차이에 따라 보상 설계가 다르게 적용된다.
Figure 5: Overall Advantage Design. 프로세스 보상과 결과 보상을 결합한 보상 구조를 보여준다.
주요 결과
주요 벤치마크에서 MemReread가 MemAgent 및 ReMemR1을 상회한다. HotpotQA(8K1M 컨텍스트)에서 4B 스케일의 경우 MemReread가 평균적으로 58.4-53.0 사이의 정확도 구간을 기록하고, 1M 컨텍스트에서 53.0으로 최고치를 보였다. 2WikiMultiHopQA에서 4B 스케일로도 강한 개선을 보이며, 8K1M 컨텍스트에서 평균 정확도 58.4로 상향되었다. 4B 스케일의 1M 컨텍스트에서 ReMemR1 대비 최대 12.1% 향상(2WikiMultiHopQA, 4B)도 관찰됐다. 추론 시간은 MemAgent 대비 3–4x 증가하나, 컨텍스트 길이에 따라 재읽이 패스를 적응적으로 조정하므로 평균 읽기 패스 수를 줄이고 효율성을 높인다. 인퍼런스 시간 복잡도는 O(pcn)이며, peak Memory는 상수 수준으로 유지된다. 다수의 ablation에서 pc=3이 실제 트레이드오프에 가장 적합함이 확인되었다.
관련 Figure

Figure 2는 RA-MemAgents와 MemAgent의 성능 차이를 보여주며, ReMemR1의 경우 초기 손실 및 재검색 간섭으로 인해 성능이 흔들리는 것을 확인할 수 있다. MemReread의 재읽기 도입이 이 문제를 완화한다는 점을 시각적으로 제시한다.
Global Reasoning Task에서 Retrieval-Induced Degradation을 나타내는 그래프이다.

Figure 3은 4B 스케일에서 재읽기(p) 증가에 따라 정확도 향상이 증가하는 경향을 보여준다. pc=3 등 설정에 따른 성능 향상이 명확히 확인되며, 재읽기 개념의 효과를 지지한다.
Rereading Improvement at 4B Scale를 보여주는 그래프이다.

Figure 6은 MemAgent, ReMemR1, MemReread의 정확도와 추가 메모리/타임 비용 비교를 보여준다. MemReread가 대규모 컨텍스트에서도 우수한 성능을 유지하는 것을 시각적으로 확인할 수 있다.
Table 1의 벤치마크 결과를 요약한 그래프 구성 샘플이다.

Figure 11은 GRPO와 ReA-GRPO의 학습 곡선을 비교해, Ours가 더 적은 rereading 패스 수로도 비슷한 혹은 더 높은 정확도를 달성하는 것을 보여준다.
A micro-figure로 읽기 패스 수와 정확도 간의 관계를 보여준다.
기술 상세
아키텍처: MemReread는 Read-Decompose-Integrate-Answer의 4단계 파이프라인으로 구성된다. Reading 단계는 MemAgent의 스트리밍 읽기 방식에 기반하며, Terminal Memory(m_T)가 충분한지 Decompose가 판단한다. Decompose는 서브-질문 q를 생성하고, q에 따라 Memory 내에서 rereading을 수행한 뒤, Integrate에서 m에 (q,a) 쌍을 업데이트하고, 이 과정을 qa 기록에 보관한다. 학습은 Verl2 기반의 vLLM 롤아웃 엔진으로 수행되며, Rereading-Adaptive GRPO를 도입해 process-valued state rewards와 outcome rewards를 분리하고, 재읽이 패스를 최소화하면서 정답 정확도를 유지한다. Max Chunk Length = 5000, Max Chunk Number T = 8, Max Rereading Pass pc = 2, Outcome Reward Weight α = 0.95, Group Size G = 4. Loss 함수는 정책 업데이트와 KL 제약을 포함한다. 특이점으로, p에 따른 보상은 일정한 Trajectory 길이를 넘는 경우 0으로 설정하고, Out-of-distribution 벤치마크에서의 일반화 가능성을 확인한다.
한계점
문제점으로는: (i) 재읽이 증가에 따른 추론 지연 증가, (ii) 강화학습의 학습 안정성과 샘플 효율성의 제약, (iii) 백본 모델의 추론 능력에 크게 의존. 또한 LongBench-v2와 같은 초대규모 벤치마크에서의 전반적 일반화 한계가 제시된다.
실무 활용
MemReread는 긴 컨텍스트에서의 추론을 보다 정확하고 안정적으로 수행하도록 설계된 프레임워크로, 스트리밍 읽기에서 얻은 메모리 정보를 기반으로 sub-question으로 재읽기를 수행한다. 이를 통해 비선형 추론 능력을 확보하면서도 계산 비용의 비현실적 증가를 피한다.
- 장문 문서 QA
- 다중 홉 추론에서의 cross-chunk 의존성 해결
- OOD 일반화 테스트에서의 추론 신뢰도 향상
- 메모리 관리 최적화 기반의 에이전트 시스템 개발
코드 공개 여부: 공개
코드 저장소 보기키워드
코드 예제
1: Require: Backbone Model LLM, reading template TR, answering template TA, decomposing template TD and integrating templte TI
2: function MEMORIZEWHILEREADING(q, C) ▷ q is the question. C is the list of context chunks
3: m = NO_MEMORY
4: for c in C do
5: m ← LLM(TR(q, m, c))
6: end for
7: return m
8: end function
9:
10: function ANSWER(q, m) ▷ q is the question. m is the final memory after reading all chunks.
11: a ← LLM(TA(Q, m, c))
12: return a
13: end function
14:
15: function MEMREREAD(Q, C, p) ▷ Q is the question. C is the list of ci, i = 0, 1, ..., T − 1. p is
16: the rereading passes limit.
17: M ← MEMORIZEWHILEREADING(Q, C)
18: qa ← [ ] ▷ qa is a list of historical subquestion-answers.
19: for i = 1 to p do
20: d ← LLM(TD(Q, M, qa))
21: if not HASQUESTION(d) then ▷ Rule-based question matching.
22: break
23: end if
24: q ← PARSEQUESTION(d) ▷ Rule-based question parsing.
25: m ← MEMORIZEWHILEREADING(q, C)
26: a ← ANSWER(q, m)
27: M ← LLM(TI (Q, M, q, a))
28: qa ← qa + [(q, a)]
29: end for
30: A ← ANSWER(Q, M)
31: return A
32: end functionMemReread의 작동 흐름을 요약하는 알고리즘으로, 읽기-분해-통합-답변의 네 단계에 걸쳐 서브질문 생성과 재읽기를 반복한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.