BLOOMZ 추론 on Habana Gaudi2 가속기
TL;DR
Hugging Face는 Habana Gaudi2 가속기가 현재 사용 가능한 GPU에 비해 BLOOMZ와 같은 대형 언어 모델에 대해 더 빠른 추론을 제공한다는 것을 입증했습니다. 1760억 파라미터 BLOOMZ 모델의 경우, Gaudi2는 Nvidia A100 80GB보다 1.42배 빠릅니다.
BLOOMZ 모델 역량
BLOOMZ는 1760억 파라미터 자동회귀 모델인 BLOOM을 파인튜닝한 버전으로, 46개 언어와 13개 프로그래밍 언어에 걸쳐 텍스트 시퀀스를 완성하도록 설계되었습니다. BLOOMZ는 원래 BLOOM 아키텍처를 개선하여 일반화와 제로샷 능력을 향상시켰으며, 이는 사전 학습 예시 없이도 보지 못한 입력 데이터에 대한 작업을 수행할 수 있는 능력입니다.
BLOOMZ를 배포하는 것은 계산적으로 부담이 큽니다; 16비트 정밀도에서는 단일 인스턴스에 352GB 메모리가 필요하며, 낮은 지연 시간을 달성하기 위해 고성능 하드웨어와 최적화 라이브러리가 필요합니다.
Habana Gaudi2 하드웨어 및 소프트웨어 스택
Gaudi2는 Habana Labs의 2세대 AI 하드웨어 가속기입니다. 이 아키텍처는 일반 행렬 곱셈(GeMM) 및 기타 연산을 병렬로 수행하도록 설계되어, 학습과 추론 모두에 대한 딥러닝 워크플로를 최적화합니다.
하드웨어 사양
단일 Gaudi2 서버에는 8개의 Habana Processing Units(HPU)가 탑재되어 있으며, 각 HPU는 96GB 메모리를 갖추고 있어 매우 큰 모델을 호스팅할 수 있는 충분한 용량을 제공합니다.
소프트웨어 통합
- SynapseAI™ SDK: PyTorch와 DeepSpeed를 지원합니다. 연산자 융합, 데이터 레이아웃 관리, 병렬화, 파이프라이닝 및 메모리 관리를 통해 실행을 최적화하는 그래프 컴파일러를 포함합니다.
- HPU Graphs: 최근 SynapseAI에 도입되어 지연 시간에 민감한 애플리케이션을 지원합니다.
- Optimum Habana: Gaudi2 하드웨어와 Transformers 라이브러리 사이의 다리 역할을 하는 Hugging Face 라이브러리로, 배포 과정을 단순화합니다.
추론 벤치마크: Gaudi2 vs. A100
BLOOMZ의 메모리 요구사항을 처리하기 위해 Hugging Face는 DeepSpeed-inference(하바나의 DeepSpeed 포크를 통해)를 활용하여 8개의 디바이스에 걸친 모델 및 파이프라인 병렬성을 구현했습니다.
지연 시간 결과
벤치마크는 16비트 정밀도, 100 토큰에 대한 그리디 생성, 키-값 캐시를 사용하여 수행되었습니다. 결과는 Gaudi2가 지연 시간 측면에서 Nvidia A100 80GB보다 일관되게 우수함을 보여줍니다:
| 모델 | 디바이스 수 | Gaudi2 지연 시간 (초) | A100-80GB 지연 시간 (초) | 1세대 Gaudi 지연 시간 (초) |
|---|---|---|---|---|
| BLOOMZ (176B) | 8 | 3.103 | 4.402 | / |
| BLOOMZ-7B | 8 | 0.734 | 2.417 | 3.321 |
| BLOOMZ-7B | 1 | 0.772 | 2.119 | 2.387 |
주요 결과:
- 176B 모델: Gaudi2는 A100 80GB보다 1.42배 빠릅니다.
- 7B 모델: Gaudi2는 A100 80GB보다 2.89배 빠릅니다.
- 모델 병렬성: Gaudi2는 모델 병렬성에서 크게 이점을 얻는 반면, A100은 작은 7B 모델의 경우 단일 디바이스에서 더 빠릅니다.
1세대 Gaudi의 가격 대비 성능
BLOOMZ-7B 모델의 경우, 1세대 Gaudi는 A100에 비해 뛰어난 가격 대비 성능 비율을 제공합니다. A100은 시간당 $30 이상이지만, 1세대 Gaudi(AWS의 DL1 인스턴스)는 시간당 약 $13에 경쟁력 있는 지연 시간(2.387초)을 유지합니다.
구현 및 재현
추론은 optimum-habana 저장소에 제공된 스크립트를 사용하여 전체 데이터셋에 대해 수행할 수 있습니다. 벤치마크 환경은 Transformers v4.28.1, SynapseAI v1.9.0, Optimum Habana v1.5.0을 사용했습니다.
결과를 재현하려면 사용자는 최신 SynapseAI와 Gaudi 드라이버를 설치한 뒤 optimum-habana 라이브러리와 Habana 전용 DeepSpeed 포크(v1.9.0)를 설치해야 합니다. 실행 명령은 gaudi_spawn.py를 사용하며 DeepSpeed, HPU 그래프, KV 캐시 플래그를 통해 생성을 최적화합니다.
SUMMARY: Hugging Face는 Habana Gaudi2 가속기가 Optimum Habana 라이브러리와 DeepSpeed-inference를 활용하여 BLOOMZ 176B 모델에 대해 Nvidia A100 80GB보다 더 빠른 추론을 달성한다는 것을 보여줍니다.
TITLE: BLOOMZ 추론 on Habana Gaudi2 가속기