핵심 요약
모델 성능은 가용 자원에 의해 결정되므로, FLOPs와 메모리 사용량을 정확히 예측하고 MFU를 높이는 시스템적 이해가 필수적입니다. 단순한 모델 설계를 넘어 하드웨어의 한계를 고려한 리소스 회계 능력이 대규모 학습의 성패를 가릅니다.
배경
스탠포드 대학교의 CS336 'Language Modeling from Scratch' 과정의 두 번째 강의입니다.
대상 독자
LLM을 직접 학습시키거나 시스템 레벨에서 최적화하고자 하는 AI 엔지니어 및 연구자
의미 / 영향
이 강의는 LLM 개발자가 하드웨어 자원을 단순히 소비하는 것을 넘어 정량적으로 설계하고 관리하는 능력을 제공한다. 제시된 수식들을 활용하면 인프라 구축 전 단계에서 학습 가능 여부와 소요 시간을 정확히 판단할 수 있어 자원 낭비를 방지할 수 있다. 또한 메모리 최적화 기법의 이해는 한정된 GPU 자원 내에서 모델의 규모를 극대화하는 실무적 경쟁력이 된다.
챕터별 상세
강의 개요 및 리소스 회계의 중요성
텐서 기초와 메모리 저장 방식
Float32는 부호 1비트, 지수 8비트, 가수 23비트로 구성되어 정밀도가 높지만 메모리 소모가 큽니다.
BFloat16과 수치적 안정성
동적 범위(Dynamic Range)가 넓으면 아주 작은 값부터 아주 큰 값까지 표현 가능하여 학습 안정성이 높아집니다.
혼합 정밀도 학습(Mixed Precision Training)
GPU 메모리 이동 및 관리
Einops를 활용한 직관적 텐서 조작
Einsum(Einstein Summation) 표기법을 기반으로 하며, 차원의 의미를 텍스트로 명시하는 방식입니다.
연산량 측정 단위: FLOPs
FLOP은 연산 횟수(단위), FLOPs는 연산 속도(단위/시간)를 의미합니다.
행렬 곱셈의 연산량 계산
z = einsum(x, y, "batch seq1 hidden, batch seq2 hidden -> batch seq1 seq2")Einops 라이브러리를 사용하여 복잡한 텐서 차원 조작과 행렬 곱셈을 직관적으로 수행하는 예시
연산 밀도(Arithmetic Intensity) 분석
Roofline 모델은 연산 밀도에 따른 프로세서의 실제 성능 한계를 시각화한 그래프입니다.
모델 연산 활용도(MFU)의 이해
그래디언트 계산의 연산량(6ND 공식)
이 공식은 Transformer 모델의 학습 시간을 예측하는 가장 표준적인 방법입니다.
옵티마이저 상태와 메모리 오버헤드
Adam 옵티마이저는 파라미터당 추가로 8바이트(4+4)의 메모리를 소모합니다.
그래디언트 누적(Gradient Accumulation)
활성화 체크포인팅(Activation Checkpointing)
메모리 사용량은 층 수(L)에 비례하던 것에서 루트 L(√L) 수준으로 줄어듭니다.
강의 요약 및 결론
def forward(self, x):
for layer in self.layers:
x = torch.utils.checkpoint.checkpoint(layer, x)
return xPyTorch의 checkpoint 기능을 사용하여 메모리 효율적인 순전파를 구현하는 예시
실무 Takeaway
- LLM 학습의 총 연산량은 '6 * 파라미터 수 * 학습 토큰 수'로 매우 정확하게 예측 가능하며, 이를 통해 필요한 GPU 시간과 비용을 산정할 수 있다.
- 학습 성능 최적화를 위해서는 연산 밀도(Arithmetic Intensity)를 높여야 하며, 이를 위해 가능한 큰 배치 사이즈를 사용하여 작업을 Compute-bound 영역으로 유도해야 한다.
- 메모리 부족 문제는 그래디언트 누적과 활성화 체크포인팅을 통해 해결할 수 있으며, 이는 약간의 연산 시간 증가를 대가로 훨씬 큰 모델 학습을 가능하게 한다.
- BFloat16 데이터 타입은 Float32의 동적 범위를 유지하면서 메모리를 절반으로 줄여주므로, 현대적인 LLM 학습에서 수치적 안정성을 위한 필수 선택이다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.