분산 학습은 GPU 수천 장을 사용해도 가능한 모든 GPU 쌍이 같은 양으로 통신하지 않습니다. 텐서·파이프라인·데이터·전문가 병렬 그룹이 제한된 집합 통신 패턴을 반복합니다. Alibaba Cloud의 SkeletonHunter는 이 규칙성을 운영 진단에 사용합니다[1]. 계속 바뀌는 컨테이너 장비군에서 모든 가상·물리 경로를 관찰하려 하지 않고, 현재 학습 트래픽이 반복해서 지나는 경로를 추론해 그곳에 프로브를 집중합니다.

이 시스템은 GPU와 RDMA NIC가 각각 4만 개를 넘고 누적 약 500만 건의 학습 작업을 처리한 클라우드에서 평가됐습니다. 6개월 운영 기간에 네트워크 장애 4,816건을 정밀도 98.2%, 재현율 99.3%로 찾았고, 문제 구성요소의 위치는 95.7% 정확도로 식별했습니다. 운영팀이 확인한 구성요소의 98%를 수리한 뒤 월간 네트워크 장애율은 99.1% 감소했습니다. 이 수치들은 하나의 운영 절차에서 서로 다른 단계를 측정합니다. 높은 탐지 정확도가 마지막 감소를 직접 만든 것이 아니라 위치 식별, 수리, 손상 장비의 배제 과정이 그 사이를 연결했습니다.

논문의 중요성은 네트워크 관찰 단위를 바꾼 데 있습니다. 일반 모니터는 링크나 엔드포인트 쌍을 빠짐없이 덮어야 할 재고로 취급합니다. SkeletonHunter는 실행 중인 학습 토폴로지를 보호 대상으로 봅니다. 이 구분은 검사량을 크게 줄이지만 모니터링이 작업 계획에 의존한다는 새 조건도 만듭니다.

컨테이너가 확인할 경로 조합을 늘립니다

컨테이너는 대규모 학습 서비스를 유연하게 배정하고 격리하게 해 주지만 네트워크 진단은 어렵게 만듭니다. 저자들이 관측한 컨테이너의 절반 이상은 수명이 한 시간보다 짧았습니다. 같은 작업에 속한 컨테이너도 항상 같은 시각에 동일한 실행 상태에 도달하지 않았습니다. 안정된 엔드포인트 지도를 전제로 한 모니터는 학습 도중에 이미 오래된 지도를 볼 수 있습니다.

컨테이너 하나가 여러 RDMA NIC에 연결될 수도 있습니다. 엔드포인트는 호스트 하나가 아니라 특정 병렬 통신 패턴을 위해 선택한 컨테이너와 NIC의 연결입니다. 그 아래에는 가상 인터페이스, 가상 스위치, 캡슐화 상태, 흐름표 항목으로 구성된 오버레이가 있고 더 아래에는 물리 패브릭이 있습니다. 하나의 느린 집합 통신이 어느 계층에서 시작됐는지 바로 알기 어렵습니다.

논문은 확인해야 할 범위를 곱셈으로 설명합니다. 작업에 컨테이너 1,000개가 있고, 컨테이너마다 NIC 8개를 연결하며, NIC마다 가상 구성요소 16개가 관련된다면 한 학습 라운드에서 검사 대상은 12만8천 개입니다. 일반적인 라운드는 약 30초입니다. 전수 진단은 이 시간 안에 끝낼 수 없고 임의 경로 표본은 작업의 핵심 집합 통신을 운반하는 경로를 놓칠 수 있습니다.

성능 여유도 작습니다. 논문이 다룬 환경에서는 RoCE 왕복 지연시간이 패킷 손실 없이 약 20마이크로초 아래에 있어야 합니다. 운영 경험상 10마이크로초가 더해지면 학습 속도가 약 20% 낮아질 수 있습니다. 연결 이상이 4초 넘게 지속되면 집합 통신이 시간 초과로 실패해 작업 전체가 끝날 수 있습니다. 애플리케이션 장애가 나타나기 전에 모니터가 탐색 범위를 줄여야 합니다.

주기적인 트래픽 버스트가 활성 그래프를 보여 줍니다

SkeletonHunter는 테넌트가 모델 구조나 병렬화 설정을 공개할 것을 요구하지 않습니다. 여러 사용자가 함께 쓰는 서비스에서 사업자는 그 정보를 볼 수 없는 경우가 많습니다. 대신 대규모 파라미터 동기화가 같은 통신 그룹의 엔드포인트에 주기적인 트래픽 버스트를 만든다는 동작 특성을 관찰합니다. 반복 여부로 안정적인 학습 그래프와 우연한 트래픽을 나눕니다.

트래픽 골격은 이 버스트가 계속 지나는 경로의 집합입니다. 전체 토폴로지도 아니고 무작위 표본도 아닙니다. 현재 작업을 조건으로 만든 부분 그래프입니다. 밖의 경로도 관리 트래픽이나 다른 테넌트의 데이터를 운반하지만, 안의 경로가 실패하면 현재 학습 작업이 바로 느려집니다.

이 추론은 두 가지 커버리지 문제를 함께 풉니다. 컨테이너의 물리 위치가 바뀌어도 버스트 패턴으로 활성 엔드포인트를 다시 찾습니다. 컨테이너에 붙은 모든 NIC가 같은 역할을 한다고 가정하지 않고, 실제로 조정된 학습 트래픽을 보이는 연결만 그룹화합니다.

패킷 내용이 아니라 규칙성에 의존하므로 모든 운영 패킷을 검사하는 방식보다 개인정보 노출을 줄일 수 있습니다. 무엇보다 목표에 맞습니다. 테넌트의 텐서를 재구성하는 것이 아니라 기대한 통신이 정상인지 판단합니다. 그래도 타이밍 메타데이터가 민감하지 않은 것은 아니므로 접근 권한, 보존 기간, 테넌트 격리는 배포 정책에 포함해야 합니다.

AI 패브릭의 세 관찰·제어 계층. SkeletonHunter 패널은 반복되는 작업 경로가 모니터링할 골격이 되는 과정을 보여 줍니다. 옆 패널은 독립적인 경로 프로빙과 혼잡 인식 경로 제어를 함께 배치한 운영 문맥이며, 이 글은 첫 패널만 다룹니다. 이 글을 위해 새로 만든 도판.

작은 프로빙 행렬이 학습 라운드 안에 들어옵니다

활성 그룹을 찾은 뒤에는 전체 연결성을 훨씬 적은 시험으로 덮는 프로브 계획을 만듭니다. RNIC 2,048개에서는 풀메시 한 번에 약 2,034초가 필요했습니다. 기본 축소 목록은 약 241초, 트래픽 골격을 반영한 최종 라운드는 약 25초였습니다. 일반적인 학습 반복 한 번의 시간 안에 들어오는 값입니다.

작은 규모에서도 같은 경향이 나타납니다. RNIC 512개에서는 약 560초, 65초, 8초였고, 1,024개에서는 약 1,123초, 123초, 17초였습니다. 골격을 반영하면 이미 단순화한 목록보다 다시 약 86~90% 줄었습니다. ping 자체가 새롭기 때문이 아니라 작업 그래프가 능동 프로빙을 실행 가능한 크기로 만들었기 때문에 중요한 결과입니다.

에이전트는 컨테이너 곁에서 동작하지만 측정한 자원 사용은 작았습니다. CPU 이용률은 약 1%로 수렴하고 메모리는 컨테이너당 약 35 MB였습니다. 중간급 백엔드 서버 두 대가 동시 학습 작업 약 2,000건에 속한 엔드포인트 4만 개 이상의 관측을 모읍니다. 엔드포인트는 간결한 신호를 기록하고 중앙 서비스가 그룹화와 진단을 수행하도록 역할을 나눴습니다.

다만 모니터링 예산에는 꼬리 동작도 들어가야 합니다. 평균 오버헤드가 작아도 한 사이드카가 지연시간에 민감한 CPU 경로와 경쟁하거나 응답하지 않을 수 있습니다. 논문도 에이전트 장애를 오탐 원인으로 확인했습니다. 신뢰성을 측정하는 모니터 자체도 분산 시스템이며, 관측 누락이 네트워크 장애와 같은 신호로 보이면 안 됩니다.

가상·물리 원인을 낙관적으로 분리합니다

두 엔드포인트 사이의 프로브가 비정상으로 바뀌면 원인이 된 구성요소를 찾아야 합니다. SkeletonHunter는 오버레이와 언더레이를 별도의 경로로 검사합니다. 한 계층을 볼 때 다른 계층은 정상이라고 잠시 가정합니다. 가상 네트워크의 소프트웨어 장애와 물리 네트워크의 하드웨어 장애가 같은 구성요소 문제로 서로 전파되는 경우가 드물다는 운영 관측이 이 분리를 뒷받침합니다.

호스트 사이의 증상을 스위치나 링크에 연결한 뒤 장비 경고와 토폴로지로 원인을 좁힐 수 있습니다. 호스트와 가상 네트워크에서는 RNIC 펌웨어, 포트 상태, 오프로딩, 본딩, GID 변경, 가상 스위치 규칙, 컨테이너 런타임, huge page 설정, 혼잡 제어 항목을 확인합니다. 논문은 운영 중 발견한 문제를 여섯 구성요소 범주의 열아홉 유형으로 정리합니다.

두 계층에서 설명을 찾지 못하면 사이를 잇는 RDMA NIC 상태를 자세히 봅니다. 비용이 크고 수동 분석이 필요할 수 있습니다. 먼저 값싼 계층별 설명을 확인하고 근거가 맞지 않을 때 경계로 올라가는 순서는 운영 비용을 줄입니다.

한 사례는 이 경계 검사의 필요성을 보여 줍니다. 두 엔드포인트의 지연시간이 90초 뒤 약 16마이크로초에서 120마이크로초로 올랐고 패킷 손실은 0.1% 미만이었습니다. 스위치 큐에는 혼잡에 해당하는 증가가 없었습니다. 첫 오버레이·언더레이 검사에서 결함을 찾지 못해 NIC 흐름표를 비교했고 불일치를 발견했습니다. 오래된 흐름이 무효화된 뒤 패킷이 느린 소프트웨어 경로로 내려간 것이 원인이었습니다. NIC를 격리하자 약 1분 안에 측정값이 정상으로 돌아왔습니다.

일반 경고보다 중요한 점은 증거의 결합입니다. 증상은 혼잡과 비슷했지만 비어 있는 큐가 그 가설과 맞지 않았습니다. 지연, 손실, 큐 상태, 흐름표, 엔드포인트 식별자를 연결해 설명을 찾았습니다. 텔레메트리의 타임스탬프와 식별자를 계층 사이에서 일관되게 유지해야 이 분해를 검증할 수 있습니다.

운영 수치는 하나의 근거 사슬입니다

6개월 결과는 장애 4,816건과 문제 구성요소 1,302개를 포함합니다. 정밀도 98.2%는 경고가 실제 장애였던 비율입니다. 재현율 99.3%는 사용자 신고로 놓친 장애를 추정합니다. 위치 식별 95.7%는 지목한 구성요소가 맞았는지를 측정합니다. 어느 값도 장비군이 되찾은 학습 시간을 직접 나타내지는 않습니다.

수리는 다음 연결입니다. 운영팀은 2024년 9월에 확인한 구성요소의 98%를 고쳤습니다. 사업자가 내부 구현을 볼 수 없는 하드웨어 스위치와 NIC가 해결하지 못한 나머지의 큰 부분을 차지했습니다. 월간 장애율 99.1% 감소는 집중 수리 뒤인 10~12월을 이전 기간과 비교한 운영 결과입니다. 분류기의 정확도 수치가 아닙니다.

반응 시간도 함께 봐야 합니다. 평균 진단 시간은 약 8초로 일반적인 30초 학습 라운드보다 짧았습니다. 그래도 네트워크 내부 보호 장치의 마이크로초 반응보다는 깁니다. SkeletonHunter는 모든 패킷을 즉시 우회하는 시스템이 아니라 원인을 찾아 제거하는 시스템입니다. 완전한 패브릭은 빠른 경로 제어로 트래픽을 지키는 동안 진단 시스템이 어떤 구성요소를 격리할지 결정할 수 있습니다.

네트워크 운영 근거 원장. SkeletonHunter가 차지하는 왼쪽 열에는 운영 6개월, 장애 4,816건, 정밀도 98.2%, 재현율 99.3%, 위치 식별 정확도 95.7%가 있습니다. ByteTracker와 SGLB는 범위와 분모가 다른 별도 연구이며 운영 문맥을 보존하기 위해 함께 표시했습니다. 이 글을 위해 새로 만든 도판.

트래픽 골격이 맞지 않는 조건

집합 통신이 지속적인 희소 패턴을 만든다는 가정이 설계의 출발점입니다. 디버깅용 컨테이너 그룹, 사용자 정의 지점 간 통신, 새로운 병렬화 방식은 기대한 신호를 만들지 않을 수 있습니다. 그러면 필요한 경로를 빼먹거나 프로브 목록이 지나치게 커집니다. 추론한 경로가 실제 버스트와 계속 일치하는지 확인하고, 특수 작업에는 사용자가 모니터링을 끄거나 정보를 추가할 수 있어야 합니다.

호스트 내부 커버리지에도 경계가 있습니다. 종단 간 네트워크 증상으로 일부 PCIe-NIC 장애는 찾지만 GPU-GPU와 GPU-PCIe 문제를 전부 덮지는 못합니다. 하드웨어 전용 진단이 필요합니다. 집합 통신을 느리게 만드는 모든 구성요소를 네트워크 모니터 하나가 검사한다고 재현율을 계산해서는 안 됩니다.

오탐이 모니터 자체에서 시작될 수도 있습니다. 지연 측정에는 시계 동기화를 사용하고 에이전트가 제때 응답한다고 가정합니다. 에이전트가 멈추면 링크 장애처럼 보일 수 있습니다. 독립적인 상태 검사와 관측 출처를 남겨 사이드카 누락, 잘못된 시계, 실제 패킷 장애가 서로 다른 사건 상태로 들어가야 합니다.

트래픽 골격에도 수명이 있습니다. 배치 변경, 탄력적 참여자, 통신 라이브러리 갱신, 새 집합 통신 알고리즘이 장애 없이도 활성 경로를 바꿉니다. 작업 계획과 함께 골격 버전을 기록하고 전환 뒤에는 새 근거를 요구해야 합니다. 그렇지 않으면 정상 재구성을 장애로 보거나 더 위험하게는 작업이 더 이상 쓰지 않는 경로를 자신 있게 감시합니다.

운영자가 가져갈 것

옮겨야 할 것은 특정 ping 에이전트가 아니라 작업 그래프를 네트워크 운영 입력으로 쓰는 방식입니다. 스케줄러는 컨테이너 구성원과 배치를 압니다. 통신 라이브러리는 병렬 그룹을 압니다. 텔레메트리는 실제로 어느 엔드포인트가 함께 버스트를 만드는지 보여 줍니다. 세 정보를 합치면 장애가 나기 전에 가치가 높은 경로 집합을 정할 수 있습니다.

도입 과정에서는 네 산출물을 남기는 편이 좋습니다. 첫째, 작업 랭크, 컨테이너, NIC, 가상 인터페이스, 호스트, 스위치 포트, 물리 경로를 연결한 버전 관리 엔드포인트 지도입니다. 둘째, 현재 트래픽을 골격이 얼마나 완전하게 덮는지 나타내는 신뢰도입니다. 셋째, 한 학습 라운드 안에 허용할 시간과 부하를 적은 프로브 예산입니다. 넷째, 어느 계층의 가정을 시험했고 왜 최종 구성요소를 골랐는지 기록한 위치 식별 트레이스입니다.

서비스 목표는 완료한 작업을 따라야 합니다. 링크 손실, 포트 플래핑, 오프로딩 장애, 오래된 흐름 상태를 주입하고 탐지 지연, 위치 식별 지연, 불필요한 격리, 잃은 학습 스텝을 측정할 수 있습니다. 정밀도와 재현율은 계속 필요하지만 최종 분모는 장애 동안 지킨 유효 학습 진도입니다.

SkeletonHunter는 분산 학습의 규칙성이 최적화 기회일 뿐 아니라 진단 정보임을 보여 줍니다. 작업은 네트워크에서 가장 중요한 부분 그래프를 계속 다시 그립니다. 그 그림을 따라가는 모니터는 균등한 전수 검사보다 좁으면서 더 완전할 수 있습니다. 다만 골격을 영구 토폴로지가 아니라 계속 바뀌는 근거 기반 객체로 관리해야 합니다.

출처와 저작권 안내

이 글은 Silicon & Systems가 작성한 편집 요약입니다. 논문의 메커니즘, 운영 결과, 한계를 우리 표현으로 다시 썼습니다. 원문의 문장, 표, 출판사 도판은 재사용하지 않았으며, 본문의 두 도판은 다중 논문 네트워크 운영 리뷰를 위해 Silicon & Systems가 직접 만든 자산입니다. 저자 준비판은 Creative Commons Attribution 4.0 International 라이선스로 공개돼 있습니다. 저작권 (c) 2025 원저자. 원문과 라이선스는 DOI 서지 페이지에서 확인할 수 있습니다.