헬창 개발자
How much need VRAM by using LLM? 본문
다음 내용은 Llama 3.1 기준으로 작성 되었습니다.
추론 메모리 요구 사항
추론의 경우 메모리 요구 사항은 모델 크기와 가중치의 정확도에 따라 달라진다.
다음은 다양한 구성에 필요한 대략적인 메모리를 보여주는 표이다.
모델 크기 | FP16 | FP8 | INT4 |
8B | 16 GB | 8 GB | 4 GB |
70B | 140 GB | 70 GB | 35 GB |
405B | 810 GB | 405 GB | 203 GB |
참고: 위에 인용된 숫자는 모델 체크포인트를 로드하는 데 필요한 GPU VRAM을 나낸다.
예를 들어, H100 노드(8x H100)는 약 640GB의 VRAM을 가지고 있으므로 405B 모델은 다중 노드 설정에서 실행하거나 더 낮은 정밀도(예: FP8)에서 실행해야 하며, 이것이 권장되는 접근 방식임.
낮은 정밀도(예: INT4)는 정확도가 다소 떨어질 수 있지만 메모리 요구 사항을 크게 줄이고 추론 속도를 높일 수 있다. 모델 가중치 외에도 KV 캐시를 메모리에 보관해야 한다.
여기에는 모델 컨텍스트의 모든 토큰의 키와 값이 포함되어 있으므로 새 토큰을 생성할 때 다시 계산할 필요가 없다.
특히 긴 사용 가능한 컨텍스트 길이를 사용할 때 이는 중요한 요소가 된다.
FP16에서 KV 캐시 메모리 요구 사항은 다음과 같다.
모델 크기 | 1k tokens | 16k tokens | 128k tokens |
8B | 0.125 GB | 1.95 GB | 15.62 GB |
70B | 0.313 GB | 4.88 GB | 39.06 GB |
405B | 0.984 GB | 15.38 GB | 123.05 GB |
특히 작은 모델의 경우 컨텍스트 길이가 최대치에 가까워지면 캐시는 가중치만큼 많은 메모리를 사용한다.
훈련 메모리 요구 사항
다음 표는 다양한 기술을 사용하여 Llama 3.1 모델을 훈련하는 데 필요한 대략적인 메모리 요구 사항을 간략하게 설명한다.
모델 크기 | Full Fine-tuning |
LoRA | Q-LoRA |
8B | 60 GB | 16 GB | 6 GB |
70B | 500 GB | 160 GB | 48 GB |
405B | 3.25 TB | 950 GB | 250 GB |
참고: 이는 추정치이며 특정 구현 세부 사항 및 최적화에 따라 달라질 수 있다.
----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
gemma2 모델 vram 사용량
'공부방' 카테고리의 다른 글
FastAPI : 파일 처리 (2) | 2024.09.09 |
---|---|
FastAPI Pydantic : 데이터 검증 및 설정 (1) | 2024.09.06 |
도메인 특화 언어 모델 구축 어떤 방법이 좋을까? (1) | 2024.09.04 |
FastAPI : LLM 모델 서빙을 위한 API (1) | 2024.09.03 |
LoRA target_modules (0) | 2024.08.08 |