Table of Contents
대규모 신경 네트워크의 메모리 풋프린트를 이해하는 것은 배포 및 훈련을 최적화하는 데 필수적입니다. 그것은 하드웨어 요구 사항과 효율성을 결정하는 데 도움이됩니다. 이 문서는 신경 네트워크 모델에 의해 사용되는 메모리를 계산하는 방법을 설명합니다.
Memory 사용의 구성
총 메모리 풋프린트에는 여러 가지 구성 요소가 포함되어 있습니다. 모델 매개 변수, 그리스, 최적화, 임시 버퍼가 계산 중입니다. 각 구성 요소는 전반적인 메모리 소비에 기여합니다.
모형 모수를 계산하는
1 차적인 요인은 모형의 모수의 크기입니다. 이 견적하기 위하여는, 각 모수의 크기에 의하여 모수의 수를, 32 비트 뜨 점 수를 위한 전형적으로 4 바이트 곱합니다.
예를 들어, 100 백만 매개 변수의 모델은 매개 변수를 저장하기위한 약 400 MB의 메모리가 필요합니다.
추가 기억 고려 사항
훈련 중, 그리스 및 최적화자 상태는 메모리를 소비합니다. 중력은 일반적으로 매개 변수와 같은 크기이며 메모리 요구 사항을 해결합니다. 최적화 된 상태는 심근 또는 적응 학습 속도 변수와 같은 더 오버 헤드를 추가 할 수 있습니다.
활성화 및 중간 계산을위한 임시 버퍼는 특히 큰 배치 크기 또는 복잡한 아키텍처로 총 메모리 사용에 기여합니다.
Total Memory 사용량 평가
총 메모리 풋프린트를 추정하기 위해 매개 변수, 그리스, 최적화, 임시 버퍼에 대한 메모리를 요약합니다. 특정 모델 아키텍처 및 훈련 설정에 따라 계산을 조정합니다.
- 모델 매개 변수
- 의령
- Optimizer 상태
- 활성화 버퍼
- 중간 계산