Repolode
microsoft

microsoft/LLMLingua

Microsoft가 만든 Python 라이브러리로, 중요하지 않은 토큰을 제거해 성능 저하를 최소화하면서 LLM 프롬프트와 KV cache를 최대 20배 압축합니다.

스타
6,767
포크
444
열린 이슈
125
마지막 커밋
지난달

어떤 프로젝트인가요?

LLMLingua는 Microsoft Research가 대규모 언어 모델을 위해 만든 프롬프트 압축 툴킷입니다. 작고 학습된 언어 모델을 사용해 의미에 거의 기여하지 않는 토큰을 찾아 제거하므로, 핵심 정보는 유지하면서 긴 프롬프트를 짧게 만들 수 있습니다. 성능 저하를 최소화하면서 최대 20배 압축할 수 있다고 프로젝트는 설명하며, 추론 속도를 높이기 위한 KV cache 압축도 다룹니다.

저장소에는 여러 방식이 포함되어 있습니다. LLMLingua는 최초의 접근 방식이고, LongLLMLingua는 긴 컨텍스트 및 검색 증강(RAG) 시나리오를 대상으로 하며 lost-in-the-middle 문제를 해결합니다. LLMLingua-2는 BERT급 인코더를 토큰 분류기로 사용해 만든 태스크 비의존형 압축기입니다. jailbreak 의도를 탐지하는 SecurityLingua 변형도 포함되어 있습니다. 구조화된 프롬프트 압축을 사용하면 프롬프트의 각 섹션에 서로 다른 압축률을 지정할 수 있습니다.

pip로 Python 패키지를 설치해 사용할 수 있으며, compress_prompt 및 structured_compress_prompt 메서드를 제공하는 PromptCompressor 클래스를 사용할 수 있습니다. 이 프로젝트는 Prompt flow, LangChain, LlamaIndex에 통합되어 있습니다.

핵심 기능

  • 01프롬프트에서 중요하지 않은 토큰을 제거해 짧게 만들며, 최대 20배까지 압축합니다.
  • 02LLM 추론 속도를 높이기 위해 KV cache를 압축합니다.
  • 03긴 컨텍스트 및 RAG 프롬프트를 위한 LongLLMLingua를 제공합니다.
  • 04BERT급 인코더를 기반으로 한 더 빠른 태스크 비의존형 압축기 LLMLingua-2를 제공합니다.
  • 05태그를 사용해 섹션별 압축률을 지정하는 구조화된 압축을 지원합니다.
  • 06pip로 설치해 Python에서 사용할 수 있습니다.

활용 사례

  • RAG 파이프라인에서 긴 문서나 검색된 구절을 제한된 LLM 컨텍스트 윈도우에 맞추는 경우.
  • GPT-4 또는 유사한 모델에 긴 프롬프트를 보내는 애플리케이션의 API 비용을 줄이는 경우.
  • 추론 내용을 보존하면서 chain-of-thought 또는 few-shot 예제를 압축하는 경우.
  • SecurityLingua 모델로 사용자 프롬프트의 jailbreak 의도를 탐지하는 경우.

빠른 시작

  1. 1

    PyPI에서 LLMLingua를 설치하세요

    pip install llmlingua
  2. 2

    PromptCompressor를 가져와 기본 모델로 프롬프트를 압축하세요

사용 전 알아둘 점

  • 압축 품질은 선택한 모델에 따라 달라지며, 일부 모델은 충분한 속도를 내려면 GPU가 필요합니다.
  • 양자화 모델용 옵션 등 일부 모델 옵션에는 optimum, auto-gptq와 같은 추가 패키지가 필요합니다.

토픽

자주 묻는 질문

LLMLingua은(는) 무엇인가요?
Microsoft가 만든 Python 라이브러리로, 중요하지 않은 토큰을 제거해 성능 저하를 최소화하면서 LLM 프롬프트와 KV cache를 최대 20배 압축합니다. LLMLingua는 Microsoft Research가 대규모 언어 모델을 위해 만든 프롬프트 압축 툴킷입니다. 작고 학습된 언어 모델을 사용해 의미에 거의 기여하지 않는 토큰을 찾아 제거하므로, 핵심 정보는 유지하면서 긴 프롬프트를 짧게 만들 수 있습니다. 성능 저하를 최소화하면서 최대 20배 압축할 수 있다고 프로젝트는 설명하며, 추론 속도를 높이기 위한 KV cache 압축도 다룹니다.
LLMLingua은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
LLMLingua은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
LLMLingua은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. LLMLingua의 마지막 커밋은 2026년 9월 10일입니다.
LLMLingua은(는) 어디에 사용할 수 있나요?
RAG 파이프라인에서 긴 문서나 검색된 구절을 제한된 LLM 컨텍스트 윈도우에 맞추는 경우. GPT-4 또는 유사한 모델에 긴 프롬프트를 보내는 애플리케이션의 API 비용을 줄이는 경우. 추론 내용을 보존하면서 chain-of-thought 또는 few-shot 예제를 압축하는 경우. SecurityLingua 모델로 사용자 프롬프트의 jailbreak 의도를 탐지하는 경우.
LLMLingua는 어떻게 설치하나요?
PyPI에서 LLMLingua를 설치하세요: pip install llmlingua PromptCompressor를 가져와 기본 모델로 프롬프트를 압축하세요
LLMLingua은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/LLMLingua

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트