ML/AI 네트워크 핵심 기술 고려사항

ML/AI 네트워크 는 기존의 네트워크와는 결이 약간 다른 분야입니다.
결론부터 이야기하면 이더넷은 생성형 인공지능 솔루션을 구축하기 위한 클라우드 네트워킹 솔루션으로서 가장 훌륭한 기술입니다.
현재 상용서비스 수준의 품질을 제공하는 100G, 200G, 400G, 800G의 빠른 스위칭 용량이 지원되는 상용서비스 품질의 제품들이 이미 시장에 출시되어 있읍니다.
아울러 기술의 로드맵상 1.6T 까지 속도까지로도 확장이 가능합니다.
인피니밴드는 HPC 클러스터에서 일반적으로 사용되는 네트워크 기술이며 이더넷은 이런 인피니밴드 네트워크를 통합할 수 있는 가장 훌륭한 기술이라 할 수 있습니다..
최근 클라우드 사용 트렌드의 변화

기존 클라우드 서비스의 가장 중요한 동인이 IT자산을 빌려쓴다는 개념에 있었습니다.
기업 및 서비스의 특성상 탄력적인 IT자산의 수요를 투자가 아닌 OPEX 비용으로 커버할 수 있어 효율적인 비용대비 성능 효과를 얻을 수 있었기 때문입니다.
그러나 요즘 클라우드 사용의 패턴은 기존 IT 자산을 임대해서 사용하는 측면뿐만아니라 마이크로소프트, 구글, 아마존과 같은 빅테크기업들이 구축해 놓은 AI 인프라를 통해 기업의 인사이트를 쉽게 구축하는 방향으로 진화하고 있습니다.
생성형 AI를 위해서는 기존과는 다른 네트워크 기술이 필요

AI/ML 워크로드는 계산의 특성으로 인해 고품질 네트워크의 지원이 필수입니다.
이런 관점에서 본다면 어느 정도의 네트워크 에러에도 동작하는 기존 클라우드 어플리케이션과 ML/AI 네트워크 는 차이점이 있습니다.
아울러 대규모 언어 모델(LLM)의 폭발적인 성장으로 인해 더 많은 GPU와 스토리지 용량에 대한 수요가 지속적으로 증가하고 있습니다.
이로 인하여 생성형 AI 응용을 구축하기 위해서는 수천 개의 GPU와 스토리지 디바이스로 구성된 대규모 클러스터가 필요하며, 이러한 클러스터는 수요 증가에 따라 수만 개의 디바이스로 확장되어야 합니다.
GPU 속도가 2년마다 두 배로 증가하는 추세를 고려하면 클라우드 네트워크는 설계 단계에서 확장성과 병목 현상을 방지하는 것이 중요합니다.
다음의 요소들은 클라우드 네트워크 구축시 고려 되어야 하는 주요 기술적 측면들에 대한 네트워크의 특성과 관련된 주요 고려사항입니다.
ML/AI 네트워크 성능
AI 클러스터의 성능을 측정하는 주요 지표중의 하나는 계산 작업 완료 시간입니다.
이상적인 성능을 달성 하이위해서는 네트워크계층에서 무손실, 논블로킹 및 링크당 전송률 대역폭 활용을 제공해야 합니다.
RoCE 기술을 적용하면 적절한 혼잡 제어 메커니즘과 효율적인 로드 밸런싱 기술을 통해 생성형 AI 워크로드에 필요한 최고 성능을 제공할 수 있습니다.
대역폭 및 속도

트레이닝 작업 규모가 커짐에 따라 더 빠른 네트워크를 제공하는 것이 중요합니다.
고속의 네트워킹 용량은 고밀도/고속의 포트 속도를 제공할 수 있는 이더넷 스위치를 사용하여 효율적으로 구현할 수 있습니다.
아울러 상용 실리콘 이더넷 솔루션을 사용하면 2년마다 네트워크 대역폭을 두 배로 늘리고 비트 당 비용과 전력을 줄일 수 있습니다.
ML/AI 네트워크 핵심 기술 고려사항은 무손실 네트워크

생성형 AI 응용의 원활한 구동을 위하여 위에 언급된 큰 네트워크 용량과 빠른 속도는 도움을 줄 수 있습니다.
그러나 작업 완료 시간을 달성하기 위해서는 계산 결과가 전달되는 네트워크 계층에서 손실(패킷 로스)가 발생하지 않는 것이 가장 중요합니다.
ML/AI 네트워크 에 손실이 발생되면 어떤일이 벌어지는가?
생성형 AI는 많은 확률 계산을 수반합니다.
컴퓨터를 사용하여 확률을 계산하기 위해서는 기본적으로 큰 크기의 행렬과 벡터연산이 필요합니다.
수학적인 특성으로 인하여 이런 큰 크기의 행렬과 벡터연산은 작은 단위로 분해하여 처리후 결과물들을 한꺼번에 처리하는 절차로 계산되어 질 수 있습니다.
작은 단위로 분해하여 처리를 하는 과정은 현재 GPU나 Many core CPU와 같은 현대 컴퓨터 구조를 사용하면 많은 수의 컴퓨터들이 병렬로 각 부분을 연산하는 구조로 바꿀 수 있습니다.
병렬로 계산된 결과들은 다시 하나의 컴퓨터에 취합되며 다시 업데이트 된 후 각 컴퓨터로 다시 재분배되어 원하는 결과치를 얻을 때까지 반복됩니다.
이 과정에서 컴튜터간의 네트워크 통신은 필연적이며 만약 하나의 링크에 장애가 생겨 데이터가 유실되면 더 이상 다음 계산을 진행할 수 없게 됩니다.
따라서 모든 노드들이 멈추게 되며 이런일이 반복되면 작업완료 시간이 길어지게 됩니다.
인피니밴드와 결합된 이더넷은 획기적인 신뢰성을 제공
인피니밴드는 패킷 손실을 방지하기 위해 크레딧 기반 플로우 제어를 적용합니다.
송신 서버에서는 수신 서버로측의 사용 가능한 버퍼를 나타내는 크레딧을 받을 때까지 패킷 전송을 기다립니다
명시적 혼잡 통지(ECN) 및 우선순위 플로우 제어(PFC)를 사용하면 이더넷도 무손실 프로토콜로 작동할 수 있습니다.
이러한 메커니즘은 수신측의 호스트 또는 스위치 버퍼의 용량을 초과하지 않도록 송신측 호스트 또는 스위치 버퍼에 이른바 역압력(back pressure)을 전달합니다.
이런식으로 확장된 이더넷의 무손실 전송방식은 생성형 AI에 필요한 병렬 처리 계산 성능을 최대화하는 데 매우 중요합니다.
마치며
ML/AI 연산과 관련된 어플리케이션들의 특성에 대해 알아보았습니다.
ChatGPT와 같은 생성형 AI 동작의 특성상 높은 대역폭과 확장성이 필요하며 현재 시장에서 증명되었고 향 후 명확한 기술 발전 로드맵을 가지고 있는 이더넷은 이런 응용에 적합한 네트워킹 기술입니다.
아울러 HPC 에 사용되고 있는 인피니밴드 프로토콜과 이더넷이 결합되는 경우, 작업완료 시간의 달성과 병렬 연산 구조에 필요한 이른바 확장 가능한 무손실 네트워크 기능을 제공할 수 있습니다.
![A logo representing a calm, happy Sweden countryside village with only blue color palette [and has a minimalist and modern style] [incorporating elements of nature] [with a touch of Scandinavian design] [that reflects a sense of community]](https://raonstad.com/wp-content/uploads/2024/03/img-rsVXmvlyKd0umO7b2rMmaUnI.png)