본문 바로가기
AI · 인공지능/AI 뉴스

Microsoft가 LLM의 입력 프롬프트의 의미를 유지하면서 고도로 압축하는 기술「LLMLingua」를 개발

by 두우우부 2023. 12. 20.
반응형

 
 
대규모 언어 모델의 입력 프롬프트가 너무 길어지면 채팅 창의 상한을 초과하거나 API 비용이 증가하는 단점이 발생합니다. 그래서 Microsoft Research의 연구팀은 그 의미를 유지하면서도 입력 프롬프트를 압축해 내는 새로운 기술 「LLMLingua」를 개발했습니다.

LLMLingua | Designing a Language for LLMs via Prompt Compression
https://llmlingua.com/

대규모 언어 모델에서 정밀한 답변을 얻으려면 프롬프트 엔지니어링이 필요하다는 것은 널리 알려져 있습니다. 그중 Chain-of-Thought(CoT: 사고의 연속)나 In-context Learning(ICL: 콘텍스트 내 학습) 등의 기술이 등장하고, 고품질의 답변을 이끌어내기 위해, 긴 프롬프트를 쓰는 경우가 늘고 있습니다.

경우에 따라 프롬프트가 수만 토큰에 도달할 수 있지만, 프롬프트가 너무 길면 '채팅창 한도 초과' 및 '입력이나 출력에 필요한 API 사용료 증가'라는 문제도 발생합니다. 



Microsoft Research 연구팀은 대규모 언어 모델에 대한 입력 프롬프트가 너무 길어지는 문제를 해결하기 위해 의미를 유지하면서 프롬프트를 압축하는 기술, 「LLMLingua」를 개발했습니다.

연구팀은 LLMLingua의 개발에 있어서, 언어의 무결성과 프롬프트 내의 모듈 감도의 밸런스를 취하기 위해, 「budget controller」라는 구조를 채용했습니다. 이것은 GPT2-small이나 LLAMA-7B 등 충분히 훈련된 작은 언어 모델을 사용해, 중요하지 않은 토큰을 식별해 프롬프트로부터 배제하는 것. 게다가, 남은 토큰을 개별적으로 압축하는 것과 동시에, 반복적인 토큰 레벨의 압축 어프로치를 채용해, 개별 토큰 간의 관계를 보다 향상하고 있다는 것.

이렇게 하면 대규모 언어 모델이 이해할 수 있는 정보량을 유지하면서 인간이 평소 취급하고 있는 자연 언어에 흔한 중복성을 배제하고 입력 프롬프트를 압축할 수 있다는 것입니다.

예를 들어, 아래 그림을 보면 원래 프롬프트는 2366 토큰을 사용했지만 LLMLingua에 의한 처리 후 프롬프트는 117 토큰까지 압축됩니다.



처리 후의 프롬프트는, 인간은 읽기 곤란합니다만, 대규모 언어 모델이 응답을 출력하기에는 충분한 정보량이 유지되고 있다는 것. 소셜 뉴스 사이트인 Hacker News는 이 압축된 프롬프트를 가리켜, "강의 내용을 글머리 기호로 요약 메모한 문장처럼 보인다. 인간이 최적화한 입력과 기계가 최적화한 입력이 이렇게 비슷하다는 것은 매우 흥미롭다."라고 하는 코멘트도 확인되었습니다.



연구팀은 LLMLingua의 성능을 평가하기 위해 GSM8K, BBH, ShareGPT, Archiv-March23이라는 4가지 다른 데이터 세트를 사용하여 LLMLingua가 생성한 압축 프롬프트를 테스트했습니다. 예산 컨트롤러에 사용하는 소형 언어 모델에는 LLAMA-7B를, 대규모 언어 모델에는 GPT-3.5-Turbo-0301을 사용했습니다.

테스트 결과 LLMLingua는 특히 ICL과 추론에서 원래 프롬프트의 의미를 유지하면서 최대 20배의 압축률을 달성했으며, 상호작용과 요약에서도 프롬프트의 의미를 유지할 수 있었습니다. 또한 입력뿐만 아니라 대규모 언어 모델이 생성하는 응답의 토큰 수도 입력 프롬프트의 압축에 따라 감소한 것으로 보고되었습니다.

또한 LLMLingua로 압축된 입력 프롬프트를 GPT-4로 복원한 결과 9단계에 걸친 CoT 프롬프트 전체에서 모든 중요한 추론 정보를 복원할 수 있었다는 것입니다.

LLMLingua의 소스 코드는 GitHub에 공개되어 있습니다.

GitHub - microsoft/LLMLingua: To speed up LLMs' inference and enhance LLM's perceive of key information, compress the prompt and KV-Cache, which achieves up to 20x compression with minimal performance loss.
https://github.com/microsoft/LLMLingua

GitHub - microsoft/LLMLingua: To speed up LLMs' inference and enhance LLM's perceive of key information, compress the prompt and

To speed up LLMs' inference and enhance LLM's perceive of key information, compress the prompt and KV-Cache, which achieves up to 20x compression with minimal performance loss. - GitHub - ...

github.com



매일 새로운 기술이 쏟아지네요;;;


반응형