기본 공식: 배치 크기 = 하드웨어 연산 속도 / (2 × 메모리 대역폭)
실제 숫자를 대입한 예:
예시 상황:
- A100 GPU가 초당 수행할 수 있는 연산량: 312 테라FLOPS (312×10¹²)
- 메모리 대역폭: 1,555 GB/s (1555×10⁹)
계산 과정:
1. 분자: 312×10¹² (연산 속도)
2. 분모: 2 × 1555×10⁹ (메모리 대역폭의 2배)
3. 나눗셈: 312×10¹² ÷ (2 × 1555×10⁹)
4. = 312×10¹² ÷ 3110×10⁹
5. = 102.73
이 계산을 통해 얻은 102.73이라는 숫자는 최적의 배치 크기가 약 100정도라는 것을 나타냅니다. 이는 GPU의 성능을 최대한 활용하면서도 메모리를 효율적으로 사용할 수 있는 배치 크기입니다.
메모리 대역폭에 2를 곱하는 이유
Forward Pass (순전파) 과정:
- 입력 데이터 읽기
- 가중치 읽기
- 계산 결과 저장
Backward Pass (역전파) 과정:
- 저장된 결과 읽기
- 그래디언트 계산
- 계산된 그래디언트 저장
따라서 하나의 데이터 포인트에 대해 최소한:
이것이 공식에서 메모리 대역폭에 2를 곱하는 기본적인 이유입니다. 실제로는 더 많은 메모리 접근이 발생할 수 있지만, 이론적 최소값으로 2배를 사용합니다.