KR-102960344-B1 - METHOD OF IN-NETWORK AGGREGATION FUNCTION ASSIGNMENT FOR DISTRIBUTED DEEP LEARNING
Abstract
분산 기계 학습을 위한 인-네트워크 집약(In-Network Aggregation, INA) 기능 할당 방법이 개시된다. 상기 INA 기능 할당 방법은 복수의 프로그래머블(programmable) 네트워크 디바이스들이 트리형 토폴로지를 이루는 네트워크 시스템의 컨트롤러에 의해 수행되고, 분산 기계 학습을 위한 요청 메시지를 송신한 복수의 테넌트들 각각에 의해 발생할 것으로 예상되는 트래픽(E p )를 계산하는 단계, 예상되는 트래픽이 높은 순으로, 상기 복수의 프로그래머블 네트워크 디바이스들 또는 파라미터 서버(Parameter Server, PS) 중에서 테넌트에 대응하는 INA-할당 디바이스를 결정하는 단계, 및 결정된 상기 INA-할당 디바이스에 INA 기능을 설치하는 단계를 포함한다.
Inventors
- 백상헌
- 김희원
- 이호찬
- 고한얼
Assignees
- 고려대학교 산학협력단
Dates
- Publication Date
- 20260506
- Application Date
- 20231204
- Priority Date
- 20221214
Claims (6)
- 복수의 프로그래머블(programmable) 네트워크 디바이스들이 트리형 토폴로지를 이루는 네트워크 시스템의 컨트롤러에 의해 수행되는, 분산 기계 학습을 위한 인-네트워크 집약(In-Network Aggregation, INA) 기능 할당 방법에 있어서, 분산 기계 학습을 위한 요청 메시지를 송신한 복수의 테넌트들 각각에 의해 발생할 것으로 예상되는 트래픽(E p )를 계산하는 단계; 예상되는 트래픽이 높은 순으로, 상기 복수의 프로그래머블 네트워크 디바이스들 또는 파라미터 서버(Parameter Server, PS) 중에서 테넌트에 대응하는 INA-할당 디바이스를 결정하는 단계; 및 결정된 상기 INA-할당 디바이스에 INA 기능을 설치하는 단계를 포함하는, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
- 제1항에 있어서, 상기 트래픽을 계산하는 단계는, 수학식을 이용하여 트래픽(E p )을 계산하고, 상기 수학식은 E p = m p |W p |이고, 상기 m p 은 테넌트 p(p∈P)의 모델 사이즈이고, 상기 W p 는 테넌트 p에 의해 점유된 워커들(workers)의 집합인, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
- 제2항에 있어서, 상기 INA-할당 디바이스를 결정하는 단계는, 가장 큰 트래픽을 나타내는 테넌트인 제1 테넌트의 의해 점유되는 워커들과 가장 짧은 평균 거리를 갖는 프로그래머블 네트워크 디바이스를 상기 제1 테넌트의 INA-할당 디바이스로 결정하는, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
- 제3항에 있어서, 상기 INA-할당 디바이스를 결정하는 단계는, 결정된 INA-할당 디바이스의 집합에서, 두번째로 큰 트래픽을 나타내는 테넌트인 제2 테넌트의 의해 점유되는 워커들과의 평균 거리가 임계치(d_thresh) 보다 작은 디바이스를 상기 제2 테넌트의 INA-할당 디바이스로 결정하는, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
- 제4항에 있어서, 상기 INA-할당 디바이스를 결정하는 단계는, 평균 거리가 상기 임계치(d_thresh) 보다 작은 디바이스가 존재하지 않는 경우, 상기 제2 테넌트에 의해 점유되는 워커들과 가장 짧은 평균 거리를 갖는 프로그래머블 네트워크 디바이스를 상기 제2 테넌트의 INA-할당 디바이스로 결정하는, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
- 제5항에 있어서, 상기 프로그래머블 네트워크 디바이스는 프로그래머블 스위치인, 분산 기계 학습을 위한 인-네트워크 집약(INA) 기능 할당 방법.
Description
분산 기계 학습을 위한 인-네트워크 집약 기능 할당 방법{METHOD OF IN-NETWORK AGGREGATION FUNCTION ASSIGNMENT FOR DISTRIBUTED DEEP LEARNING} 본 발명은 분산 기계 학습 방법에 관한 것으로, 특히 분산 심층 학습의 모델 파라미터를 집약하는 방법에 관한 것이다. 심층 학습(Deep Learning, DL)은 뇌의 뉴런 구조를 모방한 다수의 인공 뉴런 레이어로 구성된 인공 신경망을 통해 데이터를 분석 및 학습하는 기술을 의미한다. 심층 학습(DL)은 최적화, 분류, 클러스터링 등 기존에 분석하고 해결하기 까다로운 문제에 대해 높은 정확도를 가진 근사 모델을 제공해 주기 때문에, 이미지 인식, 영상 처리, 자연어 처리 등의 다양한 분야에서 널리 활용된다. 그러나, 심층 학습 모델을 학습시키는데 많은 계산 자원 및 시간이 소비된다는 문제가 존재한다. 따라서 심층 학습(DL)의 계산 부하를 줄이기 위해 학습에 사용되는 데이터를 여러 학습 노드에 분산시키고 병렬적으로 학습된 결과를 네트워크를 통해 집약하는 분산 심층 학습(Distributed Deep Learning, DDL) 기술이 활용된다. 분산 심층 학습(DDL)은 크게 각 학습 노드에서 각자 주어진 데이터를 활용해 학습을 진행하는 로컬 학습 단계와 로컬 학습을 마친 노드들이 학습 결과에 해당하는 모델 파라미터들을 중앙의 파라미터 서버(Parameter Server, PS)로 전달하는 통신 단계로 구성되며, 각 학습 라운드가 반복될 동안 앞서 언급한 두 단계가 반복적으로 수행된다. 이때, 파라미터 서버(PS)는 각 학습 노드의 모델 파라미터를 집약하는 역할을 수행하며, 집약된 결과를 다시 각 학습 노드에게 일괄적으로 브로드캐스트 한다. 하지만, 이러한 파라미터 서버(PS) 중심의 분산 구조는 파라미터 서버(PS)에서 심각한 네트워크 병목 문제를 발생시킬 수 있으며, 실제 네트워크 병목 현상은 분산 심층 학습 속도를 저해하는 주된 요인 중 하나로 손꼽히고 있다. 최근 프로그래머블 데이터 평면(Programmable Data Plane, PDP)의 등장으로 기존 레거시 스위치에서 불가능했던 다양한 기능을 스위치에 오프로드 시키는 인-네트워크 컴퓨팅(In-network Computing, INC) 기술이 개발되었다. 그 중에서도, PDP에 기존의 파라미터 서버(PS)가 수행했던 데이터 집약 기능을 올려 네트워크 중간에 위치한 스위치에서 데이터를 집약하는 기술이 연구된 바 있다. 이러한 인-네트워크 집약 (In-network aggregation, INA) 기술은 모델 파라미터가 지나는 홉(hop) 수를 줄일 뿐만 아니라 데이터 집약에 따른 트래픽 감소 효과를 얻는 장점을 가진다. 분산 심층 학습을 위한 인-네트워크 집약(INA) 기능은 앞서 상술한 장점들을 가지지만, 해당 기능을 스위치에서 수행하기 위해서는 많은 양의 메모리 등의 자원을 할당해야 한다는 문제가 존재한다. 따라서, 이러한 인-네트워크 집약(INA) 기능을 일부 스위치에서만 수행이 가능할 수 있으며, 실제 네트워크 내에 분산 심층 학습 뿐만 아니라 다양한 서비스를 동시에 지원하는 상황이 일반적이므로, 인-네트워크 집약(INA) 기능을 정해진 수 이내의 스위치에서만 수행할 수 있다고 보는 것이 보다 현실적이다. 인-네트워크 집약(INA) 기능을 수행할 수 있는 스위치의 개수가 제한되었을 때, 인-네트워크 집약(INA) 기능을 어느 스위치에 할당하는지에 따라 학습 노드에서 생성되는 데이터 패킷이 이동하는 경로의 거리가 달라지게 된다. 도 1은 분산 심층 학습 어플리케이션인 A1, A2, 및 A3 각각의 학습 노드 위치에 따라 다른 최적 INA 스위치의 위치를 가지게 되는 것을 보여준다. 도 1은 네트워크 상에 INA 기능을 할당할 수 있는 스위치의 개수가 1개인 상황을 가정하는데, 이런 상황에서는 모든 어플리케이션의 최적의 위치에 INA 기능을 각각 할당할 수 없기 때문에 이를 어느 곳에 할당할지에 대한 문제가 발생하게 된다. 도 1에서, 만약 A2의 최적 스위치에 INA 기능을 할당했을 때, A1은 1.5배, A3는 1.8배만큼의 평균 거리가 증가한 것을 볼 수 있다. 학습 노드와 데이터 집약 스위치까지의 거리 증가는 곧 데이터가 이동하는 거리가 늘어남을 의미하기 때문에 이에 비례하는 더 많은 트래픽이 발생한다고 볼 수 있다. 즉, 분산 심층 학습으로 인해 발생하는 네트워크 트래픽을 INA를 통해 효과적으로 줄이기 위해서는 네트워크 토폴로지와 각 어플리케이션의 학습 노드 분포를 통해 적절한 위치에 INA 기능이 할당되어야 함을 알 수 있다. 따라서, 본 발명에서는 다중 분산 심층 학습 어플리케이션이 존재하는 환경에서, 각 어플리케이션의 잠재적 트래픽을 계산하여 이를 토대로 INA 기능 배치 우선순위를 정하고, 순차적으로 INA 기능 할당 위치를 결정하되, 평균 거리가 정해진 임계치(threshold) 이하라면 기존에 선택된 스위치를 우선적으로 활용하는 방법을 제안한다. 이를 통해 할당 가능 INA 스위치의 개수를 초과하지 않으면서도 더 많은 트래픽을 발생시킬 것으로 기대되는 어플리케이션 위주로 INA 기능을 배치하여 전반적인 트래픽을 크게 줄일 것을 기대할 수 있다. 본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다. 도 1은 인-네트워크 집약(INA) 스위치의 위치에 따른 어플리케이션 별 평균 거리 예시를 도시한다. 도 2는 본 발명의 일 실시예에 따른 시스템을 도시한다. 도 3은 ML 플로우에 의해 생성되는 네트워크 트래픽을 도시한다. 도 4는 본 발명에서 제안하는 알고리즘(TAPINA)의 동작 예시를 도시한다. 도 5는 테넌트의 개수(|P|로 표기함)에 따른 네트워크 트래픽을 도시한다. 도 6은 INA-배치 디바이스의 최대 개수 k의 네트워크 트래픽에 대한 영향을 나타낸다. 도 7은 프로그래머블 네트워크 디바이스의 메모리 용량 C에 따른 네트워크 트래픽을 도시한다. 도 8은 TAPINA의 테넌트 우선순위 정책의 영향을 나타낸다. 본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다. 본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다. 제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다. 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 도 2는 본 발명의 일 실시예에 따른 시스템을 도시한다. 본 발명에서는, 프로그래머블 네트워크 디바이스들이 팻-트리(fat-tree)나 리프-스파인(leaf-spine)과 같은 트리 형태의 토폴로지(tree-like topologies)의 형태로 연결된 데이터 센터 네트워크(Data Center Network, DCN)를 고려한다. 워커들(workers)은 랙 스위치들(rack switches) 중 어느 하나에 접속되어 있고, 전용 테넌트(dedicated tenants)의 계산 집약적인 로컬 트레이닝(local training)을 진행하기 위해 협력한다. 컨트롤러(Controller)는, 기계 학습(ML) 동작 전에 테넌트들(사용자들을 의미할 수 있음)로부터 요청 메시지를 수집하고, 인-네트워크 집약