
AI
효율적인 GPU 메모리 사용을 위한 여러 기법
두줄요약
GPU 메모리 사용을 줄이기 위한 그레이디언트 누적, 체크포인팅, ZeRO, LoRA, QLoRA를 정리했습니다. 각 기법이 절감하는 메모리 영역과 적용 효과를 예시와 함께 설명했습니다.
핵심 내용
- GPU 메모리 부족으로 발생하는 OOM 완화 기법 정리
- 학습 시 메모리 구성 요소와 각 기법의 절감 대상 설명
- LoRA, QLoRA, ZeRO, 병렬화 방식의 메모리 활용 관점 비교
구조와 흐름
- 그레이디언트 누적으로 작은 배치 반복 후 일정 시점에만 업데이트
- 그레이디언트 체크포인팅으로 중간 활성값 일부만 저장하고 필요 시 재계산
- 분산학습에서 데이터 병렬화, 모델 병렬화, 파이프라인 병렬화, 텐서 병렬화 구분
성능/운영 포인트
- ZeRO로 파라미터, 그레이디언트, 옵티마이저 상태의 중복 저장 완화
- LoRA로 전체 파라미터 대신 일부만 학습해 옵티마이저·그레이디언트 메모리 절감
- QLoRA로 4비트 양자화와 paged optimizer를 활용해 총 GPU 메모리 추가 절감
