차세대 AIGC 네트워크 솔루션: 네트워킹을 위한 DDC 기술

2023년은 ChatGPT, GPT-4, Ernie Bot 등 대형 AIGC 모델로 대표되는 AI 인공지능 기술이 본격화되는 해입니다. 텍스트 작성, 코드 개발, 시 작성 등 다양한 기능을 통합했으며, 뛰어난 콘텐츠 제작 능력을 인상적으로 선보이며 사람들에게 깊은 충격을 안겼다. IT 전문가로서 AIGC 대형 모델의 커뮤니케이션 기술도 깊은 사고를 불러일으킬 것입니다. 좋은 네트워크가 없으면 대규모 모델 훈련을 논할 방법이 없습니다. 대규모 훈련 모델 클러스터를 구축하려면 GPU 서버, 네트워크 카드 등 기본 구성 요소가 필요할 뿐만 아니라 네트워크 구축 문제도 시급히 해결되어야 합니다. AIGC의 운영을 지원하는 강력한 네트워크는 어떤 것인가요? AI 물결의 본격적인 도래는 어떻게 기존 네트워크에 혁명적인 변화를 가져올까요?

AIGC

앞서 언급한 AIGC 대형 모델이 그토록 강력한 이유는 그 뒤에 엄청난 양의 데이터가 공급되기 때문일 뿐만 아니라 알고리즘이 끊임없이 진화하고 업그레이드되기 때문입니다. 더 중요한 것은 인간의 컴퓨팅 능력의 규모가 어느 정도 발전했다는 것입니다. 강력한 컴퓨팅 성능 인프라는 AIGC의 컴퓨팅 요구를 완벽하게 지원할 수 있습니다. 대규모 모델을 훈련할 때 모델의 크기는 일반적으로 단일 GPU의 메모리와 컴퓨팅 성능을 초과하므로 로드를 공유하려면 여러 GPU가 필요합니다. 대규모 모델 훈련 과정에서 GPU 로드 공유에는 텐서 병렬화, 파이프라인 병렬화, 데이터 병렬화라는 세 가지 방법이 있습니다.

데이터 병렬성:

데이터 병렬화는 모델의 전체 복사본이 여러 프로세서(예: GPU)에 복제되는 간단하고 직접적인 병렬화 기술입니다. 각 프로세서 또는 GPU는 전체 모델의 복사본을 가져오고 서로 다른 데이터 하위 집합에 대해 독립적으로 순방향 및 역방향 전파를 수행합니다. 각 학습 단계 후에는 모든 프로세서의 모델 가중치 업데이트를 병합하거나 동기화해야 하며, 이는 일반적으로 일종의 집단 통신 작업(예: all-reduce)을 통해 수행됩니다. 데이터 병렬성을 사용하면 데이터가 여러 개의 작은 배치로 분할되어 각각 다른 프로세서에서 처리되므로 더 큰 데이터 세트에서 모델을 교육할 수 있습니다.

모든 책을 분류해야 하는 대규모 도서관을 상상해 보세요. 데이터 병렬화는 책의 일부를 분류하는 일을 각각 담당하는 여러 명의 사서를 고용하는 것과 같습니다. 모델 훈련의 경우 각 GPU는 전체 모델의 복사본을 가져오지만 전체 데이터세트의 일부만 처리합니다. 모든 GPU가 해당 작업을 마친 후 정보를 교환하여 모델 가중치를 동기식으로 업데이트합니다.

텐서 병렬성:

텐서 병렬화는 일반적으로 모델이 너무 커서 단일 프로세서의 메모리에 맞지 않을 때 사용됩니다. 이 병렬화 전략에서는 모델의 다양한 부분(예: 신경망 계층의 다양한 텐서 또는 매개변수 그룹)이 다양한 프로세서에 할당됩니다. 이는 각 프로세서가 모델의 일부만 계산한다는 것을 의미합니다. 전체 모델의 순방향 및 역방향 전파를 완료하려면 프로세서가 중간 결과를 자주 교환해야 하므로 통신 오버헤드가 높아질 수 있습니다. Tensor 병렬 처리에는 이러한 교환의 대기 시간을 최소화하기 위해 프로세서 간의 고속 연결이 필요합니다.

데이터 병렬 처리가 각각 책의 일부를 처리하는 여러 사서라고 가정해 보겠습니다. 이 경우 텐서 병렬 처리는 각 사서가 분류 작업 단계의 일부를 담당하는 것과 같습니다. 모델 훈련에서 각 GPU는 모델 계산의 일부를 담당합니다. 예를 들어 하나의 GPU는 모델 레이어의 전반부를 계산하고 다른 GPU는 후반부를 담당합니다. 이러한 방식으로 모델의 각 레이어는 여러 GPU에서 계산될 수 있습니다.

파이프라인 병렬성:

파이프라인 병렬화는 모델의 여러 계층이나 부분을 여러 프로세서에 할당하고 파이프라인 방식으로 계산을 수행하는 병렬화 전략입니다. 파이프라인 병렬 처리에서는 입력 데이터가 여러 개의 마이크로 배치로 분할되며, 각 마이크로 배치는 모델의 각 계층을 순차적으로 통과합니다. 마이크로 배치가 첫 번째 레이어의 계산을 마치면 즉시 다음 레이어로 전달되고, 첫 번째 레이어는 다음 마이크로 배치 처리를 시작합니다. 이 방법을 사용하면 프로세서의 유휴 시간을 줄일 수 있지만 일부 프로세서가 종속 계산 결과를 기다리기 때문에 작업을 일시 중지할 수 있는 너무 큰 지연이 발생하지 않도록 파이프라인을 신중하게 관리해야 합니다.

파이프라인 병렬 처리는 공장 조립 라인의 작업자와 같으며, 각 작업자는 특정 작업을 수행한 후 반제품을 다음 작업자에게 전달합니다. 모델 훈련에서 모델은 여러 부분으로 분할되며 각 부분은 서로 다른 GPU에서 순차적으로 실행됩니다. GPU가 계산의 일부를 마치면 중간 결과를 다음 GPU에 전달하여 계산을 계속합니다.

실제 배포에서는 모델 교육의 효율성과 효과를 보장하기 위해 네트워크 설계 시 이러한 병렬 전략의 대역폭 및 대기 시간 요구 사항을 고려해야 합니다. 때로는 이러한 세 가지 병렬 전략을 결합하여 훈련 프로세스를 더욱 최적화하기도 합니다. 예를 들어 대규모 모델은 여러 GPU에서 데이터 병렬성을 사용하여 데이터의 다양한 하위 집합을 처리하는 동시에 각 GPU 내에서 텐서 병렬성을 사용하여 모델의 다양한 부분을 처리할 수 있습니다.

AIGC 지능형

대규모 모델 훈련에서 AI 컴퓨팅 성능에 대한 수요를 살펴보겠습니다. 대형 모델이 지속적으로 업그레이드됨에 따라 모델 교육에 대한 컴퓨팅 성능 수요도 증가하여 3개월마다 두 배로 증가합니다. GPT-175 모델(45억 개의 매개변수, 3640TB 훈련 자료, 3PFlops/s-Days의 컴퓨팅 성능 소비)인 ChatGPT128는 100개의 A1024 서버를 사용하여 훈련에 총 100개의 A4 카드를 사용하므로 단일 서버 노드에는 100개의 4G 네트워크가 필요합니다. 채널; ChatGPT5, ChatGPTXNUMX 및 기타 대형 모델에서는 네트워크 요구 사항이 더 높아집니다.

AIGC는 현재까지 발전했고, 훈련을 위한 모델 매개변수는 100억에서 10조로 급증했다. 이러한 대규모 훈련을 완료하기 위해 기본 레이어를 지원하는 GPU 수도 카드 10,000개 규모에 도달했습니다.

그렇다면 문제는 GPU 활용도에 영향을 미치는 가장 큰 요인은 무엇인가 하는 것입니다.

정답은 네트워크입니다.

수만 개의 GPU를 갖춘 컴퓨팅 클러스터로서 스토리지 클러스터와의 데이터 상호 작용에는 엄청난 대역폭이 필요합니다. 또한 훈련 계산을 수행할 때 GPU는 독립적이지 않고 혼합 병렬성을 사용합니다. GPU 간에는 많은 데이터 교환이 이루어지며, 이를 위해서는 막대한 대역폭이 필요합니다.

네트워크가 강력하지 않으면 데이터 전송 속도가 느려지고 GPU가 데이터를 기다려야 하므로 활용도가 떨어집니다. 활용도가 떨어지면 훈련 시간과 비용이 늘어나고 사용자 경험도 저하됩니다.

업계에서는 다음 그림과 같이 네트워크 대역폭 처리량, 통신 지연 시간, GPU 활용률 간의 관계를 계산하는 모델을 만들었습니다.

GPU 활용

대역폭 처리량 및 GPU 활용도

동적 대기 시간 및 GPU 활용도

네트워크 처리량이 강할수록 GPU 활용도도 높아지는 것을 확인할 수 있습니다. 통신 동적 대기 시간이 길어질수록 GPU 활용도는 낮아집니다.

AIGC 운영을 지원할 수 있는 네트워크는 어떤 것인가요?

네트워크에서 AI 클러스터 컴퓨팅의 높은 요구 사항에 대처하기 위해 업계에서는 다양한 솔루션을 제안했습니다. 기존 전략에서는 Infiniband, RDMA 및 프레임 스위치라는 세 가지 기술을 흔히 볼 수 있습니다.

인피니밴드 네트워킹

데이터 통신에 익숙한 전문가를 대상으로, 인피니 밴드 네트워킹이 낯설지 않다. 이는 매우 높은 대역폭, 혼잡 없음, 낮은 대기 시간을 보장하는 고성능 네트워크를 구축하는 가장 좋은 방법으로 평가됩니다. ChatGPT 및 GPT-4에서 사용하는 네트워크는 Infiniband 네트워킹입니다. 그러나 이 기술의 단점은 비용이 많이 들고 기존 이더넷 네트워킹보다 몇 배 더 비싸다는 것입니다. 게다가 이 기술은 상대적으로 폐쇄적이며 업계에서 성숙한 공급업체가 단 하나뿐이어서 사용자의 선택이 제한됩니다.

인피니밴드의 RDMA

RDMA 네트워크ING 

Remote Direct Memory Access의 약어인 RDMA는 새로운 유형의 통신 메커니즘입니다. RDMA 방식에서는 데이터가 CPU와 복잡한 운영 체제를 우회하여 네트워크 카드와 직접 통신할 수 있으므로 처리량이 크게 향상될 뿐만 아니라 대기 시간도 단축됩니다.

이전에는 RDMA가 주로 InfiniBand 네트워크에서 수행되었습니다. 이제는 점차적으로 이더넷으로 포팅되었습니다. 현재 주류 네트워킹 체계는 RoCE v2 프로토콜을 기반으로 다음을 지원하는 네트워크를 구축합니다. RDMA. 그러나 이 방식의 PFC 및 ECN 기술은 링크 혼잡을 피하기 위해 생성되었지만 자주 트리거되면 송신자가 일시 중지되거나 속도가 느려지므로 통신 대역폭에 영향을 줄 수 있습니다.

RDMA 네트워킹

프레임 스위치

일부 인터넷 회사에서는 고성능 네트워크의 요구 사항을 충족하기 위해 프레임 스위치를 사용하기를 희망했습니다. 그러나 이 방식은 확장성이 부족하고, 장치 전력 소비가 높으며, 장애 도메인이 크다는 문제가 있으므로 소규모 AI 컴퓨팅 클러스터 배포에만 적합합니다.

차세대 AIGC 네트워크: DDC 기술

기존 방식의 다양한 한계를 고려하여 새로운 솔루션인 DDC(Distributed Disaggregated Chassis)가 탄생했습니다. DDC는 기존 프레임 스위치를 '분해'하고 확장성을 강화하며 AI 클러스터의 크기에 따라 네트워크 규모를 유연하게 설계합니다. 이러한 혁신적인 방식을 통해 DDC는 기존 방식의 한계를 극복하고 AI 컴퓨팅을 위한 보다 효율적이고 유연한 네트워크 아키텍처를 제공합니다.

프레임 스위치

규모와 대역폭 처리량 측면에서 DDC는 대규모 AI 모델 교육을 위한 네트워크 요구 사항을 완벽하게 충족했습니다. 그러나 네트워크 운영은 이 두 가지 측면뿐만 아니라 대기 시간, 로드 밸런싱, 관리 효율성 등의 측면에서도 최적화되어야 합니다. 이를 위해 DDC는 다음과 같은 기술적 전략을 채택합니다.

  • VOQ+셀 기반 전달 메커니즘으로 패킷 손실을 효과적으로 방지합니다.

네트워크에서 버스트 트래픽이 발생하면 수신기의 처리 속도가 느려져 정체 및 패킷 손실이 발생할 수 있습니다. DDC가 채택한 VOQ+Cell 기반 전달 메커니즘은 이 문제를 잘 해결할 수 있습니다. 구체적인 과정은 다음과 같습니다.

발신자는 먼저 패킷을 수신한 후 패킷을 분류하여 VOQ로 저장합니다. NCP는 패킷을 보내기 전에 먼저 Credit 메시지를 보내 수신자에게 충분한 버퍼 공간이 있는지 확인합니다. 수신자가 처리 용량이 있음을 확인한 경우에만 패킷이 셀로 분할되고 패브릭 노드에 동적으로 로드 밸런싱됩니다. 수신자가 일시적으로 처리할 수 없는 경우 패킷은 발신자의 VOQ에 일시적으로 저장되며 직접 전달되지 않습니다. 이 메커니즘은 캐시를 최대한 활용하므로 패킷 손실을 크게 줄이거나 피할 수 있으므로 전반적인 통신 안정성이 향상되고 대기 시간이 줄어들며 대역폭 활용도와 비즈니스 처리 효율성이 높아집니다.

VOQ+셀 기반 전달 메커니즘
  • PFC 단일 홉 배포로 교착 상태를 완전히 방지합니다.

PFC 기술은 RDMA 무손실 네트워크의 트래픽 제어에 사용되며 이더넷 링크에 대한 여러 가상 채널을 생성하고 각 채널에 대한 우선 순위를 설정할 수 있습니다. 그러나 PFC에도 교착 상태 문제가 있습니다.

DDC 네트워크에서는 모든 NCP와 NCF가 전체 장치로 간주되므로 다중 레벨 스위치가 없으므로 PFC의 교착 상태 문제를 완전히 피할 수 있습니다.

PFC 작동 메커니즘의 개략도

PFC 작동 메커니즘의 개략도

40 200G
  • 분산 OS, 신뢰성 향상

DDC 아키텍처에서 관리 기능은 NCC에 의해 중앙에서 제어되지만 이로 인해 단일 장애 지점 위험이 발생할 수 있습니다. 이 문제를 피하기 위해 DDC는 각 NCP와 NCF가 독립적으로 관리할 수 있도록 하고 독립적인 제어 평면과 관리 평면을 갖는 분산 OS를 사용합니다. 이는 시스템 안정성을 크게 향상시킬 뿐만 아니라 배포도 더 쉽게 만듭니다.

결론: DDC는 고유한 기술 전략을 통해 대규모 AI 모델 훈련의 네트워크 요구 사항을 충족하고 많은 세부 사항을 최적화하여 다양하고 복잡한 조건에서 네트워크가 안정적이고 효율적으로 실행될 수 있도록 보장합니다.

코멘트 남김

위쪽으로 스크롤