본문으로 건너뛰기
AI Engineer조회 1

Krea 2 모델 학습을 위한 대규모 GPU 인프라 구축 및 운영 전략.

수천 개의 GPU에서 Krea 2를 학습시키며 겪은 인프라 문제와 해결책을 공유한다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Krea 2는 수천 개의 GPU에서 밑바닥부터 학습된 텍스트-이미지 모델이다. 대규모 학습 시 GPU 활용률 지표는 오해의 소지가 있어 텐서 코어 활용률과 온도를 핵심 지표로 관리한다. InfiniBand와 NVLink의 통신 오류를 직접 수집하고, 고속 파일시스템을 통해 30초 내에 체크포인트를 저장하여 크래시 발생 시 즉각 복구한다. 학습과 추론을 하나의 클러스터에서 운영하며, Virtual Kubelet으로 추론을 외부로 오프로딩하고 Taint를 활용해 GPU 자원 낭비를 방지하는 인프라 구조를 구축했다.

챕터별 상세

00:00

Krea 2 모델 학습 철학

Krea 2는 텍스트-이미지 파운데이션 모델로, 창의적인 탐색을 위해 밑바닥부터 학습되었다. 기존 AI 모델들이 창의성이나 다양성이 부족하다는 문제의식에서 출발하여, 사용자가 다양한 미학적 스타일을 탐색할 수 있도록 설계됐다. 모든 가중치를 공개하여 연구와 학습에 활용할 수 있도록 했다.

파운데이션 모델은 방대한 데이터를 사전 학습하여 다양한 하위 작업에 적용할 수 있는 모델을 의미한다.

03:26

대규모 학습 시 크래시 대응

수천 개의 GPU를 사용하는 대규모 학습 환경에서는 크래시가 빈번하게 발생한다. 특히 통신 타임아웃과 같은 조용한 실패가 잦아 대시보드 지표가 정상으로 보여도 학습이 멈추는 경우가 많다. 크래시를 미스터리로 다루지 않고, 동일한 노드와 코드에서 재시도하면 24시간 이상 안정적으로 동작하는 경우가 많아 체크포인팅을 통한 복구에 집중했다.
04:18

GPU 활용률 지표의 함정

GPU 활용률 지표는 커널 실행 여부만 판단하므로, 실제 연산 효율을 측정하는 데 한계가 있다. GPU 활용률이 100%로 표시되어도 실제로는 유휴 상태일 수 있어, 실제 연산 효율을 파악하기 위해 Tensor Core 활용률을 추적했다. 학습 해상도를 128에서 1024로 높일 때 Tensor Core 활용률이 상승하는 것을 확인하며 모델의 연산 부하를 정확히 파악했다.

Tensor Core는 행렬 연산을 가속하는 하드웨어 유닛으로, 딥러닝 학습 효율의 핵심 지표다.

06:48

InfiniBand 및 NVLink 모니터링

대규모 학습의 주요 실패 원인은 노드 간 통신 문제였다. InfiniBand와 NVLink의 오류 지표는 기본적으로 제공되지 않아 직접 수집기를 구현했다. 통신 지연, 패킷 오류, 링크 플래핑 등을 모니터링하여 문제가 있는 노드를 즉시 식별하고 교체했다.

InfiniBand와 NVLink는 고속 분산 학습을 위한 노드 간 통신 기술이다.

08:29

고속 파일시스템과 체크포인팅

크래시 발생 시 학습을 복구하기 위해 체크포인팅이 필수적이다. Ceph 파일시스템은 대규모 스케일을 감당하지 못해 Weka 파일시스템으로 교체했다. Weka는 1테라바이트 데이터를 30초 이내에 저장할 수 있어, 20~30분마다 체크포인트를 저장해도 학습 속도 저하 없이 크래시 복구가 가능하다.
09:21

Kueue를 활용한 갱 스케줄링

학습 작업은 모든 GPU가 동시에 연산을 수행해야 하므로 갱 스케줄링이 필수적이다. Kueue를 도입하여 학습 작업에 높은 우선순위를 부여하고, 작업이 승인되면 모든 자원을 즉시 할당받도록 구성했다. 이를 통해 학습 작업이 추론 작업보다 우선권을 가지며, 추론 작업은 학습 작업이 시작되면 자동으로 밀려나거나 다른 곳으로 이동한다.

갱 스케줄링은 여러 작업을 하나의 그룹으로 묶어 동시에 실행하는 스케줄링 방식이다.

11:01

Virtual Kubelet을 통한 추론 오프로딩

학습과 추론을 하나의 클러스터에서 운영하기 위해 Virtual Kubelet을 활용했다. 학습 작업이 클러스터 자원을 모두 점유하면, 추론 작업은 가상의 노드로 인식되어 외부 인프라로 오프로딩된다. 학습이 끝나면 추론 작업은 다시 클러스터 내부로 점진적으로 마이그레이션되어 서비스 중단 없이 운영된다.

Virtual Kubelet은 가상의 노드를 생성하여 외부 자원을 클러스터에 통합하는 기술이다.

14:23

Taint를 활용한 자원 낭비 방지

GPU 자원이 남을 때 낭비를 방지하기 위해 Taint를 활용했다. 클러스터에 GPU가 충분하면 노드에 Taint를 설정하여 일반 작업이 스케줄링되지 않도록 막는다. 학습 작업이 시작되면 Taint를 제거하여 학습 작업이 GPU를 점유하게 하고, 학습이 끝나면 다시 Taint를 설정하여 자원을 회수한다. 이 과정은 Descheduler를 통해 자동화되어 수동 개입 없이 자원 효율을 극대화한다.

Taint는 특정 노드에 Pod가 스케줄링되지 않도록 제한하는 Kubernetes 기능이다.

용어 해설

갱 스케줄링(Gang Scheduling)
여러 개의 작업(Pod)을 하나의 그룹으로 묶어 동시에 실행하거나 대기시키는 스케줄링 방식이다. 대규모 분산 학습에서 모든 노드가 동시에 연산을 시작해야 하는 동기화 문제를 해결하기 위해 필수적이다.
텐서 코어(Tensor Cores)
NVIDIA GPU 내부에 탑재된 행렬 연산 전용 하드웨어 유닛이다. 딥러닝 모델의 핵심인 행렬 곱셈 연산을 가속화하며, 일반적인 GPU 활용률보다 실제 연산 효율을 측정하는 데 더 정확한 지표가 된다.
버추얼 큐블릿(Virtual Kubelet)
Kubernetes 클러스터에 실제 노드가 아닌 가상의 노드를 등록하여 외부 자원을 클러스터 내부 자원처럼 활용하게 해주는 도구이다. 추론 작업을 외부 인프라로 오프로딩할 때 사용된다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 19.수집 2026. 08. 19.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.