KR20210051604A - 딥러닝 분산 학습 시스템 및 동작 방법 - Google Patents

딥러닝 분산 학습 시스템 및 동작 방법 Download PDF

Info

Publication number
KR20210051604A
KR20210051604A KR1020190137073A KR20190137073A KR20210051604A KR 20210051604 A KR20210051604 A KR 20210051604A KR 1020190137073 A KR1020190137073 A KR 1020190137073A KR 20190137073 A KR20190137073 A KR 20190137073A KR 20210051604 A KR20210051604 A KR 20210051604A
Authority
KR
South Korea
Prior art keywords
parameter server
worker
gradient
parameter
workers
Prior art date
Application number
KR1020190137073A
Other languages
English (en)
Other versions
KR102403476B1 (ko
Inventor
제현승
최현성
김영랑
이재환
Original Assignee
에스케이텔레콤 주식회사
한국항공대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사, 한국항공대학교산학협력단 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020190137073A priority Critical patent/KR102403476B1/ko
Publication of KR20210051604A publication Critical patent/KR20210051604A/ko
Application granted granted Critical
Publication of KR102403476B1 publication Critical patent/KR102403476B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

딥러닝 분산 학습 시스템 및 동작 방법을 개시한다.
본 발명의 일 측면에 의하면, 딥러닝 분산 학습 시스템에 있어서, 신경망의 파라미터를 저장하고, 갱신하는 글로벌 파라미터 서버; 및 서로 다른 성능을 가지는 복수의 워커 노드를 포함하되, 각각의 워커 노드는 로컬 파라미터 서버 및 복수의 워커를 포함하고, 상기 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 수신한 상기 파라미터를 각각의 워커에게 전달하고, 상기 복수의 워커로부터 수신하는 그래디언트를 집계하여 상기 글로벌 파라미터 서버에게 집계된 그래디언트를 전송하며, 상기 각각의 워커는 동일한 파라미터를 이용하도록 동기화된 것으로서, 상기 각각의 워커는 상기 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하며, 상기 글로벌 파라미터 서버는 각각의 로컬 파라미터 서버로부터 상기 집계된 그래디언트를 수신할 때마다 상기 집계된 그래디언트를 이용하여 상기 파라미터를 갱신하며, 상기 복수의 워커 노드에 포함된 각각의 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 갱신된 파라미터를 독립적으로 수신하도록 비동기화된 것을 특징으로 하는 시스템을 제공한다.

Description

딥러닝 분산 학습 시스템 및 동작 방법{Distributed Deep Learning System and Its Operation Method}
본 발명의 실시예들은 딥러닝 분산 학습 시스템 및 그의 동작 방법으로서, 파라미터 서버와 워커 사이의 프레임워크(framework)에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근, 딥러닝(deep lenarning) 연산 처리의 가속화를 위해, 학습 모델을 복제한 후 여러 모델을 이용하는 딥러닝 분산 프레임워크가 연구되고 있다. 딥러닝 프레임워크의 종류는 모델 분산과 데이터 분산, 동기 방식과 비동기 방식, 파라미터 서버 방식과 집단 통신 방식으로 나뉠 수 있다.
모델 분산은 하나의 모델을 여러 개로 나누어 복수의 장치에 보관하는 프레임워크이며, 데이터 분산은 하나의 모델을 여러 개의 동일 모델들로 복제하고, 여러 장치에 보관하는 프레임워크를 의미한다. 일반적으로, 딥러닝 분산 프레임워크는 데이터 분산을 의미한다.
동기 방식은 데이터 분산 프레임워크에서 복제된 모델이 포함하는 모델 파라미터들을 함께 갱신하는 방식이다. 비동기 방식은 복제된 여러 모델들이 각자 그래디언트를 생성하고, 그래디언트에 기초하여 각자 파라미터를 갱신하는 방식이다.
파라미터 서버 방식은 데이터 분산 프레임워크에서 파라미터를 저장하고 갱신하는 파라미터 서버와, 파라미터를 이용하여 훈련 데이터에 대한 그래디언트(gradient)를 생성하는 복수의 워커로 구성되는 방식을 의미한다. 여기서, 그래디언트는 신경망의 파라미터를 조정하는 데 이용되는 요소이다. 파라미터 서버는 복수의 워커들로부터 수신한 그래디언트들을 이용하여 파라미터를 갱신한 후 각각의 워커에게 전송함으로써 워커들을 업데이트할 수 있다. 반면, 집단 통신 방식은 각각의 워커들이 그래디언트를 생성하고, 서로 그래디언트를 공유하며 파라미터를 동기화하는 방식을 의미한다.
도 1은 파라미터 서버 방식의 데이터 분산 딥러닝 프레임워크를 설명하기 위한 도면이다.
도 1을 참조하면, 파라미터 서버 방식의 프레임워크는 파라미터 서버(100), 복수의 워커(110, 112, 114, 116)를 포함하며, 미니 배치 사이즈(mini batch size)의 훈련 데이터(120, 122, 124, 126)을 이용하여 훈련할 수 있다.
파라미터 서버(100)는 딥러닝 모델의 파라미터를 저장하고, 복수의 워커(110, 112, 114, 116)에게 파라미터(W)를 전송하고, 복수의 워커하나110, 112, 114, 116)로부터 수신하는 그래디언트(dW)를 이용하여 파라미터(W)를 갱신하는 구성요소다. 여기서, 그래디언트(dW)란 파라미터 서버(100)가 모델의 파라미터를 갱신하는 데 필요한 요소를 의미한다.
복수의 워커(110, 112, 114, 116)는 모델의 파라미터(W)를 이용하여 훈련 데이터(120, 122, 124, 126)에 대한 그래디언트(gradient)를 생성하는 구성요소다. 즉, 복수의 워커 중 제1 워커(110)는 파라미터(W)를 이용하여 미니 배치 사이즈의 훈련 데이터(120)에 대해 그래디언트를 생성하고, 파라미터 서버(100)에게 그래디언트(dW)를 전송한다.
파라미터 서버(100)는 복수의 워커(110, 112, 114, 116)로부터 각각 그래디언트를 수신하고, 각각의 그래디언트를 집계(aggregation)한 후 집계된 그래디언트를 이용하여 모델의 파라미터를 갱신(update)한다. 파라미터 서버(100)는 갱신된 파라미터를 복수의 워커(110, 112, 114, 116)에게 전송함으로써, 딥러닝 분산 모델이 훈련된다.
동기 파라미터 서버 방식은 파라미터 서버(100)가 복수의 워커(110, 112, 114, 116)로부터 그래디언트를 전부 수신한 후에, 모든 그래디언트를 이용하여 모델의 파라미터를 갱신하며, 복수의 워커(110, 112, 114, 116)에게 모두 동일하게 갱신된 파라미터를 전송하는 방식이다.
동기 파라미터 서버 방식은 복수의 워커(110, 112, 114, 116)가 모두 동일한 파라미터를 이용하므로, 훈련 정확도(training accuracy)가 보장된다는 장점이 있다. 다만, 복수의 워커(110, 112, 114, 116) 각각이 서로 다른 클러스터(heterogeneous cluster) 환경에서 자원 활용률(resource utilization)이 낮다는 단점이 있다. 구체적으로, 복수의 워커(110, 112, 114, 116) 각각이 성능이 다르고, 같은 훈련 데이터에 대해 그래디언트를 생성하는 속도가 다른 경우, 연산 속도가 가장 느린 워커의 그래디언트 생성이 끝날 때까지 연산 속도가 가장 빠른 워커가 대기해야 한다. 따라서, 동기 파라미터 서버 방식은 자원 활용률이 비동기식 파라미터 서버 방식보다 낮다.
비동기 파라미터 서버 방식은 파라미터 서버(100)가 복수의 워커(110, 112, 114, 116)로부터 그래디언트를 수신할 때마다 모델의 파라미터를 갱신하고, 각 워커에게 독립적으로 갱신된 파라미터를 전송한다.
비동기 파라미터 서버 방식은 서로 성능이 다른 복수의 워커(110, 112, 114, 116)들을 이용하는 이종 클러스터 환경에서 자원 활용률이 높다는 장점이 있다. 예를 들어, 연산 속도가 빠른 워커는 연산 속도가 느린 워커에 비해 그래디언트를 생성하고 갱신된 파라미터를 수신하는 시간이 빠르다. 즉, 연산 속도가 느린 워커가 훈련 데이터를 훈련하는 중에 연산 속도가 빠른 워커는 다른 훈련 데이터를 훈련할 수 있다. 하지만, 비동기 파라미터 서버 방식은 복수의 워커(110, 112, 114, 116) 각각이 서로 다른 파라미터를 이용하여 훈련하기 때문에 훈련 정확도가 낮다는 단점이 있다. 또한, 비동기 파라미터 방식은 복수의 워커(110, 112, 114, 116) 각각이 파라미터 서버(100)와 통신하므로 입출력(I/O) 병목 현상이 발생하여, 전체적인 딥러닝 연산 속도가 느려지는 단점이 있다.
구체적으로, 연산 속도가 빠른 제1 워커(110)와 연산 속도가 느린 제2 워커(122)가 초기에 같은 파라미터를 이용하여 그래디언트를 각각 생성한다. 파라미터 서버(100)는 제1 워커(110)가 생성한 그래디언트를 이용하여 파라미터를 갱신한 후, 제2 워커(122)가 생성한 그래디언트를 이용하여 파라미터를 다시 갱신한다. 이때, 제1 워커가 생성한 그래디언트를 이용하여 갱신한 파라미터에 대한 정보는 사라지므로, 비동기 파라미터 서버 방식은 훈련 정확도가 낮아진다.
도 2는 동기 집단 통신 구조의 데이터 분산 딥러닝 프레임워크를 설명하기 위한 도면이다.
도 2를 참조하면, 동기 집단 통신 방식은 복수의 워커(200, 210, 220, 230)을 포함한다. 동기 집단 통신 방식은 파라미터 서버를 이용하지 않고, 복수의 워커(200, 210, 220, 230) 각각이 생성한 그래디언트를 서로 공유함으로써, 복수의 워커(200, 210, 220, 230)에 포함된 파라미터를 동기적으로 갱신한다.
일반적으로, 동기 집단 통신 방식은 복수의 워커(200, 210, 220, 230)가 링(ring) 구조로 연결되며, 독립적으로 그래디언트를 생성한다. 동기 집단 통신 방식에서 모델 파라미터를 갱신하는 방법으로서 두 가지 방법이 있다. 첫 번째, 하나의 워커가 모든 그래디언트를 수집하고, 파라미터를 갱신한 후 갱신된 파라미터를 다른 워커들에게 전송함으로써 파라미터를 동기화하는 방법이다. 두 번째는, 복수의 워커(200, 210, 220, 230)들이 생성한 그래디언트들을 서로에게 전송한 후, 복수의 워커(200, 210, 220, 230) 각각이 파라미터를 갱신함으로써 동기화하는 방법이다.
동기 집단 통신 방식은 파라미터 서버를 이용하지 않으므로, 입출력 병목 현상으로 인한 연산 속도 저하가 적다는 장점이 있다. 다만, 동기 집단 통신 방식은 동기 방식의 단점으로서, 복수의 워커(200, 210, 220, 230)에 대한 이종의 클러스터 환경에서 자원 활용률이 낮다는 단점이 있다.
한편, 다시 도 1을 참조하면, 서브 미니 배치 훈련(sub mini batch training)을 위해, 비동기 파라미터 서버 방식에서 복수의 워커(110, 112, 114, 116)는 서로 다른 성능을 가지는 복수의 GPU를 각각 포함할 수 있다.
예를 들어, 제1 워커(110)는 복수의 GPU를 포함하며, 미니 배치 사이즈의 훈련 데이터(120)를 할당 받는다. 제1 워커(110)는 서로 다른 성능의 GPU를 활용하기 위해 미니 배치 사이즈를 GPU의 개수로 나눈 서브 미니 배치 사이즈를 각 GPU에게 할당한다. 제1 워커(110)에 포함된 복수의 GPU는 서브 미니 배치 사이즈의 훈련 데이터에 대한 그래디언트를 생성한다.
서브 미니 배치 훈련은 비동기 파라미터 서버 방식의 단점인 훈련 정확도를 개선할 수 있으나, 미니 배치 사이즈를 단순히 GPU의 개수로 나누기 때문에, 훈련 정확도 개선의 한계가 있다. 구체적으로, 훈련 정확도를 개선하기 위해, GPU 개수를 증가시키는 것은 물리적 공간에 의해 제한되고, 서브 미니 배치 사이즈를 증가시키는 것은 각 GPU 메모리에 의해 제한된다.
따라서, 전술한 방식들로부터 훈련 정확도의 저하 없이 자원 활용률을 높일 수 있는 데이터 분산 딥러닝 프레임워크가 필요하다. 또한, GPU 개수 및 서브 미니 배치 사이즈를 증가시키지 않고도 서브 미니 배치 훈련의 연산 성능을 높일 수 있는 방안이 필요하다.
본 발명의 실시예들은, 분산 딥러닝 훈련의 정확도의 감소 없이 자원 활용률을 높이기 위해, 로컬 파라미터 서버를 추가함으로써 비동기 파라미터 서버 방식과 동기 집단 통신 방식을 혼합한 딥러닝 분산 학습 시스템 및 그의 동작 방법을 제공하는 데 주된 목적이 있다.
본 발명의 다른 실시예들은, GPU 개수 및 서브 미니 배치 사이즈를 증가시키지 않고서 비동기 파라미터 서버의 훈련 정확도를 개선할 수 있는 서브 미니 배치 훈련 방법을 제공하는 데 일 목적이 있다.
본 발명의 일 측면에 의하면, 딥러닝 분산 학습 시스템에 있어서, 신경망의 파라미터를 저장하고, 갱신하는 글로벌 파라미터 서버; 및 서로 다른 성능을 가지는 복수의 워커 노드를 포함하되, 각각의 워커 노드는 로컬 파라미터 서버 및 복수의 워커를 포함하고, 상기 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 수신한 상기 파라미터를 각각의 워커에게 전달하고, 상기 복수의 워커로부터 수신하는 그래디언트를 집계하여 상기 글로벌 파라미터 서버에게 집계된 그래디언트를 전송하며, 상기 각각의 워커는 동일한 파라미터를 이용하도록 동기화된 것으로서, 상기 각각의 워커는 상기 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하며, 상기 글로벌 파라미터 서버는 각각의 로컬 파라미터 서버로부터 상기 집계된 그래디언트를 수신할 때마다 상기 집계된 그래디언트를 이용하여 상기 파라미터를 갱신하며, 상기 복수의 워커 노드에 포함된 각각의 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 갱신된 파라미터를 독립적으로 수신하도록 비동기화된 것을 특징으로 하는 시스템을 제공한다.
본 실시예의 다른 측면에 의하면, 딥러닝 분산 학습 시스템의 동작 방법으로서, 상기 시스템은 글로벌 파라미터 서버 및 복수의 워커 노드를 포함하고, 각각의 워커 노드는 로컬 파라미터 서버 및 복수의 워커를 포함하며, 상기 동작 방법은, 상기 글로벌 파라미터 서버가 상기 각각의 워커 노드에 포함된 상기 로컬 파라미터 서버에게 신경망의 파라미터를 전송하는 과정; 상기 각각의 워커 노드에 대해: 상기 로컬 파라미터 서버가 상기 복수의 워커 각각에게 상기 파라미터를 전송하는 과정; 각각의 워커는 동일한 파라미터를 이용하도록 동기화된 것으로서, 상기 각각의 워커가 상기 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하고, 상기 그래디언트를 상기 로컬 파라미터 서버에게 전송하는 과정; 상기 로컬 파라미터 서버가 상기 각각의 워커로부터 수신한 상기 그래디언트를 집계하는 과정; 상기 글로벌 파라미터 서버가 각각의 로컬 파라미터 서버로부터 집계된 그래디언트를 수신하고, 상기 집계된 그래디언트를 수신할 때마다 상기 집계된 그래디언트를 이용하여 상기 파라미터를 갱신하는 과정; 및 상기 글로벌 파라미터 서버가 상기 집계된 그래디언트를 전송한 상기 로컬 파라미터 서버에게 갱신된 파라미터를 전송하는 과정을 포함하는 동작 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 로컬 파라미터 서버를 추가하여 비동기 파라미터 서버 방식과 동기 집단 통신 방식을 혼합함으로써, 분산 딥러닝 훈련의 정확도의 감소 없이 자원 활용률을 높일 수 있다.
본 발명의 다른 실시예에 의하면, 이종의 클러스터 환경에서 복수의 워커의 각 성능 및 워커의 개수에 따라 워커마다 서로 다른 반복 훈련 횟수를 할당함으로써, GPU 개수 및 서브 미니 배치 사이즈를 증가시키지 않고서 비동기 파라미터 서버의 훈련 정확도를 개선할 수 있다.
도 1은 파라미터 서버 방식의 데이터 분산 딥러닝 프레임워크를 설명하기 위한 도면이다.
도 2는 동기 집단 통신 구조의 데이터 분산 딥러닝 프레임워크를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 서브 미니 배치 훈련 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 병렬적 동작 과정을 설명하기 위한 도면이다.
도 6은 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 동작 과정을 설명하기 위한 순서도다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '~부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 이종 클러스터 환경에서의 딥러닝 분산 학습 시스템(distributed deep learning system)은 글로벌 파라미터 서버(300, Global Parameter Server: GPS), 워커 노드들(310, 340, 370, worker node)을 포함한다. 워커 노드들(310, 340, 370)은 제0 워커 노드(310), 제1 워커 노드(340)를 포함하며, 이 외에 제n 워커 노드(370)를 포함할 수 있다. 제0 워커 노드(310)는 제0 로컬 파라미터 서버(320, Local Parameter Server: LPS)와 복수의 워커(330, 331, 332, 333)을 포함하며, 제1 워커 노드(340)는 제1 로컬 파라미터 서버(350)와 복수의 다른 워커(360, 361, 362, 363)을 포함한다. 즉, 하나의 워커 노드는 하나의 로컬 파라미터 서버와 복수의 워커를 포함한다.
이하에서, 워커 노드들(310, 340, 370)은 3개로 표현되지만 둘 이상의 워커 노드를 의미한다. 또한, 시스템의 동작에 대해 제0 워커 노드(310) 및 제1 워커 노드(340)를 포함하는 복수의 워커 노드(310, 340)를 중심으로 설명하나, 나머지 워커 노드에도 동일하게 적용될 수 있다.
한편, 각 워커는 GPU(Graphic Processing Unit)에 의해 구현될 수 있으며, 워커와 GPU는 혼용하여 지칭될 수 있다. 다만, 워커는 GPU외에 CPU(Central Processing Unit) 등의 다른 데이터 처리 장치에 의해 구현될 수도 있다.
글로벌 파라미터 서버(300)는 모델(model)의 파라미터(parameter)를 저장하고, 복수의 워커 노드(310, 340)에게 전송하며, 복수의 워커 노드(310, 340)에서 집계된 그래디언트들(aggregated gradients)을 수신하고, 이를 이용하여 모델의 파라미터를 갱신(update)하는 구성요소다.
구체적으로, 글로벌 파라미터 서버(300)는 초기에는 복수의 로컬 파라미터 서버(320, 350)에게 모델의 파라미터를 전송하고, 이후에는 복수의 로컬 파라미터 서버(320, 350)에게 같은 파라미터를 전송할 수도 있고, 서로 다른 파라미터를 전송할 수도 있다.
글로벌 파라미터 서버(300)는 복수의 로컬 파라미터 서버(320, 350)로부터 집계된 그래디언트(aggregated gradient)를 독립적으로 수신한다. 또한, 글로벌 파라미터 서버(300)는 복수의 로컬 파라미터 서버(320, 350)로부터 집계된 그래디언트를 수신할 때마다 파라미터를 갱신하고 저장할 수 있다. 글로벌 파라미터 서버(300)는 갱신 시점에 따라 복수의 워커 노드(310, 340)에게 서로 다른 파라미터를 전송할 수 있다. 이는, 복수의 워커 노드(310, 340)가 비동기화된 것을 의미하며, 복수의 워커 노드(310, 340)의 자원 활용률을 높이기 위함이다.
복수의 로컬 파라미터 서버(320, 350)는 각각 비동기화된 서버로서, 글로벌 파라미터 서버(300)에게 받은 파라미터를 워커들에게 전달하고, 워커들에게 받은 그래디언트를 집계하여 파라미터 서버에게 전달하는 구성요소다.
구체적으로, 복수의 로컬 파라미터 서버(320, 350) 중 제0 로컬 파라미터 서버(320)는 글로벌 파라미터 서버(300)로부터 수신한 파라미터를 복수의 워커(330, 331, 332, 333)에게 전달한다. 이때, 본 발명의 일 실시예에 따라 제0 로컬 파라미터 서버(320)와 제1 로컬 파라미터 서버(350)는 비동기화되므로, 각각의 집계된 그래디언트를 글로벌 파라미터 서버(300)에게 서로 다른 시점에 전송할 수 있다. 또한, 제0 로컬 파라미터 서버(320)와 제1 로컬 파라미터 서버(350)는 글로벌 파라미터 서버(300)의 파라미터 갱신 시점에 따라 서로 다른 파라미터를 받을 수도 있고, 동일한 파라미터를 받을 수도 있다.
이후, 제0 로컬 파라미터 서버(320)는 복수의 워커(330, 331, 332, 333)가 생성한 그래디언트들을 수신하고, 그래디언트들을 집계한다. 여기서, 본 발명의 일 실시예에 따른 집계(aggregation)는 그래디언트들의 총합, 그래디언트들의 곱, 그래디언트들 중 최대값, 또는 그래디언트들 중 최소값을 계산한다는 의미일 수 있다.
제0 로컬 파라미터 서버(320)는 집계된 그래디언트를 글로벌 파라미터 서버(300)에게 전송하고, 글로벌 파라미터 서버(300)로부터 갱신된 파라미터를 수신하며, 갱신된 파라미터를 복수의 워커(330, 331, 332, 333)에게 전달한다.
전술한 동작은 제0 로컬 파라미터 서버(320)뿐만 아니라 제1 로컬 파라미터 서버(350) 및 다른 로컬 파라미터 서버들에도 동등하게 적용된다.
복수의 워커(330, 331, 332, 333)는 각각 동기화된 것으로서, 제0 로컬 파라미터 서버(320)로부터 수신한 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하고, 제0 로컬 파라미터 서버(320)에게 전송하는 구성요소다.
본 발명의 일 실시예에 따른 복수의 워커(330, 331, 332, 333)는 글로벌 파라미터 서버(300)에게 그래디언트를 전달하는 방법으로서, 동기 집단 통신 구조인 올 리듀스(all-reduce)를 이용할 수 있다. 올 리듀스 방식은, 각각의 워커(330, 331, 332, 333)가 생성한 그래디언트를 서로 공유하고, 공유한 그래디언트들을 제0 로컬 파라미터 서버(320)에게 전송하는 방식이다. 구체적으로, 제0 워커(330)는 제1 워커(331)에게 자신이 생성한 그래디언트를 전송하고, 제1 워커(331)는 제3 워커(333)에게, 제3 워커(3330)는 제2 워커(332)에게, 제2 워커(332)는 제0 워커(330)에게 자신이 생성한 그래디언트를 전송한다. 이후, 제0 워커(330)는 제2 워커(332)에게 받은 그래디언트를 제 1 워커(331)에게 전달한다. 이러한 과정을 거쳐 각각의 워커(330, 331, 332, 333)는 4개의 그래디언트를 가진다. 복수의 워커(330, 331, 332, 333) 중 하나가 4개의 그래디언트를 제0 로컬 파라미터 서버 (320)에게 전송함으로써, 제0 로컬 파라미터 서버(320)와 복수의 워커(330, 331, 332, 333) 사이의 통신을 최소화하여 입출력 병목 현상을 줄일 수 있다.
본 발명의 다른 실시예에 따른 복수의 워커(330, 331, 332, 333) 각각은 서브 미니 배치 훈련 방법을 이용하여, 제0 로컬 파라미터 서버 (320)에게 개별적으로 그래디언트를 전송할 수 있고, 각각의 그래디언트는 제0 로컬 파라미터 서버 (320)에 의해 집계될 수 있다. 이에 대해서는 도 4에서 자세히 설명한다.
한편, 본 발명의 일 실시예에 따른 복수의 워커(330, 331, 332, 333)는 글로벌 파라미터 서버(300)에 의해 갱신된 파라미터를 제0 로컬 파라미터 서버(320)로부터 모두 똑같이 수신함으로써 동기화될 수 있다. 복수의 워커(330, 331, 332, 333)가 그래디언트를 생성하는 시점은 각각 다르더라도, 파라미터를 수신하는 시점은 모두 동일하다. 마찬가지로, 복수의 다른 워커(360, 361, 362, 363)도 동일한 파라미터를 이용하도록 동기화된다. 다만, 복수의 워커(330, 331, 332, 333)와 복수의 다른 워커(360, 361, 362, 363)는 비동기화된다.
본 발명의 일 실시예에 따른 복수의 워커(330, 331, 332, 333)는 서로 다른 클러스터(heterogeneous cluster) 환경 또는 서로 다른 GPU에 의해 구현될 수 있다.
서로 다른 성능을 가지는 복수의 워커(330, 331, 332, 333)를 이용하더라도, 비동기 파라미터 서버 방식과 동기 집단 통신 방식을 혼합하여 복수의 워커(330, 331, 332, 333)의 훈련 정확도의 저하 없이 자원 활용률을 높일 수 있다.
도 4는 본 발명의 일 실시예에 따른 서브 미니 배치 훈련 방법을 설명하기 위한 도면이다.
도 3 및 도 4를 참조하면, 제0 로컬 파라미터 서버 (320) 및 복수의 워커(330, 331, 332, 333)의 시간에 따른 동작 과정이 나타난다.
복수의 워커(330, 331, 332, 333)는 모두 동일한 파라미터를 가지며, 동일한 서브 미니 배치 사이즈의 훈련 데이터를 훈련한다. 다시 말하면, 복수의 워커(330, 331, 332, 333)는 각각 64 배치 사이즈(64 batch)의 훈련 데이터마다 그래디언트를 생성한다.
본 발명의 일 실시예에 따른 복수의 워커(330, 331, 332, 333)는 각각 성능이 다른 클러스터 또는 GPU로 구현되므로, 64 배치 사이즈의 훈련 데이터에 대한 그래디언트를 생성하는 시간은 복수의 워커(330, 331, 332, 333)마다 서로 다르다. 제0 워커(330)의 연산 속도가 가장 빠르고, 제3 워커(333)의 연산 속도가 가장 느리다.
본 발명의 일 실시예에 따른 서브 미니 배치 훈련 방법으로서, 복수의 로컬 파라미터 서버(320, 350)는 모두 동일한 미니 배치 사이즈의 훈련 데이터를 할당 받는다. 제0 로컬 파라미터 서버 (320)는 복수의 워커(330, 331, 332, 333)의 개수 및 성능에 따라 복수의 워커(330, 331, 332, 333)의 반복 훈련 횟수를 결정한다.
복수의 워커(330, 331, 332, 333)는 제0 로컬 파라미터 서버 (320)에 의해 결정된 반복 훈련 횟수만큼 훈련 데이터에 대한 그래디언트를 생성하고, 제0 로컬 파라미터 서버 (320)에게 전송한다.
예를 들어, 제0 로컬 파라미터 서버 (320)에게 512 미니 배치 사이즈의 훈련 데이터가 할당되고, 복수의 워커(330, 331, 332, 333)가 64 서브 미니 배치 사이즈 단위로 그래디언트를 생성할 수 있으며, 제0 워커(330) 내지 제3 워커(333)의 연산 속도 비율이 4:2:1.5:1인 것으로 가정한다.
우선, 제0 로컬 파라미터 서버 (320)는 512 미니 배치 사이즈를 64 서브 미니 배치 사이즈로 나눈 값인 8을 도출한다. 복수의 워커(330, 331, 332, 333)는 총 8개의 그래디언트를 생성한다.
복수의 워커(330, 331, 332, 333)의 성능이 서로 다르므로, 제0 로컬 파라미터 서버 (320)는 복수의 워커(330, 331, 332, 333)의 개수 및 성능에 기초하여 각 워커의 반복 훈련 횟수를 결정한다. 제0 로컬 파라미터 서버 (320)는 제0 워커(330) 내지 제3 워커(333)가 4:2:1:1에 따라 그래디언트를 생성하도록 반복 훈련 횟수를 결정한다. 즉, 제0 워커(330)는 64 서브 미니 배치 사이즈의 4개의 훈련 데이터를 훈련하며, 제3 워커(333)는 1개의 훈련 데이터를 훈련한다. 연산 속도가 가장 빠른 제0 워커(330)는 하나의 서브 미니 배치 사이즈 훈련 데이터를 훈련한 후 제3 워커(330)의 연산이 끝날 때까지 기다릴 필요가 없다. 제0 워커(330)는 제3 워커(333)의 연산 중에 다른 훈련 데이터를 훈련함으로써, 동기화로 인한 자원 활용률 저하를 피할 수 있다.
복수의 워커(330, 331, 332, 333)는 반복 훈련 횟수에 따라 그래디언트를 생성하며, 그래디언트를 생성할 때마다 제0 로컬 파라미터 서버 (320)에게 전송한다.
제0 로컬 파라미터 서버 (320)는 복수의 워커(330, 331, 332, 333)로부터 그래디언트를 수신하며, 그래디언트들을 비동기적으로 집계한다(asynchronously aggregation). 복수의 워커(330, 331, 332, 333) 중 성능이 가장 좋은 제0 워커(330)로부터 그래디언트를 수신한 시점부터 집계가 시작된다.
제0 로컬 파라미터 서버 (320)는 복수의 워커(330, 331, 332, 333)로부터 8개의 그래디언트를 모두 수신한 후 글로벌 파라미터 서버(300)에게 집계된 그래디언트를 전송한다. 즉, 제0 로컬 파라미터 서버 (320)는 제0 워커(330)에게 그래디언트를 받더라도 그래디언트를 곧바로 글로벌 파라미터 서버(300)에게 보내지 않는다. 제0 로컬 파라미터 서버 (320)는 복수의 워커(330, 331, 332, 333)가 생성하는 모든 그래디언트를 수신하고 집계한 후에서야 글로벌 파라미터 서버(300)에게 집계된 그래디언트를 전송한다. 이는, 제0 로컬 파라미터 서버 (320)와 글로벌 파라미터 서버(300) 사이의 통신을 효율적으로 수행하기 위함이다.
글로벌 파라미터 서버(300)는 집계된 그래디언트를 이용하여 파라미터를 갱신하고, 제0 로컬 파라미터 서버 (320)를 통해 복수의 워커(330, 331, 332, 333)에게 갱신된 파라미터를 같은 시간에 전달할 수 있다(Broadcast updated parameter). 즉, 복수의 워커(330, 331, 332, 333)는 동일한 파라미터를 이용하고, 동시에 파라미터가 갱신되도록 동기화된다.
도 5는 본 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 병렬적 동작 과정을 설명하기 위한 도면이다.
도 5를 참조하면, 딥러닝 분산 학습 시스템의 글로벌 파라미터 서버, 로컬 파라미터 서버 및 복수의 워커의 동작 순서가 예시된다.
기존의 파라미터 서버 방식의 경우, 복수의 워커가 훈련 데이터에 대한 그래디언트를 계산(compute)하고, 그래디언트를 집계하며, 집계된 그래디언트를 리듀스(reduce)한 후 글로벌 파라미터 서버에게 전송한다. 글로벌 파라미터 서버는 복수의 워커로부터 집계된 그래디언트를 수신하고(recv), 집계된 그래디언트를 이용하여 파라미터의 갱신을 적용하며(apply), 갱신된 파라미터를 복수의 워커 각각에게 전송(bcast)한다.
글로벌 파라미터 서버 및 복수의 워커의 각 동작들이 다른 구성요소에 의해 수행됨에도 불구하고, 하나의 동작이 끝난 후에 다른 동작이 수행되므로, 파라미터를 갱신하는 데 많은 시간이 든다. 또한, 복수의 워커가 동작하는 동안 글로벌 파라미터 서버는 대기하며, 글로벌 파라미터 서버가 동작하는 동안 복수의 워커가 대기하기 때문에 자원의 활용률이 낮다.
반면, 본 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템은 로컬 파라미터 서버를 이용하여 글로벌 파라미터 서버 및 복수의 워커의 동작을 병렬화할 수 있다. 다시 말하면, 로컬 파라미터 서버 및 글로벌 파라미터 서버 사이의 통신과, 복수의 워커의 그래디언트 생성이 병렬적으로 수행될 수 있다.
구체적으로, 본 발명의 일 실시예는 로컬 파라미터 서버를 이용함으로써 딥러닝 연산과 통신을 병렬적으로 수행할 수 있다. 기존에 글로벌 파라미터 서버와 복수의 워카 사이의 통신이 직접적으로 수행되는 방식과 달리, 본 발명의 일 실시예에 따라 로컬 파라미터 서버가 글로벌 파라미터 서버와 복수의 워커 사이의 통신과 그래디언트 집계를 대신 수행한다. 로컬 파라미터 서버가 통신 및 집계를 수행함으로써, 복수의 워커는 통신에 필요한 오버헤드(overhead) 작업을 줄이고, 그래디언트의 생성을 중점적으로 수행할 수 있다. 또한, 글로벌 파라미터 서버는 복수의 워커 모두와 통신하지 않고, 그래디언트를 집계할 필요도 없으므로, 파라미터의 갱신을 더 빠르게 수행할 수 있다.
따라서, 복수의 워커와 글로벌 파라미터 서버가 동작하는 동안 로컬 파라미터 서버가 병렬적으로 통신을 수행하므로, 복수의 워커 및 글로벌 파라미터 서버의 자원 활용률이 높아진다. 또한, 글로벌 파라미터 서버는 복수의 워커가 아닌 로컬 파라미터 서버와 통신을 하므로, 입출력 병목 현상을 줄일 수 있다.
도 6은 발명의 일 실시예에 따른 딥러닝 분산 학습 시스템의 동작 과정을 설명하기 위한 순서도다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 글로벌 파라미터 서버는 로컬 파라미터 서버에게 모델, 즉 신경망의 파라미터를 전송한다(S600). 로컬 파라미터 서버는 복수의 워커를 대신하여 글로벌 파라미터 서버와 통신한다. 이때, 복수의 워커 노드에 포함된 복수의 로컬 파라미터 서버는 서로 동기화되지 않는다.
각각의 워커 노드에 포함된 각 로컬 파라미터 서버는 복수의 워커에게 파라미터를 전송한다(S602). 복수의 워커는 서로 동기화되어 있으므로, 복수의 워커는 동일한 파라미터를 수신한다.
각각의 워커마다 수신한 파라미터를 이용하여 훈련 데이터에 대한 각각의 그래디언트를 생성하고, 로컬 파라미터 서버에게 전송한다(S604). 본 발명의 일 실시예에 따른 서브 미니 배치 훈련 방법으로서, 로컬 파라미터 서버가 워커으 개수 및 성능에 따라 각각의 워커에 대한 반복 훈련 횟수를 결정하고, 각각의 워커는 반복 훈련 횟수만큼 그래디언트를 생성하여 로컬 파라미터 서버에게 전송한다.
로컬 파라미터 서버는 각각의 워커로부터 수신한 각각의 그래디언트를 집계한다(S606). 여기서 집계는 그래디언트를 모두 더하거나, 그래디언트를 각각 곱하거나, 그래디언트들 중 최대값 또는 최소값을 선택하는 동작을 의미한다.
글로벌 파라미터 서버는 로컬 파라미터 서버에 의해 집계된 그래디언트를 수신하고, 집계된 그래디언트를 이용하여 모델의 파라미터를 갱신한다(S608). 이때, 글로벌 파라미터 서버는 서로 다른 로컬 파라미터 서버로부터 서로 다른 그래디언트를 수신하며, 서로 다른 그래디언트를 수신할 때마다 파라미터를 갱신하고 저장할 수 있다.
글로벌 파라미터 서버는 갱신된 파라미터를 로컬 파라미터 서버에게 각각 전송한다(S610). 구체적으로, 글로벌 파라미터 서버는 로컬 파라미터 서버에게 같은 갱신 파라미터를 전송할 수도 있고, 서로 다른 갱신 파라미터를 전송할 수도 있다. 이후, 로컬 파라미터 서버는 갱신된 파라미터를 복수의 워커에게 전달하고, 복수의 워커는 갱신된 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성한다.
도 6에서는 과정 S600 내지 과정 S610을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6에 기재된 순서를 변경하여 실행하거나 S600 내지 과정 S610 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 6에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
300: 글로벌 파라미터 서버 310: 제0 워커 노드
320: 제0 로컬 파라미터 서버 330: 제0 워커
331: 제1 워커 332: 제2 워커
333: 제3 워커

Claims (10)

  1. 딥러닝 분산 학습 시스템에 있어서,
    신경망의 파라미터를 저장하고, 갱신하는 글로벌 파라미터 서버; 및
    서로 다른 성능을 가지는 복수의 워커 노드를 포함하되,
    각각의 워커 노드는 로컬 파라미터 서버 및 복수의 워커를 포함하고,
    상기 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 수신한 상기 파라미터를 각각의 워커에게 전달하고, 상기 복수의 워커로부터 수신하는 그래디언트를 집계하여 상기 글로벌 파라미터 서버에게 집계된 그래디언트를 전송하며,
    상기 각각의 워커는 동일한 파라미터를 이용하도록 동기화된 것으로서, 상기 각각의 워커는 상기 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하며,
    상기 글로벌 파라미터 서버는 각각의 로컬 파라미터 서버로부터 상기 집계된 그래디언트를 수신할 때마다 상기 집계된 그래디언트를 이용하여 상기 파라미터를 갱신하며,
    상기 복수의 워커 노드에 포함된 각각의 로컬 파라미터 서버는 상기 글로벌 파라미터 서버로부터 갱신된 파라미터를 독립적으로 수신하도록 비동기화된 것을 특징으로 하는 시스템.
  2. 제1항에 있어서,
    상기 로컬 파라미터 서버는 상기 각각의 워커의 개수 및 성능에 따라 상기 각각의 워커마다 반복 훈련 횟수를 결정하며,
    상기 각각의 워커는 상기 반복 훈련 횟수만큼 상기 그래디언트를 생성하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서,
    상기 로컬 파라미터 서버 및 상기 글로벌 파라미터 서버 사이의 통신과, 상기 각각의 워커의 상기 그래디언트 생성이 병렬적으로 수행되는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    상기 각각의 워커는 서로 다른 클러스터 또는 서로 다른 GPU에 의해 구현되는 것을 특징으로 하는 시스템.
  5. 제1항에 있어서,
    상기 집계된 그래디언트는,
    상기 로컬 파라미터 서버가 상기 각각의 워커로부터 수신한 상기 그래디언트의 총합, 곱, 최대값, 또는 최소값 중 어느 하나인 것을 특징으로 하는 시스템.
  6. 딥러닝 분산 학습 시스템의 동작 방법으로서, 상기 시스템은 글로벌 파라미터 서버 및 복수의 워커 노드를 포함하고, 각각의 워커 노드는 로컬 파라미터 서버 및 복수의 워커를 포함하며,
    상기 동작 방법은,
    상기 글로벌 파라미터 서버가 상기 각각의 워커 노드에 포함된 상기 로컬 파라미터 서버에게 신경망의 파라미터를 전송하는 과정;
    상기 각각의 워커 노드에 대해:
    상기 로컬 파라미터 서버가 상기 복수의 워커 각각에게 상기 파라미터를 전송하는 과정;
    각각의 워커는 동일한 파라미터를 이용하도록 동기화된 것으로서, 상기 각각의 워커가 상기 파라미터를 이용하여 훈련 데이터에 대한 그래디언트를 생성하고, 상기 그래디언트를 상기 로컬 파라미터 서버에게 전송하는 과정;
    상기 로컬 파라미터 서버가 상기 각각의 워커로부터 수신한 상기 그래디언트를 집계하는 과정;
    상기 글로벌 파라미터 서버가 각각의 로컬 파라미터 서버로부터 집계된 그래디언트를 수신하고, 상기 집계된 그래디언트를 수신할 때마다 상기 집계된 그래디언트를 이용하여 상기 파라미터를 갱신하는 과정; 및
    상기 글로벌 파라미터 서버가 상기 집계된 그래디언트를 전송한 상기 로컬 파라미터 서버에게 갱신된 파라미터를 전송하는 과정;
    을 포함하는 동작 방법.
  7. 제6항에 있어서,
    상기 로컬 파라미터 서버는 상기 각각의 워커의 개수 및 성능에 따라 상기 각각의 워커마다 반복 훈련 횟수를 결정하며,
    상기 각각의 워커는 상기 반복 훈련 횟수만큼 상기 그래디언트를 생성하는 것을 특징으로 하는 동작 방법.
  8. 제6항에 있어서,
    상기 로컬 파라미터 서버 및 상기 글로벌 파라미터 서버 사이의 통신과, 상기 각각의 워커의 상기 그래디언트 생성이 병렬적으로 수행되는 것을 특징으로 하는 동작 방법.
  9. 제6항에 있어서,
    상기 각각의 워커는 서로 다른 클러스터 또는 서로 다른 GPU에 의해 구현되는 것을 특징으로 하는 동작 방법.
  10. 제6항에 있어서,
    상기 집계된 그래디언트는,
    상기 로컬 파라미터 서버가 상기 각각의 워커로부터 수신한 상기 그래디언트의 총합, 곱, 최대값, 또는 최소값 중 어느 하나인 것을 특징으로 하는 시스템.
KR1020190137073A 2019-10-31 2019-10-31 딥러닝 분산 학습 시스템 및 동작 방법 KR102403476B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190137073A KR102403476B1 (ko) 2019-10-31 2019-10-31 딥러닝 분산 학습 시스템 및 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137073A KR102403476B1 (ko) 2019-10-31 2019-10-31 딥러닝 분산 학습 시스템 및 동작 방법

Publications (2)

Publication Number Publication Date
KR20210051604A true KR20210051604A (ko) 2021-05-10
KR102403476B1 KR102403476B1 (ko) 2022-05-27

Family

ID=75917788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137073A KR102403476B1 (ko) 2019-10-31 2019-10-31 딥러닝 분산 학습 시스템 및 동작 방법

Country Status (1)

Country Link
KR (1) KR102403476B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824650A (zh) * 2021-08-13 2021-12-21 上海光华智创网络科技有限公司 一种分布式深度学习系统中的参数传输调度算法及系统
KR20230012809A (ko) 2021-07-16 2023-01-26 연세대학교 산학협력단 로터리 티켓 신경망 기반 멀티태스크 분산 학습 시스템 및 방법
WO2023120776A1 (ko) * 2021-12-23 2023-06-29 경희대학교 산학협력단 연합학습에서 프록시데이터 세트를 이용한 장치 간 지식 전달 방법 및 그 시스템
WO2024124847A1 (zh) * 2022-12-13 2024-06-20 浪潮电子信息产业股份有限公司 一种梯度数据的同步方法、系统、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240105773A (ko) 2022-12-29 2024-07-08 국립부경대학교 산학협력단 비동기적 연합학습 기반의 도면부품번호 인식 및 연동 시스템 및 이를 이용한 학습방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131836A (ko) * 2017-06-01 2018-12-11 한국전자통신연구원 파라미터 서버 및 그것에 의해 수행되는 분산 딥러닝 파라미터 공유 방법
US20190311298A1 (en) * 2018-04-09 2019-10-10 Here Global B.V. Asynchronous parameter aggregation for machine learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131836A (ko) * 2017-06-01 2018-12-11 한국전자통신연구원 파라미터 서버 및 그것에 의해 수행되는 분산 딥러닝 파라미터 공유 방법
US20190311298A1 (en) * 2018-04-09 2019-10-10 Here Global B.V. Asynchronous parameter aggregation for machine learning

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230012809A (ko) 2021-07-16 2023-01-26 연세대학교 산학협력단 로터리 티켓 신경망 기반 멀티태스크 분산 학습 시스템 및 방법
CN113824650A (zh) * 2021-08-13 2021-12-21 上海光华智创网络科技有限公司 一种分布式深度学习系统中的参数传输调度算法及系统
CN113824650B (zh) * 2021-08-13 2023-10-20 上海光华智创网络科技有限公司 一种分布式深度学习系统中的参数传输调度算法及系统
WO2023120776A1 (ko) * 2021-12-23 2023-06-29 경희대학교 산학협력단 연합학습에서 프록시데이터 세트를 이용한 장치 간 지식 전달 방법 및 그 시스템
WO2024124847A1 (zh) * 2022-12-13 2024-06-20 浪潮电子信息产业股份有限公司 一种梯度数据的同步方法、系统、设备及存储介质

Also Published As

Publication number Publication date
KR102403476B1 (ko) 2022-05-27

Similar Documents

Publication Publication Date Title
KR102403476B1 (ko) 딥러닝 분산 학습 시스템 및 동작 방법
CN112148484B (zh) 一种基于耦合度的微服务在线分配方法与系统
TW202147188A (zh) 神經網路模型的訓練方法和相關産品
CN103713940B (zh) 一种基于rtx‑hla‑反射内存卡的可重构分布式实时仿真方法
CN105071994B (zh) 一种海量数据监控系统
WO2024016542A1 (zh) 信息融合方法、数据通信方法、装置及电子设备和非易失性可读存储介质
CN113193947B (zh) 实现分布式全局序的方法、设备、介质及程序产品
CN114281521B (zh) 优化深度学习异构资源通信效率方法、系统、设备及介质
CN110659278A (zh) 基于cpu-gpu异构架构的图数据分布式处理系统
US20190044883A1 (en) NETWORK COMMUNICATION PRIORITIZATION BASED on AWARENESS of CRITICAL PATH of a JOB
JP2017138780A (ja) 並列計算処理装置および並列計算処理方法
CN110083341A (zh) 一种前端开发平台、前端开发方法及页面显示方法
US11868175B2 (en) Heterogeneous computing systems and methods for clock synchronization
CN117785490A (zh) 一种图神经网络模型的训练架构、方法、系统及服务器
KR20220063759A (ko) 다중 비트 양자 피드백 제어를 위한 양자 측정 및 제어 시스템
US20230004787A1 (en) Distributed Deep Learning System
Liu et al. GPU-assisted hybrid network traffic model
Kanezashi et al. Performance optimization for agent-based traffic simulation by dynamic agent assignment
CN114579311B (zh) 执行分布式计算任务的方法、装置、设备以及存储介质
CN110021339B (zh) 基于蛋白质折叠测算蛋白质结构的集群并行计算加速方法
Anwar et al. Recommender system for optimal distributed deep learning in cloud datacenters
CN114039936B (zh) 基于时间敏感的虚拟电厂通信业务流量调度方法及装置
CN116166396A (zh) 调度模型的训练方法、装置、电子设备及可读存储介质
Wu et al. Optimizing network performance of computing pipelines in distributed environments
CN115292044A (zh) 数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant