총 길이보다 자리가 더 중요해
2023년 Liu et al.의 Lost in the Middle: How Language Models Use Long Contexts가 좀 섬뜩한 걸 보여줬어. 필요한 정보가 긴 context 한가운데 있으면 모형 정확도가 뚝 떨어진다는 거야. 성적표가 U자를 그려. 맨 앞이 제일 좋고, 맨 뒤가 그다음이고, 가운데가 제일 나빠. 이 현상은 모형 계열을 가리지 않고, 몇 년치 성능 향상에도 안 없어졌어.
강의로 치면
90분짜리 강의를 떠올려봐. 시작은 기억나. 마무리도 기억나. 47분쯤? 거의 안개야. 모형도 똑같아. 그냥 밀어넣기가 위험한 게 이거야. 맞는 사실을 넣어놓고도 모형이 제일 못 쓰는 자리에 놓을 수 있거든.
그래서 실전에서는
중요한 지시문은 prompt 맨 앞 *아니면* 맨 뒤에 둬. 할 일을 context 사이에 끼워 넣고 묻지 마. RAG로 가져온 chunk도 순서가 중요해. 제일 관련 있는 걸 1번과 2번, 그리고 뒤에서 두 번째와 마지막 자리에 놓고, 가운데엔 두지 마. 100K token 덩어리 한가운데 데이터를 박아놓고 "줬으니까 알아서 보겠지" 하지도 말고.
그 사실이 일의 성패를 가른다면, 거대한 prompt 한가운데 묻지 마. 통계적으로 모형이 그걸 제일 안 쓰는 자리가 딱 거기야.