Incident Library

IL-0419 IBM · 2025-01-13 (게시일)ai-infra

Vela 에서 GPU 768개로 돌던 Granite-20B 학습 작업의 스텝 시간이 거의 3배로 늘었다

Vela 는 IBM Cloud 안에 구축된 IBM 의 AI 슈퍼컴퓨터이고, 노드마다 80GB A100 GPU 8개가 있다. 일반 클라우드 랙은 이중화된 PDU 두 개가 각각 20kW 를 공급해서, 전원 이중화를 지키면 최대 6kW 를 쓰는 GPU 서버를 세 대만 둘 수 있다. IBM 은 랙에 서버 여섯 대를 두려고 협력사와 power brake 기능을 만들었다. PSU 가 고장 나면 업데이트한 서버 펌웨어가 약 2초 안에 power brake 를 걸어 서버를 3.2kW 로 낮추고, 각 GPU 는 약 400W 에서 150W 로 떨어진다. 정상 PDU 의 차단기는 5초까지의 전력 급증을 견디므로 랙의 전력을 안전하게 초과 할당할 수 있었다. IBM 은 2023년에 이 방식으로 같은 공간에서 Vela 의 GPU 밀도를 두 배로 늘렸다.

한 번은 GPU 768개, 노드 96대로 돌던 Granite-20B 학습 작업의 스텝 시간이 갑자기 거의 3배로 늘었다. 노드 96대를 모두 디버깅한 끝에 한 노드의 전원 카드 문제를 찾았다. 그 노드는 GPU 와 정상 PSU 를 보호하려고 스스로 전력 소비를 낮춰 다른 노드보다 약 3배 느리게 계산했다. 작업 전체가 그 노드의 속도로 느려졌다. 분산 학습에서는 노드 한 대의 성능만 떨어져도 작업 전체가 느려진다. 그 상태는 느린 노드를 찾아 작업에서 빼거나 고치고, 새 노드로 작업을 다시 시작할 때까지 이어진다. IBM 은 이런 경우를 위해 인프라 계층에 경보를 더했다. 또 nvidia-smi 의 GPU 카운터로 전원 문제가 있는 노드를 찾는 검사를 Autopilot 에 넣고, 그 결과를 Grafana 대시보드에 표시했다. Autopilot 은 IBM Research 가 만들어 공개한 관측 도구로, GPU 노드마다 데몬으로 돌며 헬스 체크를 한다.

심각도
–
영향 범위
A Granite-20B training job on 768 GPUs ran with an almost 3x longer step time
영향 사용자
The team running the Granite-20B training job
지역
–
감지까지
–
복구까지
–

증상

Vela 에서 GPU 768개로 Granite-20B 를 학습하던 중 스텝 시간이 갑자기 거의 3배로 늘었고, 팀이 이 성능 저하를 알아챘다.

팀은 이 작업이 쓰던 노드 96대를 모두 디버깅한 끝에 노드 한 대에서 전원 카드 문제를 찾았다. 이 노드는 GPU 와 정상 PSU 를 보호하려고 스스로 전력 소비를 낮췄다. GPU 전력이 400W 에서 약 150W 로 떨어져 이 노드는 다른 노드보다 약 3배 느리게 계산했다. 노드 한 대가 느려지자 작업 전체가 그 노드의 속도로 느려졌다.

서버의 전원 문제는 GPU 스로틀링으로 나타나 GPU 계산 능력을 크게 떨어뜨렸다. 이 상태는 nvidia-smi 가 보여 주는 power break slowdown 같은 GPU 카운터에서 확인할 수 있었다.

증상 처리량 저하

원인

촉발
작업에 속한 노드 96대 가운데 한 대의 전원 카드에 문제가 생겼다.

감지

학습 팀은 스텝 시간이 거의 3배로 늘어난 것을 알아챘다. 이 고장은 호스트를 죽이지 않고 작업을 느리게만 만드는 종류였다. 팀은 작업이 쓰던 노드 96대를 모두 디버깅해서 원인 노드를 찾았다.

조치

후속 조치

교훈

수백, 수천 개의 GPU 를 함께 쓰는 분산 학습에서는 노드 한 대의 성능만 떨어져도 작업 전체의 성능이 떨어진다. 그 상태는 느린 노드를 찾아 빼거나 고치기 전까지 이어진다. 호스트를 죽이지 않는 미묘한 하드웨어 고장도 작업을 실패시키거나 느리게 만들 수 있어서, IBM 은 로그 기반 경보와 Autopilot 의 주기 검사로 이런 노드를 먼저 찾는다. 이런 기능 덕분에 IBM 의 SRE 는 사용자가 신고하면 디버깅하던 방식에서 사용자가 알기 전에 먼저 알리는 방식으로 바뀌었고, 근본 원인을 찾는 시간을 2배 넘게 줄였다.

출처

참고 문서

관련 사례

–

내 클러스터에도 있는지 확인하기

kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이 사례와 같은 상태를 점검합니다. 이 사례의 구성 요소: 서버 전원 공급 장치와 전력 제한. 점검 항목의 근거는 이 사례 같은 공개 보고서입니다.

AI 도구와 스크립트용

API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.