LLMLingua: 비용을 절감하고 LLM 추론을 가속화하기 위해 토큰 사용량을 최대 20배까지 줄이는 프롬프트 압축 툴킷

LLMLingua: 비용을 절감하고 LLM 추론을 가속화하기 위해 토큰 사용량을 최대 20배까지 줄이는 프롬프트 압축 툴킷

해결하는 문제

LLMLingua는 프롬프트 길이 제한 및 높은 API 비용과 관련된 대규모 언어 모델(LLM)의 한계를 해결합니다. 특히 LLM이 긴 컨텍스트의 중간에 있는 정보를 처리하는 데 어려움을 겪는 "lost in the middle" 문제를 해결하며, 성능 저하 없이 프롬프트에 더 많은 정보를 담을 수 있도록 돕습니다.

작동 방식

이 프로젝트는 프롬프트에서 불필요한 토큰을 식별하고 제거하는 일련의 프롬프트 압축 방법을 제공합니다:

  • LLMLingua: GPT2-small 또는 LLaMA-7B와 같은 작고 잘 훈련된 언어 모델을 사용하여 중복된 토큰을 제거하여 최대 20배의 압축률을 달성합니다.
  • LongLLMLingua: "lost in the middle" 문제를 완화하고 RAG 성능을 향상시키기 위해 긴 컨텍스트 시나리오를 위해 특별히 설계되었습니다.
  • LLMLingua-2: BERT-level encoder를 사용하여 GPT-4로부터 데이터 증류(data distillation)를 통해 훈련된, 더 빠르고 작업에 구애받지 않는(task-agnostic) 압축기입니다.
  • SecurityLingua: 탈옥 공격(jailbreak attacks)에서 악의적인 의도를 드러내기 위해 보안 인식 압축을 사용하는 안전 가드레일입니다.

대상 사용자

LLM 기반 애플리케이션을 구축하는 개발자와 연구자, 특히 Retrieval-Augmented Generation (RAG)을 사용하거나, 긴 문서를 처리하거나, API 비용 및 추론 지연 시간을 줄이고자 하는 사용자들을 위해 설계되었습니다.

주요 특징

  • 상당한 압축률: 성능 손실을 최소한으로 유지하면서 프롬프트 길이를 최대 20배까지 줄입니다.
  • 비용 및 속도: 토큰 수와 KV-cache 크기를 줄여 API 비용을 낮추고 추론을 가속화합니다.
  • RAG 향상: 토큰을 아주 일부만 사용하면서도 RAG 성능을 것을 최대 21.4%까지 향상시킵니다.
  • 통합: LangChain, LlamaIndex, Prompt flow와 같은 인기 있는 프레임워크에 통합되어 있습니다.
  • 작업 무관성(Task-Agnostic): LLMLingua-2는 3배에서 6배의 속도 향상을 제공하며 도메인 외 데이터를 효과적으로 처리합니다.

Sources