프롬프트 반복으로 LLM 성능 향상 - Google 연구팀 논문
목차
개요
Google Research 팀의 연구자 Yaniv Leviathan, Matan Kalman, Yossi Matias가 2025년 12월 흥미로운 논문을 발표했습니다. 핵심 내용은 단순합니다. 입력 프롬프트를 두 번 반복하면 추론 기능을 활용하지 않는 LLM의 정확도가 크게 향상된다는 것입니다. 추가적인 출력 토큰 증가나 지연 시간 증가 없이 성능을 높일 수 있다는 점에서 주목받고 있습니다.
연구 배경
LLM은 자동회귀(autoregressive) 구조로 작동합니다. 이 구조에서 모델은 프롬프트를 처리하는 “prefill” 단계와 응답을 생성하는 “generation” 단계로 나뉩니다. 연구팀은 prefill 단계에서 모델이 프롬프트 정보를 충분히 활용하지 못하는 취약점을 발견했습니다. 프롬프트를 반복하면 prefill 단계에서 내부 표현이 더 정확해진다는 가설을 세웠습니다.
핵심 발견
작동 원리
프롬프트 반복은 주로 prefill(입력 처리) 단계에서 효과를 발휘합니다. 생성 단계에는 거의 영향을 미치지 않습니다. 따라서 추가로 생성되는 토큰 수는 변하지 않으며, 응답 지연 시간 증가도 최소화됩니다. 입력 토큰이 2배가 되지만, 이는 prefill 비용 증가에 그치며 전체 지연 시간에 미치는 영향은 작습니다.
실험 결과
연구팀은 Gemini, GPT, Claude, DeepSeek 등 7개의 주요 모델을 대상으로 다수의 벤치마크에서 실험을 수행했습니다. 총 70개의 조합 중 47건에서 성능 향상이 확인되었습니다.
특히 인상적인 사례로, “50개 항목 목록에서 25번째 항목 찾기” 과제에서 정확도가 21%에서 97%로 급격히 향상되었습니다.
| 모델 | 벤치마크 조합 | 성능 향상 비율 |
|---|---|---|
| 7개 모델 전체 | 70개 조합 | 67% (47/70) |
참조 처리와 목록 처리 작업에서 특히 효과가 두드러졌습니다.
한계와 주의사항
모든 경우에 효과가 있는 것은 아닙니다.
- 복잡한 추론이 필요한 과제에는 효과가 제한적입니다
- 긴 프롬프트에서는 prefill 처리 시간이 증가할 수 있습니다
- 추론 모드(reasoning mode)를 사용하는 경우에는 다른 결과가 나올 수 있습니다
이 기법은 추론 기능을 사용하지 않는(non-reasoning) LLM을 대상으로 한 연구입니다.
실용적 활용
프롬프트를 두 번 반복하는 방식은 구현이 매우 간단합니다. 기존 코드에서 프롬프트 문자열을 두 번 이어붙이기만 하면 됩니다.
1
2
original_prompt = "다음 목록에서 5번째 항목을 찾아주세요: [...]"
repeated_prompt = original_prompt + "\n\n" + original_prompt
다음과 같은 작업에서 활용을 고려해볼 수 있습니다.
- 긴 문서에서 특정 항목 참조
- 목록에서 특정 위치의 항목 추출
- 구조화된 데이터에서 정보 검색
결론
“단순하고 비용이 거의 없는” 정확도 향상 기법으로, 특히 참조 및 목록 처리 작업에 실용적입니다. 70개 조합 중 47건에서 성능이 향상되었으며, 단순한 기법임에도 눈에 띄는 효과를 보여줍니다. 추론 모드가 필요 없는 일반적인 LLM 사용 시나리오에서 먼저 시도해볼 만한 최적화 기법입니다.