https://arxiv.org/abs/2403.12968
LLMLingua-2: Data Distillation for Efficient and Faithful Task-Agnostic Prompt Compression
This paper focuses on task-agnostic prompt compression for better generalizability and efficiency. Considering the redundancy in natural language, existing approaches compress prompts by removing tokens or lexical units according to their information entro
arxiv.org
acl 2024 findings 네요
여기선 이전처럼 perplexity로 토큰 중요도를 추정하는 것이 아닌 Teacher를 통해 압축 데이터를 생성하고, Encoder가 이를 학습해 토큰 삭제를 진행하여 Prompt Compression을 수행한다.

LLM의 입력은 점점 길어지고, 이는 토큰 비용 증가, 지연 시간, 메모리, 장문 정보 활용 저하 등 단점이 많다. => Compression이 필요함
GPT를 통해 Distill data를 생성함 => 학습 => 압축진행

평균 압축률 2.57배의 학습 데이터셋이 만들어진다.

원문 토큰의 32%만 사용하면서 성능은 최대한 유지시킴

장문이나, code와 같은 학습 데이터와 다른 환경에서도 높은 성능을 보여줬다.

다른 target llm으로도 일반화를 진행했을 때 기존 방법의 성능을 뛰어 넘고, 성능도 증가되었다.
결국 여기선 input에 대해서만 압축하고, 출력은 압축하지 않습니다.
| 연구 목표 | 긴 프롬프트에서 불필요한 토큰을 제거해 LLM의 입력 비용, GPU 메모리 사용량, 추론 지연 시간을 줄이면서도 downstream task에 필요한 핵심 정보를 유지하는 task-agnostic prompt compression 방법을 개발한다. |
| 기존 방법의 한계 | 기존 LLMLingua·Selective-Context는 causal LM의 perplexity 또는 information entropy를 토큰 중요도로 사용한다. 그러나 ① 해당 지표가 prompt compression 목표와 직접 정렬되지 않고, ② 왼쪽 문맥만 사용하는 단방향 모델이므로 뒤쪽 문맥까지 고려한 토큰 중요도를 판단하기 어렵다. |
| 핵심 아이디어 | Prompt compression을 언어 모델의 entropy 계산 문제가 아니라, 원문의 각 토큰을 preserve 또는 discard로 분류하는 supervised token classification 문제로 재정의한다. |
| 전체 구조 | GPT-4 데이터 증류 → 압축문-원문 토큰 정렬 및 라벨링 → 데이터 품질 필터링 → 양방향 Encoder 압축기 학습 → 보존 확률 기반 토큰 선택의 순서로 구성된다. |
| Data Distillation | GPT-4-32k가 MeetingBank 회의록을 압축하도록 한다. 일반 요약과 달리 원문 단어 삭제만 허용하고, 단어 변경·재배열·추가를 금지해 extractive compression 데이터를 생성한다. 고정 압축률을 강제하지 않고, “가능한 한 짧게 만들되 최대한 많은 정보를 유지하라”고 지시한다. |
| Chunk-wise Compression | 긴 문서를 한 번에 GPT-4로 압축하면 과도한 정보 손실이 발생하므로, 문서를 최대 512토큰의 문장 단위 chunk로 나누어 각각 압축한다. Ablation에서 chunk를 사용하지 않으면 약 21배로 과도하게 압축되고 QA F1이 27.9였지만, chunk-wise 방식은 약 2.6배 압축에서 QA F1 36.7을 기록했다. |
| 자동 데이터 라벨링 | 압축문에 남은 단어를 원문에서 찾아 preserve, 제거된 단어를 discard로 지정한다. GPT-4의 단어 반복·형태 변화·순서 변경 문제를 처리하기 위해 sliding window, bidirectional search, lemmatization, fuzzy matching을 사용한다. |
| 품질 관리 | Variation Rate로 압축문에 새로 추가되거나 변형된 단어 비율을 측정하여 상위 5%를 제거한다. Alignment Gap으로 원문-압축문 자동 정렬 품질을 평가하여 상위 10%의 저품질 사례를 제거한다. |
| 학습 데이터 | MeetingBank 학습 데이터 5,169개 문서, 41,746개 chunk로 데이터셋을 구축했다. 평균 길이는 원문 3,635토큰에서 압축문 1,415토큰으로 감소하여 평균 약 2.57배 압축되었다. |
| Compressor 모델 | Transformer Encoder가 각 토큰의 전체 양방향 문맥 표현을 계산하고, 선형 분류기로 보존 확률 p_{preserve}를 예측한다. LLMLingua-2는 XLM-RoBERTa-large 355M, LLMLingua-2-small은 multilingual BERT 110M을 사용한다. |
| 추론 시 압축 방법 | 목표 압축률에 따라 남길 단어 수를 결정하고, p_{preserve}가 높은 상위 토큰을 선택한다. 선택된 토큰은 원래 순서를 유지해 압축 프롬프트를 구성하므로 새로운 내용을 생성하지 않는다. |
| MeetingBank 결과 | LLMLingua-2는 원문 3,003토큰을 970토큰으로 줄여 3.1배 압축하면서 QA EM 86.92를 기록해 원문 87.75에 근접했다. 기존 Selective-Context와 LLMLingua의 QA EM은 각각 66.28, 67.52였다. |
| Out-of-domain 결과 | MeetingBank로만 학습했지만 LongBench, ZeroSCROLLS, GSM8K, BBH에서도 기존 task-agnostic 방법보다 전반적으로 우수했다. 2,000토큰 조건에서 LongBench 평균은 LLMLingua 34.6 대비 LLMLingua-2 39.1, ZeroSCROLLS는 27.2 대비 33.4였다. |
| Target LLM 일반화 | GPT-3.5뿐 아니라 Mistral-7B에서도 기존 방법보다 높은 성능을 보였다. 일부 조건에서는 압축된 입력이 원문보다 높은 성능을 기록했는데, 저자들은 짧고 정보 밀도가 높은 입력이 장문 처리에 취약한 모델을 도울 수 있다고 해석한다. |
| 다국어 일반화 | 영어 MeetingBank로만 학습했지만 LongBench 중국어 평가에서 LLMLingua 평균 28.6 대비 LLMLingua-2 38.1을 기록했다. 이는 multilingual Encoder의 사전학습 능력에 기인한 것으로 설명된다. |
| 효율성 | 압축기 자체는 기존 방법보다 약 3–6배 빠르며, 전체 LLM 추론은 압축률 2–5배에서 약 1.6–2.9배 가속되었다. GPU peak memory는 LLMLingua 16.6GB, Selective-Context 26.5GB 대비 LLMLingua-2가 2.1GB였다. |
| Task-aware 방법과의 관계 | LLMLingua-2는 질문과 무관하게 문서를 한 번 압축해 재사용할 수 있어 효율적이다. 다만 특정 질문과 관련된 문서 정보를 우선 보존하는 LongLLMLingua 같은 question-aware 방법보다는 일부 장문 QA에서 성능이 낮다. LongLLMLingua의 문서별 budget allocation과 결합할 수도 있다. |
| 주요 장점 | ① 압축 목표를 직접 학습해 perplexity 기반 휴리스틱보다 정확하다. ② 양방향 문맥을 활용한다. ③ 작은 Encoder로 빠르고 메모리 효율적이다. ④ 원문 토큰만 선택하므로 abstractive compression의 hallucination 위험을 구조적으로 줄인다. ⑤ 다양한 task와 target LLM에 일반화된다. |
| 한계 | 학습 데이터가 주로 MeetingBank 회의록에 한정되어 있으며, 질문을 고려하지 않아 특정 질의에만 중요한 세부 정보를 제거할 수 있다. 또한 extractive token deletion 결과는 사람이 읽기에 문법적으로 부자연스럽고, 새로운 내용을 생성하지 않는다는 faithfulness는 제공하지만 모든 핵심 정보 보존을 이론적으로 보장하지는 않는다. |
| 논문의 핵심 의의 | LLMLingua-2의 본질적 기여는 prompt compression을 “causal LM의 entropy로 토큰을 제거하는 문제”에서 “LLM의 압축 지식을 작은 양방향 Encoder에 증류해 보존 여부를 직접 예측하는 문제”로 전환한 것이다. |