2024. 8. 26. 16:30ㆍLLM
개요
해당 글은 2024년 8월 17일에 작성된 Medium의 "Mastering LLM(Large Language Model)"을 한국어로 번역하며 첨언한 글임을 밝힙니다.
👉 원문: How Much GPU Memory is Needed to Serve a Large Language Model(LLM)?
LLM(거대 언어 모델)을 서빙하기 위해서는 얼마나 많은 GPU 메모리가 필요한가요?
✅ 실제로 LLM Product를 세일즈하고 있는 회사 재직자로써 많이 받는 질문 "우리 회사에 LLM 도입하려고 하는데 서버 or 하드웨어 구성 어떻게 하면 될까요?"
✅ 이 글에서는 GPT, Llama 또는 기타 LLM 모델로 작업할 때 필요한 GPU 메모리 예측하는 방법이 필수적이라고 설명하고 있음
✅ 7B 파라미터 모델이든 훨씬 더 큰 모델을 다루든, 이러한 모델 지원할 수 있는 하드웨어 크기 올바르게 설정하는 것이 중요함
✅ LLM 효과적으로 배포하는데 필요한 GPU 메모리 추정하는데 도움되는 산출식 알아보기
GPU 메모리 추정 공식
- M: 기가바이트 단위 GPU 메모리
- P: 모델 파라미터 수
- 4B: 파라미터당 사용되는 4바이트
- Q: 모델 로딩 위한 비트 수(16비트 or 32 비트)
- 1.2: 20% 오버헤드 반영하기 위한 상후
산출식 뜯어보기
- P: 모델 크기. 예를 들어 파라미터가 700억개(70B)인 LlaMa 모델로 작업하는 경우, 이 값은 700억
- 4B: 각 파라미터는 일반적으로 4바이트 메모리 필요로 함. 이는 부동 소수점 정밀도가 일반적으로 4바이트(32비트) 차지하기 때문. 그러나 반정밀도(16비트) 사용하는 경우에는 계산이 그에 따라 조정됨
- Q: 모델을 16비트 or 32비트 정밀도로 로드하는지에 따라 변경됨. 16비트 정밀도는 충분한 정확도 유지하면서 메모리 사용량 줄일 수 있기 때문에 많은 LLM 배포에서 일반적으로 사용됨
- 1.2: 추론 중에 사용되는 추가 메모리 고려하기 위해 20% 오버헤드 추가. 모델 실행 중 활성화 및 기타 중간 결과에 필요한 메모리 충당하는데 중요
계산 예시
✅ 16비트 정밀도로 로드한 700억 개의 파라미터가 있는 Llama 모델 제공하는데 필요한 메모리 추정하기
✅ 계산 통해 16비트 모드에서 700억 개의 파라미터가 있는 Llama 모델 서밍하기 위해서는 약 168GB의 GPU 메모리 필요
Llama 모델 서빙하기 위한 메모리 요구 사항
✅ 80GB 메모리 갖춘 단일 NVIDIA A100 GPU로는 Llama 모델 서빙하기 어려움
✅ 메모리 부하를 효율적으로 처리하기 위해서는 최소한 80GB의 A100 GPU가 2개 이상 필요
✅ GPU 메모리 계산으로 하드웨어 병목 현상 피할 수 있음
'LLM' 카테고리의 다른 글
LLM 정확도 최적화 위한 멘탈 모델(작성중) (0) | 2024.09.12 |
---|---|
딥러닝 GPU 추천(작성중) (2) | 2024.08.28 |
[인공지능] 구글 딥마인드에서 정의한 AGI 5단계(규칙 기반 에이전트 ~ 자율 에이전트) (1) | 2024.07.11 |
[SK TECH SUMMIT 2023] LLM 적용 방법인 RAG VS PEFT, Domain 적용 승자는? (1) | 2024.05.02 |