KR20210073145A - 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치 - Google Patents

분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치 Download PDF

Info

Publication number
KR20210073145A
KR20210073145A KR1020190163656A KR20190163656A KR20210073145A KR 20210073145 A KR20210073145 A KR 20210073145A KR 1020190163656 A KR1020190163656 A KR 1020190163656A KR 20190163656 A KR20190163656 A KR 20190163656A KR 20210073145 A KR20210073145 A KR 20210073145A
Authority
KR
South Korea
Prior art keywords
learning
training data
scheduling
workers
model
Prior art date
Application number
KR1020190163656A
Other languages
English (en)
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 KR1020190163656A priority Critical patent/KR20210073145A/ko
Publication of KR20210073145A publication Critical patent/KR20210073145A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Abstract

분산-병렬 딥러닝 학습의 스케쥴링 기반 학습 데이터/모델 할당 방법 및 장치가 개시된다. 스케줄링 서버가 수행하는 학습 데이터/모델 할당 방법은 학습 데이터/모델 할당 시스템에 포함된 복수의 참여 워커들에게 샘플 데이터를 전송하는 단계; 상기 샘플 데이터에 대한 상기 참여 워커들의 컴퓨팅 성능을 수신하는 단계; 상기 수신된 참여 워커들의 컴퓨팅 성능에 기초하여 상기 복수의 참여 워커 별 학습 할당량을 계산하는 단계; 및 상기 계산된 복수의 참여 워커 별 학습 할당량에 기초하여 학습 데이터를 분할하여 상기 복수의 참여 워커들 각각에 전송하는 단계를 포함할 수 있다.

Description

분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치{Scheduling-based Training Data/Model Allocation Method and Apparatus for Distributed-Parallel Deep Learning}
본 발명은 분산-병렬 딥러닝 학습 구조에서 딥러닝 모델의 학습 진행 시 참여하는 워커(Worker) 노드들의 학습 속도 성능을 고려하여, 학습 데이터/모델을 분배하는 방법 및 장치에 관한 것이다.
최근 인공지능 기술 학습에 주로 사용되는 딥러닝 기술은 기존 인공신경망 기술 대비하여 다층의 신경망 레이어로 이루어져 수 만개 이상의 학습 노드로 구성되는 대규모의 딥러닝 모델이 사용되고 있다. 뿐만 아니라, 정확한 학습 성능을 도출하기 위하여 입력 데이터의 용량이 수 테라 바이트(TeraByte, TB)에 이르는 등 막대한 컴퓨팅 사이즈를 요구한다. 이러한 대규모의 딥러닝 모델을 단일 컴퓨터로 처리하면 막대한 연산량으로 인하여 학습 과정에서 매우 오랜 시간의 오버헤드가 발생하게 된다. 하지만, 딥러닝 모델의 학습 과정에는 반복 처리해야하는 연산이 상당하여, 병렬적인 계산으로 학습 시간을 단축할 수 있으며, 현재의 딥러닝 기술은 단일 컴퓨터의 다중 CPU 혹은 GPU를 장착하는 것뿐만 아니라 다수의 컴퓨팅 노드를 활용하여 물리적으로 이격된 노드에서도 병렬 학습이 가능하도록 구성하는 딥러닝 모델이 필수적으로 사용되고 있다.
따라서, 이와 같이 다수의 컴퓨팅 노드를 활용한 분산-병렬 딥러닝 학습 구조에서 딥러닝 학습 효과를 향상시키기 위한 방법이 요구되고 있다.
본 발명은 학습 데이터/모델 할당 시스템을 구성하는 워커 별 성능 추정 기능을 통해 학습 환경에 맞는 스케줄링 방식을 구현함으로써 기존 SSP(stale synchronous parallel) 방식 및 동기 방식에서 발생하는 낮은 하드웨어 활용도를 개선하고, 비동기 방식에서 발생하는 낮은 유효도의 파라미터 업데이트를 예방할 수 있는 방법 및 장치를 제공한다.
본 발명의 일실시예에 따른 스케줄링 서버가 수행하는 학습 데이터/모델 할당 방법은 학습 데이터/모델 할당 시스템에 포함된 복수의 참여 워커들에게 샘플 데이터를 전송하는 단계; 상기 샘플 데이터에 대한 상기 참여 워커들의 컴퓨팅 성능을 수신하는 단계; 상기 수신된 참여 워커들의 컴퓨팅 성능에 기초하여 상기 복수의 참여 워커 별 학습 할당량을 계산하는 단계; 및 상기 계산된 복수의 참여 워커 별 학습 할당량에 기초하여 학습 데이터를 분할하여 상기 복수의 참여 워커들 각각에 전송하는 단계를 포함할 수 있다.
본 발명은 학습 데이터/모델 할당 시스템을 구성하는 워커 별 성능 추정 기능을 통해 학습 환경에 맞는 스케줄링 방식을 구현함으로써 기존 SSP(stale synchronous parallel) 방식 및 동기 방식에서 발생하는 낮은 하드웨어 활용도를 개선하고, 비동기 방식에서 발생하는 낮은 유효도의 파라미터 업데이트를 예방할 수 있다.
도 1 및 도 2는 각각 딥러닝 데이터 분할 학습 모델 및 딥러닝 모델 분할 학습 모델의 예를 도시한 도면이다.
도 3 및 도 4는 각각 스타 토폴리지 기반의 파라미터 공유 방법 및 메시 토폴로지 기반 파라미터 공유 방법의 예를 도시한 도면이다.
도 5와 도 6은 각각 동기식 파라미터 업데이트 및 비동기시 파라미터 업데이트의 예를 도시한 도면이다.
도 7은 SSP(stale synchronous parallel) 방식의 학습 알고리즘을 이용한 워커 별 학습 과정의 예를 도시한 도면이다.
도 8a 내지 도 8c는 각각 동기식 학습 알고리즘, SSP 방식의 학습 알고리즘 및 비동기식 학습 알고리즘의 파이프라인을 간트 차트로 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 스케줄링 기반 학습 알고리즘의 파이프라인 예를 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 딥러닝 학습 데이터/모델의 스케줄링 절차를 도시한 도면이다.
도 11은 본 발명의 일실시예에 따라 학습 반복 임계치가 1인 스케줄링 기반 학습 알고리즘의 학습 진행을 보여준다.
도 12는 본 발명의 일실시예에 따라 학습 반복 임계치가 3인 스케줄링 기반 학습 알고리즘의 학습 진행을 보여준다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1 및 도 2는 각각 딥러닝 데이터 분할 학습 모델 및 딥러닝 모델 분할 학습 모델의 예를 도시한 도면이다.
딥러닝 분산 처리 방식에는 데이터 병렬 처리 방식과 모델 병렬 처리 방식이 사용될 수 있다. 구체적으로 데이터 병렬 처리 방식은 도 1과 같이 각 노드에 동일한 학습 모델을 로드하여 대규모의 입력 데이터를 분할하여 학습을 진행할 수 있다. 이와는 달리 모델 분할 방식은 도 2와 같이 각 노드에 동일한 입력 데이터를 저장하고, 학습 모델을 부분적으로 분할한 후 각 노드에 할당하여 학습을 진행할 수 있다.
이와 같은 데이터/모델 병렬 처리 방식에서 딥러닝 학습을 진행할 경우 학습의 순전파(forward propagation)과 역전파(backpropagation)에 동일한 글로벌 파라미터(global parameter)를 학습 계산에 활용하고, 동일한 글로벌 파라미터로 도출된 결과를 병합해야 하기 때문에, 이를 관리하기 위한 시스템 구조와 알고리즘이 필요하다.
도 3 및 도 4는 각각 스타 토폴리지 기반의 파라미터 공유 방법 및 메시 토폴로지 기반 파라미터 공유 방법의 예를 도시한 도면이다.
현재 딥러닝 분산 처리 모델에서 글로벌 파라미터의 관리 구조는 도 3과 같이 중앙에 파라미터 관리 서버를 운영하는 스타 토폴로지 방식과 도 4와 같이 각 컴퓨팅 노드가 다른 컴퓨팅 노드들에게 직접 글로벌 파라미터를 공유하는 메시 토폴로지 방식 등이 있다. 스타 토폴로지 방식은 파라미터 관리 서버를 통해 학습 동기 제어 및 공유 저장소 관리가 필수적이고, 메시 토폴로지 방식은 공유 저장소 관리가 필요 없으나 노드 수가 증가 할수록 글로벌 파라미터를 공유하기 위한 통신 횟수가 노드 수의 제곱(
Figure pat00001
)에 비례할 수 있다. 일반적으로 병렬 학습 딥러닝 기술에서는 공유 저장소 관리와 노드 확장성이 용이한 스타 토폴로지 방식의 구조가 사용되며, 이 구조에서 파라미터 관리 서버를 통하여 글로벌 파라미터의 조회와 업데이트가 가능할 수 있다.
도 5와 도 6은 각각 동기식 파라미터 업데이트 및 비동기시 파라미터 업데이트의 예를 도시한 도면이다.
딥러닝 분산 처리 모델의 파라미터 관리 알고리즘은 1번의 트레이닝 반복(1 epoch) 마다 갱신되는 글로벌 파라미터를 각 워커 노드 별로 동기화하여 처리하는 동기식 학습 알고리즘과 각 워커 노드 별 학습 속도에 상관없이 개별적으로 글로벌 파라미터를 갱신하여 사용하는 비동기식 학습 알고리즘이 존재한다. 동기식 학습 알고리즘의 경우 학습 정확성의 손실이 없는 학습이 가능하나, 워커 노드 별 학습 속도의 격차가 클 경우 가장 느린 워커 노드에 전체 트레이닝 성능이 맞춰지는 단점이 있다. 반면, 비동기식 학습 알고리즘의 경우 동기식에 비해 학습 정확성의 손실이 발생하나, 동기식 학습 알고리즘에 비해 빠르게 트레이닝 할 수 있는 장점이 있다.
도 5에 따른 동기식 학습 알고리즘은 학습 속도가 빠른 워커 노드들이 느린 워커 노드들을 위해 대기하기 위한 동기 배리어 구간이 각 epoch 별로 존재할 수 있다. 이와는 달리 도 6에 따른 비동기식 학습 알고리즘은 이러한 동기 배리어 구간 없이 각 워커 노드들이 독립적으로 다음 학습 과정을 진행하고, 각 epoch에서 진행한 학습 결과를 파라미터 관리 서버에 업데이트한다.
파라미터 관리 서버에서는 각 워커 노드 별로 학습 진행률에 맞는 개별적인 글로벌 파라미터를 전송할 수 있다. 비동기식 학습 알고리즘은 동기 배리어 구간으로 인한 학습 속도에 오버헤드가 발생하지 않지만 느린 워커 노드에서의 계산 값에 대한 유효도가 낮아져 학습 정확도가 저하되는 한계가 발생할 수 있다.
도 7은 SSP(stale synchronous parallel) 방식의 학습 알고리즘을 이용한 워커 별 학습 과정의 예를 도시한 도면이다.
SSP(stale synchronous parallel) 방식의 학습 알고리즘은 동기식 학습 알고리즘과 비동기식 학습 알고리즘을 보완하여 성능을 개선한 방식이다. SSP 방식의 학습 알고리즘은 비동기식 학습 알고리즘에서 빠른 학습 진행이 가능한 워커에 학습 속도를 제한하는 역할의 임계치(Threshold)를 운용하여, 고성능 워커의 과도한 학습 진행을 제한할 수 있다. 이에 따라 느린 학습 속도의 워커들로부터 갱신되는 글로벌 파라미터의 유효도가 증가하여, 비동기식 학습 알고리즘의 한계를 완화할 수 있다.
도 7을 참고하면, 워커 1의 학습이 지정된 임계치인 3을 넘어섰을 경우 워커 1은 다른 워커들의 학습이 완료 될 때까지 학습이 중단되며, 워커 2의 학습 진행률이 임계치 내로 도달하면 다시 학습이 진행될 수 있다. 이와 같은 SSP 방식의 학습 알고리즘은 동기식 학습 알고리즘 대비 빠른 학습 속도를 가질 수 있고, 비동기식 학습 알고리즘 대비 낮은 성능 감소를 가질 수 있다.
도 8a 내지 도 8c는 각각 동기식 학습 알고리즘, SSP 방식의 학습 알고리즘 및 비동기식 학습 알고리즘의 파이프라인을 간트 차트로 도시한 도면이다.
SSP 방식의 학습 알고리즘이 임계치 3 내에서 동기식 학습 알고리즘 대비 빠른 학습이 가능하지만 여전히 비동기식 학습 알고리즘 대비 하드웨어의 활용도가 떨어지는 단점이 있는 것을 확인할 수 있다.
도 9는 본 발명의 일실시예에 따른 스케줄링 기반 학습 알고리즘의 파이프라인 예를 도시한 도면이다.
본 발명에서 제안하는 스케줄링 기반 학습 알고리즘은 SSP 방식의 학습 알고리즘의 학습 속도를 비동기식 학습 알고리즘 수준으로 개선할 수 있는 스케줄링 기반 학습 절차를 제공할 수 있다. 또한, 본 발명의 스케줄링 기반 학습 알고리즘은 비동기식 학습 알고리즘에서 발생하는 유효도 낮은 글로벌 파라미터를 방지하기 위하여 SSP 방식의 학습 알고리즘에 제시된 임계치와 유사하게 학습 반복(Iteration)의 스케줄링 빈도를 제한하는 파라미터를 제공할 수 있다.
본 발명의 스케줄링 기반 학습 알고리즘은 학습 데이터/모델을 각 워커 노드에 할당하여 스케줄링 할 때 워커 노드의 시간 대비 계산량을 자원 할당 알고리즘에 사용하며, 이를 위한 스케줄링 시간을 고려할 수 있다. 도 9를 참고하면, 본 발명의 스케줄링 기반 학습 알고리즘은 적절한 자원 할당이 진행 되었을 경우, 비동기식 학습 알고리즘 수준의 학습 속도를 제공하고, 학습 반복 3까지의 글로벌 파라미터 동기가 비동기식 학습 알고리즘보다 이른 시점에 진행되어, 글로벌 파라미터 업데이트의 유효도가 보장되는 장점이 있다.
도 10은 본 발명의 일실시예에 따른 딥러닝 학습 데이터/모델의 스케줄링 절차를 도시한 도면이다.
우선 학습량 할당을 위해 사용되는 학습 데이터/모델은
Figure pat00002
로 표시되며, 딥러닝 학습에 참여하는 워커는
Figure pat00003
로 표시된다. 이때,
Figure pat00004
Figure pat00005
=
Figure pat00006
이며
Figure pat00007
개의 학습 데이터/모델로 구성되는 벡터이다. 또한,
Figure pat00008
Figure pat00009
=
Figure pat00010
이며,
Figure pat00011
개의 워커로 구성되는 벡터이다. 일례로, 데이터 분할의 경우 학습 자원
Figure pat00012
은 데이터 #1, 데이터 #2, …, 데이터 #N들로 구성될 수 있으며, 이 경우 총
Figure pat00013
개의 데이터를 가지는 학습 데이터
Figure pat00014
이 워커들에 분할되어 할당 된다. 모델 분할의 경우
Figure pat00015
은 딥러닝 모델의 레이어가 총
Figure pat00016
, 레이어 당 노드 수
Figure pat00017
일 경우
Figure pat00018
의 학습량을 갖는다.
본 발명의 스케줄링 기반 학습 알고리즘을 이용한 딥러닝 학습 데이터/모델 할당 장치는 학습량
Figure pat00019
을 참여하는 워커들에 분할하기 위한 초기 절차로, 학습에 참여하는 워커들의 컴퓨팅 성능
Figure pat00020
를 수집하기 위한 절차가 진행될 수 있다. 이때, 학습에 참여한 워커들 중
Figure pat00021
번째 워커의 컴퓨팅 성능을
Figure pat00022
라 하며, 성능
Figure pat00023
는 동기 타이밍 계산을 위하여 1개
Figure pat00024
을 처리하는데 필요한 시간으로 표현될 수 있다. 예를 들어, 이미지 인식 모델에서 이미지로 구성되는
Figure pat00025
에 대하여, 1초에 1600개의 이미지를 분석하는 워커의 경우 성능은 1600 images/sec로 표현될 수 있으며, 모델 분할방식에서 1초에 80개의 딥러닝 노드 벡터를 계산하는 워커의 성능은 80 nodes/sec로 표현될 수 있다.
Figure pat00026
의 측정은 딥러닝 학습 데이터/모델 할당 장치를 구성하는 스케줄링 서버를 통해 수행될 수 있다. 먼저, 스케줄링 서버는
Figure pat00027
측정을 위하여 학습 데이터/모델 중 임의로 선정되는 데이터/모델의 일부인 학습 샘플
Figure pat00028
을 모든 워커들에게 동일하게 전송할 수 있다. 워커들은 스케줄링 서버로부터 전송 받은
Figure pat00029
을 처리하여 프로세싱 성능
Figure pat00030
을 계산한 후 스케줄링 서버로 전송할 수 있다.
도 10의
Figure pat00031
수집 절차는 스케줄링 서버가 스타 토폴로지 방식으로 구성되어 있을 경우, 스케줄링 서버에서 학습 샘플
Figure pat00032
을 각 워커들에게 전송하는 것과 컴퓨팅 성능
Figure pat00033
를 수집하는 구조의 예시이다. 스케줄링 서버는 스타 토폴로지 방식 뿐만 아니라 메시 토폴로지 방식으로 구성될 수 있으며, 이때
Figure pat00034
과 스케줄링 정책 공유를 위해 필요한 통신 횟수는 노드, 즉 워커들의 수의 제곱(
Figure pat00035
)에 비례할 수 있다.
Figure pat00036
수집 절차이후, 스케줄링 서버는 각 워커
Figure pat00037
의 컴퓨팅 성능
Figure pat00038
를 기반으로 워커 별 학습 할당량을 계산할 수 있다. 학습 할당량의 계산으로는 다양한 스케줄링 알고리즘이 사용될 수 있으며, 기본적으로 컴퓨팅 성능이 좋은 워커 별 학습 할당량을 제공하는 다음의 식 1과 같은 알고리즘이 사용될 수 있다.
<식 1>
워커 별 학습 할당량
Figure pat00039
=
Figure pat00040
subject to
Figure pat00041
이때,
Figure pat00042
Figure pat00043
=
Figure pat00044
이며,
Figure pat00045
개 워커의 성능 벡터이고,
Figure pat00046
으로
Figure pat00047
Figure pat00048
번째 워커에게 할당되는 학습량을 의미한다. 워커 별 학습량은 계산 및 구현 편의성을 위하여
Figure pat00049
=
Figure pat00050
으로 계산 될 수 있으며, 이 때
Figure pat00051
은 총 분할 가능한 데이터/모델 수이다.
위와 같이 워커 별 학습 할당량을 설정할 경우 컴퓨팅 성능
Figure pat00052
가 좋은 워커 노드로 더 많은 학습량이 할당될 수 있다. 예를 들어, 3개의 워커가 존재하는 분할 학습에서,
Figure pat00053
=3,
Figure pat00054
=2,
Figure pat00055
=1 data/sec로 성능이 추정 되었고, 전체 분할 데이터/모델의 수
Figure pat00056
=40인 경우를 보면, 각 워커 별 학습 할당량은
Figure pat00057
=20,
Figure pat00058
=13,
Figure pat00059
=7로 할당되게 된다.
또한, 본 발명의 스케줄링 서버에서 스케줄러는 학습 반복 임계치(Iteration threshold)를 고려하여 스케줄링을 진행할 수 있다. 학습 반복 임계치는 학습 반복 간 스케줄링 절차로 인해 발생하는 오버헤드를 감소시키기 위하여 사용될 수 있으며, 학습 반복 간 스케줄링 진행 주기로 이해될 수도 있다.
도 11은 본 발명의 일실시예에 따라 학습 반복 임계치가 1인 스케줄링 기반 학습 알고리즘의 학습 진행을 보여준다. 스케줄러는 각 학습 반복 사이사이에
Figure pat00060
를 측정하여 학습 반복 별로 최적화된 스케줄링으로 학습을 진행할 수 있다. 이와는 달리 도 12는 본 발명의 일실시예에 따라 학습 반복 임계치가 3인 스케줄링 기반 학습 알고리즘의 학습 진행을 보여준다. 스케줄러는 총 학습 반복 임계치가 3인 자원을 고려하여 각 워커들에게 학습 데이터/모델을 할당한다. 이 경우, 3의 학습 반복(3 iteration) 동안 스케줄링 기반 학습 알고리즘은 비동기식 학습 알고리즘 방식으로 진행되며, 3의 학습 반복(3 iteration) 내에서 글로벌 파라미터의 유효도가 보장될 수 있다.
학습 반복(iteration threshold)은 워커의 수가 많아 스케줄링 과정에서 발생되는 오버헤드가 많을 경우 증가시켜 사용할 수 있으며, 반면, 워커의 수가 적고 각 워커 별 시간에 따른 성능 변화의 차이가 클 경우 감소시켜 사용할 수 있다.
이와 같이 본 발명의 스케줄링 기반 학습 알고리즘은 워커 별 성능 추정 기능을 통하여, 구성되어 있는 학습 환경의 성능을 신뢰도 있게 추정할 수 있으며, 추정된 워커 별 성능을 통하여 학습 환경에 맞는 스케줄링 방식을 구현할 수 있다. 본 발명에서는 대표적인 스케줄러의 예시를 제안하고 있으나, 다양한 성능 기반 스케줄링을 지원 가능하도록 스케줄러를 한정하지 않고 자유롭게 운용할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (1)

  1. 스케줄링 서버가 수행하는 학습 데이터/모델 할당 방법에 있어서,
    학습 데이터/모델 할당 시스템에 포함된 복수의 워커들에게 샘플 데이터를 전송하는 단계;
    상기 샘플 데이터에 대한 상기 워커들의 컴퓨팅 성능을 수신하는 단계;
    상기 수신된 워커들의 컴퓨팅 성능에 기초하여 상기 복수의 워커 별 학습 할당량을 계산하는 단계; 및
    상기 계산된 복수의 워커 별 학습 할당량에 기초하여 학습 데이터를 분할하여 상기 복수의 워커들 각각에 전송하는 단계
    를 포함하는 학습 데이터/모델 할당 방법.
KR1020190163656A 2019-12-10 2019-12-10 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치 KR20210073145A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190163656A KR20210073145A (ko) 2019-12-10 2019-12-10 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190163656A KR20210073145A (ko) 2019-12-10 2019-12-10 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210073145A true KR20210073145A (ko) 2021-06-18

Family

ID=76623756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190163656A KR20210073145A (ko) 2019-12-10 2019-12-10 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210073145A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023058789A1 (ko) * 2021-10-06 2023-04-13 엘지전자 주식회사 사용자 맞춤형 컨텐츠를 제공하는 인공지능 디바이스 및, 그 디바이스를 제어하는 방법
WO2023177150A1 (ko) * 2022-03-14 2023-09-21 주식회사 딥바이오 딥러닝 모델의 분산 훈련을 위한 전체 슬라이드 이미지 분배 방법 및 이를 수행하는 컴퓨팅 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023058789A1 (ko) * 2021-10-06 2023-04-13 엘지전자 주식회사 사용자 맞춤형 컨텐츠를 제공하는 인공지능 디바이스 및, 그 디바이스를 제어하는 방법
WO2023177150A1 (ko) * 2022-03-14 2023-09-21 주식회사 딥바이오 딥러닝 모델의 분산 훈련을 위한 전체 슬라이드 이미지 분배 방법 및 이를 수행하는 컴퓨팅 시스템

Similar Documents

Publication Publication Date Title
WO2022037337A1 (zh) 机器学习模型的分布式训练方法、装置以及计算机设备
US11487698B2 (en) Parameter server and method for sharing distributed deep learning parameter using the same
CN115422284B (zh) 存储设备、分布式存储系统以及数据处理方法
KR102372423B1 (ko) 파라미터 공유 장치 및 방법
US20180255122A1 (en) Learning-based resource management in a data center cloud architecture
CN112416554A (zh) 一种任务迁移方法、装置、电子设备及存储介质
CN111105006B (zh) 一种深度学习网络训练系统及方法
KR20210073145A (ko) 분산-병렬 딥러닝 학습의 스케줄링 기반 학습 데이터/모델 할당 방법 및 장치
CN113778691B (zh) 一种任务迁移决策的方法、装置及系统
CN104580447A (zh) 一种基于访问热度的时空数据服务调度方法
CN102609303A (zh) MapReduce系统的慢任务调度方法和装置
CN114514536A (zh) 分布式系统中的神经网络训练
CN109992412B (zh) 云服务器的容量调节方法、装置、存储介质和云服务器
CN116915869A (zh) 基于云边协同的时延敏感型智能服务快速响应方法
WO2023184009A1 (en) Systems and methods for cluster-based parallel split learning
CN110750363A (zh) 计算机存储管理方法和装置、电子设备和存储介质
Anwar et al. Recommender system for optimal distributed deep learning in cloud datacenters
CN111813525B (zh) 一种异构系统工作流调度方法
CN114896070A (zh) 一种用于深度学习任务的gpu资源分配方法
JPWO2018168695A1 (ja) 分散機械学習装置、分散機械学習方法および分散機械学習プログラム
CN110516795B (zh) 一种为模型变量分配处理器的方法、装置及电子设备
US11184248B1 (en) Network resource allocation using forecasted network traffic patterns selected utilizing network topology
De Mendoza et al. Optimal Resource Placement in 5G/6G MEC for Connected Autonomous Vehicles Routes Powered by Deep Reinforcement Learning
CN113342313A (zh) 一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法
KR20220006360A (ko) 파라미터 동기화 모델에 기반한 기계 학습 트레이닝 방법 및 그 트레이닝 시스템