Compressing Sequences in the Latent Embedding Space: K-Token Merging for Large Language Models
이 논문은 기존 토큰 공간 기반 접근법의 한계를 극복하기 위해 잠재 임베딩 공간에서 연속된 K 개의 토큰을 단일 임베딩으로 병합하는 'K-Token Merging'을 제안하여, 입력 길이를 최대 75% 줄이면서도 성능 저하를 최소화하는 효율적인 LLM 압축 프레임워크를 제시합니다.
원저자:Zihao Xu, John Harvill, Ziwei Fan, Yizhou Sun, Hao Ding, Hao Wang
생각해 보세요. 거대한 도서관 (LLM) 에 사서님이 계신데, 독자가 아주 긴 책 (긴 프롬프트) 을 가져와서 "이 책의 핵심을 알려줘"라고 요청합니다.
기존의 방식들은 두 가지였습니다:
책장 갈아치우기 (Hard Compression): 중요한 페이지만 남기고 나머지를 찢어버리는 방법입니다. 하지만 중요한 내용이 실수로 잘릴 수 있어 위험합니다.
새로운 단어 만들기 (Soft Compression): 책 내용을 더 짧은 단어로 바꾸는 방법인데, 여전히 책 한 장 한 장 (토큰) 을 하나하나 세어서 처리해야 해서 시간이 많이 걸립니다.
이 논문이 제안하는 **K-Token Merging (K-토큰 병합)**은 완전히 다른 접근법입니다.
🚀 핵심 아이디어: "친구들을 한 팀으로 묶기"
이 방법은 **"책장을 읽을 때, 연속된 K 장의 페이지를 묶어서 '한 팀'으로 간주하고, 그 팀의 내용을 한 번에 파악하는 능력"**을 훈련시킵니다.
기존 방식: 사서님이 페이지 1, 2, 3, 4, 5 를 하나씩 읽으며 메모합니다. (매우 느리고 메모리 많이 사용)
이 방법 (K-Token Merging): 사서님이 "1~4 페이지는 한 팀이야!"라고 생각하며, 4 장을 한 번에 읽어서 '한 장의 요약 메모'로 만듭니다.
이때, 4 장의 내용을 지우는 게 아니라, 4 장의 내용을 압축해서 하나의 '고급 요약 카드'로 변환하는 것입니다.
이 '요약 카드'를 만들어주는 작은 도구가 **경량 인코더 (Encoder)**입니다.
🛠️ 어떻게 작동할까요? (3 단계 과정)
입력 단계 (책 읽기):
사용자가 긴 글을 보내면, 모델은 그 글을 4 장씩 (K=4) 묶습니다.
묶인 4 장의 내용을 작은 도구 (인코더) 가 분석해서 **하나의 '요약 카드' (압축된 임베딩)**로 바꿉니다.
결과적으로 100 장의 글이 25 개의 요약 카드로 줄어듭니다! (입력 길이 75% 단축)
학습 단계 (새로운 언어 배우기):
모델은 이 '요약 카드'를 이해할 수 있도록 **LoRA(작은 학습 도구)**를 붙여서 훈련합니다.
마치 사서님이 "이 요약 카드가 원래 4 장의 내용을 담고 있구나"라고 빠르게 학습하는 것입니다.
생성 단계 (답변하기):
중요한 점은, 답변을 쓸 때는 다시 원래의 글자 (단어) 로 풀어써서 출력합니다.
요약 카드로 생각은 하지만, 사용자에게는 원래의 자연스러운 문장으로 답을 줍니다.
📊 왜 이것이 획기적인가요?
논문의 실험 결과를 보면 놀라운 성과가 나옵니다.
성능 유지: 75% 의 입력 길이를 줄였는데도, 모델의 똑똑함 (정확도) 은 거의 떨어지지 않았습니다. (예: 나무 구조 이해하기, 감정 분석, 코드 수정 등)
비용 절감: 컴퓨터가 생각할 때 가장 무거운 작업인 '긴 글을 한 번에 비교하는 작업'의 양이 약 94%나 줄어듭니다. (입력이 4 배 줄면 계산량은 16 배 줄기 때문)
유연성: 기존 방법들은 중요한 정보를 잘라내거나, 너무 많은 새로운 단어를 만들어내야 했지만, 이 방법은 원래의 단어를 모두 보존하면서 효율만 높입니다.
💡 한 줄 요약
"긴 글을 읽을 때, 한 번에 여러 페이지를 묶어서 '한 번에 이해하는 요약 카드'로 바꾸고, 그 카드로 생각한 뒤 원래 글자로 답변하는 똑똑한 비서 시스템을 만들었습니다."
이 기술은 앞으로 AI 가 긴 문서나 긴 대화 내용을 처리할 때, 더 빠르고, 더 저렴하며, 똑똑하게 작동할 수 있는 길을 열어줍니다.
1. 문제 정의 (Problem)
대형 언어 모델 (LLM) 은 긴 프롬프트를 처리할 때 완전 자기 주의 (full self-attention) 메커니즘을 사용하므로, 입력 길이에 비례하여 이차함수적으로 (quadratically) 계산 비용과 메모리 사용량이 급증합니다. 이를 해결하기 위한 기존 토큰 압축 기법들은 주로 토큰 공간 (token space) 에서 작동하며, 다음과 같은 한계가 있습니다.
하드 프롬프트 압축 (Hard Prompt Compression): 불필요한 토큰을 삭제하거나 요약합니다. 정보 밀도가 높은 작업 (수학 추론, 코드 편집 등) 에서는 필수 정보가 손실되어 성능이 크게 저하됩니다.
소프트 프롬프트 압축 (Soft Prompt Compression): 새로운 토큰을 학습하거나 파라미터를 적응시키지만, 여전히 토큰 수를 줄이는 데 집중할 뿐 잠재 임베딩 공간 (latent embedding space) 자체의 비효율성을 간과합니다.
예시: QWEN 2.5 모델의 경우, 토큰 식별에 이론적으로 필요한 비트 수 (약 18 비트) 와 실제 토큰 임베딩이 차지하는 비트 수 (약 28,672 비트) 사이에는 엄청난 간극이 존재하여, 임베딩 공간에 상당한 중복성이 있음을 시사합니다.
2. 제안 방법: K-Token Merging (Methodology)
저자들은 잠재 임베딩 공간 (Latent Embedding Space) 에서 직접 중복성을 제거하는 새로운 프레임워크인 K-Token Merging을 제안합니다.
핵심 아이디어: 연속된 K개의 토큰 임베딩을 경량 인코더 (Encoder) 를 통해 단 하나의 임베딩으로 병합 (Merge) 합니다. 이는 입력 측에서만 토큰을 압축하고, 생성 (Generation) 단계에서는 원래 어휘 (Vocabulary) 를 그대로 사용합니다.
모델 구조:
Prefill 단계: 입력된 K개의 연속 토큰 (TiK+1,…,TiK+K) 을 경량 MLP 인코더 f가 입력받아 단일 압축 임베딩 Ci를 생성합니다.
초기화 전략: 무작위 초기화 대신, K개 토큰 임베딩의 평균 (Mean Pooling) 을 기반으로 한 초기화를 사용하여 학습 수렴 속도를 높입니다.
Generation 단계: 압축된 시퀀스를 입력으로 받아 LLM 이 원래의 압축되지 않은 토큰 (G1,G2,…) 을 생성합니다. 생성된 토큰은 압축/비압축이 혼합된 접두사에 추가되어 autoregressive 방식으로 처리됩니다.
학습 방식:
LoRA (Low-Rank Adaptation): LLM 과 인코더 f를 함께 미세 조정 (Finetuning) 합니다.
손실 함수: 압축된 토큰 위치가 아닌, 생성된 원본 토큰 (Uncompressed targets) 에 대해서만 손실 (Negative Log-Likelihood) 을 계산하여 생성 품질을 유지하도록 합니다.
기존 방법과의 차별점:
어휘 확장 (Vocabulary Expansion) 과의 차이:K-그램을 새로운 토큰으로 정의하여 어휘를 늘리는 방식은 저빈도 '테일 토큰'의 폭발을 유발하고 추론 시 보편성이 떨어집니다. 반면, K-Token Merging 은 인코더를 사용하여 어휘 크기 증가 없이 일반화 (Generalization) 가 가능합니다.
3. 주요 기여 (Key Contributions)
잠재 공간 기반 압축 프레임워크 도입: 토큰 수 감소가 아닌 임베딩 차원의 효율성을 활용하는 K-Token Merging을 처음 제안했습니다.
적응 학습 레시피 제시: 압축된 입력에 LLM 을 적응시키기 위한 LoRA 기반 미세 조정 방법론과 평균 기반 임베딩 초기화 전략을 제시했습니다.
성능과 압축률의 최적 균형 (Pareto Frontier): 다양한 작업에서 최대 75% 의 입력 길이 단축을 달성하면서도 성능 저하를 최소화하여, 기존 방법들보다 우월한 압축 - 성능 트레이드오프를 입증했습니다.
4. 실험 결과 (Results)
세 가지 다른 도메인 (구조적 추론, 감정 분석, 코드 편집) 에서 실험을 수행했습니다.
데이터셋 및 태스크:
Textualized Tree: 구조적 관계 추론 (Parent-Child 관계 판별).
Amazon Reviews: 감정 분석 (긍정/부정 분류).
CommitPackFT: 코드 수정 및 생성 (코드 업데이트 지시 수행).
성능 요약:
Textualized Tree: 4-Token Merging (K=4) 은 입력 길이를 75% 감소시켰으며, 정확도는 98.38% (비압축 기준 99.97%) 로仅 1.59% 의 감소만 보였습니다. P-L F1 점수 (성능과 압축률의 조화평균) 에서 모든 베이스라인을 압도했습니다.
Amazon Reviews: 2-Token 모델은 50% 길이 감소 시 92.51% 정확도를 유지하며, 4-Token 모델은 75% 감소 시 가장 높은 P-L F1 점수 (0.822) 를 기록했습니다.
CommitPackFT: 코드 태스크에서도 75% 길이 감소 시 perplexity 증가가 미미하여, 기존 하드/소프트 압축 기법들보다 우월한 효율성을 보였습니다.
계산 효율성: 입력 길이가 75% 줄어들면 Prefill 단계의 계산 비용은 0.252=6.25%로 감소하여, 전체적으로 약 94% 의 계산량 절감 효과를 기대할 수 있습니다.
5. 의의 및 결론 (Significance & Conclusion)
임베딩 공간의 비효율성 해결: LLM 의 성능 저하 없이 입력 길이를 획기적으로 줄일 수 있는 새로운 패러다임을 제시했습니다. 이는 특히 긴 컨텍스트 (Long-context) 를 처리해야 하는 애플리케이션에 혁신적인 효율성 향상을 가져옵니다.
유연성과 확장성: 어휘를 확장하지 않고도 다양한 K 값을 지원하며, 보지 못한 토큰 조합에도 자연스럽게 일반화됩니다.
미래 방향: 생성 단계에서의 압축 적용, 재귀적 인코딩 (Recursive Encoding), 데이터 통계에 따른 적응형 압축 비율 조정 등을 통해 추가적인 효율성 향상이 가능함을 시사합니다.
결론적으로, K-Token Merging은 LLM 의 계산 및 메모리 비용을 줄이기 위해 토큰 자체를 삭제하거나 어휘를 늘리는 기존 접근법의 한계를 넘어, 잠재 임베딩 공간의 중복성을 활용하는 효율적인 솔루션을 제공합니다.