KR20200144296A - Method and apparatus for parallel training of deep learning model - Google Patents

Method and apparatus for parallel training of deep learning model Download PDF

Info

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
Application number
KR1020190072129A
Other languages
Korean (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 KR1020190072129A priority Critical patent/KR20200144296A/en
Publication of KR20200144296A publication Critical patent/KR20200144296A/en

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

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

A scheduler for parallel training of a deep learning model divides the deep learning model into a plurality of divided models, generates an execution planning script by scheduling whether to process the plurality of divided models in parallel or in order according to the model association, and transmits a script of each divided model according to the execution planning script to a computer node training each divided model to execute the script based on checkpoint according to the scheduling in each computer node.

Description

딥러닝 모델의 병렬 트레이닝 방법 및 장치{METHOD AND APPARATUS FOR PARALLEL TRAINING OF DEEP LEARNING MODEL}Deep learning model parallel training method and apparatus {METHOD AND APPARATUS FOR PARALLEL TRAINING OF DEEP LEARNING MODEL}

본 발명은 딥러닝 모델의 병렬 트레이닝 방법 및 장치에 관한 것으로, 특히 멀티모달을 복합적으로 처리해야 하는 딥러닝 모델 트레이닝에서 모델을 분할하여 병렬 처리하는 딥러닝 모델의 병렬 트레이닝 방법 및 장치에 관한 것이다. 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 scheduler 100 to generate an execution plan by scheduling, and executes the execution plan in the remaining computer nodes.

스케줄러(100)는 멀티모달 딥러닝 모델 프로그램과 입력 데이터의 메타 정보 데이터를 수신하여, 멀티모달 딥러닝 모델을 수동 또는 자동으로 분할하고, 분할 모델들의 실행 순서를 제어하는 실행 계획(11)을 생성한다. 입력 데이터의 메타 정보 데이터는 예를 들면, 데이터 형태, 데이터 개수 등을 포함할 수 있다. 스케줄러(100)는 분할 모델들의 모델 연관성에 따라 어떤 분할 모델들을 병렬 처리할 것인지, 어떤 분할 모델들을 순차 처리할지를 스케줄링하여 실행 계획(11)을 생성할 수 있다. 또한 스케줄러(100)는 분할 모델을 모달리티 별로 구분하여 어떤 분할 모델들을 병렬 처리할 것인지, 어떤 분할 모델들을 순차 처리할지를 스케줄링하여 실행 계획(11)을 생성할 수 있다. The scheduler 100 receives the multimodal deep learning model program and meta information data of the input data, divides the multimodal deep learning model manually or automatically, and generates an execution plan 11 that controls the execution order of the divided models. do. Meta information data of the input data may include, for example, a data type and a number of data. The scheduler 100 may generate an execution plan 11 by scheduling which partitioned models are to be processed in parallel and which partitioned models are sequentially processed according to model association of the partitioned models. In addition, the scheduler 100 may generate an execution plan 11 by dividing the partitioning model by modality and scheduling which partitioning models are to be processed in parallel and which partitioning models are sequentially processed.

실행 계획(11)을 실행하는 컴퓨터 노드들은 각각 실행 계획을 받아 실행 쓰레드를 생성시키는 제어기(controller)(210)와 제어기(210)에 의해 생성되어 실행 계획대로 분할 모델을 트레이닝하는 작동기(worker)(220)로 구성된다. The computer nodes executing the execution plan 11 are generated by the controller 210 and the controller 210, which respectively receive the execution plan and generate an execution thread, and train the partition model according to the execution plan ( 220).

멀티모달 딥러닝 모델을 분할하여 트레이닝하는 일 예로서, 도 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 scheduler 100 processes division model 1 to division model (K-1) in parallel at different computer nodes, and performs the final decision fusion in each division model K. After collecting the training results of the segmentation model, an execution plan 11 may be generated to be sequentially processed.

예를 들어, 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 computer node #1 performs the function of the scheduler 100, the scheduler 10 is divided into models 12, 13, 14, and The script of 15) is transmitted to computer node #2 to computer node #5, respectively, so that the corresponding partitioning model (12, 13, 14, 15) is trained. Partition model 1(12) trains at computer node #2, partition model 2(13) trains at computer node #3, and partition model 3(14) trains at computer node #4, and their training results are It is stored in the checkpoint 300, and reads it when necessary. Next, the final segmentation model 4(15), which comprehensively analyzes the training result, is trained at computer node #5. Computer node #5 reads the file of the checkpoint 300 stored by each of the segmentation models 12, 13, and 14 to synthesize the training result and derive the result. Computer node #5 derives the final result, stores it in the checkpoint 300, and sends it to the scheduler 100.

스케줄러(100)는 트레이닝 완료 조건을 검사하여 결과에 따라 트레이닝을 종료하거나 트레이닝을 반복 수행할 수 있다. 여기서, 트레이닝 완료 조건은 예를 들면, 트레이닝 반복 수를 의미할 수 있고, 다른 조건을 포함할 수 있다. The scheduler 100 may end training or repeatedly perform training according to a result of checking the training completion condition. Here, the training completion condition may mean, for example, the number of training repetitions, and may include other conditions.

도 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 model 1, model 2, model 3, and model 4, the scheduler 100 uses model scripts 12, 13, 14, 15 from the multimodal deep learning model. It generates an execution plan script 20 for training the entire model. In FIG. 3, as an example of the execution plan script 20, model 1, model 2, and model 3 can be processed in parallel ("Parallel"), and model 4 integrates all the results of model 1, model 2, and model 3 ( "Join") After completing the training of Model 1, Model 2, and Model 3 in order to train, it is shown as what should be processed sequentially ("Sequential").

도 4를 참고하여 실행 계획 스크립트(20)를 자세하게 살펴보면, 각 분할 모델 스크립트(12, 13, 14, 15)가 웹 프레임워크를 통해 전달된다고 가정할 때, "working_url"에 트레이닝을 실행할 컴퓨터 노드에 대한 웹 url이 지정되고, "model"에 해당 분할 모델의 소스 프로그램 또는 실행 프로그램이 지정된다. "data_path"에는 이 모델이 트레이닝 할 데이터의 위치가 지정되고, "working_path"에는 모델이 실제로 트레이닝 될 워킹 디렉토리가 지정된다. "next_to"에는 다음으로 전달해야 할 주소(도 3의 경우, join될 주소)가 지정된다. Looking at the execution plan script 20 in detail with reference to FIG. 4, assuming that each segmentation model script 12, 13, 14, 15 is delivered through a web framework, "working_url" is assigned to a computer node to execute training. The web url is designated, and the source program or execution program of the partition model is designated in "model". In "data_path", the location of the data to be trained by this model is designated, and in "working_path", the working directory where the model is actually trained is designated. In "next_to", an address to be transferred next (in the case of FIG. 3, an address to be joined) is designated.

이와 같이, 스케줄러(100)는 병렬 처리가 가능한 모델들은 "Parallel'로 묶고, 순차 처리를 해야만 하는 모델들은 "Sequential'로 묶고, 결과를 모아서 처리해야 하는 모델들은 "Join"으로 은 후, 분할 모델 별로 트레이닝 할 컴퓨터 노드, 데이터 저장위치, 워킹 디렉토리, 모델 프로그램 등 필요한 정보를 스크립트로 지정함으로써, 분할 모델을 모달리티 별로 구분하여 실행 계획(20)을 생성할 수 있다. As described above, the scheduler 100 binds models capable of parallel processing in "Parallel", groups models that must be sequentially processed in "Sequential", and collects and processes the results as "Join", and then divides models. By designating necessary information such as a computer node to be trained for each, a data storage location, a working directory, a model program, etc. as a script, the execution plan 20 can be generated by dividing the divided model by modality.

다시, 도 3을 보면, 스케줄러(100)에 의해 분배된 모델 스크립트(12, 13, 14)를 전달 받은 컴퓨터 노드 #2 내지 컴퓨터 노드 #4의 제어기(210)는 각각 해당 모델 스크립트(12, 13, 14)를 해석하여 트레이닝을 실행하고 체크포인트(300)를 저장한다. Again, referring to FIG. 3, the controller 210 of the computer node #2 to the computer node #4, which received the model scripts 12, 13, and 14 distributed by the scheduler 100, respectively, the corresponding model scripts 12 and 13 , 14) is analyzed to execute the training and the checkpoint 300 is stored.

다음, 모델 1, 모델 2, 모델 3의 결과를 모두 통합하여 처리하는 컴퓨터 노드의 제어기(210)는 스케줄러(100)에 의해 전달 받은 모델 스트립트(15)를 해석하여 각 모델 스크립트(12, 13, 14)가 저장한 체크포인트(300)의 파일을 읽어 트레이닝 결과를 종합(fusion)하고 최종 결과를 도출한다. Next, the controller 210 of the computer node that integrates and processes the results of Model 1, Model 2, and Model 3 analyzes the model script 15 received by the scheduler 100, and analyzes the model scripts 12, 13, and The file of the checkpoint 300 stored by 14) is read, the training result is fused, and the final result is derived.

도 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 layer components 201 constituting the model. The layer components 201 are connected to each other through output and input from the input layer to the output layer. Here, independent layer groups 202 and 203 that are not connected between the layer components 201 through outputs and inputs may be found. When the independent layer groups 202 and 203 are manually discovered, corresponding layer components are grouped and stored as “Save As a Partial Model”, and each of them may be a division model.

이와 같이, 멀티모달 딥러닝 모델을 수동으로 분할하는 방법은 그래픽 컴포넌트로 표현된 멀티모달 딥러닝 모델간 연결성을 파악하여 연결성이 없거나 연결성이 낮은 경우 이를 분할하여 다른 모델로 저장하는 것이다. 즉, 스케줄러(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 scheduler 100 may divide the model through connectivity between multimodal deep learning models expressed as graphic components.

도 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 scheduler 100 can analyze the input/output relationship (302.301) between layers by inputting the model script. By analyzing the inter-layer input/output relationship (302.301), unconnected layers can be found, and the multimodal deep learning model can be divided into a plurality of models by dividing and storing them into two classes of models.

이와 같이, 멀티모달 딥러닝 모델을 자동으로 분할하는 방법은 멀티모달 딥러닝 모델을 스크립트로 생성하여 모달리티 모델 간 연결성을 분석하여 연결성이 없거나 낮은 경우 이를 다른 모델로 저장하는 것이다. 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 parallel training apparatus 700 includes a processor 710, a memory 720, a storage device 730, and an input/output (I/O) interface 740. . The parallel training apparatus 700 of the deep learning model may mean a computer node with the scheduler 100 or a computer node that executes a partitioned model.

프로세서(710)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있다.The processor 710 may be implemented as a central processing unit (CPU), other chipset, or a microprocessor.

메모리(720)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. The memory 720 is a medium such as RAM, such as dynamic random access memory (DRAM), rambus DRAM (RDRAM), synchronous DRAM (SDRAM), and static RAM (SRAM). Can be implemented as

저장 장치(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 storage device 730 includes a hard disk, compact disk read only memory (CD-ROM), CD rewritable (CD-RW), digital video disk ROM (DVD-ROM), DVD-RAM, and DVD-RW disk. , An optical disk such as a blu-ray disk, a flash memory, and a permanent or volatile storage device such as various types of RAM.

I/O 인터페이스(740)는 프로세서(710) 및/또는 메모리(720)가 저장 장치(730)에 접근할 수 있도록 한다. 또한 I/O 인터페이스(740)는 외부와 인터페이스를 제공할 수 있다. The I/O interface 740 allows the processor 710 and/or the memory 720 to access the storage device 730. In addition, the I/O interface 740 may provide an external interface.

프로세서(710)는 도 1 내지 도 6에서 설명한 스케줄러(100)의 기능을 수행할 수 있으며, 스케줄러(100)의 기능을 구현하기 위한 프로그램 명령을 메모리(720)에 로드시켜, 도 1 내지 도 6을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. 또한 프로세서(710)는 도 1 내지 도 6에서 설명한 제어기(210) 및 작동기(220)의 기능을 수행할 수 있으며, 제어기(210) 및 작동기(220)의 기능을 구현하기 위한 프로그램 명령을 메모리(720)에 로드시켜, 도 1 내지 도 6을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다.The processor 710 may perform the functions of the scheduler 100 described in FIGS. 1 to 6, and loads program instructions for implementing the functions of the scheduler 100 into the memory 720, and thus FIGS. 1 to 6 The operation described with reference to can be controlled to be performed. In addition, the processor 710 may perform the functions of the controller 210 and the actuator 220 described in FIGS. 1 to 6, and store program instructions for implementing the functions of the controller 210 and the actuator 220. 720), the operation described with reference to FIGS. 1 to 6 can be controlled to be performed.

그리고 이러한 프로그램 명령은 저장 장치(730)에 저장되어 있을 수 있으며, 또는 네트워크로 연결되어 있는 다른 시스템에 저장되어 있을 수 있다. In addition, such a program command may be stored in the storage device 730 or may be stored in another system connected through a network.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. 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.
KR1020190072129A 2019-06-18 2019-06-18 Method and apparatus for parallel training of deep learning model KR20200144296A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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