* 500xCompressor: Generalized Prompt Compression for Large Language Models (ACL 2025)

https://www.dropbox.com/scl/fi/npwxz4u9xh8oiaoq3ulkp/acl25_500xCompressor_Paradigm_Shift.pdf?rlkey=o5hasdkkhf5sc01mv56m5dpyb&dl=0

이 논문은 LLM 입력 프롬프트를 극단적으로 압축하는 방법인 500xCompressor를 제안합니다. 핵심 아이디어는:

  • 약 500개의 자연어 토큰을
  • 단 1개의 special token(혹은 매우 적은 수의 token)
    으로 압축하고,
  • 이후 원래 LLM이 그 압축 토큰만 보고도
    • 원문을 재생성하거나
    • QA를 수행할 수 있게 만드는 것입니다.

특히 기존 soft prompt compression 계열(ICAE 등)의 한계를 넘어서:

  • 최대 500x 압축
  • unseen text generalization
  • strict train/test separation
  • 정량적 information loss 측정

을 강조합니다.


핵심 아이디어

논문의 핵심은:

“자연어 전체를 embedding 몇 개로 요약하는 것이 아니라,
KV cache 자체를 압축 representation으로 사용하자”

입니다.

기존 ICAE는:

  • compressed token의 embedding만 decoder에 전달

하지만 500xCompressor는:

  • compressed token의 KV values 전체
    를 decoder에 전달합니다.

즉:

TextCompression TokensKV cache\text{Text} \rightarrow \text{Compression Tokens} \rightarrow \text{KV cache}

를 latent memory처럼 사용합니다.


전체 구조

논문 Figure 2 구조입니다.  

논문 그림2.

구성 요소

Encoder

  • Frozen LLaMA-3-8B-Instruct
  • LoRA만 학습

입력:

  • original text
  • compression tokens

출력:

  • compression token들의 KV values

Decoder

  • 동일한 frozen LLaMA-3-8B-Instruct

입력:

  • compression token KV
  • [BOS]
  • question(optional)

출력:

  • original text regeneration
    또는
  • answer generation

왜 KV를 쓰는가?

논문의 가장 중요한 포인트 중 하나입니다.

기존 ICAE:

z = E(c)

즉 compressed token embedding만 사용.

하지만 transformer 내부 정보는 실제로는:

  • Key
  • Value

에 저장됩니다.

특히 attention retrieval은:

Attention(Q,K,V)\text{Attention}(Q,K,V)

이므로,
KV 자체를 유지하는 것이 정보 보존에 훨씬 유리합니다.

논문도 다음을 주장합니다:

  • KV가 embedding보다 정보 보존력이 높음
  • high compression ratio에서 차이가 커짐

학습 방식

1. Pretraining (Text Regeneration)

목표:

압축 representation으로부터 원문 복원.

Loss:

LP=i=1llogP(ti|HC,[BOS],t1:i1;ΘLLM,ΘLoRA)L_P=-\sum_{i=1}^{l}\log P(t_i\mid H_C,[BOS],t_{1:i-1};\Theta_{LLM},\Theta_{LoRA})

여기서:

  • HCH_C: compressed token들의 KV values
  • decoder는 frozen
  • encoder LoRA만 업데이트

즉:

“compression token이 원문 정보를 저장하도록 학습”

합니다.


2. Fine-tuning (QA)

이번엔 원문 복원이 아니라 QA.

Loss:

LF=j=1nlogP(aj|HC,q1:m,a1:j1;ΘLLM,ΘLoRA)L_F=-\sum_{j=1}^{n}\log P(a_j\mid H_C,q_{1:m},a_{1:j-1};\Theta_{LLM},\Theta_{LoRA})

즉:

compressed memory로부터
질문에 필요한 정보 retrieval하도록 학습합니다.


Inference 과정

추론 시:

  1. text → encoder
  2. compressed KV 생성
  3. decoder가 compressed KV만 보고 answer 생성

즉 실제 inference에서는:

원래 500 token context 대신
1 token만 유지.


왜 속도가 빨라지는가?

Transformer attention complexity 때문입니다.

Self-attention:

O(n2)O(n^2)

prompt length를:

5001500 \rightarrow 1

로 줄이면:

  • attention 계산량 감소
  • KV cache 감소
  • memory 감소

가 발생합니다.


데이터셋 설계가 매우 중요함

이 논문의 강점 중 하나입니다.

기존 논문 문제:

  • Wikipedia 기반 evaluation
  • LLM pretraining overlap 가능

즉:

“compressed prompt 때문인지,
원래 LLM memorization 때문인지”
구분 어려움.


해결 방법

ArxivCorpus 사용.

  • train: 2023년 7월 이전 arXiv abstract
  • test: 2024년 이후 abstract

즉:

LLaMA-3 cutoff 이후 문서만 평가.

따라서:

decoder가 원래 알고 있던 지식을 꺼낸 게 아니라,
실제 compressed representation에 정보가 저장되었다

는 것을 보여주려 함.


실험 결과

1. Regeneration 성능

Table 2 결과.  

500→16 압축

평균:

  • Rouge-2-F: 73.05
  • BLEU: 72.46

ICAE 대비:

  • +48%
  • +52%

상당히 큼.


500→1 압축

단 1 token으로 압축해도:

  • Rouge-2-F: 28.97
  • BLEU: 26.43

ICAE보다 매우 우수.

핵심은:

extreme compression에서도 degradation이 덜함.


2. QA 성능

논문의 핵심 실험.

In-domain (ArxivQA)

500→1 압축에서도:

  • F1: 29.78
  • EM: 6.14

ICAE보다 크게 높음.


Cross-domain QA

매우 흥미로운 부분.

  • TriviaQA
  • NaturalQuestions
  • RACE
  • TextbookQA

에서도 generalization.

특히:

500→1에서 ICAE 대비 평균:

  • F1 +107%
  • EM +161%

즉:

compression representation이 단순 memorization이 아니라
semantic retrieval capability를 가진다

고 주장합니다.


가장 중요한 해석

논문이 반복해서 강조하는 메시지:

compressed token은 단순 vector가 아니라
“LLM 내부 언어(new language)”일 수 있다.

즉:

자연어 → latent compressed language → decoding

형태.

논문은 이를:

  • memory
  • information format
  • new LLM language

로 해석합니다.


ICAE와 차이점 정리

항목ICAE500xCompressor
압축 정보embeddingKV values
decoder inputembeddingKV cache
최대 압축비~15x500x
generalization있음더 강함
정보 보존제한적우수
inference speed개선더 개선

논문의 진짜 의미

이 논문은 단순 compression 논문 이상입니다.

실제로는:

“Transformer memory representation 연구”

에 가깝습니다.

핵심 질문:

“언어 정보를 얼마나 작은 latent state에 저장할 수 있는가?”


또한 다음 연구들과 매우 연결됩니다:

  • Prefix Tuning
  • Prompt Tuning
  • Soft Prompt
  • KV Cache Compression
  • RAG latent retrieval
  • Memory Tokens
  • Neural Codec
  • Continuous Language

한계점

논문 한계도 존재합니다.

1. 실제 semantic fidelity 부족

500→1에서:

  • regeneration quality 급감
  • BLEU 26 수준

즉 완전한 복원은 어려움.


2. QA는 extractive 중심

대부분:

  • span extraction
  • short answer

위주.

따라서:

  • long-form reasoning
  • chain-of-thought
  • generation-heavy task

에서는 미검증.


3. 실제로는 “compression token”보다 “KV memory”

실제 compression representation은:

  • token 자체가 아니라
  • hidden KV state

따라서 interoperability 제한.


4. encoder cost 존재

새 prompt에서는 encoder pass 필요.

즉:

  • 첫 요청은 cost 있음
  • repeated prompt에서 훨씬 유리

전체 한줄 요약

이 논문은:

“자연어를 극단적으로 작은 KV-based latent representation으로 압축하면서도,
QA 능력을 유지할 수 있다”

는 것을 보여준 연구이며,

실제로는:

  • prompt compression
  • latent memory
  • soft prompt
  • transformer internal representation

사이의 경계를 연결하는 매우 흥미로운 논문입니다.

500xCompressor 방법론

이 논문의 핵심은:

긴 자연어 context를 매우 적은 수의 compression token의 KV cache에 저장하고,
frozen LLM이 그 KV만 이용해서 원문 복원 또는 QA를 수행하게 만드는 것입니다.  

전체적으로 보면:

  • 구조적으로는 autoencoder와 유사
  • 내부적으로는 Prefix-Tuning 계열
  • 목적은 generalized prompt compression

입니다.


전체 구조

논문 Figure 2 기준 전체 흐름:

Original Text
    ↓
Encoder (LLM + LoRA)
    ↓
Compression Tokens
    ↓
KV Values Extraction
    ↓
Decoder (Frozen LLM)
    ↓
Regeneration / QA

핵심은:

compression token embedding 자체보다
“compression token의 KV values”를 latent memory로 사용

하는 점입니다.


1. Encoder 구조

Encoder는:

  • frozen LLM
  • trainable LoRA

조합입니다.

논문 구현:

  • LLaMA-3-8B-Instruct
  • rank=64 LoRA

입력

Encoder 입력:

T=(t1,t2,,tl)T=(t_1,t_2,\dots,t_l)

원문 text token 뒤에 compression token을 붙입니다.

예시:

[Text Tokens] + [C1 C2 ... Ck]

여기서:

  • k=1 이면 500→1 compression
  • k=16 이면 500→16 compression

2. Compression Token의 역할

compression token은 단순 placeholder입니다.

중요한 건:

transformer layer를 통과하면서
앞쪽 text의 정보가 compression token hidden state에 축적된다는 점입니다.

즉:

hC(l)h_C^{(l)} 에는 text 전체 semantic이 압축됨.


3. 핵심: KV-based Compression

이 논문의 가장 중요한 차별점입니다.


ICAE 방식

ICAE:

compression token의 final embedding만 사용.

즉:

z=hC(L)z = h_C^{(L)}

decoder는 embedding만 받음.


500xCompressor 방식

500xCompressor는:

각 layer의:

  • Key
  • Value

전체를 저장합니다.

즉:

HC={KC(l),VC(l)}l=1LH_C = \{K_C^{(l)},V_C^{(l)}\}_{l=1}^{L}


왜 KV가 중요한가?

Transformer attention:

Attention(Q,K,V)=softmax(QKTd)V\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^T}{\sqrt{d}}\right)V

실제 retrieval 정보는:

  • key
  • value

에 저장됨.

따라서:

embedding 하나보다
KV 전체가 훨씬 정보량이 큼.

논문은 이를:

“KV values outperform embeddings in preserving information”

이라고 주장합니다.  


4. Decoder 구조

Decoder는:

  • original frozen LLM
  • parameter update 없음

입니다.

즉:

compression 때문에
LLM 자체를 수정하지 않습니다.


Decoder 입력

Decoder는 다음을 입력받음:

Regeneration

(HCH_C,[BOS],T)

즉:

  • compressed KV
  • BOS token
  • autoregressive text generation

QA

(HCH_C,Q,A)

즉:

  • compressed memory
  • question
  • answer generation

5. Pretraining 단계

목표:

compressed KV로부터 원문 재생성.


학습 objective

LP=i=1llogP(ti|HC,[BOS],t1:i1)L_P=-\sum_{i=1}^{l}\log P(t_i\mid H_C,[BOS],t_{1:i-1})

의미:

compressed memory만 보고
원래 text를 autoregressive하게 복원


왜 regeneration pretraining을 하는가?

이 단계가 중요합니다.

단순 QA만 학습하면:

  • 일부 정보만 저장

해도 됨.

하지만 regeneration은:

  • 전체 token sequence 복원 필요

따라서:

compression token이 context 전체 정보를 저장하도록 강제

됩니다.


6. QA Fine-tuning

그 다음 instruction tuning 수행.


QA loss

LF=j=1nlogP(aj|HC,q1:m,a1:j1)L_F=-\sum_{j=1}^{n}\log P(a_j\mid H_C,q_{1:m},a_{1:j-1})

여기서:

  • question은 natural language
  • answer는 extractive span 중심

중요한 점: Decoder는 Frozen

논문이 매우 강조하는 부분입니다.

Decoder parameter는 업데이트 안 함.

즉:

  • compressed memory만 변경
  • LLM capability 유지

이것이 중요한 이유

만약 decoder도 학습하면:

  • decoder 내부에 dataset memorization 가능
  • train/test leakage 발생 가능

하지만 이 논문은:

  • unseen arxiv abstract
  • frozen decoder

를 사용해:

실제 정보가 compressed KV에 저장됨을 주장합니다.


7. Inference 과정

실제 추론:


Step 1

원문 → encoder


Step 2

compression token KV 생성

HCH_C


Step 3

원문 token 제거


Step 4

decoder가 compressed KV만 이용해 생성

즉 실제 decoder input length는:

5001500 \rightarrow 1

수준으로 감소.


8. 왜 계산량이 줄어드나?

Transformer attention complexity:

O(n^2)

prompt token 수가 줄면:

  • attention FLOPs 감소
  • KV cache 감소
  • memory 감소

논문 결과

500→1 compression에서:

Reused Prompt

  • 계산량 감소:
    • 최대 90.64%
  • KV memory 감소:
    • 최대 99.80%

9. 왜 Generalization 가능한가?

논문 핵심 주장 중 하나.


기존 soft prompt 문제

기존 방법:

  • task-specific
  • prompt-specific

인 경우 많음.


500xCompressor

이 논문은:

  • arxiv abstract로만 학습
  • cross-domain QA 수행

예:

  • TriviaQA
  • RACE
  • NaturalQuestions

즉:

특정 prompt를 암기한 게 아니라
generalized semantic compression을 학습

했다고 주장.


10. ICAE와 근본 차이

논문에서 매우 중요.


ICAE

Text
 → compressed embedding
 → decoder

500xCompressor

Text
 → compressed KV memory
 → decoder

즉:

embedding-level compression이 아니라

transformer internal memory compression에 더 가까움.


11. 논문의 본질적 해석

이 논문은 사실상:

“continuous latent language”

연구입니다.

compressed token은:

  • 사람이 읽을 수 없음
  • 하지만 의미 저장 가능
  • downstream QA 가능

즉:

자연어 대신:

zlatentz_{latent}

형태의 internal language를 사용하는 셈.


방법론 한줄 요약

500xCompressor는:

긴 자연어 context를 compression token의 KV cache에 저장하고,
frozen decoder LLM이 그 KV memory만 이용해 text regeneration과 QA를 수행하도록 학습하는 KV-based latent prompt compression 방법입니다.


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다