TEN
뉴스룸 채용 문의하기
LinkedIn X YouTube Tistory
뉴스룸 채용 문의하기
AI 인프라

체크포인팅이란? 대규모 LLM 학습의 GPU 장애 복구 방법

GPU 수천 대로 진행하는 LLM 학습에서 장애는 피하기 어렵습니다. 체크포인팅의 개념과 동기식·비동기·인메모리 방식의 차이, 저장 항목과 주기를 정하는 기준을 정리합니다.
안녕텐's avatar
안녕텐
Aug 02, 2026
체크포인팅이란? 대규모 LLM 학습의 GPU 장애 복구 방법
Contents
체크포인팅(Checkpointing)이란?대규모 GPU 학습에서 체크포인팅이 필요한 이유체크포인트에는 무엇을 저장할까요?동기식 체크포인팅: 저장하는 동안 GPU가 멈춥니다비동기 체크포인팅: 저장과 학습을 겹쳐 실행합니다인메모리·계층형 체크포인팅: 복구 시간까지 줄입니다체크포인트는 얼마나 자주 저장해야 할까요?체크포인팅 방식 한눈에 비교하기체크포인팅만으로는 충분하지 않습니다결론: 장애를 막을 수 없다면 빠르게 복구해야 합니다참고 자료

“대규모 LLM 학습을 54일 동안 진행했는데, 그사이 466번 중단됐습니다.”

Meta의 Llama 3 학습에서 실제로 발생한 일입니다. 공개된 54일간의 기록에 따르면, 학습 작업은 총 466번 중단됐으며 이 가운데 419번은 예기치 않은 장애였습니다. 예상하지 못한 중단의 58.7%는 GPU 관련 문제였고, 소프트웨어와 네트워크, 스토리지 문제도 학습을 멈추게 했습니다.

앞선 글 DiLoCo란? 초고속 네트워크 의존도를 낮추는 LLM 분산 학습에서는 워커 간 동기화 구조를 바꿔 일부 워커의 장애가 전체 학습에 미치는 영향을 줄이는 방법을 살펴봤습니다.

그렇다면 일반적인 분산 학습 환경에서는 장애가 발생했을 때 무엇을 기준으로 학습을 다시 시작할 수 있을까요?

답은 체크포인팅(Checkpointing)입니다.

체크포인팅(Checkpointing)이란?

체크포인팅은 학습 도중 현재의 진행 상태를 주기적으로 저장하는 기술입니다. 장애가 발생하면 처음부터 다시 학습하는 대신 가장 최근에 저장한 체크포인트를 불러와 해당 시점부터 학습을 재개할 수 있습니다.

대규모 GPU 학습에서 체크포인팅이 필요한 이유

GPU 한 대의 고장 확률은 낮을 수 있습니다. 하지만 수천 대의 GPU를 몇 달 동안 동시에 가동하면 클러스터 어딘가에서 문제가 발생할 가능성은 빠르게 높아집니다.

장애는 GPU와 서버 하드웨어뿐 아니라 CUDA·NCCL 등 소프트웨어 오류, 네트워크 통신 장애, 스토리지와 파일 시스템 문제, 랙 단위 전원 또는 스위치 장애 등 다양한 원인으로 발생합니다.

수천 개의 GPU가 함께 참여하는 동기식 분산 학습에서는 이 가운데 하나의 문제만 발생해도 전체 작업이 중단될 수 있으며, 체크포인팅이 없다면 수일 또는 수주 동안 수행한 학습 결과가 한 번의 장애로 사라질 수 있습니다.

체크포인트에는 무엇을 저장할까요?

오늘날 LLM의 학습 상태는 하나의 GPU나 파일에 모여 있지 않습니다. 모델과 옵티마이저 상태는 텐서 병렬화, 파이프라인 병렬화, 데이터 병렬화, ZeRO 등에 따라 여러 GPU에 나뉘어 저장됩니다. 따라서 여러 GPU에 분산된 상태를 동일한 학습 스텝을 기준으로 저장하고, 하나의 일관된 학습 상태로 복원할 수 있어야 정상적으로 학습을 재개할 수 있습니다.

일반적인 체크포인트에는 다음 정보가 포함됩니다.

  • 모델 가중치: 학습을 통해 업데이트된 파라미터

  • 옵티마이저 상태: Adam의 모멘텀과 분산값 등 다음 업데이트에 필요한 정보

  • 학습 스텝과 학습률 스케줄러 상태: 현재 학습 단계와 적용 중인 학습률

  • 혼합정밀도 학습 상태: Loss Scale과 FP32 마스터 가중치 등

  • 난수와 데이터 로더 상태: 데이터 순서와 처리 위치를 복원하기 위한 정보

체크포인트는 단순한 모델 파일이 아니라, 특정 시점의 학습을 다시 시작하기 위한 전체 상태의 묶음입니다.

동기식 체크포인팅: 저장하는 동안 GPU가 멈춥니다

가장 단순한 방식은 일정한 스텝마다 학습을 멈추고 전체 상태를 디스크나 네트워크 파일 시스템에 저장하는 것입니다. 이를 동기식 체크포인팅(Synchronous Checkpointing)이라고 합니다.

동기식 방식에서는 모든 GPU가 동일한 스텝에 도달한 뒤 연산을 멈춥니다. 저장이 완료돼야 다음 학습 스텝을 시작할 수 있습니다.

모델이 커지면 저장해야 할 데이터도 증가합니다. 특히 Adam 계열 옵티마이저를 사용하면 모델 가중치 외에도 모멘텀과 분산값 등이 필요해, 대규모 모델에서는 전체 체크포인트 크기가 수백 GB에서 수 TB 규모에 이를 수 있습니다.

체크포인트를 자주 저장하면 장애 발생 시 잃는 학습량은 줄어들지만 GPU 대기 시간이 늘어납니다. 반대로 드물게 저장하면 대기 시간은 줄지만 장애 발생 시 더 많은 학습을 다시 수행해야 합니다.

비동기 체크포인팅: 저장과 학습을 겹쳐 실행합니다

이러한 대기 시간을 줄이기 위해 등장한 방식이 비동기 체크포인팅(Asynchronous Checkpointing)입니다.

비동기 방식은 GPU의 학습 상태를 CPU 메모리 등에 스냅샷으로 옮긴 뒤, 디스크나 네트워크 파일 시스템에 기록하는 작업을 다음 학습 스텝과 겹쳐 수행합니다. GPU는 영구 저장소에 쓰기가 끝날 때까지 기다리지 않고 다음 연산을 이어갈 수 있습니다.

DataStates-LLM은 Forward·Backward 연산 중 모델과 옵티마이저 상태가 변경되지 않는 구간을 활용해, 해당 상태를 GPU에서 CPU 메모리로 복사하는 방법을 제안했습니다. 연구진은 특정 실험 환경에서 기존 방식보다 체크포인팅 속도를 최대 48배 높이고, 종단 간 학습 성능을 최대 2.2배 향상했다고 보고했습니다.

다만 비동기 방식이라고 해서 저장 비용이 완전히 사라지는 것은 아닙니다. GPU와 CPU 사이의 대역폭, CPU 메모리, 네트워크와 스토리지 자원을 학습 작업과 공유하기 때문에 일정한 성능 간섭은 남습니다.

비동기 체크포인팅의 목적은 저장 시간을 없애는 것이 아니라, 저장 때문에 GPU가 멈추는 시간을 최소화하는 것입니다.

동기식 체크포인팅과 비동기 체크포인팅의 GPU 활용률 비교 그래프
동기식 체크포인팅은 저장 중 GPU가 완전히 중단되지만, 비동기 체크포인팅은 경미한 간섭만 발생합니다

인메모리·계층형 체크포인팅: 복구 시간까지 줄입니다

최근에는 체크포인팅으로 인한 학습 중단뿐 아니라, 장애 이후 복구 시간까지 줄이기 위해 CPU 메모리를 활용하는 방식이 연구·적용되고 있습니다.

인메모리 체크포인팅(In-memory Checkpointing)은 체크포인트를 매번 느린 영구 저장소에 기록하지 않고, 먼저 호스트 서버의 CPU 메모리에 저장합니다. 메모리는 디스크보다 빠르기 때문에 더 높은 빈도로 상태를 저장하고 빠르게 불러올 수 있습니다.

하지만 현재 노드의 메모리에만 저장하면 서버 자체가 고장 났을 때 체크포인트도 함께 사라집니다. 이를 보완한 것이 계층형 체크포인팅(Tiered Checkpointing)입니다.

최근의 계층형 구조는 장애 범위에 따라 저장 위치를 나눕니다.

  • 프로세스 장애: 현재 노드의 CPU 메모리에서 복구

  • 노드 장애: 다른 노드의 피어 메모리에서 복구

  • 랙 단위 장애: 원격 영구 저장소에서 복구

빠른 메모리 계층에는 체크포인트를 자주 저장하고, 안전하지만 느린 영구 저장소에는 상대적으로 낮은 빈도로 저장하는 방식입니다.

TierCheck 연구는 로컬·피어 메모리에 경량 체크포인트를 유지하고, 전체 체크포인트는 원격 저장소에 비동기로 기록하는 구조를 제안했습니다. 연구진의 평가에 따르면 200억 파라미터(20B) 모델에서 체크포인팅 시간을 10초 미만으로 줄였습니다. 400억 파라미터(40B) 모델 실험에서도 약 10~15%의 오버헤드로 매 스텝 체크포인팅을 지원했다고 보고했습니다.

다만 2026년 공개된 초기 연구이므로 실제 성능은 모델과 인프라 구성에 따라 달라질 수 있습니다.

체크포인트는 얼마나 자주 저장해야 할까요?

체크포인트 주기에는 하나의 정답이 없습니다. 너무 자주 저장하면 I/O와 네트워크 부하가 증가하고, 너무 드물게 저장하면 장애 이후 다시 계산해야 하는 학습량이 늘어납니다.

장애가 체크포인트 사이에 균등하게 발생한다고 가정하면, 체크포인트를 30분마다 저장할 때 평균적으로 약 15분 분량의 학습을 다시 수행하게 됩니다. 주기를 5분으로 줄이면 손실되는 학습량은 줄지만 저장 작업이 더 자주 학습과 자원을 경쟁합니다.

저장 주기는 다음 조건을 함께 고려해 정해야 합니다.

  • 클러스터의 장애 발생 빈도

  • 체크포인트 저장과 로딩 시간

  • 체크포인트 크기

  • 스토리지와 네트워크 처리량

  • 허용할 수 있는 학습 손실 구간

핵심은 가장 짧은 주기가 아니라, 체크포인팅 오버헤드와 장애 이후 재계산 비용의 합을 최소화하는 주기를 찾는 것입니다. 초대규모 환경에서는 CPU 메모리에는 자주 저장하고, 영구 저장소에는 더 긴 주기로 저장하는 계층형 전략이 적합합니다.

체크포인팅 방식 한눈에 비교하기

구분

동기식 체크포인팅

비동기 체크포인팅

인메모리·계층형 체크포인팅

핵심 방식

학습을 멈추고 영구 저장소에 기록

저장 작업을 학습과 겹쳐 수행

메모리와 영구 저장소에 계층적으로 저장

주요 특징

구현과 일관성 관리가 단순함

저장 중 GPU 대기 시간을 줄임

롤백 구간과 복구 시간을 줄임

저장 위치

디스크·네트워크 스토리지

CPU 메모리와 영구 저장소

로컬·피어 메모리와 영구 저장소

장점

구조가 단순함

학습 중단 시간을 줄임

빈번한 장애에서 빠른 복구 가능

주의점

저장 중 GPU가 대기함

메모리·네트워크 자원 경쟁

메모리 점유와 복제 관리 필요

체크포인팅만으로는 충분하지 않습니다

체크포인팅은 장애가 발생했을 때 어디서부터 다시 시작할 것인지를 해결합니다. 하지만 실제 다운타임을 줄이려면 장애 감지와 원인 파악, 비정상 노드 제거, 정상 자원으로의 재배치와 학습 재시작이 함께 이루어져야 합니다.

체크포인팅과 장애 감지·자동 재시작을 함께 설계한 TRANSOM 사례가 이를 잘 보여줍니다. 연구진은 체크포인팅뿐 아니라 이상 감지와 자동 복구까지 통합해, GPT-3 175B 규모의 사전 학습 평가에서 전체 학습 시간을 28% 줄였다고 보고했습니다. 체크포인트를 아무리 빠르게 저장해도 장애를 늦게 발견하거나 어떤 GPU가 정상인지 확인하기 어렵다면 복구는 계속 늦어진다는 뜻입니다.

이 지점에서 학습 프레임워크의 체크포인팅 전략과 GPU 인프라 운영이 연결됩니다. AIPub은 클러스터 내 개별 GPU와 노드의 상태를 실시간으로 수집해, 온도·메모리 오류·통신 지연과 같은 이상 신호를 조기에 포착합니다. 문제가 발생한 노드를 자동으로 표시하고 정상 자원과 분리해 보여주기 때문에, 운영자는 장애 원인을 하나씩 추적하는 대신 대시보드에서 즉시 상태를 확인할 수 있습니다.

체크포인팅이 “어디서부터 다시 시작할 것인지”를 답한다면, GPU 인프라 운영 계층은 “무엇이 잘못됐고 어떤 자원에서 다시 시작할 것인지”를 판단하도록 돕습니다.

결론: 장애를 막을 수 없다면 빠르게 복구해야 합니다

대규모 GPU 학습에서 장애를 완전히 없애는 것은 불가능에 가깝습니다.

체크포인팅은 장애가 발생해도 처음부터 다시 학습하지 않도록 학습 상태를 보존하는 기술입니다. 동기식 방식은 구조가 단순하지만 저장 중 GPU가 멈춥니다. 비동기 방식은 저장 작업을 학습과 겹쳐 대기 시간을 줄입니다. 인메모리·계층형 방식은 저장 위치를 나눠 장애 이후의 복구 시간까지 줄입니다.

따라서 대규모 AI 인프라에서는 체크포인트를 얼마나 자주 저장하는지만큼, 장애를 얼마나 빠르게 감지하고 정상 자원에서 학습을 재개할 수 있는지도 중요합니다.

대규모 AI 인프라의 경쟁력은 장애가 전혀 발생하지 않는 환경을 만드는 데 있지 않습니다. 장애가 발생하더라도 손실되는 학습량과 다운타임을 최소화하고, 빠르게 정상 상태로 돌아오는 구조를 만드는 데 있습니다.

우리 조직의 GPU 학습 환경에 적합한 체크포인팅 전략과 장애 대응 체계를 TEN의 전문가와 함께 확인해 보세요.

👉 AIPub으로 통합 운영 전략 살펴보기

👉 RA:X 인프라 컨설팅 알아보기

📩 전문가와 직접 상담하기


참고 자료

  • Grattafiori et al., “The Llama 3 Herd of Models,” arXiv, 2024

  • Wu et al., “TRANSOM: An Efficient Fault-Tolerant System for Training LLMs,” arXiv, 2023

  • Maurya et al., “DataStates-LLM: Lazy Asynchronous Checkpointing for Large Language Models,” arXiv, 2024

  • Shen et al., “Fault-Tolerant Hybrid-Parallel Training at Scale with Reliable and Efficient In-memory Checkpointing,” arXiv, 2023

  • Han et al., “TierCheck: Tiered Checkpointing for Fault Tolerance in Large Language Model Training,” arXiv preprint, 2026

Share article
Contents
체크포인팅(Checkpointing)이란?대규모 GPU 학습에서 체크포인팅이 필요한 이유체크포인트에는 무엇을 저장할까요?동기식 체크포인팅: 저장하는 동안 GPU가 멈춥니다비동기 체크포인팅: 저장과 학습을 겹쳐 실행합니다인메모리·계층형 체크포인팅: 복구 시간까지 줄입니다체크포인트는 얼마나 자주 저장해야 할까요?체크포인팅 방식 한눈에 비교하기체크포인팅만으로는 충분하지 않습니다결론: 장애를 막을 수 없다면 빠르게 복구해야 합니다참고 자료

TEN

RSS·Powered by Inblog