체크포인트 샤딩 및 재개 가능한 훈련
모델의 훈련 상태를 조각(샤드)으로 저장하여 메모리나 디스크 제한을 초과하지 않고 거대한 모델을 저장하고 다시 로드할 수 있으며, 충돌이 발생한 실행이 중단된 위치에서 정확히 시작할 수 있도록 하는 기술입니다.
개요
Essential for any training job that runs for days or weeks across many GPUs.
심층 분석
학습 체크포인트는 모델 가중치, 최적화 상태, 학습 속도 일정, 데이터 로더 위치, 난수 생성기 시드 등 재개하는 데 필요한 모든 항목의 스냅샷입니다. 대형 모델의 경우 이 스냅샷은 수백 기가바이트에 달할 수 있으며 단일 파일이나 단일 시스템의 메모리에 비해 너무 큽니다. 체크포인트 샤딩은 해당 스냅샷을 여러 파일과 여러 순위로 분할하므로 각 GPU는 자체 슬라이스만 병렬로 작성합니다. 그런 다음 재개 가능한 훈련은 해당 샤드를 다시 로드하고 전체 상태를 정확하게 복원합니다. 이것이 없으면 200시에 충돌이 발생하는 여러 주간의 실행을 처음부터 다시 시작해야 합니다. PyTorch Distributed Checkpoint, DeepSpeed 및 Hugging Face Hub의 분할된 safetensor 형식과 같은 프레임워크가 이러한 루틴을 만듭니다.
기술적 통찰력
샤딩은 분산 훈련이 이미 (데이터, 텐서 또는 ZeRO 병렬 처리를 통해) 순위에 걸쳐 가중치와 최적화 상태를 분할하기 때문에 작동합니다. 각 순위는 해당 파티션만 직렬화하며, 종종 게으른 메모리 매핑 로드를 허용하는 안전 텐서와 같은 형식으로 직렬화됩니다. 인덱스 파일은 매개변수 이름을 샤드 파일에 매핑합니다. 결정론적으로 재개하기 위해 시스템은 RNG 상태, 최적화 단계 수 및 정확한 데이터로더 오프셋도 유지하므로 재실행 시 동일한 배치 시퀀스가 재생산됩니다.
전략적 영향
비용 및 예산
아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
더 명확한 결정들
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
품질 관리
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
체크포인트 샤딩과 재개 가능한 훈련의 미래
체크포인트는 주기적인 세계 정지 이벤트에서 비동기적이고 거의 무료인 이벤트로 전환되고 있습니다. 훈련이 계속되는 동안 백그라운드에서 샤드를 쓰는 더 많은 인메모리 및 중첩 체크포인트와 1,000개의 GPU 규모에서 흔히 발생하는 노드 장애에도 살아남는 삭제 코딩 및 복제 체크포인트를 기대합니다. 클라우드 개체 저장소와 더 빠른 로컬 NVMe 계층은 샤드를 호스팅하고 세이프텐서와 같은 표준화된 형식은 훈련 재개 및 추론 배포 모두에 대해 안전하고 빠른 부분 로딩을 계속 개선합니다.
실제 구현
수천 개의 GPU에서 실행되는 프론티어 모델은 수백 단계마다 샤딩된 체크포인트를 자동 저장하므로 단일 장애 노드의 비용은 며칠이 아닌 몇 분 밖에 걸리지 않습니다.
Hugging Face는 사용자가 하나씩 다운로드하고 로드할 수 있도록 여러 safetensor 샤드와 index.json으로 대규모 공개 모델을 배포합니다.
연구원이 중단 없이 계속되도록 정확한 최적화 모멘텀, 걸음 수 및 데이터로더 위치를 복원하는 미세 조정을 재개합니다.
빈번한 샤딩된 체크포인트를 통해 작업이 제거되고 일정이 변경되더라도 살아남을 수 있는 저렴한 선점형 클라우드 GPU에 대한 스팟 인스턴스 교육입니다.
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Checkpoint Sharding and Resumable Training quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
AI 훈련 클러스터를 위한 Slurm
자주 묻는 질문
What is Checkpoint Sharding and Resumable Training?
모델의 훈련 상태를 조각(샤드)으로 저장하여 메모리나 디스크 제한을 초과하지 않고 거대한 모델을 저장하고 다시 로드할 수 있으며, 충돌이 발생한 실행이 중단된 위치에서 정확히 시작할 수 있도록 하는 기술입니다. 여러 GPU에서 며칠 또는 몇 주 동안 실행되는 모든 훈련 작업에 필수적입니다.
대형 모델 체크포인트가 샤드로 분할되는 이유는 무엇입니까?
거대한 체크포인트(수백 GB)는 하나의 파일로는 실용적이지 않습니다. 샤딩을 사용하면 많은 순위에서 슬라이스를 병렬로 작성할 수 있으며 조각별 로드가 가능합니다.
모델 가중치 외에 재개 가능한 체크포인트가 일반적으로 무엇을 저장해야 합니까?
정확하게 다시 시작하기 위해 체크포인트는 최적화 프로그램 상태, 난수 생성기 상태, 단계 수 및 데이터 로더가 중단된 위치를 저장합니다.
장기 직업에 대한 재개 가능한 교육의 주요 이점은 무엇입니까?
재개 가능한 체크포인트를 사용하면 중단된 실행이 며칠 동안의 컴퓨팅 시간을 허비하는 대신 마지막으로 저장된 상태를 다시 로드하고 계속됩니다.
각 GPU 순위는 일반적으로 샤딩된 체크포인트에 어떻게 기여합니까?
분산 훈련은 이미 모델을 순위에 걸쳐 분할하기 때문에 각 순위는 해당 슬라이스만 작성하여 병렬 저장과 메모리 효율성을 높입니다.
분할된 체크포인트에서 인덱스 파일은 어떤 역할을 합니까?
인덱스(예: index.json)는 로더가 올바른 조각을 가져와 재조립할 수 있도록 각 매개변수를 보유하는 샤드를 기록합니다.