KR20190062778A - Method for dynamic neural network learning and apparatus for the same - Google Patents
Method for dynamic neural network learning and apparatus for the same Download PDFInfo
- Publication number
- KR20190062778A KR20190062778A KR1020170161312A KR20170161312A KR20190062778A KR 20190062778 A KR20190062778 A KR 20190062778A KR 1020170161312 A KR1020170161312 A KR 1020170161312A KR 20170161312 A KR20170161312 A KR 20170161312A KR 20190062778 A KR20190062778 A KR 20190062778A
- Authority
- KR
- South Korea
- Prior art keywords
- learning task
- processing element
- learning
- task
- neural network
- 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
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)
- Image Analysis (AREA)
Abstract
Description
본 발명은 동적 신경망 학습 기술에 관한 것으로, 보다 상세하게는, 복수의 프로세싱 엘리먼트들을 통해 동적 신경망 학습을 수행할 수 있는 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치에 관한 것이다.The present invention relates to a dynamic neural network learning technique, and more particularly, to a dynamic neural network learning method capable of performing dynamic neural network learning through a plurality of processing elements and a dynamic neural network learning apparatus for performing the dynamic neural network learning method.
딥러닝(Deep Learning)은 컴퓨터가 여러 데이터를 이용해 마치 사람처럼 스스로 학습할 수 있게 하기 위해 인공 신경망(ANN, Artificial Neural Network)을 기반으로 한 기계 학습 기술이다. 최근 병렬 알고리즘을 광범위하게 실행하고 개선하여 컴퓨터 성능을 향상시킴으로써 음성 인식, 컴퓨터 비전, 자연 언어 처리 및 추천 시스템과 같은 다양한 분야에서 응용 프로그램 시나리오를 확장하는데 필요한 심층 학습을 수행한다.Deep Learning is a machine learning technology based on Artificial Neural Network (ANN), which enables a computer to learn as many people as they can using various data. Recent parallel algorithms have been extensively implemented and refined to improve computer performance to perform in-depth learning necessary to extend application scenarios in diverse areas such as speech recognition, computer vision, natural language processing, and recommendation systems.
딥러닝(Deep Learning)은 많은 연산 자원을 필요로 하여 GPU(Graphics Processing Unit)를 활용한 시스템이 널리 사용되고 있는데, 이는 클라우드 컴퓨팅 자원 중 사용 가능한 자원의 수를 제한하고 있는 문제점이 있다.Deep Learning requires a lot of computing resources, and a system utilizing a GPU (Graphics Processing Unit) is widely used, which limits the number of available resources among cloud computing resources.
한국공개특허 제10-2015-0096286호는 유휴 컴퓨터를 활용한 클라우드 대용량 데이터 분석 방법에 관한 것으로, 특정 에이전트 응용 프로그램이 설치된 사용자 개인 컴퓨터에게 네트워크를 통해 클라우드로부터 작업 명령을 받고, 그 작업을 수행한 이후에 그 결과를 다시 네트워크로 되돌리는 기술을 개시한다.Korean Patent Laid-Open No. 10-2015-0096286 relates to a cloud mass data analysis method using an idle computer. In this method, a user's personal computer installed with a specific agent application program receives a work command from the cloud through the network, And then returning the results back to the network.
한국공개특허 제10-2016-0146948호는 가상화 환경에서의 지능형 GPU 스케줄링에 관한 것으로, 상이한 가상 머신들로부터 GPU 커맨드들을 수신하고, 스케줄링 정책을 동적으로 선택하며 GPU에 의한 처리를 위해 GPU 커맨드들을 스케줄링하는 기술을 개시한다.Korean Patent Publication No. 10-2016-0146948 relates to intelligent GPU scheduling in a virtualized environment in which GPU commands are received from different virtual machines, the scheduling policy is dynamically selected, and GPU commands are scheduled for processing by the GPU .
본 발명의 일 실시예는 복수의 프로세싱 엘리먼트들을 통해 동적 신경망 학습을 수행할 수 있는 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치를 제공하고자 한다.An embodiment of the present invention is to provide a dynamic neural network learning method capable of performing dynamic neural network learning through a plurality of processing elements and a dynamic neural network learning apparatus performing the dynamic neural network learning method.
본 발명의 일 실시예는 학습 태스크에 체크포인트를 설정할 수 있고, 설정된 체크포인트를 통해 학습 태스크의 산출물을 저장하여 비정상 이벤트가 발생하면 학습 태스크를 이동시킬 수 있는 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치를 제공하고자 한다.One embodiment of the present invention is a dynamic neural network learning method capable of setting a check point in a learning task and storing an output of a learning task through a set checkpoint and moving a learning task when an abnormal event occurs, And to provide a neural network learning apparatus.
본 발명의 일 실시예는 복수의 프로세싱 엘리먼트들 간의 협업을 통해 학습 태스크를 마이그레이션하여 해당 학습 태스크를 계속적으로 수행할 수 있는 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치를 제공하고자 한다.An embodiment of the present invention is to provide a dynamic neural network learning method capable of continuously performing a learning task by migrating a learning task through collaboration among a plurality of processing elements, and a dynamic neural network learning apparatus performing the dynamic neural network learning method.
본 발명의 일 실시예는 복수의 프로세싱 엘리먼트들 각각의 비용 히스토리를 분석하여 낮은 비용의 프로세싱 엘리먼트를 검색할 수 있는 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치를 제공하고자 한다.An embodiment of the present invention is to provide a dynamic neural network learning method capable of analyzing a cost history of each of a plurality of processing elements to search for a low-cost processing element, and a dynamic neural network learning apparatus performing the dynamic neural network learning method.
실시예들 중에서, 동적 신경망 학습 방법은 복수의 프로세싱 엘리먼트들과 연결된 동적 신경망 학습 장치에서 수행된다. 상기 방법은 (a) 제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오는 단계, (b) 상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하는 단계 및 (c) 상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행하는 단계를 포함한다.Among the embodiments, the dynamic neural network learning method is performed in a dynamic neural network learning apparatus connected to a plurality of processing elements. Said method comprising the steps of: (a) establishing a checkpoint for a learning task being performed via a first processing element to obtain an output of said learning task; (b) Retrieving a second processing element that is more cost-effective than the first processing element among the first processing element, and (c) if the search is successfully performed, moving the learning task to the second processing element with the retrieved result of the learning task, . ≪ / RTI >
일 실시예에서, 상기 (a) 단계는 상기 학습 태스크의 실행단위마다 상기 학습 태스크에 상기 체크포인트를 설정하는 단계를 포함할 수 있다.In one embodiment, the step (a) may include setting the check point in the learning task for each execution unit of the learning task.
일 실시예에서, 상기 (a) 단계는 학습 데이터 집합 중 특정 기준으로 결정된 일부의 학습 데이터를 통해 상기 실행단위를 설정하는 단계를 더 포함할 수 있다.In one embodiment, the step (a) may further comprise setting the execution unit through a part of the learning data determined based on a specific criterion in the learning data set.
일 실시예에서, 상기 (a) 단계는 상기 학습 태스크의 산출물을 다른 프로세싱 엘리먼트에 의해 접근 가능한 글로벌 메모리에 저장하는 단계를 포함할 수 있다.In one embodiment, step (a) may comprise storing the output of the learning task in a global memory accessible by other processing elements.
일 실시예에서, 상기 (a) 단계는 상기 저장 과정에서 상기 다른 프로세싱 엘리먼트에 의해 수행될 때 동일한 실행 환경을 제공하기 위해 상기 학습 태스크에 관한 가상 머신 이미지를 생성하여 상기 글로벌 메모리에 저장하는 단계를 더 포함할 수 있다.In one embodiment, the step (a) may include generating a virtual machine image related to the learning task and storing the virtual machine image in the global memory to provide the same execution environment when performed by the other processing element in the storing process .
일 실시예에서, 상기 (b) 단계는 주기적으로 또는 상기 제1 프로세싱 엘리먼트의 비용이 변경될 때 상기 검색을 시작하는 단계를 포함할 수 있다.In one embodiment, step (b) may include periodically or beginning the search when the cost of the first processing element is changed.
일 실시예에서, 상기 (b) 단계는 상기 복수의 프로세싱 엘리먼트들의 비용 히스토리를 분석하여 상기 제2 프로세싱 엘리먼트를 결정하는 단계를 포함할 수 있다.In one embodiment, step (b) may include analyzing the cost history of the plurality of processing elements to determine the second processing element.
일 실시예에서, 상기 (b) 단계는 상기 학습 태스크와 독립적으로 수행되는 별도의 태스크가 상기 비용 히스토리의 분석을 주기적으로 수행하여 상기 제2 프로세싱 엘리먼트를 추천하도록 하는 단계를 더 포함할 수 있다.In one embodiment, step (b) may further include the step of periodically performing an analysis of the cost history by a separate task, which is performed independently of the learning task, to recommend the second processing element.
일 실시예에서, 상기 (c) 단계는 상기 이동 전에 상기 제2 프로세싱 엘리먼트에 상기 학습 태스크에 관한 가상 머신 이미지로 새로운 학습 태스크를 수행하는 단계를 포함할 수 있다.In one embodiment, step (c) may comprise, before the movement, performing a new learning task on the second processing element with a virtual machine image related to the learning task.
일 실시예에서, 상기 (c) 단계는 상기 새로운 학습 태스크에 가져온 상기 학습 태스크의 산출물을 제공하여 상기 이동을 완료시키는 단계를 더 포함할 수 있다.In one embodiment, the step (c) may further include providing an output of the learning task brought to the new learning task to complete the movement.
실시예들 중에서, 복수의 프로세싱 엘리먼트들과 연결된 동적 신경망 학습 장치는 제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오는 체크포인트 설정부, 상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하는 프로세싱 엘리먼트 검색부 및 상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행하는 작업 이관부를 포함한다.Among the embodiments, a dynamic neural network learning apparatus connected to a plurality of processing elements includes a checkpoint setting unit for setting a checkpoint on a learning task being performed through the first processing element and fetching the output of the learning task, A processing element retrieval unit for retrieving a second processing element that is more cost effective than the first processing element among the plurality of processing elements independently of the execution of the task; 2 < / RTI > processing element and moving the learning task to the second processing element.
일 실시예에서, 상기 체크포인트 설정부는 상기 학습 태스크의 실행단위마다 상기 학습 태스크에 상기 체크포인트를 설정할 수 있다.In one embodiment, the checkpoint setting unit may set the checkpoint in the learning task for each execution unit of the learning task.
일 실시예에서, 상기 체크포인트 설정부는 상기 학습 태스크의 산출물을 다른 프로세싱 엘리먼트에 의해 접근 가능한 글로벌 메모리에 저장할 수 있다.In one embodiment, the checkpoint setting unit may store the output of the learning task in a global memory accessible by other processing elements.
일 실시예에서, 상기 프로세싱 엘리먼트 검색부는 주기적으로 또는 상기 제1 프로세싱 엘리먼트의 비용이 변경될 때 상기 검색을 시작하거나, 또는 상기 복수의 프로세싱 엘리먼트들의 비용 히스토리를 분석하여 상기 제2 프로세싱 엘리먼트를 결정할 수 있다.In one embodiment, the processing element searcher may periodically or initiate the search when the cost of the first processing element is changed, or may analyze the cost history of the plurality of processing elements to determine the second processing element have.
일 실시예에서, 상기 작업 이관부는 상기 이동 전에 상기 제2 프로세싱 엘리먼트에 상기 학습 태스크에 관한 가상 머신 이미지로 새로운 학습 태스크를 수행할 수 있다.In one embodiment, the task transfer unit may perform a new learning task on the second processing element with the virtual machine image related to the learning task before the movement.
실시예들 중에서, 복수의 프로세싱 엘리먼트들과 연결된 동적 신경망 학습 장치는 상기 동적 신경망 학습 장치는 독립된 프로세스들로서 비용 모니터 에이전트, 인스턴스 중재 에이전트 및 인스턴스 추천 에이전트를 실행시키고, 상기 비용 모니터 에이전트는 제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오며, 상기 인스턴스 추천 에이전트는 상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하고, 상기 인스턴스 중재 에이전트는 상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행한다.In embodiments, a dynamic neural network learning apparatus coupled to a plurality of processing elements is configured such that the dynamic neural network learning apparatus executes a cost monitor agent, an instance mediation agent, and an instance recommendation agent as independent processes, Wherein the instance recommendation agent sets a checkpoint for a learning task being performed by the instance recommendation agent to obtain an output of the learning task, wherein the instance recommendation agent is independent of the execution of the learning task from a cost of the first of the plurality of processing elements Retrieves an efficient second processing element, and the instance arbitration agent moves the learning task to the second processing element with the retrieved result of the learning task when the retrieval is successfully performed Perform a lit continuously.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique may have the following effects. It should be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it does not imply that a particular embodiment should include all of the following effects or merely include the following effects.
본 발명의 일 실시예에 따른 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치는 복수의 프로세싱 엘리먼트들을 통해 동적 신경망 학습을 수행할 수 있다.The dynamic neural network learning method and the dynamic neural network learning apparatus performing the dynamic neural network learning method according to an embodiment of the present invention can perform dynamic neural network learning through a plurality of processing elements.
본 발명의 일 실시예에 따른 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치는 학습 태스크에 체크포인트를 설정할 수 있고, 설정된 체크포인트를 통해 학습 태스크의 산출물을 저장하여 비정상 이벤트가 발생하면 학습 태스크를 이동시킬 수 있다.The dynamic neural network learning method and the dynamic neural network learning apparatus according to an embodiment of the present invention can set a check point in a learning task and store the output of a learning task through a set check point, .
본 발명의 일 실시예에 따른 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치는 복수의 프로세싱 엘리먼트들 간의 협업을 통해 학습 태스크를 마이그레이션(즉, 학습 작업 이관)하여 해당 학습 태스크를 계속적으로 수행할 수 있다.The dynamic neural network learning method and the dynamic neural network learning apparatus performing the dynamic neural network learning method according to an embodiment of the present invention may perform the learning task continuously by migrating the learning task through collaboration among the plurality of processing elements .
본 발명의 일 실시예에 따른 동적 신경망 학습 방법 및 이를 수행하는 동적 신경망 학습 장치는 복수의 프로세싱 엘리먼트들 각각의 비용 히스토리를 분석하여 낮은 비용의 프로세싱 엘리먼트를 검색할 수 있다.The dynamic neural network learning method and the dynamic neural network learning apparatus performing the dynamic neural network learning method according to an embodiment of the present invention can analyze the cost history of each of the plurality of processing elements to search low cost processing elements.
도 1은 본 발명의 일 실시예에 따른 동적 신경망 학습 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 동적 신경망 학습 장치를 설명하는 도면이다.
도 3은 도 1에 있는 동적 신경망 학습 장치에서 수행되는 동적 신경망 학습 과정을 설명하는 도면이다.1 is a view for explaining a dynamic neural network learning system according to an embodiment of the present invention.
2 is a view for explaining a dynamic neural network learning apparatus shown in FIG.
3 is a view for explaining a dynamic neural network learning process performed in the dynamic neural network learning apparatus shown in FIG.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다 거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effects.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computer system . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 동적 신경망 학습 시스템을 설명하는 도면이다.1 is a view for explaining a dynamic neural network learning system according to an embodiment of the present invention.
도 1을 참조하면, 동적 신경망 학습 시스템(10)은 복수의 프로세싱 엘리먼트들(100), 동적 신경망 학습 장치(200) 및 글로벌 메모리(300)를 포함하고, 이들은 네트워크를 통해 연결될 수 있다.Referring to FIG. 1, the dynamic neural
복수의 프로세싱 엘리먼트들(100)은 전 세계에 분포되어 있을 수 있고, 제1 프로세싱 엘리먼트(100-1), 제2 프로세싱 엘리먼트(100-2), 제3 프로세싱 엘리먼트(100-3), ... 제N 프로세싱 엘리먼트(100-n)으로 구현될 수 있다. 여기에서, 프로세싱 엘리먼트(Processing Element)이 분포되어 있는 지역은 물리적으로 멀리 떨어져 있는 지리적 영역에 해당할 수 있다. 일 실시예에서, 복수의 프로세싱 엘리먼트들(100)은 유휴 클라우드 컴퓨팅 자원을 포함할 수 있다. 동적 신경망 학습 장치(200)는 프로세싱 엘리먼트의 예기치 못한 비정상 이벤트(예를 들어, 강제 종료 등)가 발생하더라도 전 세계에 분포되어 있는 복수의 프로세싱 엘리먼트들(100)과의 협업을 통해 학습 태스크를 계속적으로 수행할 수 있다.The plurality of
동적 신경망 학습 장치(200)는 복수의 프로세싱 엘리먼트들(100) 및 글로벌 메모리(300)와 연결된 컴퓨팅 장치에 해당할 수 있다. 보다 구체적으로, 동적 신경망 학습 장치(200)는 체크포인트를 이용하여 학습 태스크의 산출물(즉, 학습 태스크의 중간 단계에 대한 산출물을 포함)을 글로벌 메모리(300)에 저장할 수 있고, 이후 다른 프로세싱 엘리먼트가 검색되면 글로벌 메모리(300)에 저장된 학습 태스크를 가져온 후, 다른 프로세싱 엘리먼트에서 해당 학습 태스크를 다시 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 동적 신경망 학습 장치(200)는 수행 중 인 프로세싱 엘리먼트에 비정상 이벤트가 발생되면 해당 학습 태스크를 이동시킬 다른 프로세싱 엘리먼트를 결정하고, 결정된 프로세싱 엘리먼트에서 다시 수행할 수 있도록 해당 학습 태스크를 이동시킬 수 있다.The dynamic neural
일 실시예에서, 동적 신경망 학습 장치(200)는 학습 태스크를 수행하고 있는 프로세싱 엘리먼트의 실행 사항을 체크하여 다른 프로세싱 엘리먼트의 시작 여부를 결정할 수 있고, 학습 태스크에 관한 체크포인트 설정 여부를 확인할 수 있다. 예를 들어, 동적 신경망 학습 장치(200)는 학습 태스크를 수행하고 있는 프로세싱 엘리먼트에 관한 비용 증가, 강제 종료 등을 포함하는 비정상 이벤트와 같은 실행 사항을 체크할 수 있고, 프로세싱 엘리먼트와 다른 프로세싱 엘리먼트 간의 비용을 주기적으로 비교 분석할 수 있다.In one embodiment, the dynamic neural
또한, 동적 신경망 학습 장치(200)는 클라우드 컴퓨팅 환경에서 유휴 자원을 활용하여 낮은 비용에 딥러닝(Deep Learning) 작업을 수행할 수 있고, 예기치 못한 프로세싱 엘리먼트의 비정상 이벤트에 대응할 수 있다. 이하, 동적 신경망 학습 장치(200)와 관련한 보다 상세한 설명은 도 2를 참조하여 설명한다.In addition, the dynamic neural
글로벌 메모리(300)는 동적 신경망 학습 장치(200)와 연결될 수 있고, 복수의 프로세싱 엘리먼트들(100)에 의해 접근 가능할 수 있다. 보다 구체적으로, 글로벌 메모리(300)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 동적 신경망 학습 장치(200)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, 이처럼, 글로벌 메모리(300)는 비휘발성 메모리로 구현될 수 있고, 만일, 비휘발성 메모리로 구현되면 하이퍼링크를 통해 연결되도록 구현될 수 있다.The
일 실시예에서, 글로벌 메모리(300)는 체크포인트를 통한 학습 태스크의 산출물이 저장될 수 있고, 학습 태스크에 관한 가상 머신 이미지(VMI, Virtual Machine Image)가 저장될 수 있다. 또한, 글로벌 메모리(300)에 저장되는 데이터는 반드시 이에 한정하지 않으며 설계자에 의해 변경될 수 있다.In one embodiment, the
도 2는 도 1에 있는 동적 신경망 학습 장치를 설명하는 도면이다.2 is a view for explaining a dynamic neural network learning apparatus shown in FIG.
도 2를 참조하면, 동적 신경망 학습 장치(200)는 체크포인트 설정부(210), 프로세싱 엘리먼트 검색부(220), 작업 이관부(230) 및 제어부(240)를 포함한다.2, the dynamic neural
체크포인트 설정부(210)는 학습 태스크의 산출물을 가져올 수 있다. 보다 구체적으로, 체크포인트 설정부(210)는 제1 프로세싱 엘리먼트(100-1)를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 학습 태스크의 산출물을 가져올 수 있다. 여기에서, 체크포인트(Check Point)는 학습 태스크의 실행 과정의 중간 검사점으로, 해당 중간 검사점의 학습 태스크에 관한 실행 상태를 완전하게 보존하고, 이후에 해당 중간 검사점에서 학습 태스크의 수행을 다시 재개할 수 있도록 한 중간 검사점을 의미한다. 본 발명의 일 실시예에 따른 동적 신경망 학습 장치(200)는 프로세싱 엘리먼트에 관한 예기치 못한 비정상 이벤트(예를 들어, 비용 증가, 강제 종료 등 포함)가 발생되는 경우에는 설정된 체크포인트를 통해 해당 중간 검사점의 학습 태스크의 산출물을 가져올 수 있고, 이후 해당 중간 검사점부터 학습 태스크를 다시 수행할 수 있다.The
체크포인트 설정부(210)는 학습 태스크의 실행단위마다 학습 태스크에 체크포인트를 설정할 수 있다. 보다 구체적으로, 체크포인트 설정부(210)는 학습 태스크의 실행단위마다 학습 태스크의 중간 결과에 대한 체크포인트를 설정할 수 있다. 체크포인트 설정부(210)는 학습 데이터 집합 중 특정 기준으로 결정된 일부의 학습 데이터를 통해 실행단위를 설정할 수 있다. 여기에서, 특정 기준은 설계자에 의해 결정될 수 있다.The
체크포인트 설정부(210)는 학습 태스크의 산출물을 다른 프로세싱 엘리먼트에 의해 접근 가능한 글로벌 메모리(300)에 저장할 수 있다. 여기에서, 다른 프로세싱 엘리먼트는 해당 학습 태스크가 수행되고 있는 제1 프로세싱 엘리먼트(100-1) 이외에 제2 내지 제N 프로세싱 엘리먼트들(100-2, ... 100-n)을 포함할 수 있다. 일 실시예에서, 체크포인트 설정부(210)는 학습 태스크에 관해 체크포인트를 설정하여 해당 학습 태스크의 산출물을 가져온 후, 해당 학습 태스크의 산출물을 글로벌 메모리(300)에 저장할 수 있다.The
체크포인트 설정부(210)는 다른 프로세싱 엘리먼트에 의해 학습 태스크가 수행될 때 동일한 실행 환경을 제공할 수 있다. 체크포인트 설정부(210)는 학습 태스크의 산출물을 글로벌 메모리(300)에 저장하는 과정에서 다른 프로세싱 엘리먼트에 의해 수행될 때 동일한 실행 환경을 제공하기 위해 학습 태스크의 관한 가상 머신 이미지(VMI, Virtual Machine Image)를 생성하여 글로벌 메모리(300)에 저장할 수 있다.The
일 실시예에서, 체크포인트 설정부(210)는 다른 프로세싱 엘리먼트에 의해 수행될 때 동일한 실행환경을 제공하기 위해 Ubuntu 14.04, NVIDIA CUDA SDK 7.5, cuDNN 라이브러리 및 TensorFlow 0.1 등을 사용하여 학습 태스크의 관한 가상 머신 이미지를 생성할 수 있다. 이를 통해, 다른 프로세싱 엘리먼트는 글로벌 메모리(300)에 저장된 가상 머신 이미지를 복사할 수 있고, 복사된 가상 머신 이미지를 통해 학습 태스크를 가져온 후에 동일한 실행 환경에서 해당 학습 태스크를 다시 수행할 수 있다.In one embodiment, the
프로세싱 엘리먼트 검색부(220)는 학습 태스크의 수행에 독립적으로 복수의 프로세싱 엘리먼트들(100) 중 제1 프로세싱 엘리먼트 보다 상대적으로 비용 효율적인 제2 프로세싱 엘리먼트(100-2)를 검색할 수 있다. 프로세싱 엘리먼트 검색부(220)는 학습 태스크의 수행 과정에서 비정상 이벤트(예를 들어, 강제 종료)가 발생하면 해당 학습 태스크를 다시 수행하기 위해 안정적이고 비용 효율적인 실행환경을 제공할 수 있는 다른 프로세싱 엘리먼트를 검색할 수 있다.The processing
프로세싱 엘리먼트 검색부(220)는 주기적으로 또는 제1 프로세싱 엘리먼트(100-1)의 비용이 변경될 때 프로세싱 엘리먼트 검색을 시작할 수 있다. 일 실시예에서, 프로세싱 엘리먼트 검색부(220)는 주기적으로 프로세싱 엘리먼트 검색을 시작할 수 있다. 프로세싱 엘리먼트 검색부(220)는 동적 신경망 학습 장치(200)의 구현 오버헤드(Implementation Overhead)를 최소화하기 위해 복수의 프로세싱 엘리먼트들(100)의 비용을 분석할 수 있다. The processing
예를 들어, 프로세싱 엘리먼트 검색부(220)는 주기적으로 프로세싱 엘리먼트 검색을 수행하여 현재 학습 태스크가 수행되고 있는 제1 프로세싱 엘리먼트(100-1) 비용보다 낮은 비용의 프로세싱 엘리먼트가 존재하는 경우에는 비용 효율적인 프로세스 엘리먼트로 학습 태스크를 이동시키도록 할 수 있다.For example, the processing
다른 예를 들어, 프로세싱 엘리먼트 검색부(220)는 학습 태스크가 수행되고 있는 제1 프로세싱 엘리먼트(100-1)의 비용이 증가하지 않았더라도 제1 프로세싱 엘리먼트(100-1)의 비용 증가 또는 예기치 못한 비정상 이벤트 발생을 대비하여 주기적으로 다른 프로세싱 엘리먼트를 검색을 시작할 수 있다.For example, the processing
다른 일 실시예에서, 프로세싱 엘리먼트 검색부(220)는 제1 프로세싱 엘리먼트(100-1)의 비용이 변경될 때 프로세싱 엘리먼트 검색을 시작할 수 있다. 프로세싱 엘리먼트 검색부(220)는 학습 태스크가 수행되고 있는 제1 프로세싱 엘리먼트(100-1)의 비용이 증가하는 경우에 복수의 프로세싱 엘리먼트들(100) 중 제1 프로세싱 엘리먼트(100-1)의 비용보다 상대적으로 비용 효율적인 다른 프로세싱 엘리먼트 검색을 시작할 수 있다.In another embodiment, the processing
프로세싱 엘리먼트 검색부(220)는 복수의 프로세싱 엘리먼트들(100)의 비용 히스토리를 분석하여 제2 프로세싱 엘리먼트(100-2)를 결정할 수 있다. 일 실시예에서, 프로세싱 엘리먼트 검색부(220)는 복수의 프로세싱 엘리먼트들(100) 각각에 관한 비용 히스토리를 분석하여 복수의 프로세싱 엘리먼트들(100) 각각의 비용을 예측할 수 있고, 비용 예측 결과를 기초로 제2 프로세싱 엘리먼트(100-2)를 결정할 수 있다. 즉, 동적 신경망 학습 장치(200)는 주기적으로 프로세싱 엘리먼트의 비용 분석을 수행하는 별도의 태스크에 오류가 발생하거나 복수의 프로세싱 엘리먼트들(100)에 관한 비용 조회 요청이 급증하면 복수의 프로세싱 엘리먼트들(100) 각각의 비용 히스토리를 글로벌 메모리(300)에 저장함으로써 확장성(Scalability) 및 내결함성(Fault-Tolerance)을 부여할 수 있다.The processing
프로세싱 엘리먼트 검색부(220)는 학습 태스크와 독립적으로 수행되는 별도의 태스크가 비용 히스토리의 분석을 주기적으로 수행하여 제2 프로세싱 엘리먼트(100-2)를 추천하도록 할 수 있다. 예를 들어, 프로세싱 엘리먼트 검색부(220)는 복수의 프로세싱 엘리먼트들(100) 중에서 현재 비용이 가장 낮은 프로세싱 엘리먼트를 제2 프로세싱 엘리먼트(100-2)로 결정할 수 있다. 보다 구체적으로, 프로세싱 엘리먼트 검색부(220)는 별도의 태스크가 복수의 프로세싱 엘리먼트들(100)의 현재 비용을 기초로 비용 히스토리를 분석하여 비용 효율적인 제2 프로세싱 엘리먼트(100-2)를 결정할 수 있고, 결정된 제2 프로세싱 엘리먼트(100-2)를 추천하도록 할 수 있다.The processing
작업 이관부(230)는 제2 프로세싱 엘리먼트(100-2)의 검색이 성공적으로 수행되면 체크포인트 설정부(210)를 통해 가져온 학습 태스크의 산출물을 가지고 제2 프로세싱 엘리먼트(100-2)로 학습 태스크를 이동(즉, 제2 프로세싱 엘리먼트로 작업을 이관)시켜 계속적으로 수행할 수 있다.The
작업 이관부(230)는 제2 프로세싱 엘리먼트(100-2)로 학습 태스크를 이동하기 전에 제2 프로세싱 엘리먼트(100-2)에 학습 태스크에 관한 가상 머신 이미지(VMI)로 새로운 학습 태스크를 수행할 수 있다. 일 실시예에서, 작업 이관부(230)는 새로운 학습 태스크에 가져온 학습 태스크의 산출물을 제공하여 이동을 완료시킬 수 있다.The
제어부(240)는 동적 신경망 학습 장치(200)의 전체적인 동작을 제어할 수 있고, 체크포인트 설정부(210), 프로세싱 엘리먼트 검색부(220) 및 작업 이관부(230) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.The
도 3은 도 1에 있는 동적 신경망 학습 장치에서 수행되는 동적 신경망 학습 과정을 설명하는 도면이다.3 is a view for explaining a dynamic neural network learning process performed in the dynamic neural network learning apparatus shown in FIG.
도 3에서, 동적 신경망 학습 장치(200)는 독립된 프로세스들로서 비용 모니터 에이전트, 인스턴스 중재 에이전트 및 인스턴스 추천 에이전트를 실행시킬 수 있다(단계 S310). 보다 구체적으로, 동적 신경망 학습 장치(200)는 비용 모니터 에이전트, 인스턴스 중재 에이전트 및 인스턴스 추천 에이전트 각각을 통해 체크포인트 설정부(210), 프로세싱 엘리먼트 검색부(220) 및 작업 이관부(230)의 동작을 수행할 수 있다.In FIG. 3, the dynamic neural
비용 모니터 에이전트는 제1 프로세싱 엘리먼트(100-1)를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 학습 태스크의 산출물을 가져올 수 있다(단계 S320).The cost monitor agent can obtain the output of the learning task by setting a checkpoint on the learning task being performed through the first processing element 100-1 (step S320).
인스턴스 추천 에이전트는 학습 태스크의 수행에 독립적으로 복수의 프로세싱 엘리먼트들(100) 중 제1 프로세싱 엘리먼트(100-1) 보다 비용 효율적인 제2 프로세싱 엘리먼트(100-2)를 검색할 수 있다(단계 S330). 일 실시예에서, 인스턴스 추천 에이전트는 주기적으로 다른 프로세싱 엘리먼트에 관한 검색을 시작할 수 있고, 이때, 복수의 프로세싱 엘리먼트들(100)의 비용을 주기적으로 체크하여 로컬(Local Disk)에 저장할 수 있다. 다른 일 실시예에서, 인스턴스 추천 에이전트는 제1 프로세싱 엘리먼트(100-1)를 통해 수행되고 있는 학습 태스크가 다른 프로세싱 엘리먼트로 마이그레이션(Migration)(즉, 학습 태스크가 다른 프로세싱 엘리먼트로 이관) 해야 하는지 여부를 모니터링할 수 있다.The instance recommendation agent may retrieve the second processing element 100-2 which is more cost effective than the first processing element 100-1 of the plurality of
인스턴스 중재 에이전트는 검색이 성공적으로 수행되면 가져온 학습 태스크의 산출물을 가지고 제2 프로세싱 엘리먼트(100-2)로 학습 태스크를 이동시켜 계속적으로 수행할 수 있다(단계 S340). 보다 구체적으로, 인스턴스 중재 에이전트는 체크포인트가 설정된 경로를 통해 제2 프로세싱 엘리먼트(100-2)에서 학습 태스크를 계속하여 수행할 수 있다. 인스턴스 중재 에이전트는 학습 태스크가 다시 시작되면 글로벌 메모리(300)에서 학습 태스크의 산출물을 가져온 후, 해당 체크포인트에서 학습 태스크에 관한 체크포인트를 다시 설정할 수 있다.The instance arbitration agent can continuously perform the learning task by moving the learning task to the second processing element 100-2 with the output of the imported learning task if the search is successfully performed (step S340). More specifically, the instance mediation agent may continue to perform the learning task in the second processing element 100-2 through the path where the checkpoint is set. The instance arbitration agent may retrieve the output of the learning task from the
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as set forth in the following claims And changes may be made without departing from the spirit and scope of the invention.
10: 동적 신경망 학습 시스템
100: 복수의 프로세싱 엘리먼트들
200: 동적 신경망 학습 장치
210: 체크포인트 설정부
220: 프로세싱 엘리먼트 검색부
230: 작업 이관부
240: 제어부
300: 글로벌 메모리10: Dynamic neural network learning system
100: a plurality of processing elements 200: a dynamic neural network learning device
210: checkpoint setting unit 220: processing element search unit
230: work transfer unit 240: control unit
300: Global memory
Claims (16)
(a) 제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오는 단계;
(b) 상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하는 단계; 및
(c) 상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행하는 단계를 포함하는 동적 신경망 학습 방법.
A dynamic neural network learning method performed in a dynamic neural network learning apparatus connected with a plurality of processing elements,
(a) setting a checkpoint on a learning task being performed through a first processing element to obtain an output of the learning task;
(b) retrieving a second processing element that is more cost-effective than the first processing element of the plurality of processing elements independently of performing the learning task; And
(c) if the search is successfully performed, moving the learning task to the second processing element with the output of the imported learning task and continuously performing the learning task.
상기 학습 태스크의 실행단위마다 상기 학습 태스크에 상기 체크포인트를 설정하는 단계를 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
The method of claim 1, wherein step (a)
And setting the check point in the learning task for each execution unit of the learning task.
학습 데이터 집합 중 특정 기준으로 결정된 일부의 학습 데이터를 통해 상기 실행단위를 설정하는 단계를 더 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
3. The method of claim 2, wherein step (a)
Further comprising the step of setting the execution unit through a part of learning data determined as a specific reference among the learning data set.
상기 학습 태스크의 산출물을 다른 프로세싱 엘리먼트에 의해 접근 가능한 글로벌 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
The method of claim 1, wherein step (a)
And storing the output of the learning task in a global memory accessible by other processing elements.
상기 저장 과정에서 상기 다른 프로세싱 엘리먼트에 의해 수행될 때 동일한 실행 환경을 제공하기 위해 상기 학습 태스크에 관한 가상 머신 이미지를 생성하여 상기 글로벌 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
5. The method of claim 4, wherein step (a)
Further comprising generating a virtual machine image related to the learning task and storing the virtual machine image in the global memory to provide the same execution environment when performed by the other processing element in the storing process .
주기적으로 또는 상기 제1 프로세싱 엘리먼트의 비용이 변경될 때 상기 검색을 시작하는 단계를 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
2. The method of claim 1, wherein step (b)
Starting the search periodically or when the cost of the first processing element is changed.
상기 복수의 프로세싱 엘리먼트들의 비용 히스토리를 분석하여 상기 제2 프로세싱 엘리먼트를 결정하는 단계를 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
2. The method of claim 1, wherein step (b)
And analyzing the cost history of the plurality of processing elements to determine the second processing element.
상기 학습 태스크와 독립적으로 수행되는 별도의 태스크가 상기 비용 히스토리의 분석을 주기적으로 수행하여 상기 제2 프로세싱 엘리먼트를 추천하도록 하는 단계를 더 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
8. The method of claim 7, wherein step (b)
Further comprising the step of periodically performing an analysis of the cost history by a separate task independent of the learning task to recommend the second processing element.
상기 이동 전에 상기 제2 프로세싱 엘리먼트에 상기 학습 태스크에 관한 가상 머신 이미지로 새로운 학습 태스크를 수행하는 단계를 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
2. The method of claim 1, wherein step (c)
And performing a new learning task with the virtual machine image related to the learning task in the second processing element before the movement.
상기 새로운 학습 태스크에 가져온 상기 학습 태스크의 산출물을 제공하여 상기 이동을 완료시키는 단계를 더 포함하는 것을 특징으로 하는 동적 신경망 학습 방법.
10. The method of claim 9, wherein step (c)
Further comprising providing an output of the learning task brought to the new learning task and completing the movement.
제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오는 체크포인트 설정부;
상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하는 프로세싱 엘리먼트 검색부; 및
상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행하는 작업 이관부를 포함하는 동적 신경망 학습 장치.
A dynamic neural network learning apparatus connected with a plurality of processing elements,
A checkpoint setting unit for setting a checkpoint for a learning task being performed through the first processing element and fetching the output of the learning task;
A processing element search unit operable to search for a second processing element that is more cost effective than the first processing element among the plurality of processing elements independently of performing the learning task; And
And a task transfer unit that continuously moves the learning task to the second processing element with an output of the taken learning task when the search is successfully performed.
상기 학습 태스크의 실행단위마다 상기 학습 태스크에 상기 체크포인트를 설정하는 것을 특징으로 하는 동적 신경망 학습 장치.
12. The apparatus of claim 11, wherein the checkpoint setting unit
And sets the check point in the learning task for each execution unit of the learning task.
상기 학습 태스크의 산출물을 다른 프로세싱 엘리먼트에 의해 접근 가능한 글로벌 메모리에 저장하는 것을 특징으로 하는 동적 신경망 학습 장치.
12. The apparatus of claim 11, wherein the checkpoint setting unit
And stores the output of the learning task in a global memory accessible by other processing elements.
주기적으로 또는 상기 제1 프로세싱 엘리먼트의 비용이 변경될 때 상기 검색을 시작하거나, 또는 상기 복수의 프로세싱 엘리먼트들의 비용 히스토리를 분석하여 상기 제2 프로세싱 엘리먼트를 결정하는 것을 특징으로 하는 동적 신경망 학습 장치.
12. The apparatus of claim 11, wherein the processing element search unit
Wherein the search is started periodically or when the cost of the first processing element is changed or the cost history of the plurality of processing elements is analyzed to determine the second processing element.
상기 이동 전에 상기 제2 프로세싱 엘리먼트에 상기 학습 태스크에 관한 가상 머신 이미지로 새로운 학습 태스크를 수행하는 것을 특징으로 하는 동적 신경망 학습 장치.
12. The apparatus of claim 11, wherein the work transfer unit
And performs a new learning task with the virtual machine image related to the learning task in the second processing element before the movement.
상기 동적 신경망 학습 장치는 독립된 프로세스들로서 비용 모니터 에이전트, 인스턴스 중재 에이전트 및 인스턴스 추천 에이전트를 실행시키고,
상기 비용 모니터 에이전트는 제1 프로세싱 엘리먼트를 통해 수행되고 있는 학습 태스크에 관해 체크포인트를 설정하여 상기 학습 태스크의 산출물을 가져오며,
상기 인스턴스 추천 에이전트는 상기 학습 태스크의 수행에 독립적으로 상기 복수의 프로세싱 엘리먼트들 중 상기 제1 프로세싱 엘리먼트보다 비용 효율적인 제2프로세싱 엘리먼트를 검색하고,
상기 인스턴스 중재 에이전트는 상기 검색이 성공적으로 수행되면 가져온 상기 학습 태스크의 산출물을 가지고 상기 제2 프로세싱 엘리먼트로 상기 학습 태스크를 이동시켜 계속적으로 수행하는 동적 신경망 학습 장치.A dynamic neural network learning apparatus connected with a plurality of processing elements,
The dynamic neural network learning apparatus executes the cost monitor agent, the instance arbitration agent and the instance recommendation agent as independent processes,
Wherein the cost monitor agent sets a checkpoint for a learning task being performed through the first processing element to fetch the output of the learning task,
Wherein the instance recommendation agent retrieves a second processing element that is more cost effective than the first processing element of the plurality of processing elements independently of performing the learning task,
Wherein the instant arbitration agent continuously moves the learning task to the second processing element with the retrieved result of the learning task when the retrieval is successfully performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161312A KR102091481B1 (en) | 2017-11-29 | 2017-11-29 | Method for dynamic neural network learning and apparatus for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161312A KR102091481B1 (en) | 2017-11-29 | 2017-11-29 | Method for dynamic neural network learning and apparatus for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190062778A true KR20190062778A (en) | 2019-06-07 |
KR102091481B1 KR102091481B1 (en) | 2020-03-20 |
Family
ID=66850045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170161312A KR102091481B1 (en) | 2017-11-29 | 2017-11-29 | Method for dynamic neural network learning and apparatus for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102091481B1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162321A1 (en) * | 2006-01-03 | 2007-07-12 | International Business Machines Corporation | Outsourcing of services |
US20090187782A1 (en) * | 2008-01-23 | 2009-07-23 | Palo Alto Research Center Incorporated | Integrated energy savings and business operations in data centers |
JP2013502642A (en) * | 2009-08-18 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Decentralized load balancing method and computer program in event-driven system |
KR20140027461A (en) * | 2011-08-25 | 2014-03-06 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | Quality of service aware captive aggregation with true datacenter testing |
KR20150096286A (en) | 2014-02-14 | 2015-08-24 | 주식회사 인피니플럭스 | Methods of Cloud BigData Analysis by using available personal computer |
KR20160146948A (en) | 2014-06-26 | 2016-12-21 | 인텔 코포레이션 | Intelligent gpu scheduling in a virtualization environment |
-
2017
- 2017-11-29 KR KR1020170161312A patent/KR102091481B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162321A1 (en) * | 2006-01-03 | 2007-07-12 | International Business Machines Corporation | Outsourcing of services |
US20090187782A1 (en) * | 2008-01-23 | 2009-07-23 | Palo Alto Research Center Incorporated | Integrated energy savings and business operations in data centers |
JP2013502642A (en) * | 2009-08-18 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Decentralized load balancing method and computer program in event-driven system |
KR20140027461A (en) * | 2011-08-25 | 2014-03-06 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | Quality of service aware captive aggregation with true datacenter testing |
KR20150096286A (en) | 2014-02-14 | 2015-08-24 | 주식회사 인피니플럭스 | Methods of Cloud BigData Analysis by using available personal computer |
KR20160146948A (en) | 2014-06-26 | 2016-12-21 | 인텔 코포레이션 | Intelligent gpu scheduling in a virtualization environment |
Also Published As
Publication number | Publication date |
---|---|
KR102091481B1 (en) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019200046B2 (en) | Utilizing artificial intelligence to test cloud applications | |
US10101991B2 (en) | Managing a software-patch submission queue | |
KR20200007882A (en) | Offer command bundle suggestions for automated assistants | |
US10547522B2 (en) | Pre-starting services based on traversal of a directed graph during execution of an application | |
US20120222043A1 (en) | Process Scheduling Using Scheduling Graph to Minimize Managed Elements | |
US10949765B2 (en) | Automated inference of evidence from log information | |
US11677877B2 (en) | Utilizing machine learning with call histories to determine support queue positions for support calls | |
AU2019201510B2 (en) | Platform for supporting multiple virtual agent applications | |
US20200097586A1 (en) | Relevance ranking of productivity features for determined context | |
US20190347621A1 (en) | Predicting task durations | |
US20120291033A1 (en) | Thread-related actions based on historical thread behaviors | |
JP4961931B2 (en) | Job execution scheduling program, job execution scheduling method, and job execution scheduling apparatus | |
JP5780377B2 (en) | Information processing system and application transfer method | |
CN112784985A (en) | Training method and device of neural network model, and image recognition method and device | |
CN111400434A (en) | Method and system for managing a voice response system based on a reference to a previous response | |
JP6385471B2 (en) | Migration and remote runtime integration | |
KR20190062778A (en) | Method for dynamic neural network learning and apparatus for the same | |
Chanin et al. | Analytical modeling for operating system schedulers on NUMA systems | |
CN111699473B (en) | System, method and apparatus for suspending and resuming a virtual assistant | |
Li et al. | Rt-lm: Uncertainty-aware resource management for real-time inference of language models | |
US20220230093A1 (en) | Handling system-characteristics drift in machine learning applications | |
US9304829B2 (en) | Determining and ranking distributions of operations across execution environments | |
US11526849B2 (en) | Data set filtering for machine learning | |
Singh et al. | A Container Migration Technique to Minimize the Network Overhead with Reusable Memory State | |
US10628262B2 (en) | Node recovery in static distributed networks using a stored process state of a designated weight |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |