https://the-decoder.com/new-microsoft-tool-can-compress-ai-prompts-by-up-to-80-percent-saving-time-and-money/
https://www.linkedin.com/posts/liorking_llmlingua-llmlingua-llmlingua-activity-7177317082395512832-sClI/?utm_source=share&utm_medium=member_android
https://github.com/microsoft/LLMLingua
https://arxiv.org/abs/2403.12968

Microsoft Research에서 작업에 구애받지 않고 프롬프트를 압축하는 모델인 LLMLingua-2를 출시했습니다. 이 모델을 사용하면 프롬프트를 원래 길이의 20% 수준으로 단축하여 비용과 대기 시간을 줄일 수 있습니다.


Microsoft Research에 따르면 LLMLingua-2는 필수 정보는 보존하면서 불필요한 단어나 토큰을 제거하여 긴 프롬프트를 지능적으로 압축합니다. 이렇게 하면 프롬프트 길이를 원래 길이의 20%까지 줄일 수 있어 비용과 대기 시간을 줄일 수 있습니다. 연구팀은 "자연어는 중복되고 정보의 양이 다양합니다."라고 말합니다.


Microsoft Research에 따르면 LLMLingua 2는 이전 LLMLingua 및 유사한 방법보다 3~6배 더 빠릅니다. LLMLingua 2는 회의 녹취록과 요약이 포함된 MeetingBank의 예제를 사용하여 학습되었습니다.


텍스트를 압축하기 위해 원본을 학습된 모델에 입력합니다. 모델은 각 단어에 점수를 매기고 주변 문맥을 고려하면서 유지 또는 제거 점수를 할당합니다. 그런 다음 가장 높은 보존 값을 가진 단어가 선택되어 단축 프롬프트가 만들어집니다.



Microsoft 연구팀은 MeetingBank, LongBench, ZeroScrolls, GSM8K, BBH를 포함한 여러 데이터 세트에서 LLMLingua-2를 평가했습니다. 이 모델은 작은 크기에도 불구하고 강력한 기준선에 비해 상당한 성능 향상을 보였으며 다양한 LLM에 걸쳐 강력한 일반화를 보여주었습니다.


System Prompt:


You are an excellent linguist and very good at compressing passages into short expressions by removing unimportant words, while retaining as much information as possible.


User Prompt:


Compress the given text to short expressions, and such that you (GPT-4) can reconstruct it as close as possible to the original. Unlike the usual text compression, I need you to comply with the 5 conditions below:


1. you can ONLY remove unimportant words.


2. do not reorder the original words.


3. do not change the original words.


4. do not use abbreviations or emojis.


5. do not add new words or symbols.


Compress the origin aggressively by removing words only. Compress the origin as short as you can, while retaining as much information as possible. If you understand, please compress the following text: {text to compress}


The compressed text is: [...]


Microsoft's compression prompt for GPT-4

시스템 프롬프트:


귀하는 뛰어난 언어학자로서 중요하지 않은 단어를 제거하여 구절을 짧은 표현으로 압축하는 데 매우 능숙하며 가능한 한 많은 정보를 유지합니다.


사용자 프롬프트:


주어진 텍스트를 짧은 표현으로 압축하여 사용자(GPT-4)가 가능한 한 원본에 가깝게 재구성할 수 있도록 하세요. 일반적인 텍스트 압축과 달리 아래 5가지 조건을 준수해야 합니다:


1. 중요하지 않은 단어만 제거할 수 있습니다.


2. 원본 단어의 순서를 바꾸지 마세요.


3. 원래 단어를 변경하지 마십시오.


4. 약어 또는 이모티콘을 사용하지 마세요.


5. 새로운 단어나 기호를 추가하지 마세요.


단어만 제거하여 원문을 적극적으로 압축하세요. 가능한 한 많은 정보를 유지하면서 원문을 최대한 짧게 압축하세요. 이해했다면 다음 텍스트를 압축하세요: {압축할 텍스트}


압축된 텍스트는 다음과 같습니다: [...]


GPT-4에 대한 Microsoft의 압축 프롬프트



질문 답변, 요약, 논리적 추론과 같은 다양한 언어 작업에서 기존 LLMLingua 및 선택적 문맥 전략과 같은 기존 프레임워크보다 일관되게 우수한 성능을 보였습니다. 놀랍게도, 동일한 압축이 다양한 LLM(GPT-3.5에서 Mistral-7B까지)과 언어(영어에서 중국어까지)에 대해 효과적으로 작동했습니다.


LLMLingua-2는 단 두 줄의 코드로 구현할 수 있습니다. 이 모델은 또한 널리 사용되는 RAG 프레임워크인 LangChain 및 LlamaIndex에 통합되었습니다.


Microsoft는 신속한 압축의 이점과 비용 절감 효과를 보여주는 데모, 실제 적용 예제 및 스크립트를 제공합니다. Microsoft는 압축 프롬프트가 일반화 가능성과 효율성을 향상시킬 수 있는 유망한 접근 방식이라고 보고 있습니다.