1 |
1
복수의 신경망 모델들에 대한 트레이닝을 병렬적으로 수행하는 트레이닝 시스템에 있어서,제1 신경망 모델에 대한 트레이닝 요청을 수신하고, 상기 제1 신경망 모델에 대응하는 제1 트레이닝 잡을 제1 마이크로서비스들로 분할하는 제1 잡 프록시;제2 신경망 모델에 대한 트레이닝 요청을 수신하고, 상기 제2 신경망 모델에 대응하는 제2 트레이닝 잡을 제2 마이크로서비스들로 분할하는 제2 잡 프록시;상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 이종의 프로세싱 유닛들에게 동적으로 스케줄링하는 스케줄러;상기 이종의 프로세싱 유닛들을 포함하고, 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 각각을 순차적으로 실행하는 클러스터; 및상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들의 실행에 응답하여 발생된 매개 변수들을 저장하는 인-메모리 분산 데이터베이스를 포함하는 트레이닝 시스템
|
2 |
2
제1 항에 있어서, 상기 제1 잡 프록시는 상기 제1 트레이닝 잡에 대한 제1 트레이닝 데이터를 제1 미니 배치들로 분할하고, 상기 제1 미니 배치들 각각에 대한 처리들을 상기 제1 마이크로서비스들에 대응시키고,상기 제2 잡 프록시는 상기 제2 트레이닝 잡에 대한 제2 트레이닝 데이터를 제2 미니 배치들로 분할하고, 상기 제2 미니 배치들 각각에 대한 처리들을 상기 제2 마이크로서비스들에 대응시키는 트레이닝 시스템
|
3 |
3
제2 항에 있어서,상기 제1 잡 프록시는 상기 제1 마이크로서비스들을 상기 제1 미니 배치들 각각에 대한 포워드 패스 또는 백워드 패스를 통해 상기 제1 미니 배치들에 대한 제1 매개 변수들을 계산하는 제1 유형의 마이크로서비스들, 및 상기 제1 매개 변수들을 총합하는 제2 유형의 마이크로서비스들로 분류하고,상기 제2 잡 프록시는 상기 제2 마이크로서비스들을 상기 제2 미니 배치들 각각에 대한 포워드 패스 또는 백워드 패스를 통해 상기 제2 미니 배치들에 대한 제2 매개 변수들을 계산하는 제3 유형의 마이크로서비스들, 및 상기 제2 매개 변수들을 총합하는 제4 유형의 마이크로서비스들로 분류하는 트레이닝 시스템
|
4 |
4
제3 항에 있어서,상기 제1 잡 프록시 및 상기 제2 잡 프록시는 상기 제1 유형의 마이크로서비스들, 상기 제2 유형의 마이크로서비스들, 상기 제3 유형의 마이크로서비스들, 및 상기 제4 유형의 마이크로서비스들을 유형 정보와 함께 상기 스케줄러에 제출하는 트레이닝 시스템
|
5 |
5
제3 항에 있어서, 상기 스케줄러는 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 각각의 로컬리티 및 서비스 품질 중 적어도 하나를 기초로, 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 상기 이종의 프로세싱 유닛들에게 스케줄링하는 트레이닝 시스템
|
6 |
6
제5 항에 있어서,상기 스케줄러는 상기 로컬리티를 기초로 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 중 병렬적으로 실행되는 제1 부분 마이크로서비스들을 상기 이종의 프로세싱 유닛들 중 동일한 노드에 배치되는 제1 프로세싱 유닛들에 스케줄링하는 트레이닝 시스템
|
7 |
7
제6 항에 있어서,상기 스케줄러는 상기 서비스 품질을 기초로 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 중 병렬적으로 실행되는 제2 부분 마이크로서비스들을 상기 이종의 프로세싱 유닛들 중 상기 제1 프로세싱 유닛들의 처리 속도 보다 빠른 제2 프로세싱 유닛들에 스케줄링하고,상기 제2 부분 마이크로서비스들은 상기 제1 부분 마이크로서비스들과 서로 다른 시기에 병렬적으로 실행되는 트레이닝 시스템
|
8 |
8
제7 항에 있어서,상기 제1 부분 마이크로서비스들 및 상기 제2 부분 마이크로서비스들은 동일한 트레이닝 잡을 실행하기 위한 마이크로서비스들인 트레이닝 시스템
|
9 |
9
제1 항에 있어서, 상기 클러스터는 상기 제1 트레이닝 잡을 상기 제1 마이크로서비스들의 시퀀스로 실행하는 하나 이상의 제1 가상 작업자들 및 상기 제2 트레이닝 잡을 상기 제2 마이크로서비스들의 시퀀스로 실행하는 하나 이상의 제2 가상 작업자들을 포함하는 트레이닝 시스템
|
10 |
10
제9 항에 있어서,상기 제1 가상 작업자들 및 상기 제2 가상 작업자들은 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 기반으로 상기 제1 트레이닝 잡 및 상기 제2 트레이닝 잡을 병렬적으로 실행하는 트레이닝 시스템
|
11 |
11
제10 항에 있어서,상기 제1 가상 작업자들 및 상기 제2 가상 작업자들 각각은 파이프라인(pipeline) 방식으로 복수의 미니 배치들을 병렬적으로 처리하는 트레이닝 시스템
|
12 |
12
제9 항에 있어서, 상기 트레이닝 시스템은 상기 클러스터들 각각의 자원 사용 상태를 기반으로, 상기 제1 트레이닝 잡에 대응하는 상기 제1 가상 작업자들의 수 및 상기 제2 트레이닝 잡에 대응하는 상기 제2 가상 작업자들의 수를 동적으로 조절하는 자원 관리자는 더 포함하는 트레이닝 시스템
|
13 |
13
제1 항에 있어서, 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 중 오류(fault)가 발생한 마이크로서비스를 검출하고, 상기 검출된 마이크로서비스의 동작을 재수행하는 폴트 핸들러를 더 포함하는 트레이닝 시스템
|
14 |
14
복수의 신경망 모델들에 대한 트레이닝을 병렬적으로 수행하는 트레이닝 시스템의 동작 방법에 있어서,제1 신경망 모델 및 제2 신경망 모델을 포함하는 복수의 신경망 모델들에 대한 트레이닝 요청을 수신하는 단계;상기 제1 신경망 모델에 대응하는 제1 트레이닝 잡을 제1 마이크로서비스들로 분할하는 단계;상기 제2 신경망 모델에 대응하는 제2 트레이닝 잡을 제2 마이크로서비스들로 분할하는 단계; 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 이종의 프로세싱 유닛들에게 동적으로 스케줄링하는 단계; 및상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 각각을 순차적으로 실행하는 단계를 포함하는 트레이닝 시스템의 동작 방법
|
15 |
15
제14 항에 있어서, 상기 제1 마이크로서비스들로 분할하는 단계는:상기 제1 트레이닝 잡에 대한 제1 트레이닝 데이터를 제1 미니 배치들로 분할하는 단계; 및상기 제1 미니 배치들 각각에 대한 처리들을 상기 제1 마이크로서비스들에 대응시키는 단계를 포함하고,상기 제2 마이크로서비스들로 분할하는 단계는:상기 제2 트레이닝 잡에 대한 제2 트레이닝 데이터를 제2 미니 배치들로 분할하는 단계; 및상기 제2 미니 배치들 각각에 대한 처리들을 상기 제2 마이크로서비스들에 대응시키는 단계를 포함하는 트레이닝 시스템의 동작 방법
|
16 |
16
제15 항에 있어서,상기 제1 마이크로서비스들로 분할하는 단계는 상기 제1 마이크로서비스들을 상기 제1 미니 배치들 각각에 대한 포워드 패스 또는 백워드 패스를 통해 상기 제1 미니 배치들에 대한 제1 매개 변수들을 계산하는 제1 유형의 마이크로서비스들, 및 상기 제1 매개 변수들을 총합하는 제2 유형의 마이크로서비스들로 분류하는 단계를 더 포함하고,상기 제2 마이크로서비스들로 분할하는 단계는 상기 제2 마이크로서비스들을 상기 제2 미니 배치들 각각에 대한 포워드 패스 또는 백워드 패스를 통해 상기 제2 미니 배치들에 대한 제2 매개 변수들을 계산하는 제3 유형의 마이크로서비스들, 및 상기 제2 매개 변수들을 총합하는 제4 유형의 마이크로서비스들로 분류하는 단계를 더 포함하는 트레이닝 시스템의 동작 방법
|
17 |
17
제16 항에 있어서, 상기 스케줄링하는 단계는 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 각각의 로컬리티 및 서비스 품질 중 적어도 하나를 기초로, 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 상기 이종의 프로세싱 유닛들에게 스케줄링하는 단계를 포함하는 트레이닝 시스템의 동작 방법
|
18 |
18
제17 항에 있어서, 상기 로컬리티를 기초로 스케줄링하는 단계는 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 중 병렬적으로 실행되는 제1 부분 마이크로서비스들을 상기 이종의 프로세싱 유닛들 중 동일한 노드에 배치되는 제1 프로세싱 유닛들에 스케줄링하는 동작 방법
|
19 |
19
제18 항에 있어서, 상기 서비스 품질을 기초로 스케줄링하는 단계는 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들 중 병렬적으로 실행되는 제2 부분 마이크로서비스들을 상기 이종의 프로세싱 유닛들 중 상기 제1 프로세싱 유닛들의 처리 속도 보다 빠른 제2 프로세싱 유닛들에 스케줄링하고,상기 제2 부분 마이크로서비스들은 상기 제1 부분 마이크로서비스들과 서로 다른 시기에 병렬적으로 실행되는 트레이닝 시스템의 동작 방법
|
20 |
20
제14 항에 있어서,상기 실행하는 단계는: 상기 제1 트레이닝 잡을 상기 제1 마이크로서비스들의 시퀀스로 실행하는 단계; 및상기 제2 트레이닝 잡을 상기 제2 마이크로서비스들의 시퀀스로 실행하는 단계를 더 포함하고,상기 제1 트레이닝 잡 및 상기 제2 트레이닝 잡은 상기 제1 마이크로서비스들 및 상기 제2 마이크로서비스들을 기반으로 병렬적으로 실행되는 트레이닝 시스템
|