본문 바로가기
AI/LLM

[논문리뷰] DeepSpeed-FastGen: High-throughput Text Generation forLLMs via MII and DeepSpeed-Inference

by didi0di 2024. 1. 22.
728x90

LLM inference 관련해서 DeepSpeed-FastGen 이라는 새로운 방법이 나왔습니다.

 

논문 제목에서 알 수 있듯이, 이는 MS DeepSpeed 팀에서 낸 논문에서 제시하는 방법론입니다.

 

 

https://arxiv.org/abs/2401.08671

 

DeepSpeed-FastGen: High-throughput Text Generation for LLMs via MII and DeepSpeed-Inference

The deployment and scaling of large language models (LLMs) have become critical as they permeate various applications, demanding high-throughput and low-latency serving systems. Existing frameworks struggle to balance these requirements, especially for wor

arxiv.org

 

 

대표적인 LLM inference 경량화 라이브러리 vLLM과 비교했을 때, 

DeepSpeed-FastGen 시스템이 최대 2.3배 높은 처리량, 2배 낮은 대기 시간(latency), 최대 3.7배 낮은 (토큰 수준의) tail 대기 시간을 보여주었으며,  이는 DeepSpeed-FastGen 시스템이 대규모 모델 및 긴 프롬프트와 같은 실제 환경에서도 높은 성능을 발휘할 수 있다는 것을 보여준다고 합니다.

 

 

 

Abstract

 

 

LLM을 다양하게 응용하는 일들이 만연해지면서 LLM의 스케일링과 배포가 중요해지고 있고, 이는 서빙 시스템에서 high-throughput 과 low-latency를 요구합니다. 기존 프레임워크들은 이런 요구 - 특히 long pompt에 대한 workload - 와의 균형을 잡기 위해 고군분투 하고 있습니다. 

 

이 논문은 대규모 언어 모델(Large Language Models, LLMs)의 효율적인 서빙을 위한 시스템인 DeepSpeed-FastGen을 제안합니다. 이 시스템은 Dynamic SplitFuse 기술을 활용하여 프롬프트 처리와 생성 작업을 동적으로 조합하여 대기 시간을 최소화하고 처리량을 극대화합니다. 또한, Blocked Key-Value (KV) Cache를 활용하여 효율적인 메모리 액세스를 가능하게 하고, DeepSpeed-MII와 DeepSpeed-Inference를 효율적으로 결합하여 사용하기 쉽게 사용자의 다양한 요구 사항에 맞는 비영구 및 영구 배포 옵션을 제공합니다. 

 

디테일한 벤치마크 방법론을 제사하고 있으며, latency-throughput curves와 load balancing를 활용한 scalability 조사를 통해 성능을 분석했습니다. 실험 결과, DeepSpeed-FastGen 시스템은 기존 시스템보다 낮은 대기 시간과 효율적인 처리량을 달성하는 데에 성공하였습니다. 이러한 결과는 DeepSpeed-FastGen 시스템이 대규모 언어 모델의 효율적인 서빙을 위한 새로운 기술적 접근 방식을 제시하고 있음을 보여줍니다.

 

 

 

 

1 Introduction

 

vLLM과 같은 기존 시스템들이 long prompt에 대해 고전하고 있는 문제를 조금 더 잘 이해하기 위해, 저자들은 prompt processing과 generation이라는 두가지 구별된 단계 속에서 LLM을 위한  텍스트 생성이 어떻게 일어나는지 보다 자세한 예시를 제공합니다. 시스템이 이 두가지 단계를 구분해서 처리하면, service level afreements (SLAs) 를 위반할 위험을  있는 prompt 처리를 통해 생성이 선점됩니다. 

 

 Dynamic SplitFuse  DeepSpeed-MII와 DeepSpeed-Inference의 결합을 통해 이러한 한계를 극복한 대규모 언어 모델(Large Language Models, LLMs)을 위한 고처리량 텍스트 생성 시스템인 DeepSpeed-FastGen 을 제안합니다.  vLLM과 같은 state-of-the-art 시스템에 비해 최대 2.3배 높은 효율적 처리량 (high-throughput)  , 평균 2배 낮은 대기 시간 (low-latency) 및 최대 3.7배 낮은 (token-level) 테일 대기 시간 (tail latency)을 제공합니다.

 

이 시스템은 다양한 모델과 배포 옵션을 지원하여 다양한 사용자 시나리오에 적합합니다. 상세한 벤치마킹 방법론, 성능 분석 및 확장성 평가를 통해 LLM 서빙 시스템의 중요한 개선 사항을 입증합니다.

 

 

 

3 Dynamic SplitFuse: A Novel Prompt and Generation Composition Strategy

 

Dynamic SplitFuse는 DeepSpeed-FastGen 시스템에서 사용되는 토큰 구성 전략입니다.

 

이 전략은 긴 프롬프트를 작은 청크로 분해하고 여러 전진 패스(iterations)에서 스케줄링하여 마지막 패스에서만 생성을 수행합니다. 짧은 프롬프트는 목표 토큰 예산을 정확하게 채우도록 구성됩니다. 이 두 기술을 결합하여 다음과 같은 이점을 제공합니다.

 

1. 더 나은 응답성: 긴 프롬프트가 더 이상 처리를 위해 극단적으로 긴 전진 패스를 필요로하지 않기 때문에 모델은 더 낮은 클라이언트 대기 시간을 제공합니다. 동일한 시간 내에 더 많은 전진 패스가 수행됩니다.

2. 더 높은 효율성: 짧은 프롬프트를 더 큰 토큰 예산으로 퓨전하여 모델이 고처리량 모드에서 일관되게 작동할 수 있도록합니다.

3. 더 낮은 분산 및 더 나은 일관성: 전진 패스가 일관된 크기이며 전진 패스 크기가 성능의 주요 결정 요소이기 때문에 각 전진 패스의 대기 시간이 경쟁 시스템보다 훨씬 일관되며 인식된 생성 빈도도 일관됩니다. 다른 이전 작업과 마찬가지로 선점 또는 장기 실행 프롬프트가 없으므로 대기 시간이 증가하지 않습니다.

 

이에 대한 세부 정보는 논문의 3.1.1, 3.1.2, 3.1.3 섹션에서 더 자세히 설명됩니다.

 

3.1 Three Performance Insights

 

 

Dynamic SplitFuse의 설계와 관련하여, 다음과 같은 3가지 질문을 던집니다.

 

3.1.1 What factors impact the forward pass of a single LLM?

표 1은 DeepSpeed-FastGen 시스템에서 단일 LLM의 전방향 패스에 영향을 미치는 요소를 분석한 결과를 보여줍니다. 이 표에서는 전방향 패스의 토큰 수와 배치 크기가 처리량과 대기 시간에 미치는 영향을 비교하고 있습니다.


결과적으로, 이 표는 전방향 패스의 토큰 수가 처리량과 대기 시간에 미치는 영향이 배치 크기보다 더 크다는 것을 보여줍니다. 즉, 스케줄링 루프가 제어해야 하는 주요 독립 변수는 전방향 패스의 토큰 수라는 것을 의미합니다. 이러한 결과는 DeepSpeed-FastGen 시스템에서 전방향 패스의 토큰 수를 조정하여 처리량과 대기 시간을 최적화하는 데 중요한 역할을 합니다.

 

 

3.1.2 How does a model’s throughput respond to changing the number of tokens in the forward pass?

 

표 2는 LLM의 처리량이 전방향 패스의 토큰 수에 따라 어떻게 변화하는지를 보여주는 그래프입니다. 이 그래프에서는 전방향 패스의 토큰 수가 증가함에 따라 처리량이 증가하다가 어느 정도 포화되면 일정한 수준으로 유지되는 것을 확인할 수 있습니다.

 



이 그래프는 LLM의 처리량이 전방향 패스의 토큰 수에 따라 크게 영향을 받는다는 것을 보여줍니다. 적은 수의 토큰을 처리할 때는 GPU 병목 현상이 발생하여 처리량이 토큰 수에 비례하여 증가하지만, 많은 수의 토큰을 처리할 때는 계산 병목 현상이 발생하여 처리량이 일정한 수준으로 유지됩니다. 이러한 결과는 DeepSpeed-FastGen 시스템에서 전방향 패스의 토큰 수를 적절하게 조정하여 처리량을 극대화할 수 있도록 도와줍니다.

 

 

4 Performance Evaluation

 

 

논문에서는 DeepSpeed-FastGen 시스템의 성능을 평가하기 위해 다양한 실험을 수행하였습니다. 이를 통해 시스템의 처리량, 대기 시간, 확장성 등이 어떻게 변화하는지를 확인할 수 있었습니다.

실험 결과, DeepSpeed-FastGen 시스템은 다른 시스템에 비해 높은 처리량과 낮은 대기 시간을 보여주었습니다. 특히, 긴 프롬프트와 같은 실제 환경에서도 높은 성능을 발휘할 수 있었습니다. 또한, 다양한 하드웨어 구성에서도 일관된 성능을 보여주었습니다.


또한, 실험 결과를 통해 DeepSpeed-FastGen 시스템의 Dynamic SplitFuse 기술이 시스템의 성능 향상에 큰 역할을 한다는 것을 확인할 수 있었습니다. 이 기술은 프롬프트와 생성 작업을 동적으로 조합하여 처리량과 대기 시간을 최적화하는 데 중점을 둡니다.

 



따라서, 논문에서 제시된 실험 결과는 DeepSpeed-FastGen 시스템의 우수성을 입증하는 데 중요한 역할을 합니다.

 

 

Llama2 70B / A100-80GB를 기준으로 토큰 당 생성 대기시간을 비교한 표입니다. vLLM보다 DeepSpeed-FastGen의 latency가 현저하게 낮음을 보여줍니다. 

 

5 DeepSpeed-FastGen: Implementation and Usage

 

DeepSpeed-FastGen은 DeepSpeed-MII와 DeepSpeed-Inference를 결합하여 구현된 LLM 텍스트 생성 시스템입니다. 

 

이 시스템은 Dynamic SplitFuse 기술을 사용하여 프롬프트 처리와 토큰 생성 작업을 효율적으로 조합하고, 높은 처리량과 낮은 대기 시간을 제공합니다.

 

DeepSpeed-FastGen은 다음과 같은 주요 구성 요소를 포함합니다.

- 프론트엔드 API
- 호스트 및 디바이스 인프라
- Dynamic SplitFuse를 사용한 배치 스케줄링
- 최적화된 커널 구현
- 새로운 모델 구현을 위한 도구

 

 


DeepSpeed-FastGen은 pip install deepspeed-mii 명령어를 사용하여 설치할 수 있으며, GitHub 페이지에서 더 자세한 정보와 튜토리얼을 제공합니다. 또한 DeepSpeed-FastGen은 성능 향상, 더 많은 모델 지원, 새로운 하드웨어 백엔드 등의 기능을 추가할 예정이며, 이러한 기능은 GitHub 이슈와 PR을 통해 개발자들과 함께 개발될 예정이라고 합니다.

 

 

5.1 Supported Models

 

DeepSpeed-FastGen는 현재 약 20,000개가 넘는 모델을 지원하고 있으며, 대표적인 모델은 다음과 같습니다. 

 

  • LLaMA and LLaMA-2
  • Mistral
  • Facebook OPT

자세한 내용은 아래 표를 참고하시면 좋을 것 같네요 :)

 

 

6 Release: Try Out DeepSpeed-FastGen

 

 

git hub에 소스를 공개하고 있으니, 한번 vLLM과 비교해서 사용해보시는 것도 좋을 것 같습니다.

 

https://github.com/microsoft/DeepSpeed-MII

 

GitHub - microsoft/DeepSpeed-MII: MII makes low-latency and high-throughput inference possible, powered by DeepSpeed.

MII makes low-latency and high-throughput inference possible, powered by DeepSpeed. - GitHub - microsoft/DeepSpeed-MII: MII makes low-latency and high-throughput inference possible, powered by Deep...

github.com

 

 

LLM을 활용한 어플리케이션이 많이 나오고 있는 만큼, 경량화와 서빙 관련 라이브러리들에 대한 수요도 높아지고 있는 것 같습니다.

 

 

728x90

댓글