KR20200144296A - Method and apparatus for parallel training of deep learning model - Google Patents
Method and apparatus for parallel training of deep learning model Download PDFInfo
- Publication number
- KR20200144296A KR20200144296A KR1020190072129A KR20190072129A KR20200144296A KR 20200144296 A KR20200144296 A KR 20200144296A KR 1020190072129 A KR1020190072129 A KR 1020190072129A KR 20190072129 A KR20190072129 A KR 20190072129A KR 20200144296 A KR20200144296 A KR 20200144296A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- deep learning
- training
- learning model
- parallel
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 딥러닝 모델의 병렬 트레이닝 방법 및 장치에 관한 것으로, 특히 멀티모달을 복합적으로 처리해야 하는 딥러닝 모델 트레이닝에서 모델을 분할하여 병렬 처리하는 딥러닝 모델의 병렬 트레이닝 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for parallel training of a deep learning model, and more particularly, to a method and apparatus for parallel training of a deep learning model that divides a model and performs parallel processing in a deep learning model training that needs to process multimodal complexly.
딥러닝은 사람의 신경세포(Biological Neuron)를 모사하여 기계가 학습하도록 하는 인공신경망(Artificial Neural Network) 기반의 기계 학습법이다. 최근 딥러닝 모델들은 단일 모달리티를 고려하는 모델(예를 들면, 이미지 인식, 음성 인식)에서 멀티모달을 복합적으로 고려하는 모델로 진화하고 있다. 예를 들어, 사람의 감정을 인식하는 인공지능 기술에서 사람의 음성과 표정과 제스처를 동시에 고려하여 감정을 인식하고자 하는 경우, 멀티모달(음성+표정+제스쳐) 딥러닝 모델이 필요하다.Deep learning is a machine learning method based on artificial neural networks that allows machines to learn by simulating human neurons (Biological Neuron). Recently, deep learning models are evolving from a model that considers a single modality (for example, image recognition, speech recognition) to a model that considers multimodal complexly. For example, in an artificial intelligence technology that recognizes human emotions, a multimodal (voice + expression + gesture) deep learning model is required to recognize emotion by simultaneously considering a person's voice, facial expression, and gesture.
각 모달리티로부터 입력되는 데이터는 다른 표현방법(representation), 다른 시간(Alignment), 다른 종류의 처리를 요구하며 마지막 단계에서 분석 결과가 종합적으로 분석(fusion, co-learning)되어야 한다. 따라서 멀티모달 딥러닝 모델은 여러 모델이 복합되며 규모가 커지는 것을 피할 수 없고 트레이닝 시간 또한 오래 걸리게 된다. 기존의 멀티모달 딥러닝 트레이닝은 복합된 모델을 순차적으로 실행함으로써 동시에 발생한 사건들을 병렬적으로 처리할 수 없고, 결국 총 트레이닝 시간이 많이 걸리게 된다.Data input from each modality requires a different representation, different alignment, and different types of processing, and the analysis results must be comprehensively analyzed (fusion, co-learning) in the final step. Therefore, the multimodal deep learning model is a complex of several models, and it is inevitable to grow in scale, and it takes a long training time. Existing multimodal deep learning training cannot process concurrent events in parallel by sequentially executing complex models, and eventually takes a lot of total training time.
본 발명이 해결하려는 과제는 멀티모달 딥러닝 모델의 트레이닝 시간을 줄일 수 있는 딥러닝 모델의 병렬 트레이닝 방법 및 장치를 제공하는 것이다. The problem to be solved by the present invention is to provide a method and apparatus for parallel training of a deep learning model that can reduce the training time of a multimodal deep learning model.
본 발명의 한 실시 예에 따르면, 스케줄러가 딥러닝 모델을 병렬 트레이닝하는 방법이 제공된다. 딥러닝 모델 병렬 트레이닝 방법은 딥러닝 모델을 복수의 분할 모델로 분할하는 단계, 복수의 분할 모델을 모델 연관성에 따라 병렬 처리할지 순차 처리할지를 스케줄링하여 실행 계획 스크립트를 생성하는 단계, 그리고 실행 계획 스크립트에 따른 각 분할 모델의 스크립트를 각 분할 모델을 트레이닝하는 컴퓨터 노드로 전달하여, 각 컴퓨터 노드에서 스케줄링에 따라 체크포인트 기반으로 해당 스크립트를 실행하도록 하는 단계를 포함한다. According to an embodiment of the present invention, a method for parallel training of a deep learning model by a scheduler is provided. The deep learning model parallel training method includes the steps of dividing the deep learning model into a plurality of partitioned models, scheduling whether to process the plurality of partitioned models in parallel or sequentially according to model relevance to generate an execution plan script, and the execution plan script. And passing the script of each segmentation model according to the method to a computer node that trains each segmentation model, and causing each computer node to execute the script based on a checkpoint according to scheduling.
본 발명의 실시 예에 의하면, 스크립트 기반의 멀티모달 딥러닝 모델의 수동/자동 분할이 가능하고, 분할 모델 실행 계획에 따라 병렬 분산 모델 트레이닝이 가능하며, 분할 모델 트레이닝의 결과가 저장된 체크포인트를 이용하여 분할 모델 간 정보(수정된 파라미터 값)를 공유하며 병렬 트레이닝을 할 수 있다.According to an embodiment of the present invention, manual/automatic segmentation of a script-based multimodal deep learning model is possible, parallel distributed model training is possible according to the segmentation model execution plan, and a checkpoint in which the result of segmentation model training is stored is used. Thus, information (modified parameter values) can be shared between the segmentation models and parallel training can be performed.
이와 같이, 본 발명의 실시 예에 의하면, 각 모달리티 별로 모델을 분할하여 다수의 컴퓨터 노드에서 병렬 트레이닝함으로써 트레이닝의 시간을 줄여 대규모 멀티모달 딥러닝 모델 트레이닝을 빠르게 종료할 수 있다.As described above, according to an embodiment of the present invention, by dividing the model for each modality and training in parallel in a plurality of computer nodes, training time can be shortened and large-scale multimodal deep learning model training can be quickly terminated.
도 1은 본 발명의 실시 예에 따른 딥러닝 모델을 병렬 트레이닝하는 방법을 나타낸 흐름도이다.
도 2는 본 발명의 실시 예에 따른 딥러닝 모델의 병렬 트레이닝을 위한 시스템 구조를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델의 병렬 트레이닝 처리 방법의 일 예를 설명하는 도면이다.
도 4는 도 3에 도시된 실행 계획 스크립트의 일 예를 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델을 수동으로 분할하는 방법의 일 예를 나타낸 도면이다.
도 6은 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델을 자동으로 분할하는 방법의 일 예를 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 딥러닝 모델의 병렬 트레이닝 장치를 나타낸 도면이다.1 is a flowchart illustrating a method of parallel training a deep learning model according to an embodiment of the present invention.
2 is a diagram illustrating a system structure for parallel training of a deep learning model according to an embodiment of the present invention.
3 is a diagram illustrating an example of a parallel training processing method of a multimodal deep learning model according to an embodiment of the present invention.
4 is a diagram illustrating an example of an execution plan script shown in FIG. 3.
5 is a diagram illustrating an example of a method of manually segmenting a multimodal deep learning model according to an embodiment of the present invention.
6 is a diagram illustrating an example of a method of automatically segmenting a multimodal deep learning model according to an embodiment of the present invention.
7 is a diagram illustrating an apparatus for parallel training of a deep learning model according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification and claims, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.
이제 본 발명의 실시 예에 따른 딥러닝 모델의 병렬 트레이닝 방법 및 장치에 대하여 도면을 참고로 하여 상세하게 설명한다.Now, a method and apparatus for parallel training of a deep learning model according to an embodiment of the present invention will be described in detail with reference to the drawings.
도 1은 본 발명의 실시 예에 따른 딥러닝 모델을 병렬 트레이닝하는 방법을 나타낸 흐름도이다.1 is a flowchart illustrating a method of parallel training a deep learning model according to an embodiment of the present invention.
도 1을 참고하면, 스케줄러는 멀티모달 딥러닝 모델을 수동 또는 자동으로 분할한다(S110).Referring to FIG. 1, the scheduler manually or automatically divides the multimodal deep learning model (S110).
스케줄러는 분할한 모델을 병렬 처리할지 순차 처리할지를 스케줄링하여 실행 계획을 생성한다(S120). The scheduler generates an execution plan by scheduling whether to process the divided models in parallel or sequentially (S120).
스케줄러는 실행 계획에 따라 분할 모델들의 트레이닝이 완료되기 전까지, 분할 모델을 실행 계획에 지정된 컴퓨터 노드에 전송한다(S130, S150). The scheduler transmits the partitioned model to the computer node designated in the execution plan until training of the partitioned models is completed according to the execution plan (S130, S150).
분할 모델을 수신한 컴퓨터 노드는 모델 트레이닝을 수행한다(S180). 이때 컴퓨터 노드는 참조할 체크포인트가 있으면(S160), 참조할 체크포인트를 읽어 들여 모델 트레이닝을 수행할 수 있다(S170, S180). 체크포인트는 트레이닝된 모델의 변수 값(variable value)을 저장하는 파일로, 트레이닝하며 수정된 파라미터, 하이퍼 파리미터 값 등을 저장할 수 있다. 이와 같이, 분할 모델들이 트레이닝 결과를 체크포인트에 저장하면, 체크포인트를 통해 다른 모델들과 정보를 공유할 수 있게 된다. The computer node receiving the segmentation model performs model training (S180). At this time, if there is a checkpoint to refer to (S160), the computer node may read the checkpoint to be referred to and perform model training (S170, S180). A checkpoint is a file that stores variable values of the trained model, and can store modified parameters and hyperparameter values during training. In this way, if the segmentation models store the training results in the checkpoint, information can be shared with other models through the checkpoint.
컴퓨터 노드는 할당 받은 분할 모델의 트레이닝이 종료되면 그 결과를 체크포인트에 저장한다(S190). When the training of the allocated segmentation model is completed, the computer node stores the result in the checkpoint (S190).
스케줄러는 분할 모델들의 트레이닝이 모두 완료되지 않았다면(S130), 단계(S140~S190)를 반복한다.The scheduler repeats the steps (S140 to S190) if all the training of the split models has not been completed (S130).
도 2는 본 발명의 실시 예에 따른 딥러닝 모델의 병렬 트레이닝을 위한 시스템 구조를 나타낸 도면이다.2 is a diagram illustrating a system structure for parallel training of a deep learning model according to an embodiment of the present invention.
도 2를 참고하면, 딥러닝 모델의 병렬 트레이닝을 위한 시스템은 복수의 컴퓨터 노드를 포함할 수 있다. 이때 복수의 컴퓨터 노드 중 하나의 컴퓨터 노드에서 멀티모달 딥러닝 모델을 분할하고, 스케줄링하여 실행 계획을 생성하는 스케줄러(100)의 기능을 수행하고, 나머지 컴퓨터 노드에서 실행 계획을 실행한다. Referring to FIG. 2, a system for parallel training of a deep learning model may include a plurality of computer nodes. At this time, one of the plurality of computer nodes divides the multimodal deep learning model, performs the function of the
스케줄러(100)는 멀티모달 딥러닝 모델 프로그램과 입력 데이터의 메타 정보 데이터를 수신하여, 멀티모달 딥러닝 모델을 수동 또는 자동으로 분할하고, 분할 모델들의 실행 순서를 제어하는 실행 계획(11)을 생성한다. 입력 데이터의 메타 정보 데이터는 예를 들면, 데이터 형태, 데이터 개수 등을 포함할 수 있다. 스케줄러(100)는 분할 모델들의 모델 연관성에 따라 어떤 분할 모델들을 병렬 처리할 것인지, 어떤 분할 모델들을 순차 처리할지를 스케줄링하여 실행 계획(11)을 생성할 수 있다. 또한 스케줄러(100)는 분할 모델을 모달리티 별로 구분하여 어떤 분할 모델들을 병렬 처리할 것인지, 어떤 분할 모델들을 순차 처리할지를 스케줄링하여 실행 계획(11)을 생성할 수 있다. The
실행 계획(11)을 실행하는 컴퓨터 노드들은 각각 실행 계획을 받아 실행 쓰레드를 생성시키는 제어기(controller)(210)와 제어기(210)에 의해 생성되어 실행 계획대로 분할 모델을 트레이닝하는 작동기(worker)(220)로 구성된다. The computer nodes executing the
멀티모달 딥러닝 모델을 분할하여 트레이닝하는 일 예로서, 도 2의 멀티모달 딥러닝 모델이 분할 모델 1, 분할 모델 2, …, 분할 모델 K로 분할된 경우, 스케줄러(100)는 분할 모델 1 내지 분할 모델 (K-1)을 각기 다른 컴퓨터 노드에서 병렬 처리하고, 최종 판단 단계(Decision Fusion)를 수행하는 분할 모델 K에서 각 분할 모델의 트레이닝 결과를 모은 후 순차처리 되도록 실행 계획(11)을 생성할 수 있다. As an example of dividing and training a multimodal deep learning model, the multimodal deep learning model of FIG. 2 is divided into 1, 2, ... , In the case of division into division model K, the
예를 들어, K=4라고 가정하고, 컴퓨터 노드 #1이 스케줄러(100)의 기능을 수행하는 것으로 가정하면, 스케줄러(10)는 실행 계획(11)에 따라 분할 모델(12, 13, 14, 15)의 스크립트를 각각 컴퓨터 노드 #2~컴퓨터 노드 #5에 전송하여 해당 분할 모델(12, 13, 14, 15)이 트레이닝 하도록 한다. 분할 모델 1(12)은 컴퓨터 노드 #2에서 트레이닝하고, 분할 모델 2(13)는 컴퓨터 노드 #3에서 트레이닝하고, 분할 모델 3(14)은 컴퓨터 노드 #4에서 트레이닝하는데, 이들의 트레이닝 결과는 체크포인트(300)에 저장되고, 필요 시 이를 읽어 온다. 다음, 트레이닝 결과를 종합적으로 분석하는 마지막 분할 모델 4(15)는 컴퓨터 노드 #5에서 트레이닝한다. 컴퓨터 노드 #5에서는 각 분할 모델들(12, 13, 14)이 저장한 체크포인트(300)의 파일을 읽어 트레이닝 결과를 종합(fusion)하고 결과를 도출한다. 컴퓨터 노드 #5는 최종 결과를 도출한 후 체크포인트(300)에 저장하고, 스케줄러(100)에 보낸다.For example, assuming that K=4, and assuming that
스케줄러(100)는 트레이닝 완료 조건을 검사하여 결과에 따라 트레이닝을 종료하거나 트레이닝을 반복 수행할 수 있다. 여기서, 트레이닝 완료 조건은 예를 들면, 트레이닝 반복 수를 의미할 수 있고, 다른 조건을 포함할 수 있다. The
도 3은 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델의 병렬 트레이닝 처리 방법의 일 예를 설명하는 도면이고, 도 4는 도 3에 도시된 실행 계획 스크립트의 일 예를 나타낸 도면이다. FIG. 3 is a diagram illustrating an example of a parallel training processing method of a multimodal deep learning model according to an embodiment of the present invention, and FIG. 4 is a diagram illustrating an example of an execution plan script shown in FIG. 3.
도 3을 참고하면, 멀티모달 딥러닝 모델이 모델 1, 모델 2, 모델 3 및 모델 4로 분할되는 경우, 스케줄러(100)는 멀티모달 딥러닝 모델로부터 모델 스크립트(12, 13, 14, 15)로 전체 모델 트레이닝을 위한 실행 계획 스크립트(20)를 생성한다. 도 3에서는 실행 계획 스크립트(20)의 일 예로, 모델 1, 모델 2, 모델 3은 병렬 처리 가능하고("Parallel"), 모델 4는 모델 1, 모델 2, 모델 3의 결과를 모두 통합하여("Join") 트레이닝 하기 위해 모델 1, 모델 2, 모델 3의 트레이닝을 완료하고, 이후에 순차적으로 처리해야 하는 것("Sequential")으로 도시하였다. Referring to FIG. 3, when the multimodal deep learning model is divided into
도 4를 참고하여 실행 계획 스크립트(20)를 자세하게 살펴보면, 각 분할 모델 스크립트(12, 13, 14, 15)가 웹 프레임워크를 통해 전달된다고 가정할 때, "working_url"에 트레이닝을 실행할 컴퓨터 노드에 대한 웹 url이 지정되고, "model"에 해당 분할 모델의 소스 프로그램 또는 실행 프로그램이 지정된다. "data_path"에는 이 모델이 트레이닝 할 데이터의 위치가 지정되고, "working_path"에는 모델이 실제로 트레이닝 될 워킹 디렉토리가 지정된다. "next_to"에는 다음으로 전달해야 할 주소(도 3의 경우, join될 주소)가 지정된다. Looking at the
이와 같이, 스케줄러(100)는 병렬 처리가 가능한 모델들은 "Parallel'로 묶고, 순차 처리를 해야만 하는 모델들은 "Sequential'로 묶고, 결과를 모아서 처리해야 하는 모델들은 "Join"으로 은 후, 분할 모델 별로 트레이닝 할 컴퓨터 노드, 데이터 저장위치, 워킹 디렉토리, 모델 프로그램 등 필요한 정보를 스크립트로 지정함으로써, 분할 모델을 모달리티 별로 구분하여 실행 계획(20)을 생성할 수 있다. As described above, the
다시, 도 3을 보면, 스케줄러(100)에 의해 분배된 모델 스크립트(12, 13, 14)를 전달 받은 컴퓨터 노드 #2 내지 컴퓨터 노드 #4의 제어기(210)는 각각 해당 모델 스크립트(12, 13, 14)를 해석하여 트레이닝을 실행하고 체크포인트(300)를 저장한다. Again, referring to FIG. 3, the
다음, 모델 1, 모델 2, 모델 3의 결과를 모두 통합하여 처리하는 컴퓨터 노드의 제어기(210)는 스케줄러(100)에 의해 전달 받은 모델 스트립트(15)를 해석하여 각 모델 스크립트(12, 13, 14)가 저장한 체크포인트(300)의 파일을 읽어 트레이닝 결과를 종합(fusion)하고 최종 결과를 도출한다. Next, the
도 5는 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델을 수동으로 분할하는 방법의 일 예를 나타낸 도면이다. 5 is a diagram illustrating an example of a method of manually segmenting a multimodal deep learning model according to an embodiment of the present invention.
도 5를 참고하면, 멀티모달 딥러닝 모델을 그래픽 모델로 생성하는 경우, 멀티모달 딥러닝 모델은 모델을 구성하는 레이어 컴포넌트들(201)의 연결로 구성할 수 있다. 입력 레이어부터 시작하여 출력 레이어까지 레이어 컴포넌트들(201)은 서로 출력과 입력으로 연결되어 있다. 여기서 레이어 컴포넌트들(201) 간에 출력과 입력으로 연결되지 않은 독립적인 레이어 그룹(202, 203)이 발견될 수 있다. 독립적인 레이어 그룹(202, 203)이 수동으로 발견된 경우, 해당 레이어 컴포넌트들을 그룹으로 묶어'Save As a Partial Model"로 저장하고, 이들 각각이 분할 모델이 될 수 있다. Referring to FIG. 5, when a multimodal deep learning model is generated as a graphic model, the multimodal deep learning model may be configured by connecting
이와 같이, 멀티모달 딥러닝 모델을 수동으로 분할하는 방법은 그래픽 컴포넌트로 표현된 멀티모달 딥러닝 모델간 연결성을 파악하여 연결성이 없거나 연결성이 낮은 경우 이를 분할하여 다른 모델로 저장하는 것이다. 즉, 스케줄러(100)는 그래픽 컴포넌트로 표현된 멀티모달 딥러닝 모델간 연결성을 통해 모델을 분할할 수 있다. In this way, a method of manually segmenting a multimodal deep learning model is to grasp the connectivity between multimodal deep learning models expressed as graphic components, and if there is no connectivity or low connectivity, it is segmented and stored as another model. That is, the
도 6은 본 발명의 실시 예에 따른 멀티모달 딥러닝 모델을 자동으로 분할하는 방법의 일 예를 나타낸 도면이다.6 is a diagram illustrating an example of a method of automatically segmenting a multimodal deep learning model according to an embodiment of the present invention.
도 6을 참고하면, 모델을 기술하는 특정 스크립트로 멀티모달 딥러닝 모델을 저장할 수 있다면, 스케줄러(100)는 모델 스크립트를 입력으로 레이어간 입출력 관계(302. 301)를 분석할 수 있다. 레이어간 입출력 관계(302. 301)를 분석하면, 연결되지 않은 레이어를 발견할 수 있고, 이를 두 부류의 모델로 나누어 저장함으로써 멀티모달 딥러닝 모델을 복수의 모델로 분할할 수 있다.Referring to FIG. 6, if the multimodal deep learning model can be stored as a specific script describing the model, the
이와 같이, 멀티모달 딥러닝 모델을 자동으로 분할하는 방법은 멀티모달 딥러닝 모델을 스크립트로 생성하여 모달리티 모델 간 연결성을 분석하여 연결성이 없거나 낮은 경우 이를 다른 모델로 저장하는 것이다. In this way, a method of automatically segmenting a multimodal deep learning model is to generate a multimodal deep learning model as a script, analyze the connectivity between modality models, and save it as another model if there is no or low connectivity.
도 7은 본 발명의 실시 예에 따른 딥러닝 모델의 병렬 트레이닝 장치를 나타낸 도면이다.7 is a diagram showing a parallel training apparatus for a deep learning model according to an embodiment of the present invention.
도 7을 참고하면, 딥러닝 모델의 병렬 트레이닝 장치(700)는 프로세서(710), 메모리(720), 저장 장치(730) 및 입출력(input/output, I/O) 인터페이스(740)를 포함한다. 딥러닝 모델의 병렬 트레이닝 장치(700)는 스케줄러(100)가 있는 컴퓨터 노드를 의미할 수도 있고, 분할 모델을 실행하는 컴퓨터 노드를 의미할 수도 있다. Referring to FIG. 7, the deep learning model
프로세서(710)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있다.The
메모리(720)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. The
저장 장치(730)는 하드 디스크(hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blu-ray) 디스크 등의 광학 디스크, 플래시 메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장 장치로 구현될 수 있다. The
I/O 인터페이스(740)는 프로세서(710) 및/또는 메모리(720)가 저장 장치(730)에 접근할 수 있도록 한다. 또한 I/O 인터페이스(740)는 외부와 인터페이스를 제공할 수 있다. The I/
프로세서(710)는 도 1 내지 도 6에서 설명한 스케줄러(100)의 기능을 수행할 수 있으며, 스케줄러(100)의 기능을 구현하기 위한 프로그램 명령을 메모리(720)에 로드시켜, 도 1 내지 도 6을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. 또한 프로세서(710)는 도 1 내지 도 6에서 설명한 제어기(210) 및 작동기(220)의 기능을 수행할 수 있으며, 제어기(210) 및 작동기(220)의 기능을 구현하기 위한 프로그램 명령을 메모리(720)에 로드시켜, 도 1 내지 도 6을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다.The
그리고 이러한 프로그램 명령은 저장 장치(730)에 저장되어 있을 수 있으며, 또는 네트워크로 연결되어 있는 다른 시스템에 저장되어 있을 수 있다. In addition, such a program command may be stored in the
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (1)
딥러닝 모델을 복수의 분할 모델로 분할하는 단계,
복수의 분할 모델을 모델 연관성에 따라 병렬 처리할지 순차 처리할지를 스케줄링하여 실행 계획 스크립트를 생성하는 단계, 그리고
실행 계획 스크립트에 따른 각 분할 모델의 스크립트를 각 분할 모델을 트레이닝하는 컴퓨터 노드로 전달하여, 각 컴퓨터 노드에서 스케줄링에 따라 체크포인트 기반으로 해당 스크립트를 실행하도록 하는 단계
를 포함하는 딥러닝 모델 병렬 트레이닝 방법. As a method for the scheduler to train deep learning models in parallel,
Dividing the deep learning model into a plurality of segmented models,
Generating an execution plan script by scheduling whether to process multiple split models in parallel or sequentially according to model association, and
The step of passing the script of each segmentation model according to the execution plan script to the computer node training each segmentation model so that each computer node executes the script based on a checkpoint according to scheduling.
Deep learning model parallel training method comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190072129A KR20200144296A (en) | 2019-06-18 | 2019-06-18 | Method and apparatus for parallel training of deep learning model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190072129A KR20200144296A (en) | 2019-06-18 | 2019-06-18 | Method and apparatus for parallel training of deep learning model |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200144296A true KR20200144296A (en) | 2020-12-29 |
Family
ID=74090309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190072129A KR20200144296A (en) | 2019-06-18 | 2019-06-18 | Method and apparatus for parallel training of deep learning model |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200144296A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114898155A (en) * | 2022-05-18 | 2022-08-12 | 平安科技(深圳)有限公司 | Vehicle damage assessment method, device, equipment and storage medium |
CN114911596A (en) * | 2022-05-16 | 2022-08-16 | 北京百度网讯科技有限公司 | Scheduling method and device for model training, electronic equipment and storage medium |
-
2019
- 2019-06-18 KR KR1020190072129A patent/KR20200144296A/en unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911596A (en) * | 2022-05-16 | 2022-08-16 | 北京百度网讯科技有限公司 | Scheduling method and device for model training, electronic equipment and storage medium |
CN114898155A (en) * | 2022-05-18 | 2022-08-12 | 平安科技(深圳)有限公司 | Vehicle damage assessment method, device, equipment and storage medium |
CN114898155B (en) * | 2022-05-18 | 2024-05-28 | 平安科技(深圳)有限公司 | Vehicle damage assessment method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893364B2 (en) | Accelerating application modernization | |
CN111694741B (en) | Test case design method based on path depth coverage | |
US20200401503A1 (en) | System and Method for Testing Artificial Intelligence Systems | |
US20120209557A1 (en) | Methods, apparatus and articles of manufacture to test batch configurations | |
US10678980B2 (en) | Combination map based composite design | |
US20160350450A1 (en) | Combination map based composite design | |
Krupitzer et al. | FESAS IDE: An integrated development environment for autonomic computing | |
CN113168564A (en) | Method and system for generating artificial intelligence model | |
Shams | Developing machine learning products better and faster at startups | |
KR20200144296A (en) | Method and apparatus for parallel training of deep learning model | |
CN107579851A (en) | The method and apparatus for determining the execution sequence of resource layout template | |
CN113535399A (en) | NFV resource scheduling method, device and system | |
KR20210058171A (en) | Automated deep learning studio for simplifying stock predictive deep learning models and parameter optimization | |
Mahouachi | Search-based cost-effective software remodularization | |
Mandel et al. | A model-based systems engineering approach to support continuous validation in PGE-product generation engineering | |
WO2022134001A1 (en) | Machine learning model framework development method and system based on containerization technology | |
Silverthorn et al. | Surviving solver sensitivity: An ASP practitioner’s guide | |
CN112765014A (en) | Automatic test system for multi-user simultaneous operation and working method | |
Devi et al. | Enhanced K-means clustering algorithm for feasibility assessment of ACC | |
Wittenberg et al. | User Transparency of Artificial Intelligence and Digital Twins in Production–Research on Lead Applications and the Transfer to Industry | |
CN114254764B (en) | Feedback-based machine learning model searching method, system, equipment and medium | |
Dagnino et al. | MAP: Design, Development, Deployment, and Maintenance of Industrie 4.0 AI Applications | |
KR102591312B1 (en) | Apparatus and Method for Converting Neural Network | |
KR102663594B1 (en) | Question-based no-code ai standard model solution system | |
US20220083905A1 (en) | Framework for providing improved predictive model |