대규모 고성능 AI 네트워크의 설계 및 실습

대규모 모델 훈련을 위한 네트워크 요구 사항

지난 반년간 대형 모델이 계속해서 화제를 모았다. 대형 모델의 개발과 적용에 대해서는 여전히 많은 논의가 있지만, 대형 모델의 성능은 확실히 향후 인공지능 발전의 기반이 되었습니다. 이전 소형 모델에 비해 대형 모델은 대규모 분산 병렬 훈련에 대한 수요가 더 높습니다.

이는 두 가지 주된 이유 때문입니다. 모델 자체가 매우 큽니다. 현재 GPU 메모리의 한계로 인해 모델을 여러 개의 GPU로 나누어 저장해야 합니다. 예를 들어, FiberMall의 대규모 모델에는 260억 개의 매개변수가 있지만 실제로는 800GB 메모리를 갖춘 단일 A80 GPU는 훈련 중 계산 상태를 포함하여 약 1억~2억 개의 매개변수만 저장할 수 있습니다. 260억 개의 매개변수 모델을 저장하는 것만으로도 수백 개의 GPU가 필요하며 이는 이미 비교적 큰 규모입니다.

더 많은 매개변수를 학습하려면 더 많은 계산 능력이 필요하므로 가속을 위해 더 큰 규모의 GPU를 도입해야 하며, 이는 필요한 GPU 수도 10배 증가한다는 의미입니다.

FiberMall에서는 작업에 사용되는 GPU 수에 따라 훈련 규모의 이름을 지정합니다. 예를 들어 100장 미만이면 소형, 100~1,000장이면 중형, 1,000장 이상이면 대형, 10,000장 이상이면 초대형이라고 부릅니다. 이 명명 규칙에 따르면 1,000장 이상의 카드에 대한 대규모 병렬 학습이 대형 모델 성공의 기반이라고 할 수 있습니다.

병렬 훈련

기계 학습 모델의 분산 병렬 학습을 위한 몇 가지 일반적인 전략이 있습니다. 가장 널리 사용되는 세 가지 접근 방식을 간략하게 설명하겠습니다.

가장 널리 채택되는 전략은 데이터 병렬화입니다. 데이터 병렬 처리에서 각 GPU는 모델의 동일한 복사본을 유지하며 데이터 세트는 훈련을 위해 GPU 전체에 분할 및 분산됩니다. 각 훈련 반복 후, 각 GPU에서 계산된 그래디언트가 전역적으로 동기화되고, 다음 반복을 위한 모델 매개변수가 그에 따라 모든 GPU에서 업데이트됩니다. 데이터 병렬 처리에서는 GPU 전체의 기울기를 집계하기 위해 Allreduce 작업이 필요하며, 통신 볼륨은 모델 매개변수의 크기에 따라 확장됩니다. 이는 수십억 개의 매개변수가 있는 대규모 모델의 경우 상당할 수 있습니다.

두 번째 병렬 전략은 파이프라인 병렬화입니다. 신경망 모델은 일반적으로 심층 Transformer 모델을 포함하여 여러 계층의 뉴런으로 구성됩니다. 파이프라인 병렬 처리에서 모델은 레이어별로 분할되며, 서로 다른 레이어가 서로 다른 GPU에 할당됩니다. 이 접근 방식을 사용하려면 순방향 패스 중 활성화를 전달하고 역방향 패스 중 경사도를 전달하기 위해 GPU 간에 지점 간 데이터 전송이 필요합니다. 통신은 반복당 여러 번 발생하지만 전송되는 데이터의 양은 일반적으로 크지 않으며 네트워크 성능 요구 사항은 상대적으로 적습니다.

세 번째 병렬 전략은 텐서 병렬성으로, 여러 GPU를 공동으로 활용하여 행렬 곱셈과 같은 단일 텐서 계산을 수행하는 것입니다. 이 접근 방식을 사용하려면 GPU 전체에서 부분 텐서 계산 결과를 동기화하기 위해 Allreduce 작업이 필요합니다. 계산되는 텐서의 크기는 모델 아키텍처와 훈련에 사용되는 배치 크기에 따라 달라지며, 이러한 텐서 계산은 각 훈련 반복 중에 자주 발생합니다. 결과적으로 텐서 병렬성이 가장 많이 요구됩니다.

세 개의 평행

세 가지 병렬 전략의 특성을 고려할 때 대규모 모델을 학습할 때는 일반적으로 하이브리드 접근 방식이 채택됩니다.

여러 GPU가 있는 단일 시스템 내에서 GPU 간의 고대역폭 NVLink 연결을 최대한 활용하기 위해 텐서 병렬성이 사용됩니다.

8개의 GPU를 갖춘 단일 머신은 전체 대형 모델을 수용하기에 충분하지 않을 수 있으므로 여러 머신에서 파이프라인 병렬 처리를 사용하여 병렬 파이프라인이 있는 최소 교육 단위를 구성합니다.

모델 훈련을 더욱 가속화하기 위해 데이터 병렬 처리가 적용됩니다. 여기서 각 DP(데이터 병렬 처리) 그룹은 텐서 병렬 처리와 파이프라인 병렬 처리의 조합으로 구성됩니다.

데이터 병렬 처리의 Allreduce 작업은 각 DP 그룹 내에서 발생하며, 여기서 기울기는 동일한 DP 그룹의 GPU 전체에서 동기화됩니다. 예를 들어 다이어그램은 텐서 병렬 처리의 GPU 8개, 파이프라인 병렬 처리의 GPU 4개, DP 그룹 3개로 구성된 구성을 보여줍니다. 이 경우 32개의 Allreduce 그룹이 있으며 각 그룹에는 그라디언트 동기화를 수행하는 3개의 GPU가 있습니다.

대규모 모델을 교육하기 위한 기본 네트워크 요구 사항은 데이터 병렬화 단계의 Allreduce 작업입니다. 여기서 각 GPU는 10GB 범위의 데이터 볼륨에 대해 Allreduce에 참여해야 합니다.

하이브리드 병렬성

대규모 모델 훈련의 필요성으로 인해 우리는 고성능 AI 네트워크를 위한 세 가지 주요 목표인 초대형, 초고대역폭, 초장기 안정성을 제안하게 되었습니다.

초대형 규모

모델의 크기는 모델 학습 속도를 직접적으로 결정합니다. 그림에 표시된 것처럼 175억 개의 매개변수 모델의 경우 100개의 GPU를 사용하여 학습하는 데 2,000일 이상이 소요됩니다. 하지만 8,000개의 GPU를 사용하면 훈련 시간을 약 30일로 단축할 수 있습니다. 이는 오늘날 대규모 모델을 빠르게 반복하는 데 매우 중요합니다.

초고대역폭

AllReduce 대역폭은 대규모 분산 훈련의 전반적인 효율성을 직접적으로 결정합니다. 그림에서 볼 수 있듯이 평균 단일 GPU AllReduce 대역폭이 5GB/s일 때 대규모 분산 훈련의 전체 가속 비율은 70%에 불과합니다. 90% 가속 비율을 달성하려면 단일 GPU AllReduce 대역폭이 20GB/s에 도달해야 합니다. 이는 단일 GPU가 400G 네트워크 카드를 완전히 활용하는 것과 동일합니다.

매우 긴 안정성

모델 훈련은 몇 주 동안 지속될 수 있다는 점을 고려하면 장기적인 안정성이 가장 중요합니다. GPU 가용성을 예로 들면, 단일 GPU의 월간 가용성이 99.9%라면 1,000개의 GPU로 한 달 동안 훈련하는 동안 실패 및 중단이 발생할 확률은 60%입니다. GPU 가용성이 99.99%로 향상되더라도 8,000개의 GPU로 중단 확률은 여전히 ​​50% 내외입니다. 훈련 중단을 최소화하고 빈번한 체크포인트의 필요성을 줄이려면 네트워크에서 더 높은 가용성을 보장해야 합니다.

네트워크 요구 사항

AIPod 고성능 네트워크 설계

이러한 목표를 달성하기 위해 우리는 AI 인프라용 AIPod 고성능 네트워크를 설계했습니다.

다이어그램에서 볼 수 있듯이 AIPod 네트워크는 약 400개의 스위치, 3,000개의 네트워크 카드, 10,000개의 케이블 및 20,000개의 광 모듈로 완전히 연결된 토폴로지입니다. 총 케이블 길이는 베이징에서 칭다오까지의 거리와 같습니다.

AIPod 고성능

AIPod 네트워크의 합리적 설계

앞서 개념적 이해에 대한 논의를 마친 후, 이제 AIPod 네트워크의 합리적인 설계를 살펴보겠습니다.

대규모 AIPod 네트워크를 지원하기 위해 3계층 비차단 CLOS 네트워크 아키텍처가 선택되었습니다. CLOS 네트워크 토폴로지는 앞서 표시된 다이어그램과 유사합니다.

서버는 리프(LF) 레이어 스위치에 연결됩니다.

리프 스위치는 SP(스파인) 스위치와 상호 연결됩니다.

스파인 스위치는 SuperSpine(SSP) 레이어에 추가로 연결됩니다.

앞에서 언급했듯이 대규모 모델 훈련 중에 기본 통신은 동일한 서버의 GPU 간에(예: GPU 1에서 GPU 1로, GPU 2에서 GPU 2로) 발생합니다. GPU 간 통신은 빈도가 낮습니다.

이러한 통신 패턴을 수용하기 위해 AIPod 네트워크는 8채널 아키텍처를 채택합니다. 각 서버에는 8개의 네트워크 포트가 있으며 각 포트는 서로 다른 리프 스위치에 연결됩니다. 이러한 8개의 리프 스위치는 집계 그룹을 형성하여 최대 512개의 GPU를 지원합니다.

또한 8개의 리프 스위치는 서로 다른 채널에 연결되며 각 채널 내에는 리프 스위치와 스파인 스위치가 풀 메시 토폴로지로 구성됩니다. 이 설계를 통해 클러스터는 16K GPU 이상을 지원하도록 확장할 수 있습니다.

대부분의 통신은 동일한 채널 내에서 이루어지지만 여전히 교차 채널 통신이 필요합니다. 이 문제를 해결하기 위해 AIPod 네트워크는 SuperSpine 레이어를 사용하여 다양한 채널의 Spine 스위치를 상호 연결하여 전체 네트워크에 원활한 통신 경로를 제공합니다.

AIPod 네트워크는 스위치의 업링크 및 다운링크 대역폭이 동일한 비차단 또는 1:1 초과 구독 비율 설계를 사용하여 충분한 클러스터 내 대역폭을 보장합니다.

가능한 가장 큰 규모를 지원하기 위해 AIPod 네트워크는 이전 51.2T 및 12.8T 세대에서 진화된 25.6T 스위치와 같은 최신 고용량 스위치 칩을 활용합니다.

다중 계층 CLOS 아키텍처, 채널 기반 통신 및 대용량 스위칭 구성 요소를 갖춘 AIPod 네트워크의 합리적인 설계를 통해 대규모 AI 훈련 워크로드를 지원할 수 있습니다.

3단계 비수렴

이전 논의에서는 대규모 AIPod 네트워크 구축에 대해 다루었습니다. 이제 네트워크 대역폭과 관련된 과제에 주목해 보겠습니다.

FiberMall의 지능형 클라우드 인프라는 최대 서버 액세스 사양을 8배로 선택했습니다.400G, 네트워크는 RDMA 및 GDR을 지원하는 비차단 CLOS 아키텍처를 활용합니다. 이론적으로 이는 매우 높은 대역폭 기능을 제공해야 합니다. 그러나 네트워크 규모가 증가함에 따라 다양한 문제가 발생할 수 있으며, 가장 중요한 문제 중 하나는 스위치 간의 경로 선택 충돌입니다.

기술적으로 거의 모든 네트워크 전송에는 고유한 문제가 있습니다. 즉, 수신 측에서 재전송 및 성능 저하를 유발할 수 있는 연결 내 패킷 재정렬을 방지하기 위해 스위치는 단일 경로를 따라 동일한 연결의 패킷을 전달해야 합니다. 이 경로의 선택은 사용된 해시 알고리즘에 따라 달라집니다.

다이어그램에 표시된 것처럼 해시 알고리즘은 충돌이 있는 것으로 알려져 있습니다. 두 개의 교차 스위치 연결이 동시에 동일한 왼쪽 링크를 선택하면 정체 상태가 되고 오른쪽 링크는 충분히 활용되지 않아 두 연결의 대역폭이 사실상 절반으로 줄어듭니다. 이 문제는 대규모 교육 환경에서 매우 일반적입니다.

이 문제의 영향을 완화하기 위해 일반적으로 오른쪽 다이어그램에 표시된 것처럼 GPU 간 다중 연결을 사용하도록 NCCL 통신 라이브러리를 구성합니다. 연결이 많을수록 심각한 불균형이 발생할 가능성이 낮아집니다. 이 접근 방식은 네트워크의 라우팅 엔트로피를 높이고 해시 기반 경로 선택 충돌의 영향을 줄이지만 문제를 완전히 해결하지는 않습니다.

높은 대역폭

이러한 문제는 교차 스위치 통신 시나리오에서만 발생한다는 것을 알 수 있습니다. 따라서 영향을 더욱 줄이려면 가능하면 단일 스위치 내에서 통신을 유지하도록 노력해야 합니다. 동일한 번호의 GPU 간의 집합 내 그룹 통신은 스위치를 교차하지 않으므로 해시 기반 경로 선택 충돌을 방지합니다. 이것이 우리가 각 집계 그룹의 크기를 최대화하는 것을 목표로 하는 이유입니다.

스위치 간 통신을 줄이기 위해 AIPod 네트워크는 네트워크 아키텍처 인식 접근 방식을 제공합니다. 이를 통해 상위 수준 시스템은 네트워크 아키텍처, 해당 집계 그룹 및 GroupID에서 현재 GPU의 위치를 ​​인식할 수 있습니다.

AIPod는 이 정보를 작업 예약 시스템에 노출하여 가능한 한 동일한 집계 그룹 내에서 작업을 예약할 수 있도록 하여 통신이 단일 집계 그룹 내에서 유지되도록 보장합니다.

그러나 대규모 모델 작업은 단일 집계 그룹 내에 제한하기에는 너무 큰 경우가 많습니다. 이러한 경우 집계 그룹 정보를 활용하여 글로벌 GPU 리소스를 순차적으로 처리하여 통신 라이브러리가 교차 스위치 트래픽을 최소화하는 보다 효율적인 Allreduce 토폴로지를 구성할 수 있도록 해야 합니다. 오른쪽 하단의 다이어그램은 이 개념을 보여줍니다. 4-GPU Allreduce 작업에 대한 두 가지 다른 링 구성 순서로 인해 교차 스위치 대역폭 활용이 크게 달라질 수 있습니다. 왼쪽 접근 방식은 더 효율적이고 오른쪽 접근 방식은 덜 효율적입니다. 이것이 AIPod의 네트워크 아키텍처 인식 기능의 이점입니다.

NCCL

네트워크 아키텍처 인식 접근 방식은 스위치 간 통신의 양을 크게 줄여 해시 기반 경로 선택 충돌의 영향을 완화할 수 있습니다. 하지만 문제가 완전히 해결된 것은 아니며 여전히 충돌이 발생할 수 있습니다.

이 문제를 완전히 해결하려면 단일 연결의 패킷이 단일 경로를 통해서만 전달될 수 있다는 가정을 깨고 비순차적 패킷 수신을 허용하는 네트워크의 다중 경로 전달 기능을 활용해야 합니다. Infiniband 네트워크는 이러한 적응형 라우팅 기능을 도입했으며 AIPod에서는 FiberMall의 맞춤형 스위치 위에 동적 로드 밸런싱(DLB) 기술을 사용하여 유사한 기능을 구현했습니다.

이 접근 방식에서는 다이어그램에 표시된 대로 네트워크 인터페이스 카드가 먼저 패킷에 비순차적 처리를 허용하도록 표시합니다. 그런 다음 스위치는 대기열 깊이 및 링크 활용도와 같은 요소를 기반으로 각 패킷에 대한 최적의 경로를 계산합니다. 이로 인해 패킷 재정렬 처리를 통해 수신기에서 해결되는 패킷 재정렬 문제가 발생합니다.

이러한 메커니즘 조합은 교차 스위치 통신에서 해시 기반 경로 선택 충돌 문제를 효과적으로 해결할 수 있습니다. 우리는 이러한 기본 기술 역량을 강화하는 것이 대규모 교육을 위한 궁극적인 솔루션이라고 믿습니다.

AIPod 네트워크의 안정성 보장

대규모 모델 훈련에서는 중단 없이 장기 실행 작업을 유지하는 것이 중요하지만 하드웨어 오류는 불가피합니다. 16,000개의 GPU를 수용할 수 있는 클러스터의 경우 거의 100,000개의 광학 모듈이 있을 수 있습니다. 모듈당 평균 고장 간격(MTBF)을 10만 시간으로 가정하면, 이러한 대규모 기반을 바탕으로 확률이 낮은 이벤트가 규모에 따라 확률이 높은 이벤트가 되기 때문에 오류는 평균 약 4일마다 발생할 수 있습니다.

이를 해결하기 위해 AIPod 네트워크는 하드웨어 장애로부터 신속한 복구가 가능하도록 설계되었습니다. 예를 들어, 네트워크의 링크에 오류가 발생하여 패킷 손실이 발생한다고 가정해 보겠습니다. 이 경우 AIPod는 이 패킷 손실 기간이 통신 라이브러리에서 설정한 일반적인 제한 시간보다 짧아 작업 중단을 방지해야 합니다.

업링크 패킷 손실의 경우 AIPod의 동적 로드 밸런싱 기술은 사용 가능한 대체 링크를 선택하여 밀리초 규모의 복구를 제공할 수 있습니다. 다운링크 패킷 손실의 경우 AIPod는 네트워크 라우팅 업데이트 및 컨버전스를 트리거하여 라우팅 업데이트 전략과 배포 효율성을 최적화하여 다운링크 패킷 손실 기간을 두 번째 수준 내로 유지합니다.

복구

또한 AIPod 네트워크에는 스위치 칩 결함으로 인한 비트 플립 문제와 같은 숨겨진 문제를 사전에 식별하는 블랙박스 감지 메커니즘이 포함되어 있어 명시적인 오류 감지 없이 ​​패킷 손상 및 손실로 이어질 수 있습니다. 이 메커니즘을 통해 모든 링크가 지속적으로 모니터링되고, 연결 문제가 발생하면 자동 현지화 및 격리가 실행되고 운영 팀의 신속한 개입에 대한 경고가 발생합니다.

연결 관련 오류 외에도 PFC 기술을 통해 지원되는 AIPod의 무손실 네트워크 설계에서는 PFC 교착 상태 또는 칩 오류로 인한 지속적인 PFC 스톰과 같은 이상 현상이 발생할 수도 있습니다. AIPod는 모든 패킷 손실, PFC 또는 버퍼 이상에 대한 가시성을 제공하는 FiberMall의 맞춤형 스위치를 기반으로 구축된 성능 원격 측정 플랫폼을 통해 이러한 문제를 해결하며 대규모 모델 훈련의 안정성에 영향을 미치기 전에 신속한 감지 및 해결이 가능합니다.

AIPod 네트워크에서 매우 짧은 지연 시간 달성

대역폭이 주요 관심사인 대규모 모델 훈련에서는 짧은 대기 시간이 핵심 고려 사항이 아니지만 AIPod 네트워크는 대기 시간에 민감한 AI 워크로드도 지원하도록 설계되었습니다.

낮은 대기 시간을 위해 최적화할 수 있는 핵심 요소는 광섬유 지연과 스위치 대기열 지연입니다. AIPod 네트워크는 클러스터의 물리적 레이아웃을 최적화하여 서버, 스위치 및 스위치 간의 거리를 최소화하고 더 짧은 광섬유 연결을 사용하여 광섬유 전파 지연을 줄일 수 있습니다.

또한 AIPod 네트워크는 혼잡 제어 매개변수를 최적화하여 대기열 지연에 직접적인 영향을 미치는 스위치 버퍼 점유를 최소화합니다. 이러한 최적화를 통해 AIPod는 마이크로초 수준의 네트워크 지연 시간을 달성할 수 있으며 이는 엔드투엔드 대규모 모델 교육 성능 측면에서 무시할 수 있습니다.

AIPod에서 고성능 스토리지 활용

AIPod는 고성능 훈련 네트워크 외에도 클라이언트당 최대 200Gbps를 제공할 수 있는 탄력적인 RDMA 기반 병렬 파일 시스템(PFS) 및 고성능 하드웨어 로드와 같은 FiberMall의 고성능 스토리지 기능을 활용합니다. CFS(클라우드 파일 스토리지) 또는 BOS(오브젝트 스토리지)에 액세스하기 위한 인스턴스 밸런싱을 통해 클라이언트당 10Gbps 이상의 안정적인 대역폭을 제공합니다.

이러한 고성능 스토리지 기술은 대규모 모델 교육의 전반적인 계산 효율성에 크게 기여합니다.

AIPod 대형 모델 훈련 실습

FiberMall은 대규모 모델 훈련에서 AIPod 네트워크의 실제 적용을 시연했으며 RoCE 및 Infiniband 클러스터 모두에서 100Gbps를 초과하는 GPU당 통신 대역폭으로 안정적인 작동을 보여주었습니다.

이러한 대규모 교육 노력을 지원하기 위해 FiberMall은 수천 개의 병렬 인스턴스의 네트워크 트래픽 데이터를 집계하고 분석할 수 있는 고정밀 작업 시각화 도구와 신속하게 식별할 수 있는 결함 진단 도구를 포함한 전문 도구를 개발했습니다. GPU 오류 또는 느린 노드와 같은 다양한 이상 현상의 근본 원인으로 인해 전반적인 훈련 성능이 저하될 수 있습니다.

AIPod 고성능 네트워크, 지원 도구 및 스토리지 기능을 통해 FiberMall의 고객은 대규모 AI 모델 시대에 선도적인 위치를 유지하면서 대형 모델을 효율적이고 비용 효율적으로 훈련할 수 있습니다.

코멘트 남김

위쪽으로 스크롤