AI VIDEO BRIEFING
롱컨텍스트 LLM 만들기: 카카오가 공개한 위치 임베딩 보정과 장문 합성 데이터 학습 전략
카카오 AI 엔지니어링팀이 if(kakao)25에서 공개한 롱컨텍스트 적용기. 위치 임베딩을 다시 맞추는 학습 없는 보정 기법부터 짧은 문서를 이어 붙여 장문 데이터를 합성하는 학습 전략, 링 어텐션과 데이터 패킹 최적화까지 짚었다.

핵심 메시지
쉽게 이해하기
카카오 AI 엔지니어링팀의 김유민, 김형주 두 엔지니어가 사내 기술 콘퍼런스 if(kakao)25에서 언어 모델의 문맥 길이를 늘리는 작업을 처음부터 끝까지 풀어냈다. 왜 긴 문맥이 필요한지, 그것을 어떻게 측정하는지, 학습 없이 늘리는 방법과 학습으로 늘리는 방법이 각각 어디까지 통하는지를 순서대로 다룬다. 실무의 시행착오를 그대로 드러냈다는 점에서 개념 설명에 그치는 자료와 결이 다르다.
문제 정의부터 보자. 사람들 사이의 긴 대화, 코딩 도구가 참조하는 긴 코드, 특약 사항을 찾아야 하는 계약서처럼 원래 입력이 긴 경우가 있고 여기에 이미지와 강의 자료, 영상 같은 정보가 더해진다. 최근에는 도구 연동 규격을 쓰는 서비스가 늘면서 추론이나 함수 호출을 거치는 동안 에이전트끼리 주고받는 맥락 자체가 계속 불어난다. 과정이 깊어질수록 컨텍스트가 길어지기 때문에 긴 입력을 견디는 능력이 곧 서비스 품질이 된다.
평가는 두 종류의 벤치마크로 한다. 하나는 긴 텍스트 더미 속에 특정 문장을 숨겨 두고 그것을 정확히 찾아내는지 보는 방식으로, 숨기는 위치를 앞과 중간과 끝으로 바꿔 가며 측정한다는 점이 중요하다. 다른 하나는 일곱 가지 과제로 구성된 더 어려운 벤치마크로, 여러 키를 동시에 추적하거나 변수 할당을 따라가고 가장 자주 등장한 단어를 순서대로 답하는 것까지 요구한다.
학습 없이 성능을 올리는 기법은 모두 위치 정보 처리를 손보는 방식이다. 최신 모델은 토큰의 위치를 사인·코사인 함수의 회전으로 표현하는데, 학습한 길이를 넘어선 구간은 모델이 본 적 없는 값이라 성능이 급락한다. 그래서 모든 토큰의 위치를 학습 범위 안으로 눌러 담는 보간, 입력이 길수록 배율을 키우는 방식, 가까운 위치를 구분하는 고주파와 먼 거리를 구분하는 저주파에 서로 다른 배율을 적용하는 방식, 진화 탐색으로 요소별 최적 배율을 찾는 방식이 차례로 소개된다. 다만 발표자는 이런 보정만으로는 개선 폭이 제한적이라고 못 박는다.
그래서 택한 우회로가 장문 합성이다. 필터링한 문서를 임베딩해 벡터 데이터베이스에 넣어 두고, 문서에서 사람이 물어볼 법한 질문을 만든 뒤 의미가 가까운 문서를 검색해 붙이고 요약을 거쳐 정답을 만드는 식으로 질의응답 데이터를 짓는다. 책처럼 원래 긴 자료는 청크로 나눠 부분 요약을 만들고 이를 합쳐 전체 요약을 뽑았는데, 질의응답이 좁은 구간에 집중하는 능력을 기른다면 요약은 전체를 훑어 통합하는 능력을 기른다. 여기에 링 어텐션으로 긴 시퀀스를 여러 GPU에 나누고, 길이가 다른 문서를 이어 붙이되 문서 사이 어텐션은 차단하는 데이터 패킹과 문서 마스킹으로 GPU가 노는 시간을 줄였다.
주요 인사이트
- 벤치마크에서 정답 문장을 앞·중간·끝 어디에 숨기느냐에 따라 점수가 달라진다는 것은, 문맥 창을 늘렸다는 숫자만으로 긴 문맥 성능을 판단하면 안 된다는 뜻이다.
- 긴 문맥에 맞춰 위치 함수의 주기를 늘리면 원래 학습했던 길이 구간에서 성능이 떨어지는 상충이 생긴다. 그래서 학습 길이에서의 성능 하락이 작은지도 함께 봐야 한다.
- 긴 데이터를 구하기 어려운 이유는 양뿐만이 아니다. 라이선스와 저작권 위험, 내용의 연속성 유지, 확보 비용의 급증이 함께 걸린다.
- 학습 없는 보정과 학습을 대립시키지 않고 함께 쓴 점이 실용적이다. 128K 평가에서도 보정 기법을 적용한 상태에서 합성 데이터 학습을 더했을 때 결과가 가장 안정적이었다.
- 2.1B급 작은 모델에서도 장문 합성 데이터 학습이 효과를 냈다는 결과는, 대형 모델이 아니어도 긴 문맥 처리를 개선할 여지가 있음을 보여 준다.
자주 묻는 질문
학습을 다시 하지 않고도 문맥 길이를 늘릴 수 있나?
어느 정도 가능하다. 발표에서는 토큰 위치를 표현하는 회전 함수의 주기를 배율만큼 늘려 학습 범위 밖의 위치를 안쪽으로 되돌리는 보정 기법들을 소개한다. 다만 발표자는 이런 방법만으로는 개선 폭에 한계가 뚜렷하고, 학습을 병행해야 더 크게 개선된다고 밝혔다.
긴 학습 데이터는 어떻게 확보했나?
긴 원천 데이터가 부족해 짧은 문서를 합성하는 방식을 썼다. 문서에서 질문을 생성하고, 벡터 검색으로 관련 문서를 모으고, 요약을 거쳐 정답을 만들어 하나의 긴 학습 샘플로 묶었다. 책 데이터는 청크별 부분 요약을 합쳐 전체 요약을 만드는 방식으로 가공했다.
긴 시퀀스를 학습할 때 가장 큰 걸림돌은 무엇인가?
GPU 메모리다. 시퀀스가 길어질수록 어텐션 계산량과 메모리 사용량이 급격히 늘고 모델 크기까지 커지면서 부담이 겹친다. 발표에서는 시퀀스를 여러 GPU에 나눠 키와 값을 옆 GPU로 넘기며 계산하는 링 어텐션, 그리고 패딩을 줄이는 데이터 패킹과 문서 마스킹을 대응책으로 들었다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗