워크로드 가이드
재현 가능한 PyTorch 실행 계획
메모리를 측정하고, 병렬 처리 전략을 선택하고, 체크포인트 복원을 테스트하고, 고정 기간 PyTorch 학습 실행을 계획하세요.
10분 읽기 · 업데이트됨확장 전에 완전한 단계 하나를 증명하세요
모델 및 데이터셋 리비전, 종속성 버전, 학습 구성, 무작위 시드 및 컨테이너 다이제스트를 잠그십시오. 하나의 가속기에서 모델 로딩, 전체 학습 단계, 평가, 체크포인트 저장 및 체크포인트 복원을 실행하십시오.
장기 실행에 사용할 것과 동일한 시퀀스 길이와 마이크로 배치 설정을 사용하십시오. 옵티마이저 상태를 생략하거나 더 짧은 시퀀스를 사용하는 소규모 파일럿은 측정하려는 메모리 문제를 숨길 수 있습니다.
대표적인 최적화 단계 측정
기존 학습 프로그램 내에서 대표적인 단계를 최대 메모리 측정으로 둘러싸세요. 이 예시에서는 모델, 배치 및 옵티마이저가 이미 GPU에서 초기화되었다고 가정합니다. 일부 상태는 지연 생성되므로 옵티마이저 단계를 포함하세요.
torch.cuda.reset_peak_memory_stats()
optimizer.zero_grad(set_to_none=True)
loss = model(**batch).loss
loss.backward()
optimizer.step()
torch.cuda.synchronize()
peak_gib = torch.cuda.max_memory_allocated() / 2**30
print(f"Peak tensor memory: {peak_gib:.2f} GiB")이는 최대 텐서 할당량을 보고하며 전체 디바이스 사용량을 나타내지는 않습니다. 예약 메모리, 런타임 오버헤드, 시스템의 디바이스 메모리 보고서도 함께 확인하세요.
올바른 이유로 DDP 또는 샤딩 선택
DistributedDataParallel은 각 프로세스에 모델 복제본을 유지하고 그래디언트를 동기화합니다. 전체 학습 상태가 각 GPU에 맞고 더 많은 데이터를 병렬로 처리하려는 경우에 유용하며, VRAM을 하나의 연속 풀로 병합하지는 않습니다.
Fully Sharded Data Parallel은 매개변수, 기울기, 옵티마이저 상태를 분산할 수 있습니다. 메모리 부담이 샤딩을 정당화할 때 사용하고, 추가 통신과 분산 체크포인트 복잡성을 고려하세요.
혼합 정밀도와 활성화 체크포인팅은 별개의 선택입니다. 낮은 정밀도에 대한 수치 동작을 검증하고, 체크포인팅이 메모리를 절약할 때 활성화 재계산의 컴퓨팅 비용을 측정하십시오.
단일 노드 파일럿 시작
학습 스크립트는 분산 실행을 초기화하고 로컬 순위 정보를 사용하여 각 GPU에 하나의 프로세스를 할당해야 합니다. 프로세스 수를 표시되는 GPU에 맞추세요. 다음은 분산 인식 스크립트의 실행 예시이며 완전한 학습 구현이 아닙니다.
torchrun --standalone --nproc-per-node=4 \
train.py --config configs/pilot.yaml프로비저닝된 노드에서만 실행하세요. 로컬 AnchorGPU 데모는 학습을 실행하거나 원격 GPU를 할당하지 않습니다.
파일럿 결과에 따라 하드웨어 선택
A100을 저렴한 80 GB CUDA 기준선으로 사용하고, 워크로드에 유용한 Hopper 특화 경로가 있는 경우 H100을 테스트하십시오. H200은 더 큰 CUDA 메모리 구성을 제공합니다. MI300X은(는) 전체 애플리케이션이 ROCm에서 검증된 경우 이 카탈로그에서 가속기당 더 많은 용량을 제공합니다.
AMD의 경우 사용자 지정 확장, 커널, 패키지 버전 및 ROCm 테스트를 거친 PyTorch 이미지를 완전한 세트로 확인하십시오. 프레임워크 수준의 호환성이 모든 선택적 작업을 검증하지는 않습니다.
H200과 MI300X 비교저장뿐 아니라 복원도 테스트하세요
모델, 옵티마이저, 스케줄러, 학습 단계, 구성 및 혼합 정밀도 스케일러 상태를 해당되는 경우 기록하십시오. 체크포인트를 저장하고 프로세스를 종료한 다음 장기 실행에 들어가기 전에 복원 및 재개하십시오.
분산 상태에 적합한 체크포인트 방법을 사용하십시오. 저장된 아티팩트를 원래 프로세스와 독립적으로 읽을 수 있고 평가 출력이 예상 허용 범위 내에 유지되는지 테스트하십시오.
전체 파이프라인에 대한 예산을 책정하세요
다운로드, 전처리, 데이터 로딩, 검증, 체크포인트, 내보내기 및 노드에서 출력 복사를 포함하세요. 메모리, 데이터 로딩 지연, 통신 시간, 체크포인트 기간 및 검증 품질과 함께 처리량을 측정하세요.
7일 기간은 제한된 호환성 및 프로파일링 단계에 유용합니다. 유용한 작업과 운영 여유를 추정할 수 있을 때만 30일 예약을 선택하세요. 추가 계산이 통신 및 입력 파이프라인 한계를 능가할 때만 더 많은 GPU가 도움이 됩니다.
고정 기간 청구 이해