대형 모델 시대에 돌입한 이후 대형 모델 개발은 인공지능의 핵심이 되었지만, 대형 모델을 훈련시키는 것은 GPU 리소스가 많이 필요하고 훈련 시간도 길기 때문에 사실 복잡한 작업이다.
또한 단일 GPU 작업자 스레드는 메모리가 제한되어 있으며 많은 대형 모델의 크기가 단일 GPU의 범위를 초과합니다. 따라서 여러 GPU에 걸쳐 모델 교육을 구현해야 합니다. 이 훈련 방법에는 분산 통신과 NVLink가 포함됩니다.
분산 통신과 NVLink에 대해 이야기할 때 우리는 매력적이고 발전하는 기술 분야에 있습니다. 다음으로 분산통신의 원리와 효율적인 분산통신을 구현하는 기술인 NVLink의 진화에 대해 간략하게 소개하겠습니다.
분산 통신은 컴퓨터 시스템의 여러 노드를 연결하여 공통 작업을 완료하기 위해 서로 통신하고 협력할 수 있음을 의미합니다. NVLink는 일반적으로 GPU 또는 GPU를 다른 장치에 연결하여 고성능 컴퓨팅 및 데이터 전송을 달성하는 데 사용되는 고속, 저지연 통신 기술입니다.
분산 병렬성
현재 딥러닝은 대형 모델, 즉 기초 모델(Foundation Model) 시대에 돌입했습니다. 빅 모델은 이름에서 알 수 있듯이 "큰"에 중점을 둡니다. 여기에는 주로 다음과 같은 측면이 포함됩니다.
- 큰 데이터 크기
대규모 모델은 일반적으로 자기 지도 학습 방법을 사용하여 데이터 주석, 교육 및 R&D 비용을 줄이는 반면, 대량의 데이터는 모델의 일반화 능력과 성능을 향상시킬 수 있습니다.
- 큰 매개변수 규모
모델 매개변수의 규모가 지속적으로 증가함에 따라 모델은 데이터의 복잡한 관계와 패턴을 더 잘 포착할 수 있으며 기존 모델 구조의 정확도 한계를 더욱 뛰어넘을 것으로 예상됩니다.
- 높은 컴퓨팅 성능 요구 사항
대규모 데이터와 매개변수로 인해 단일 시스템에서 모델을 실행하고 계산하는 것이 불가능합니다. 이를 위해서는 컴퓨팅 하드웨어의 지속적인 발전이 필요하고, 다른 한편으로는 분산형 병렬 훈련 기능을 갖춘 AI 프레임워크도 필요합니다.
따라서 위의 문제를 해결하기 위해서는 분산 병렬 전략을 도입할 필요가 있다.
데이터 병렬성
데이터 병렬(DP)은 여러 GPU에 데이터를 분산하여 병렬 처리를 달성하는 일반적으로 사용되는 딥 러닝 훈련 전략입니다. 데이터 병렬 프레임워크에서 각 GPU(또는 작업 단위)는 모델의 전체 복사본을 저장하므로 각 GPU는 할당된 데이터 하위 집합에 대해 순방향 및 역방향 전파 계산을 독립적으로 수행할 수 있습니다.
데이터 병렬 워크플로:
- 매개변수 동기화: 훈련을 시작하기 전에 모든 작업 단위는 모델 매개변수를 동기화하여 각 GPU의 모델 복사본이 동일한지 확인합니다.
- 데이터 배포: 훈련 데이터는 배치(Batch)로 나누어지고, 각 배치는 하위 집합으로 추가로 분할되며, 각 GPU는 데이터의 하위 집합 하나를 처리합니다.
- 독립적인 기울기 계산: 각 GPU는 데이터 하위 집합에 대해 독립적으로 순방향 및 역방향 전파를 수행하고 해당 기울기를 계산합니다.
- 그라데이션 집계: 계산이 완료된 후 모든 작업 단위의 기울기를 집계해야 합니다. 이는 일반적으로 네트워크 통신을 통해 달성됩니다. 예를 들어 All-Reduce 알고리즘을 사용하면 다양한 GPU에서 그라데이션을 효율적으로 평균화할 수 있습니다.
- 매개변수 업데이트: 그라디언트의 평균이 계산되면 각 GPU는 이 평균 그라디언트를 사용하여 모델 복사본의 매개변수를 업데이트합니다.
- 프로세스 반복: 이 프로세스는 모델이 전체 데이터 세트에 대해 훈련될 때까지 각 데이터 배치에서 반복됩니다.
데이터 병렬성의 장점과 과제:
데이터 병렬성을 통해 훈련 프로세스를 수평적으로 더 많은 GPU로 확장하여 훈련 속도를 높일 수 있습니다. 장점은 간단한 구현과 사용 가능한 하드웨어 리소스에 맞게 작업 단위 수를 유연하게 조정할 수 있는 능력에 있습니다. 현재 많은 딥 러닝 프레임워크가 기본 지원을 제공합니다.
그러나 병렬 GPU 수가 증가하면 더 많은 매개변수 복사본을 저장해야 하므로 상당한 메모리 오버헤드가 발생합니다. 또한, Gradient Aggregation 단계에서는 GPU 간에 많은 양의 데이터를 동기화해야 하는데, 이는 특히 작업 단위 수가 증가할 때 시스템의 병목 현상이 될 수 있습니다.
데이터 병렬 처리에 비동기 동기화 방식 적용:
데이터 병렬화의 통신 병목 현상을 해결하기 위해 연구자들은 다양한 비동기 동기화 방식을 제안했습니다. 이러한 구성표에서 각 GPU 작업자 스레드는 다른 작업자 스레드가 기울기 계산 및 동기화를 완료할 때까지 기다리지 않고 다른 스레드와 독립적으로 데이터를 처리할 수 있습니다. 이 접근 방식은 통신으로 인한 데드 타임을 크게 줄여 시스템 처리량을 향상시킬 수 있습니다.
구현 원리는 기울기 계산 단계에서 각 GPU가 자체적인 순방향 및 역방향 전파를 완료한 후 다른 GPU를 기다리지 않고 즉시 기울기를 업데이트한다는 것입니다. 또한 각 GPU는 모든 GPU가 동기화 지점에 도달할 때까지 기다릴 필요 없이 필요할 때 사용 가능한 최신 전역 가중치를 읽습니다.
그러나 이 접근 방식에는 단점도 있습니다. 서로 다른 GPU의 모델 가중치가 동기화되지 않을 수 있으므로 작업자 스레드는 기울기 계산에 오래된 가중치를 사용할 수 있으며 이로 인해 통계적 효율성이 저하될 수 있습니다. 즉 정확성을 엄격하게 보장할 수 없습니다.
모델 병렬성
모델 병렬(MP)은 일반적으로 각 노드가 모델의 일부를 담당하는 여러 컴퓨팅 노드에 걸쳐 분산 방식으로 대규모 딥 러닝 모델을 훈련하는 것을 의미합니다. 이 방법은 단일 컴퓨팅 노드가 전체 모델을 수용할 수 없는 상황을 해결하는 데 주로 사용됩니다. 모델 병렬 처리는 파이프라인 병렬 처리(PP)와 텐서 병렬 처리(TP)를 포함하되 이에 국한되지 않는 여러 전략으로 더 세분화될 수 있습니다.
모델 병렬화는 단일 컴퓨팅 노드가 모델의 모든 매개변수를 수용할 수 없는 문제를 해결하는 방법입니다. 각 노드가 전체 모델에 대한 데이터의 서로 다른 하위 집합을 처리하는 데이터 병렬 처리와 달리 모델 병렬 처리는 모델의 여러 부분을 여러 노드에 분산하며 각 노드는 모델 매개 변수의 일부만 담당합니다. 이를 통해 단일 노드의 메모리 요구 사항과 계산 부하를 효과적으로 줄일 수 있습니다.
모델 병렬화에서는 심층 신경망의 여러 계층을 분할하여 서로 다른 노드에 할당할 수 있습니다. 예를 들어 여러 개의 연속 레이어를 그룹화하고 레이어 그룹을 노드에 할당할 수 있습니다. 이러한 계층적 전략을 통해 각 노드는 할당된 모델 매개변수의 일부만 처리할 수 있으므로 메모리 및 컴퓨팅 리소스 사용이 줄어듭니다.
그러나 단순한 모델 병렬 구현은 순차적 종속성을 갖는 레이어가 이전 레이어의 계산이 완료될 때까지 기다려야 하기 때문에 상당한 대기 시간과 계산 리소스의 비효율적인 활용을 초래할 수 있습니다.
이러한 효율성 손실을 줄이기 위해 PP(Pipeline Parallel)가 제안되었습니다. 파이프라인 병렬 처리에서는 대규모 데이터 배치가 여러 개의 작은 마이크로 배치로 분할됩니다. 각 마이크로 배치는 비례적으로 더 빠르게 처리되어야 하며, 각 작업자는 사용 가능한 즉시 다음 마이크로 배치 처리를 시작하여 파이프라인 실행 속도를 높입니다. 마이크로 배치가 충분하면 작업자(GPU 카드)를 완전히 활용할 수 있으며 단계 시작과 끝의 유휴 시간 "버블"을 최소화할 수 있습니다.
파이프라인 병렬 처리에서는 각 노드가 서로 다른 모델 레이어를 순차적으로 처리하고 파이프라인처럼 노드 간에 마이크로 배치가 흐릅니다. 기울기는 모든 미니 배치에 대해 평균을 낸 다음 모델 매개변수를 업데이트하는 데 사용됩니다.
파이프라인 병렬 처리는 모델을 레이어별로 "수직"으로 분할합니다. 또한 효율성을 더욱 향상시키기 위해 종종 TP(Tensor Parallel) 훈련이라고 불리는 특정 작업을 계층 내에서 "수평적으로" 분할할 수도 있습니다.
텐서 병렬 처리에서는 모델의 대규모 행렬 곱셈 작업이 여러 컴퓨팅 노드에서 병렬로 실행될 수 있는 더 작은 부분으로 분할됩니다. 예를 들어 Transformer 모델에서 행렬 곱셈은 주요 계산 병목 현상입니다. 텐서 병렬성을 사용하면 가중치 행렬을 더 작은 블록으로 분할할 수 있으며, 각 블록은 서로 다른 노드에서 병렬로 처리됩니다.
실제로 모델 병렬 처리에는 파이프라인 병렬 처리와 텐서 병렬 처리의 조합이 포함될 수 있습니다. 노드는 모델의 일부를 담당하고(모델 병렬성) 서로 다른 마이크로 배치를 동시에 처리할 수 있으며(파이프라인 병렬성), 이 노드 내에서 대규모 행렬 작업은 여러 프로세서에 걸쳐 추가로 분할될 수 있습니다(텐서 병렬성). 이러한 조합을 통해 분산 컴퓨팅 리소스를 최대한 활용하고 대규모 모델 학습의 효율성을 향상시킬 수 있습니다.
AI 프레임워크 배포
모델 훈련의 경우 어떤 병렬 전략을 사용하든 그 본질은 모델을 "수직" 또는 "수평"으로 분할한 다음 계산을 위해 별도의 분할을 다른 시스템에 배치하여 컴퓨팅 리소스를 최대한 활용하는 것입니다.
현재 AI 프레임워크에서는 모델 훈련을 가속화하기 위해 일반적으로 여러 전략의 혼합 병렬 접근 방식이 채택됩니다. 여러 병렬 전략의 훈련 모델을 지원하려면 서로 다른 "분할" 모델 부분이 통신하는 방식을 포함해야 합니다.
AI 훈련 그래프 세분화
위 그림에서 볼 수 있듯이 AI 컴퓨팅 프레임워크에서는 원래 네트워크 모델을 분할하여 컴퓨팅을 위해 다른 시스템에 배포해야 합니다. 여기서는 모델에 Send 및 Recv 노드를 삽입하여 통신을 수행합니다.
또한 분산 모델 훈련에서는 모델 분할로 인해 다양한 모델 부품이 있는 기계에 모델 매개변수를 배치해야 합니다. 훈련 과정에서 우리는 다양한 모델 노드의 매개변수의 상호작용과 동기화를 포함할 것이며, 이를 위해서는 데이터와 매개변수의 노드 간 동기화도 필요합니다. 이것은 분산 훈련입니다.
위에서 소개한 것은 소프트웨어 수준의 분산 전략과 알고리즘이다. 다음으로 하드웨어에서 통신이 어떻게 구현되는지 살펴보겠습니다.
통신 하드웨어
분산 통신은 AI 훈련, 특히 대규모 모델과 방대한 양의 데이터를 처리할 때 매우 중요합니다. 분산 통신에는 다음 그림과 같이 병렬 컴퓨팅 및 모델 매개변수 동기화를 달성하기 위해 서로 다른 장치 또는 노드 간의 데이터 전송 및 조정이 포함됩니다.
GPU 서비스 구조
기계 내 통신에는 몇 가지 공통 하드웨어가 있습니다.
- 공유 메모리: 여러 프로세서 또는 스레드가 동일한 물리적 메모리에 액세스할 수 있으므로 메모리에서 데이터를 읽고 쓰면서 통신할 수 있습니다. 공유 메모리는 동일한 시스템에서의 병렬 컴퓨팅에 적합합니다.
- PCIe(주변 구성 요소 상호 연결 익스프레스): PCIe 버스는 일반적으로 GPU, 가속기 카드 또는 기타 외부 장치를 연결하는 데 사용되는 컴퓨팅 장치 연결을 위한 표준 인터페이스입니다. PCIe 버스를 통해 서로 다른 컴퓨팅 장치 간에 데이터를 전송하여 분산 컴퓨팅을 구현할 수 있습니다.
- NV링크: NVLink는 GPU 간 직접 통신을 가능하게 하기 위해 NVIDIA가 개발한 고속 상호 연결 기술입니다. NVLink는 PCIe보다 더 높은 대역폭과 더 낮은 대기 시간을 제공할 수 있어 더 높은 통신 성능이 필요한 작업에 적합합니다.
기계 간 통신 측면에서 일반적인 하드웨어에는 다음이 포함됩니다.
- TCP/IP 네트워크: TCP/IP 프로토콜은 인터넷 통신의 기초이며, 이를 통해 네트워크를 통해 서로 다른 시스템 간에 데이터를 전송할 수 있습니다. 분산 컴퓨팅에서는 TCP/IP 네트워크를 사용하여 기계 간 통신 및 데이터 전송을 수행할 수 있습니다.
- RDMA(원격 직접 메모리 액세스) 네트워크: RDMA는 CPU를 사용하지 않고 한 메모리 영역에서 다른 메모리 영역으로 데이터를 직접 전송할 수 있는 고성능 네트워크 통신 기술입니다. RDMA 네트워크는 대기 시간이 짧고 처리량이 높은 데이터 전송을 제공하기 위해 고성능 컴퓨팅 클러스터를 구축하는 데 자주 사용됩니다.
하드웨어를 이해한 후, 커뮤니케이션을 구현하기 위해서는 집단 커뮤니케이션 기능을 제공하는 라이브러리가 반드시 필요합니다. 그 중 가장 널리 사용되는 집단통신 라이브러리 중 하나가 CPU에서 널리 사용되는 MPI(Message Passing Interface)이다. NVIDIA GPU에서 가장 일반적으로 사용되는 집단 통신 라이브러리는 NCCL(NVIDIA Collective Communications Library)입니다.
NVLink 및 NV스위치
위 그림과 같이 NCCL 라이브러리를 통해 NVLink 또는 NVSwitch를 사용하여 서로 다른 GPU를 서로 연결할 수 있습니다. NCCL은 알고리즘 수준에서 외부 API를 제공하며, 이를 통해 여러 GPU에 걸쳐 집단 통신 작업을 쉽게 수행할 수 있습니다. NCCL의 API는 브로드캐스트, 축소, 글로벌 축소, 글로벌 동기화 등과 같은 일반적인 집단 통신 작업을 다루며 개발자에게 풍부하고 효율적인 병렬 컴퓨팅 도구를 제공합니다.
집단소통
집단 커뮤니케이션은 프로세스 그룹의 모든 프로세스를 포함하는 글로벌 커뮤니케이션 작업입니다. 전송, 수신, 복사, 그룹 내 프로세스 장벽 동기화(Barrier), 노드 간 프로세스 동기화(신호 + 대기) 등 일련의 기본 작업이 포함됩니다. 이러한 기본 작업을 결합하여 통신 기본 요소라고도 하는 일련의 통신 템플릿을 형성할 수 있습니다. 예를 들어 일대다 브로드캐스트, 다대일 수집, 다대다 수집(all-gather), 일대다 분산(scatter), 다대일 축소, 다대다 수집 등이 있습니다. 다 축소(all-reduce), 축소와 분산 결합(reduce-scatter), 다대다(all-to-all) 등. 그 중 몇 가지를 아래에서 간략하게 소개하겠습니다.
집단소통
Gather 작업은 여러 데이터 송신자와 하나의 데이터 수신자를 사용하는 다대일 통신 기본 요소입니다. 여러 노드에서 클러스터의 한 노드로 데이터를 수집할 수 있습니다. 그 반대 동작은 Scatter에 해당합니다.
브로드캐스트는 하나의 데이터 송신자와 다수의 데이터 수신자가 있는 일대다 통신 기본 요소입니다. 노드의 자체 데이터를 클러스터의 다른 노드에 브로드캐스트할 수 있습니다. 위 그림과 같이 마스터 노드 0이 Broadcast를 실행하면 마스터 노드 0에서 다른 노드로 데이터가 브로드캐스팅됩니다.
분산형은 데이터의 일대다 분포입니다. GPU 카드의 데이터를 샤드로 나누어 다른 모든 GPU 카드에 배포합니다.
AllReduce는 여러 데이터 발신자와 여러 데이터 수신자가 있는 다대다 통신 기본 요소입니다. 클러스터 내 모든 노드에 대해 동일한 Reduce 작업을 수행하고, 클러스터 내 모든 노드에 대한 데이터 축소 작업 결과를 모든 노드로 전송할 수 있습니다. 간단히 말해서 AllReduce는 모든 GPU 카드(예: SUM)의 데이터를 클러스터의 각 GPU 카드로 줄이는 다대다 데이터 축소 작업입니다.
AllGather는 여러 데이터 송신자와 여러 데이터 수신자를 갖춘 다대다 통신 기본 요소입니다. 클러스터 내 여러 노드에서 마스터 노드로 데이터를 수집(Gather)한 후, 수집된 데이터를 다른 노드에 배포할 수 있습니다.
AllToAll 작업은 각 노드의 데이터를 클러스터의 모든 노드에 분산시키고, 각 노드는 클러스터의 모든 노드의 데이터도 수집합니다. AllToAll은 AllGather의 확장입니다. 차이점은 AllGather 작업에서는 특정 노드에서 다른 노드가 수집한 데이터가 동일한 반면 AllToAll에서는 특정 노드에서 다른 노드가 수집한 데이터가 다르다는 점입니다.
NVLlink 및 NVSwitch 개발
NVLink와 NVSwitch는 CPU와 GPU는 물론 GPU와 GPU가 함께 작동하고 효율적으로 통신하는 방식을 재정의하는 NVIDIA가 도입한 두 가지 혁신적인 기술입니다.
NVLink는 고급 버스 및 통신 프로토콜입니다. NVLink는 중앙 처리 장치(CPU)와 그래픽 처리 장치(GPU)를 연결하기 위해 Point-to-Point 구조와 직렬 전송을 사용합니다. 또한 여러 그래픽 처리 장치(GPU)를 연결하는 데에도 사용할 수 있습니다.
NVSwitch: 고속 상호 연결 기술입니다. 독립적인 NVLink 칩으로서 최대 18개의 NVLink 인터페이스를 제공하여 여러 GPU 간에 고속 데이터 전송을 달성할 수 있습니다.
이 두 가지 기술을 도입하면 GPU 클러스터 및 딥 러닝 시스템과 같은 애플리케이션 시나리오에 더 높은 통신 대역폭과 더 낮은 대기 시간이 제공되어 시스템의 전반적인 성능과 효율성이 향상됩니다.
NVLink 개발
NVLink 개발
위 그림에서 볼 수 있듯이 NVLink는 Pascal 아키텍처에서 Hoppe 아키텍처까지 2024세대의 개발과 진화를 거쳤습니다. NVIDIA는 1800년 GTC 컨퍼런스에서 NVLink가 다시 업데이트되고 상호 연결 대역폭이 XNUMXGB/s인 XNUMX세대 NVLink가 출시된 Blackwell 아키텍처를 출시했습니다.
NVLink가 업데이트될 때마다 각 GPU의 상호 연결 대역폭이 지속적으로 향상됩니다. NVLink 간 상호 연결할 수 있는 GPU 수도 4세대 18개에서 XNUMX세대 XNUMX개로 늘어났다. 최신 Blackwell 아키텍처는 상호 연결된 GPU의 최대 수를 늘리지 않았습니다.
NVLink 개발
위 그림에서 볼 수 있듯이 P100의 각 NVLink는 40GB/s에 불과한 반면, 100세대 V100부터 H50까지의 NVLink 링크는 XNUMXGB/s입니다. 링크 수를 늘리면 전체 대역폭이 늘어납니다.
NVSwitch 개발
NVSwitch 기술은 Volta 아키텍처에서 Hopper 아키텍처까지 300세대에 걸쳐 진화와 개발을 거쳤습니다. GPU당 상호 연결된 칩렛의 수는 각 세대에서 900개로 일정하게 유지되었습니다. 이는 상호 연결의 기본 구조가 안정적이고 일관되게 유지된다는 것을 의미합니다. NVLink 아키텍처의 업그레이드로 GPU 간 대역폭이 크게 증가했습니다. NVSwitch는 Volta 아키텍처의 XNUMXGB/s에서 Hopper 아키텍처의 XNUMXGB/s까지 NVLink가 특별히 제공하는 칩 모듈이기 때문입니다.
다음으로 서버 내 NVLink와 NVSwitch의 관계를 살펴보겠습니다.
NVSwitch 개발
위 그림과 같이 P100에는 NVLink만 있고, GPU들은 CubeMesh를 통해 상호 연결되어 있습니다. P100에서 각 GPU에는 4개의 상호 연결이 있으며, 4개마다 CubeMesh를 형성합니다.
V100에서는 NVSwitch를 통해 각 GPU를 다른 GPU와 상호 연결할 수 있습니다. A100에서는 NVSwitch가 다시 업그레이드되어 많은 링크가 절약되었습니다. 각 GPU는 NVSwitch를 통해 다른 GPU와 상호 연결될 수 있습니다.
H100에서는 새로운 기술 혁신이 있었습니다. 단일 시스템에는 8개의 H100 GPU 카드가 있으며 두 개의 H900 카드 사이에는 100GB/s의 양방향 상호 연결 대역폭이 있습니다. DGX H100 시스템에서는 72개의 NVSwitch가 NVLink 네트워크 스위치를 통해 다른 DGX H4 시스템에 연결하기 위해 100개의 NVLink100 연결을 예약하여 DGX H72 SuperPod 시스템의 형성을 촉진한다는 점은 주목할 가치가 있습니다. 4개 NVLink3.6 연결의 총 양방향 대역폭은 ~XNUMXTB/s입니다.
요약
빅모델 시대에 인공지능 개발은 강력한 컴퓨팅 리소스, 특히 GPU 리소스에 점점 더 의존하고 있습니다. 이러한 대규모 모델을 훈련하려면 모델 훈련 작업을 여러 GPU 또는 컴퓨팅 노드에 분산시키는 분산 병렬 전략을 채택해야 합니다. 여기에는 데이터 병렬성 및 모델 병렬성과 같은 전략이 포함될 뿐만 아니라 서로 다른 컴퓨팅 장치 간의 빠른 데이터 전송 및 동기화를 보장하기 위해 NVLink 및 NVSwitch와 같은 효율적인 분산 통신 기술도 필요합니다.
대형 모델 시대의 AI 프레임워크는 다양한 분산 병렬 전략을 지원할 뿐만 아니라 효율적인 노드 간 통신을 지원하기 위해 NVLink, NVSwitch와 같은 분산 통신 기술을 포함하고 고려해야 합니다.
앞으로도 모델의 크기가 계속 커짐에 따라 컴퓨팅 리소스에 대한 수요도 계속해서 증가할 것입니다. 분산 병렬 전략을 지속적으로 최적화하고 보다 효율적인 분산 통신 기술을 개발해야 합니다. 이는 소프트웨어에 대한 전략 최적화 업데이트뿐만 아니라 하드웨어 수준의 최적화 업데이트도 포함합니다.
NVLink 및 NVSwitch는 딥 러닝 모델 훈련의 속도와 효율성을 더욱 향상시키기 위해 지속적으로 업데이트됩니다. 이러한 통신 기술 혁신과 발전을 이해하면 더 큰 모델을 더 잘 훈련하고 인공 지능을 더 깊은 수준으로 끌어올리는 데 도움이 될 수 있습니다.
관련 상품:
- NVIDIA MMA4Z00-NS400 호환 400G OSFP SR4 플랫 탑 PAM4 850nm 30m on OM3/50m on OM4 MTP/MPO-12 다중 모드 FEC 광 트랜시버 모듈 $650.00
- NVIDIA MMA4Z00-NS-FLT 호환 800Gb/s 트윈 포트 OSFP 2x400G SR8 PAM4 850nm 100m DOM 듀얼 MPO-12 MMF 광 트랜시버 모듈 $850.00
- NVIDIA MMA4Z00-NS 호환 800Gb/s 트윈 포트 OSFP 2x400G SR8 PAM4 850nm 100m DOM 듀얼 MPO-12 MMF 광 트랜시버 모듈 $750.00
- NVIDIA MMS4X00-NM 호환 800Gb/s 트윈 포트 OSFP 2x400G PAM4 1310nm 500m DOM 듀얼 MTP/MPO-12 SMF 광 트랜시버 모듈 $1100.00
- NVIDIA MMS4X00-NM-FLT 호환 800G 트윈 포트 OSFP 2x400G 플랫 탑 PAM4 1310nm 500m DOM 듀얼 MTP/MPO-12 SMF 광 트랜시버 모듈 $1200.00
- NVIDIA MMS4X00-NS400 호환 400G OSFP DR4 플랫 탑 PAM4 1310nm MTP/MPO-12 500m SMF FEC 광 트랜시버 모듈 $800.00
- Mellanox MMA1T00-HS 호환 200G Infiniband HDR QSFP56 SR4 850nm 100m MPO-12 APC OM3/OM4 FEC PAM4 광 트랜시버 모듈 $200.00
- NVIDIA MFP7E10-N010 호환 10m(33ft) 8 섬유 낮은 삽입 손실 암-암 MPO 트렁크 케이블 극성 B APC-APC LSZH 다중 모드 OM3 50/125 $47.00
- NVIDIA MCP7Y00-N003-FLT 호환 3m(10피트) 800G 트윈 포트 OSFP - 2x400G 플랫 탑 OSFP InfiniBand NDR 브레이크아웃 DAC $275.00
- NVIDIA MCP7Y70-H002 호환 2m(7피트) 400G 트윈 포트 2x200G OSFP - 4x100G QSFP56 패시브 브레이크아웃 직접 연결 구리 케이블 $155.00
- NVIDIA MCA4J80-N003-FTF 호환 3m(10피트) 800G 트윈 포트 2x400G OSFP - 2x400G OSFP InfiniBand NDR 활성 구리 케이블, 한쪽 끝은 평면 상단, 다른 쪽 끝은 핀형 상단 $600.00
- NVIDIA MCP7Y10-N002 호환 가능한 2m(7피트) 800G InfiniBand NDR 트윈 포트 OSFP - 2x400G QSFP112 브레이크아웃 DAC $200.00