기술 가이드

그라데이션 체크포인트

그라데이션 체크포인트(활성화 체크포인트라고도 함)는 순방향 전달 중에 대부분의 중간 활성화를 버리고 역전파 중에 즉시 다시 계산하는 메모리 절약 트릭입니다.

이 가이드를 들어보세요AI 내레이션 · ~2 min

이 페이지에서2분 읽기
  1. 개요
  2. 심층 분석
  3. 실제 구현
  4. 그라데이션 체크포인트의 미래
  5. 실천에 옮기기
  6. 계속 탐색하세요
  7. 자주 묻는 질문

개요

It lets you train deeper, larger networks by trading extra compute for much lower memory use.

심층 분석

Training normally retains intermediate activations needed for backpropagation. Activation checkpointing saves selected boundary tensors and recomputes internal activations during backward. This trades additional computation for a lower activation-memory footprint; the actual savings and runtime overhead depend on checkpoint placement, operations, model graph, and hardware. In a simplified chain of N similarly sized layers, a textbook schedule with checkpoint boundaries spaced about sqrt(N) layers apart can reduce activation storage to order sqrt(N) checkpoints, with recomputation cost governed by that schedule. This asymptotic example is not a universal prediction for framework implementations. PyTorch exposes activation-checkpointing utilities, and its current guidance also describes selective rematerialization and compiler-assisted choices. It can combine with FSDP and mixed precision, but benchmark the full training workload.

실제 구현

레이어 활성화를 삭제하고 다시 계산하여 단일 GPU에서 더 큰 배치 크기로 심층 변환기를 훈련합니다.

활성화 맵이 GPU 메모리를 오버플로할 수 있는 고해상도 이미지에서 비전 모델을 미세 조정합니다.

미세 조정 중에 10억 개의 매개변수 모델을 맞추기 위해 Gradient_checkpointing=True를 활성화하는 Hugging Face Transformers입니다.

체크포인트와 FSDP를 결합하면 매개변수와 활성화가 모두 작게 유지되므로 매우 큰 언어 모델을 훈련할 수 있습니다.

그라데이션 체크포인트의 미래

이제 그라디언트 체크포인트는 대규모 모델 교육의 표준이며 라이브러리가 최적의 체크포인트 위치를 선택함으로써 점점 더 자동화되고 있습니다. FSDP, 혼합 정밀도 및 오프로딩과 자연스럽게 결합되어 모델 크기를 더 높일 수 있습니다. 비용이 많이 드는 작업(예: 주의 매트릭스)을 캐시된 상태로 유지하면서 저렴한 작업만 다시 계산하는 '선택적' 체크포인트와 최고의 속도 메모리 균형을 위해 저장할 항목과 다시 계산할 항목을 자동으로 결정하는 PyTorch의 torch.compile과 같은 도구의 컴파일러 기반 접근 방식을 기대하세요.

실천에 옮기기

왜 중요한가요?

  • 비용 및 예산. 아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
  • 더 명확한 결정들. 기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
  • 품질 관리. 더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

조심하세요

  • 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
  • 인프라 및 유지 관리 비용은 종종 과소평가됩니다.
  • 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

다음 단계

  1. 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
  2. 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
  3. 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
  4. 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

계속 탐색하세요

무료 뉴스레터

일일 AI 브리핑 받기

매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.

매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.

자신을 테스트해 보세요

Take the Gradient Checkpointing quiz

모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.

퀴즈 시작

무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기

자주 묻는 질문

What is Gradient Checkpointing?

그라데이션 체크포인트(활성화 체크포인트라고도 함)는 순방향 전달 중에 대부분의 중간 활성화를 버리고 역전파 중에 즉시 다시 계산하는 메모리 절약 트릭입니다. 훨씬 적은 메모리 사용을 위해 추가 컴퓨팅을 교환함으로써 더 깊고 더 큰 네트워크를 훈련할 수 있습니다.

메모리를 절약하기 위해 그라디언트 체크포인트는 주로 무엇을 거래합니까?

그라데이션 체크포인트는 역방향 전달 중에 폐기된 활성화를 다시 계산하여 메모리를 대폭 줄이는 대신 추가 계산을 수행합니다.

정방향 전달 중에 활성화가 일반적으로 저장되는 이유는 무엇입니까?

Backprop은 순방향 전달의 중간 활성화를 사용하여 기울기를 계산하므로 다시 계산하지 않는 한 사용할 수 있어야 합니다.

In a simplified chain of N similarly sized layers, what can checkpoint boundaries spaced about sqrt(N) layers apart achieve in the textbook schedule?

The square-root schedule is a theoretical result for a simplified sequential computation graph, not a universal implementation guarantee.

What most determines gradient-checkpointing runtime overhead in a practical model?

Recomputation overhead varies with checkpoint policy and the cost of operations selected for recomputation.

PyTorch에서 모듈에 그래디언트 체크포인트를 적용하는 데 일반적으로 사용되는 유틸리티는 무엇입니까?

torch.utils.checkpoint는 모듈을 래핑하여 내부 활성화가 저장되는 대신 역방향 중에 다시 계산되도록 합니다.