Compressing Context to Enhance Inference Efficiency of Large Language Models 리뷰

2026. 3. 16. 16:18·Research/MHQA (자연어 기반)

Li, Yucheng, et al. "Compressing Context to Enhance Inference Efficiency of Large Language Models." Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2023.

 

https://aclanthology.org/2023.emnlp-main.391.pdf

Abstract

LLM은 메모리와 추론 시간의 제한으로 사용가능한 컨텍스트가 제한된다. 본 논문에서 제시하는 Selective Context는 입력에서 중복을 제거하면서 추론 효율을 높인다. 실험으로는 긴 컨텍스트를 처리하기 위해 arXiv 논문, 뉴스 기사, 긴 대화를 기반으로 요약, QA, 답변 생성 등 작업을 진행했다. 컨텍스트를 50% 줄이고, 메모리를 36% 줄이고, 추론 시간을 32% 줄였으나 성능 감소는 적었다.

 

Introduction

LLM의 큰 어려움은 긴 컨텍스트를 처리하는 것이다. 트랜스포머 기반 LLM에서 이는 비용이 큰데, 시퀀스가 증가함에 따라 어텐션 행렬은 2-D 구조이므로 제곱이 된다. 따라서 메모리와 비용이 입력의 제곱배 요구된다. 이러한 문제로 LLM은 사전학습 시 고정된 입력 윈도우를 사용하는데, 이는 LLM이 긴 문맥을 처리하는데 제약이 된다. 이에 맞서 어텐션 구조 또는 지식 증류를 통해 비용을 절약하는 방법들이 있다. 이 논문에서는 입력 컨텍스트 자체의 중복을 줄여서 추론 효율을 개선하는 (모델에 의존하지 않는) 방법론을 선보인다.

언어의 두가지 특징을 활용한다.

  1. 내재적 반복
    • 대화에서의 빈번한 중복과 같은 내재적 반복이 존재한다.
    • ex) A: Did you get the chance to pick up groceries today? B: Yes, I did get the groceries.
  2. 학습 중복
    • LLM이 사전학습한 정보의 경우 삭제해도 문제없다.

본 논문에서 제시하는 Selective Context는 입력 컨텍스트의 중복을 제거해서 비용을 낮춘다. 언어모델로 self-information을 계산해서 정보 단위(i.e. tokens, phrases, sentences)를 얻는다. self-information 점수가 높은 항목만 남기는 효율적인 압축으로 LLM의 성능이 손상되지 않게 한다.

 

Self-Information

Self-information(surprisal)은 정보 이론에서 설명되며, 정보의 분포를 수치화한다. 여기서는 언어 모델의 토큰 생성 단계에서 얻어지는 출력 분포를 점수화한다. 따라서 토큰의 self-information은 다음과 같이 표현할 수 있다.

$I(x) = -\log_2 P(x_t|x_0, x_1, \ldots, x_{t-1})$

정보이론에서 self-information은 surprisal 또는 uncertainty를 측정한다. 희귀한 내용은 점수가 높고 뻔한 내용은 점수가 낮다. self-information이 낮으면 컨텍스트로부터 정보를 추론할 수 있으므로 이를 중복된 입력으로 판단한다. self-information score 함수로 entropy 또는 perplexity가 많이 사용된다.

$H(S) = \frac{1}{N} \Sigma_t I(x_t)$

$PP(S) = 2^{H(S)}$

self-information은 additivity의 특성을 가지는데, 더 큰 단위(ex. 문장)의 self-information을 구성 토큰들의 self-information의 합으로 계산할 수 있다.

$\begin{aligned} I(x_0, x_1) &= -\log_2 P(x_0, x_1) \\ &= -\log_2 P(x_0)P(x_1|x_0) \\ &= -\log_2 P(x_0) - \log_2 P(x_1|x_0) \\ &= I(x_0)+I(x_1) \end{aligned}$

 

Method

먼저 causal 언어모델로 각 토큰별 self-information을 계산한다. 이후 토큰별 점수를 합쳐서 구 또는 문장 점수를 얻는다. 최종적으로 입력에서 불필요하다고 판단된 내용을 제거한다.

Self-Information Computation

언어모델로 각 토큰의 self-information 정보를 entropy를 통해 계산한다.

Lexical Unit Merge

토큰 단위로 필터링하면 문맥이 끊어지므로, phrase(구)나 문장의 더 큰 단위(lexical unit)로 묶어서 처리한다. 앞 단계에서 계산한 토큰별 점수를 활용해서, 동일 lexical unit에 속하는 토큰들의 self-information을 합산하면 된다.

$I(u) = \sum_{i=t}^{\alpha} I(x_i)$

NLTK 문장 토크나이저로 전체 텍스트의 문장을 구분하여 lexical unit을 얻는다. 또한 spacy로 각 토큰이 합쳐진 명사구를 찾는다. 동사구는 너무 긴 구를 형성해서 세밀한 필터링이 안되므로 사용하지 않는다.

Selective Retention of Informative Context

percentile-based filtering 기법을 제안한다. 내림차순으로 정렬한 뒤 p번째보다 크거나 같은 lexical unit만 선택한다.

$I_p = \text{np.percentile}([I(u_0), \dots, I(u_k)], p)$

$C' = \{ U_i \mid I(U_i) \geq I_p, 1 \leq i \leq n \}$

이는 전체 분포에 대해 가장 정보가 많은 항목을 선택할 수 있는 유연한 방법이다.

 

Experiments

Setup

단순한 QA로 Selective Context를 테스트하기 적절하지 않으므로 직접 데이터셋을 생성한다.

  • 데이터셋 : BBC News(full-context), arXiv Articles(first two sections), ShareGPT.com(conversation)

백본 LLM이 출시된 이후 생성된 데이터를 평가에 사용해서, 일반화된 테스트임을 보장한다. 또한 모델의 최대 입력 토큰 길이인 2048 토큰 이하의 자료만 포함시킨다.

  • LLM 백본 : GPT-3.5,4 (API), LLaMA-7,3,30B, Vicuna-7,13B
  • Task : 원본 컨텍스트 복원, 요약, QA, 대화
    • 전체 컨텍스트를 입력으로 사용한 결과를 정답으로 사용한다.
  • Compression Ratios : 0.2 ~ 0.8
  • Lexical Units : tokens, phrases, sentence
  • 평가지표 :
    • BLEU : n-gram 정확도
    • METEOR : n-gram 정확도 (단어 원형 고려)
    • ROUGE : n-gram 재현율
    • BERTScore : BERT로 정답과 생성된 문장 유사도 계산

LLM이 후반부 lexical unit에 더 낮은 점수를 부여하는 경향이 있으므로 self-information 계산은 문장별로 진행한다.

 

Main Results

모든 작업과 백본 LLM에 대한 실험 결과를 평균낸 수치이다. 압축률 0.2 ~ 0.35까지는 원본 컨텍스트와 비교했을 때 성능 저하가 적다.

 

각 작업에 대한 성능 비교이다. 원본 복원 대비 QA, 요약 작업은 중요한 내용만 찾으면 되므로, 압축률 증가에 따른 성능 하락이 완만하다.

 

lexical unit에 따른 BERTScore-F1 기반으로 평가를 진행한다. phrase, token, sentence 순으로 성능이 더 높다. 이는 압축 단위가 의미적으로 엮여 있는 것(ex. phrase)이 중요함을 의미한다.

Conclusion

Contribution

  • LLM 프롬프트 압축 분야를 개척한 논문이다.
    • 따라서 직접 비교 가능한 베이스라인이 없어서 실험 시 원본, 랜덤 샘플링과 비교한다.

Limitation

  • phrase(구) 단위는 spacy로 얻는데 이러한 lexical unit 선정은 최적이 아닐 수 있다.
  • 최적의 압축률 비율은 실험적으로 얻어야한다.

'Research > MHQA (자연어 기반)' 카테고리의 다른 글

LongLLMLingua: Accelerating and Enhancing LLMs in Long ContextScenarios via Prompt Compression 리뷰  (0) 2026.03.29
DAC: A Dynamic Attention-aware Approach for Task-Agnostic Prompt Compression 리뷰  (0) 2026.03.13
Cooperative Retrieval-Augmented Generation for Question Answering: Mutual Information Exchange and Ranking by Contrasting Layers 리뷰  (0) 2026.03.06
MAGNET: Augmenting Generative Decoders with Representation Learningand Infilling Capabilities 리뷰  (0) 2026.02.28
One Token Can Help! Learning Scalable and Pluggable Virtual Tokensfor Retrieval-Augmented Large Language Models 리뷰  (0) 2026.02.23
'Research/MHQA (자연어 기반)' 카테고리의 다른 글
  • LongLLMLingua: Accelerating and Enhancing LLMs in Long ContextScenarios via Prompt Compression 리뷰
  • DAC: A Dynamic Attention-aware Approach for Task-Agnostic Prompt Compression 리뷰
  • Cooperative Retrieval-Augmented Generation for Question Answering: Mutual Information Exchange and Ranking by Contrasting Layers 리뷰
  • MAGNET: Augmenting Generative Decoders with Representation Learningand Infilling Capabilities 리뷰
dev_dev
dev_dev
.
  • dev_dev
    develop about develop
    dev_dev
  • 전체
    오늘
    어제
    • 카테고리 (172)
      • Research (13)
        • KGQA (지식그래프 기반) (4)
        • MHQA (자연어 기반) (9)
      • Develop (158)
        • C++ (44)
        • Information Retrieval (8)
        • ML DL (1)
        • on-device AI (8)
        • AIOT (9)
        • IOT (1)
        • 코딩테스트(백준) (49)
        • 코딩테스트(프로그래머스) (25)
        • 전자공학 (7)
        • 선형대수학 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    인공지능
    Template
    데이터 분석
    COLAB
    auto
    uniform initialization
    decltype
    경사하강법
    머신러닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dev_dev
Compressing Context to Enhance Inference Efficiency of Large Language Models 리뷰
상단으로

티스토리툴바