구글에서 재밌는 페이퍼가 나왔네요. 간단하게 말해서 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 ...











