너무 재밌게 읽었다.
self attention을 하더라도 뒷 부분 masking 이 적용이 되니까 어찌보면 정말 당연한가..? 물론 입력이 길어질수록 효과는 떨어질 것 같다.
여기서 든 생각은 그럼 현재 Encoder-decoder 모델로 작동하는 번역기들을 전부 다 그냥 인풋 두 번 넣는 decoder only 모델로 바꿔버려도 괜찮은 결과가 나올 수 있는 거 아닌가? 하는 생각이다.
현재 프론티어 모델들이 다 decoder only 인 건 효율성 때문이라고 들었는데,
토큰 중복 vs 인코더 사용 둘 중에 어떤게 더 비효율적인지 궁금하다.

Dirtycat
2026.02.20
LLM 성능을 향상시키는 간단한 방법: 인풋을 2번 넣기
구글에서 재밌는 페이퍼가 나왔네요. 간단하게 말해서 LLM에 인풋을 넣을때 "<a랑 b를 만들고 비교해줘>" 라고 입력하는 대신에 "<a랑 b를 만들고 비교해줘> <a랑 b를 만들고 비교해줘>" 라고 넣으면 성능이 대폭 향상된다는 겁니다. 케이스 스터디에서 accuracy가 21%에서 97%로 향상되었다고 하네요.
그렇다면 왜 똑같은 말을 두번 입력하면 LLM의 아웃풋 성능이 향상될까요?
대부분의 LLM 모델들은 텍스트를 왼쪽에서 오른쪽으로 처리합니다. (causal attention). 따라서 모델이 프롬프트 첫부분부터 토큰을 읽기 시작할때, 아직 마지막 부분을 읽지 못한 상태입니다. 여기서 인풋을 아래와 같이 두번 반복하면 어떻게 될까요?
<LLM 인풋 예시>
token 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
"<a랑 b를 만들고 비교해줘> <a랑 b를 만들고 비교해줘>"
인풋을 두번 반복함으로써, 모델이 두번째 인풋을 읽을때 토큰 13번부터 마지막 토큰까지 풀 컨텍스트를 이해하게 되는겁니다. 참 간단하게 성능을 올릴 수 있는 방법이네요.
페이퍼에서는 7개의 메이저 모델들 (Gemini, GPT-4o, Claude 3, DeepSeek 등)과 7개의 벤치마크를 사용했고, 70번의 테스트 결과 아래와 같이 나왔습니다.
인풋 1번 (오른쪽 진한 바) 입력: 0승
인풋 2번 (왼쪽 대각선 줄 바) 입력: 47승
혹시 인풋을 2번 넣으면 레이턴시가 발생한다던가, 답변 생성 시간이 더 걸리지 않을까요? 놀랍게도 인풋 반복은 pre-fill 스테이지에서 발생하고 이는 병렬처리가 가능하기 때문에 괜찮다고 하네요.
좀 더 고차원적인 스텝 바이 스텝 사고를 요구하는 McNemar 테스트를 진행한 경우에도 결과는 비슷하게 나왔습니다. 28번 대결에서 인풋을 2번 넣은 경우가 5승 1패.
그렇다면 인풋을 3번 또는 4번 넣으면 성능이 더 좋아지지 않을까요? 이론적으로 가능하지만 실제로 얻는 이득이 별로 없다고 설명합니다. 이미 2번째 반복 인풋에 해당하는 토큰들이 전체 스토리를 볼 수 있기 때문에 2번 반복만으로 충분하다고 하네요.
레딧에서 짤을 가져왔습니다.
혹시 벡터 메모리가 부족하거나 짧은 에포크 때문에 생기는 현상이 아닐까 의심도 해봤지만, 그것이 인풋 1번과 2번에 따른 결과 차이에 미치는 영향은 미미할 것 같군요. 왜냐하면 주류 LLM 모델들은 거대한 데이터를 여러번 효과적으로 학습했기 때문에, 풀 컨텍스트를 이해하는 토큰이 많아질수록 추론 능력이 향상된다고 이해하는 편이 합리적이라고 보입니다.
더 궁금하신 분들을 위해 페이퍼 링크를 남겨드립니다.
https://arxiv.org/pdf/2512.14982
사족: 아이들도 두번씩 말해야 알아듣는데, LLM과 똑같군요!

