-
Runpod에서 vLLM으로 배치 작업 시 GPU 가성비 비교공부/LLM 2024. 6. 20. 20:34
작업
- 한->영 번역 (여러 문장)
- Runpod을 통해 vLLM으로 OpenAI api 서버를 연 후, 멀티쓰레딩으로 동시에 여러 요청을 발생시킴
- GPTQ 양자화 된 모델을 Marlin Kernel로 실행함
모델
- squarelike/Gugugo-koen-7B-V1.1-GPTQ
- Llama-2-Ko-7B 기반 번역기
데이터
- HAERAE-HUB/KOREAN-WEBTEXT에서 적당히 수집한 총 100K 토큰 분량의 한글 문서를 500글자 근처에서 문장 단위로 분리
- 총 360개 쿼리가 생성됨
- 입력 토큰 평균 277.83토큰
- Llama-2-Ko-7B 토크나이저 특성상, 입력(한글) 토큰 수와 출력(영어)토큰 수가 비슷함
결과
GPU VRAM 시간당 요금 총 Output 토큰 수 소요 시간 동시 처리량/요청 1$당 출력토큰 수 3070 8GB 0.14$ 112,881 293.98 14/20 9,873,645 3080Ti 12GB 0.19$ 109,383 173.49 43/75 11,946,048 3090 24GB 0.26$ 110,922 108.08 72/100 14,210,243 4070Ti 12GB 0.25$ 110,697 171.88 43/75 9,274,126 4080 16GB 0.35$ 111,360 123.20 59/100 9,297,217 4090 24GB 0.54$ 111,547 85.36 94/100 8,711,886 A4000 16GB 0.24$ 112,821 192.43 69/100 11,108,772 A4000 AdaSFF 20GB 0.24$ 112,027 248.52 88/100 7,727,598 A5000 24GB 0.24$ 110,153 145.33 98/100 10,494,704 A100 80GB 1.59$ 109,804 61.51 256/360 4,041,827 특이사항
- 3080을 테스트하지 못한 이유: 없어서...
- A4000이 A4000 Ada SFF보다 더 빨랐음.
- A100, 4090 GPU는 성능은 확실히 좋지만, 가성비가 나빴음
- 3070은 VRAM이 부족해서인지, 기본 batch size = 16보다 낮은 동시 처리량을 보여줌
추가 실험
GPU VRAM 시간당 요금 총 Output 토큰 수 소요 시간 동시 처리량/요청 1$당 출력토큰 수 3090 24GB 0.26$ 110,922 108.08 72/100 14,210,243 3090 24GB 0.26$ 109,638 109.20 116/200 13,901,690 3090+GPTQ 24GB 0.26$ 111,405 162.59 100/100 9,487,242 3090+bf16 24GB 0.26$ 108,506 181.26 50/100 8,288,595 - 동시 요청을 200개를 날려도 속도 차이는 크지 않음
- Marlin을 사용하지 않은 순수 GPTQ는 배치 작업에서는 양자화하지 않은 모델 만큼이나 속도가 느려짐
'공부 > LLM' 카테고리의 다른 글
From Loops to Oops: Fallback Behaviors of Language Models Under Uncertainty (0) 2024.07.10 [따라해보는 LLM 파인 튜닝] 2. 학습 - Axolotl, Llama-3, LoRA (0) 2024.05.08 [따라해보는 LLM 파인 튜닝] 1. 서버 환경 설정 - Runpod, WandB, Axolotl (0) 2024.05.07