KR102156439B1 - Cloud-edge system and method for processing data thereof - Google Patents

Cloud-edge system and method for processing data thereof Download PDF

Info

Publication number
KR102156439B1
KR102156439B1 KR1020180134968A KR20180134968A KR102156439B1 KR 102156439 B1 KR102156439 B1 KR 102156439B1 KR 1020180134968 A KR1020180134968 A KR 1020180134968A KR 20180134968 A KR20180134968 A KR 20180134968A KR 102156439 B1 KR102156439 B1 KR 102156439B1
Authority
KR
South Korea
Prior art keywords
analysis model
analysis
edge
input data
models
Prior art date
Application number
KR1020180134968A
Other languages
Korean (ko)
Other versions
KR20200054372A (en
Inventor
금승우
문재원
김영기
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020180134968A priority Critical patent/KR102156439B1/en
Publication of KR20200054372A publication Critical patent/KR20200054372A/en
Application granted granted Critical
Publication of KR102156439B1 publication Critical patent/KR102156439B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템은 하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말 및 뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버를 포함한다.The cloud-edge system for processing data through an analysis model of a pipeline structure according to the present invention receives one or more analysis models and generates at least one edge terminal and a neural network for processing input data input to the analysis model, The neural network is divided into layers to generate a plurality of analysis models each including one or more of the divided layers, and the plurality of analysis models are distributed in units of the edge terminals so as to correspond to the one or more edge terminals, and the It includes a cloud server that configures the deployed analysis model as an analysis engine pipeline.

Description

클라우드-엣지 시스템 및 이의 데이터 처리 방법{CLOUD-EDGE SYSTEM AND METHOD FOR PROCESSING DATA THEREOF}Cloud-edge system and its data processing method {CLOUD-EDGE SYSTEM AND METHOD FOR PROCESSING DATA THEREOF}

본 발명은 클라우드-엣지 시스템 및 이의 데이터 처리 방법에 관한 것으로, 보다 구체적으로는 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to a cloud-edge system and a data processing method thereof, and more particularly, to a system and method capable of processing data through an analysis model of a pipeline structure in the cloud-edge.

현재의 기계학습이나 뉴럴 네트워크 기술은 정확도를 높이기 위한 경쟁이 진행중이며, 이를 위해 클라우드 또는 고성능의 GPU 등의 기술을 통한 빠르고 정확한 분석 알고리즘 및 프레임워크의 개발로 진행되고 있다.Current machine learning or neural network technologies are in competition to increase accuracy, and for this purpose, fast and accurate analysis algorithms and frameworks are being developed through technologies such as cloud or high-performance GPUs.

한편, 분석엔진에서 많이 사용되는 뉴럴 네트워크의 경우, 복잡한 뉴럴 네트워크 구조를 생성한 후 방대한 양의 데이터를 해당 네트워크에 학습시켜 뉴럴 네트워크의 파라미터 값을 정의하게 된다. 이후 분석된 데이터를 학습된 뉴럴 네트워크에 통과시켜 산출되는 최종 결과물을 통하여 분석을 진행하게 된다.Meanwhile, in the case of a neural network that is widely used in an analysis engine, after creating a complex neural network structure, a vast amount of data is learned in the network to define the parameter values of the neural network. After that, the analyzed data is passed through the learned neural network and the analysis proceeds through the final result calculated.

이때, 복잡한 분석의 경우 뉴럴 네트워크의 크기가 방대해지게 되며, 이로 인한 컴퓨팅 자원의 요구사항도 함께 증가하게 된다. 최근의 뉴럴 네트워크의 경우 통상 수백 메가 바이트 내지 수 기가 바이트에 달하고 있으며, 이 경우 시스템의 메모리도 그 이상으로 증가해야 한다는 문제가 있다.In this case, in the case of a complex analysis, the size of the neural network becomes enormous, and thus the requirements of computing resources also increase. In the case of a recent neural network, it usually reaches hundreds of megabytes to several gigabytes, and in this case, there is a problem that the memory of the system must also increase beyond that.

따라서, 뉴럴 네트워크를 이용한 분석 엔진을 활용함에 있어서 시스템의 메모리 자원에 제한되지 않고도 많은 양의 데이터를 동시에 처리할 수 있는 데이터 처리 방법이 필요한 실정이다.Therefore, in using an analysis engine using a neural network, a data processing method capable of simultaneously processing a large amount of data is required without being limited to the memory resources of the system.

본 발명의 실시예는 뉴럴 네트워크를 복수의 분석 모델로 구분하고, 구분된 분석 모델을 엣지 단말 단위의 파이프라인 형태로 배치함으로써 적은 시스템 메모리 자원에도 불구하도 보다 많은 양의 데이터를 동시에 처리할 수 있는 클라우드-엣지 시스템 및 이의 데이터 처리 방법을 제공한다.An embodiment of the present invention divides a neural network into a plurality of analysis models, and arranges the divided analysis models in the form of a pipeline in the edge terminal unit, so that a larger amount of data can be simultaneously processed despite a small system memory resource. It provides a cloud-edge system and a data processing method thereof.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법은 클라우드 서버로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계; 상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계; 상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, a method of processing data through an analysis model of a pipeline structure in a cloud-edge according to the first aspect of the present invention is to convert a neural network generated from a cloud server into at least one edge. Separating into a plurality of analysis models to correspond to the terminal; Distributing the separated analysis model in units of edge terminals to form an analysis engine pipeline; And sequentially inserting input data into the plurality of analysis models, and processing the input data from the plurality of analysis models.

상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는, 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응되도록 분리할 수 있다.The step of separating the neural network into a plurality of analysis models to correspond to one or more edge terminals may be separated to correspond to characteristic information including at least one of memory, CPU performance, and whether a GPU is provided of the edge terminal.

상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는, 상기 엣지 단말의 특성 정보에 기초하여 상기 복수의 분석 모델 중 둘 이상의 분석 모델을 하나의 엣지 단말에 대응시킬 수 있다.In the step of distributing the separated analysis model to an edge terminal unit and configuring the analysis engine pipeline, based on the characteristic information of the edge terminal, two or more analysis models among the plurality of analysis models may be matched to one edge terminal. have.

상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성할 수 있다.In the step of separating the neural network into a plurality of analysis models to correspond to one or more edge terminals, a plurality of analysis models each including one or more of the divided layers may be generated by dividing the neural network in layer units.

상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는, 제 1 엣지 단말에 배포된 제 1 분석 모델의 출력단에 제 2 엣지 단말에 배포된 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성할 수 있다.The step of distributing the separated analysis model to the edge terminal unit and configuring the analysis engine pipeline may include connecting the second analysis model distributed to the second edge terminal to the output terminal of the first analysis model distributed to the first edge terminal. It can be configured with the analysis engine pipeline.

상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는, 상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델로 전달하고, 상기 제 1 입력 데이터를 상기 제 2 분석 모델로 전달함과 동시에 제 2 입력 데이터가 삽입될 수 있다.In the step of sequentially inserting input data into the plurality of analysis models and processing the input data in the plurality of analysis models, the first input data is stored as the first input data is inserted into the first analysis model. The processed result is transferred to the second analysis model, the first input data is transferred to the second analysis model, and second input data may be inserted at the same time.

상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는, 제 1 분석 모델에서 상기 제 1 입력 데이터 처리를 완료함에 따라 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달할 수 있다.The step of sequentially inserting input data into the plurality of analysis models and processing the input data from the plurality of analysis models may include the second analysis model as the first analysis model completes the processing of the first input data. It is determined whether the data is in the idle state, and when the second analysis model is in the idle state, a result of processing the first input data may be transmitted to the second analysis model.

또한, 본 발명의 제 2 측면에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템은 하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말 및 뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버를 포함한다.In addition, the cloud-edge system for processing data through the analysis model of the pipeline structure according to the second aspect of the present invention includes at least one edge terminal that receives one or more analysis models and processes input data input to the analysis model, and Generate a neural network, divide the neural network into layers to generate a plurality of analysis models each including one or more of the divided layers, and the edge terminal so that the plurality of analysis models correspond to the one or more edge terminals It distributes in units, and includes a cloud server that configures the distributed analysis model as an analysis engine pipeline.

상기 클라우드 서버는 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응하도록 상기 복수의 분석 모델로 분리하여 배포할 수 있다.The cloud server may be divided into the plurality of analysis models and distributed to correspond to characteristic information including at least one of memory, CPU performance, and GPU availability of the edge terminal.

상기 클라우드 서버는 상기 복수의 분석 모델 중 제 1 분석 모델의 출력단에 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성할 수 있다.The cloud server may configure the analysis engine pipeline by connecting a second analysis model to an output terminal of the first analysis model among the plurality of analysis models.

상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과는 제 2 분석 모델로 전달되고, 상기 제 1 입력 데이터가 상기 제 2 분석 모델로 전달됨과 동시에 제 2 입력 데이터가 삽입될 수 있다.As the first input data is inserted into the first analysis model, the result of processing the first input data is transferred to a second analysis model, and the first input data is transferred to the second analysis model and a second input Data can be inserted.

상기 제 1 분석 모델에서 상기 제 1 입력 데이터 처리가 완료됨에 따라 상기 제 1 분석 모델에 대응하는 엣지 단말은 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달할 수 있다.As the processing of the first input data in the first analysis model is completed, the edge terminal corresponding to the first analysis model determines whether the second analysis model is in an idle state, and the second analysis model is in an idle state. In this case, the result of processing the first input data may be transferred to the second analysis model.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 뉴럴 네트워크를 각 단계로 구분하고 구분된 뉴럴 네트워크들을 파이프라인으로 배치함으로써 제한된 메모리 자원에도 불구하고 단일 시간동안 보다 많은 양의 데이터를 동시에 처리할 수 있는 효과를 기대할 수 있다.According to any one of the above-described problem solving means of the present invention, by dividing a neural network into each step and arranging the separated neural networks as a pipeline, a larger amount of data can be simultaneously processed in a single time despite limited memory resources. You can expect the possible effect.

도 1은 본 발명의 일 실시예에 따른 클라우드-엣지 시스템을 개략적으로 설명하기 위한 도면이다.
도 2a 내지 도 2c는 뉴럴 네트워크를 설명하기 위한 도면이다.
도 3은 분석 모델이 파이프라인 구조로 연결된 일 예시를 도시한 도면이다.
도 4는 분석 모델에서 입력 데이터를 순차적으로 처리하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 방법의 순서도이다.
1 is a diagram schematically illustrating a cloud-edge system according to an embodiment of the present invention.
2A to 2C are diagrams for describing a neural network.
3 is a diagram illustrating an example in which an analysis model is connected in a pipeline structure.
4 is a diagram for describing a process of sequentially processing input data in an analysis model.
5 is a flowchart of a data processing method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.Hereinafter, 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 can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts not related to the description are omitted in order to clearly describe the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the entire specification, 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.

본 발명은 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리할 수 있는 시스템(1) 및 방법에 관한 것이다.The present invention relates to a system (1) and a method capable of processing data through an analysis model of a pipeline structure at the cloud-edge.

최근 기계학습 및 뉴럴 네트워크 기술 등의 분석 기술은 GPU, 클라우드 등 고성능 컴퓨팅 환경에 의하여 빠르게 진화되고 있다. 하지만 이러한 기계학습 및 뉴럴 네트워크 기술들은 정확도의 향상에 집중하고 있어 매우 높은 사양의 자원을 요구하는 것이 일반적이다.Recently, analysis technologies such as machine learning and neural network technologies are rapidly evolving due to high-performance computing environments such as GPUs and clouds. However, since these machine learning and neural network technologies are focusing on improving accuracy, it is common to require very high-spec resources.

특히 뉴럴 네트워크의 경우, 복잡한 분석 작업을 위해서는 그에 상응하는 복잡한 뉴럴 네트워크의 구성이 필요하며, 이러한 뉴럴 네트워크를 메모리에 올리기 위해서는 대용량의 메모리가 요구되고 있다.In particular, in the case of a neural network, a complex neural network corresponding thereto is required for complex analysis, and a large amount of memory is required to load such a neural network into a memory.

이를 위해, 본 발명의 일 실시예는 뉴럴 네트워크를 복수의 분석 모델로 구분하고, 구분된 분석 모델을 엣지 단말 단위의 파이프라인 형태로 배치함으로써 적은 시스템 메모리 자원에도 불구하도 보다 많은 양의 데이터를 동시에 처리할 수 있도록 할 수 있다.To this end, an embodiment of the present invention divides a neural network into a plurality of analysis models, and arranges the divided analysis models in the form of a pipeline for each edge terminal, so that a larger amount of data is simultaneously transmitted despite a small system memory resource. You can make it processable.

이하에서는 도 1 내지 도 3을 참조하여, 본 발명의 일 실시예에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템(1)에 대하여 설명하도록 한다.Hereinafter, a cloud-edge system 1 that processes data through an analysis model of a pipeline structure according to an embodiment of the present invention will be described with reference to FIGS. 1 to 3.

도 1은 본 발명의 일 실시예에 따른 클라우드-엣지 시스템(1)을 개략적으로 설명하기 위한 도면이다. 도 2a 내지 도 2c는 뉴럴 네트워크(A)를 설명하기 위한 도면이다. 도 3은 분석 모델이 파이프라인 구조로 연결된 일 예시를 도시한 도면이다. 도 4는 분석 모델에서 입력 데이터를 순차적으로 처리하는 과정을 설명하기 위한 도면이다.1 is a diagram schematically illustrating a cloud-edge system 1 according to an embodiment of the present invention. 2A to 2C are diagrams for explaining a neural network A. 3 is a diagram illustrating an example in which an analysis model is connected in a pipeline structure. 4 is a diagram for describing a process of sequentially processing input data in an analysis model.

본 발명의 일 실시예에 따른 클라우드-엣지 시스템(1)은 하나 이상의 엣지 단말(200)과 클라우드 서버(100)를 포함한다.The cloud-edge system 1 according to an embodiment of the present invention includes one or more edge terminals 200 and a cloud server 100.

클라우드 서버(100)는 입력 데이터를 분석 처리하기 위한 뉴럴 네트워크를 생성한다.The cloud server 100 generates a neural network for analyzing and processing input data.

뉴럴 네트워크는 임의의 결정을 위한 뉴런들을 네트워크 형태로 배포하는 구조를 의미한다. 뉴럴 네트워크의 구조가 결정되고 나면, 도 2a와 같이 다양한 입력 데이터들을 뉴럴 네트워크(A)에 통과시켜 뉴럴 네트워크(A) 내 뉴런들의 값, 즉 파라미터들을 결정하게 되며, 이 과정을 학습이라 부른다.Neural network refers to a structure that distributes neurons for arbitrary decisions in a network form. After the structure of the neural network is determined, the values of neurons in the neural network A are determined by passing various input data through the neural network A as shown in FIG. 2A, and this process is called learning.

뉴럴 네트워크의 학습이 끝나면, 도 2b와 같이 분석될 데이터들을 뉴럴 네트워크(A)에 입력함으로써 원하는 분석결과를 얻을 수 있다.After learning of the neural network is completed, a desired analysis result can be obtained by inputting data to be analyzed into the neural network A as shown in FIG. 2B.

이때, 뉴럴 네트워크의 크기는 분석하고자 하는 양에 따라 매우 커진다는 문제가 있다. 뉴럴 네트워크의 크기는 수십 메가 바이트에서 수 기가 바이트에 이르고 있으며, 이러한 뉴럴 네트워크(A)를 도 2a 내지 도 2c와 같이 단일 형태로 활용할 경우 그에 상응하는 메모리가 요구된다.In this case, there is a problem that the size of the neural network becomes very large depending on the amount to be analyzed. The size of a neural network ranges from tens of megabytes to several gigabytes, and when the neural network A is used in a single form as shown in FIGS. 2A to 2C, a corresponding memory is required.

따라서, 본 발명의 일 실시예에서 클라우드 서버(100)는 생성된 뉴럴 네트워크(A)를 도 2c와 같이 상호 간의 간섭이 없는 독립적인 레이어 단위(a1~a4)로 구분하여 하나 이상의 구분된 레이어를 포함하는 복수의 분석 모델을 생성한다. Accordingly, in an embodiment of the present invention, the cloud server 100 divides the generated neural network A into independent layer units (a1 to a4) without mutual interference as shown in FIG. Generate a plurality of analysis models including.

이때, 하나의 분석 모델은 하나의 레이어만을 포함할 수 있을뿐 아니라, 복수의 레이어가 하나의 분석 모델로 구성될 수 있음은 물론이다.In this case, it goes without saying that one analysis model may include only one layer, and a plurality of layers may be composed of one analysis model.

이와 같이 하나의 뉴럴 네트워크에 대응하는 복수의 분석 모델이 생성되고 나면, 클라우드 서버(100)는 복수의 분석 모델을 저장한다. 이때, 클라우드 서버(100)는 ONNX(Open Neural Network Exchange) 등의 뉴럴 네트워크 저장 기법을 이용하여 분석 모델을 저장한다.After the plurality of analysis models corresponding to one neural network are generated as described above, the cloud server 100 stores the plurality of analysis models. In this case, the cloud server 100 stores the analysis model by using a neural network storage technique such as ONNX (Open Neural Network Exchange).

이후 클라우드 서버(100)는 저장된 복수의 분석 모델을 하나 이상의 엣지 단말(200)에 대응되도록 엣지 단말 단위로 배포하고, 배포된 분석 모델을 서로 연결하여 분석 엔진 파이프라인으로 구성되도록 한다. 이 과정에서 클라우드 서버(100)는 HTTP, FTP 등의 프로토콜을 통하여 분석 모델을 엣지 단말로 전송하고 메모리로 로드할 수 있다.Thereafter, the cloud server 100 distributes the stored analysis models in units of edge terminals so as to correspond to one or more edge terminals 200, and connects the distributed analysis models to each other to form an analysis engine pipeline. In this process, the cloud server 100 may transmit the analysis model to the edge terminal through protocols such as HTTP and FTP and load it into memory.

엣지 단말(200)은 하나 이상의 분석 모델을 배포받은 후, 분석 모델에 입력된 입력 데이터를 분석 처리한다. 뉴럴 네트워크가 복수 개의 분석 모델로 분리되고, 분리된 복수 개의 분석 모델은 엣지 단말(200)에 각각 배포됨에 따라, 분석 모델들은 엣지 단말 단위의 독립된 하드웨어로 구성되어 파이프라인 구조를 형성하게 된다.After distributing one or more analysis models, the edge terminal 200 analyzes and processes input data input to the analysis model. As the neural network is divided into a plurality of analysis models, and the separated plurality of analysis models are distributed to the edge terminal 200, respectively, the analysis models are composed of independent hardware in the edge terminal unit to form a pipeline structure.

예를 들어, 도 2c에서 12개의 뉴런(a1), 11개의 뉴런(a2), 12개의 뉴런(a3), 11개의 뉴런(a4)을 가지는 총 4개의 레이어(a1~a4)로 구성된 뉴럴 네트워크(A)의 경우, 도 2c와 같은 단일 시스템에 해당 네트워크를 메모리에 로드하기 위해서는 46* 뉴런 크기만큼의 메모리 용량이 요구된다.For example, in Figure 2c, a neural network consisting of a total of 4 layers (a1 to a4) with 12 neurons (a1), 11 neurons (a2), 12 neurons (a3), and 11 neurons (a4) ( In the case of A), in order to load the network into memory in a single system as shown in FIG. 2C, a memory capacity of 46* neurons is required.

하지만, 도 2c의 예시에서 도 3과 같이 4개의 레이어(a1~a4)를 4개의 분석 모델로 구성하고 각 단계별로 각각 제 1 내지 제 4 분석 모델을 로드할 경우, 단일 레이어 처리를 위한 분석 소프트웨어의메모리 용량은 12* 뉴런 크기 또는 11* 뉴런 크기만큼 줄어들게 된다.However, in the example of FIG. 2C, as shown in FIG. 3, when four layers (a1 to a4) are configured as four analysis models and the first to fourth analysis models are loaded in each step, analysis software for single layer processing The memory capacity is reduced by 12* neuron size or 11* neuron size.

이와 같은 복수의 레이어에 대하여 복수의 분석모델로 구성하는 과정은 관리자에 의하여 수동으로 수행될 수 있음은 물론이고, 엣지 단말(200)의 특성 정보에 기초하여 클라우드 서버가 자동으로 생성할 수도 있다.The process of configuring a plurality of analysis models for a plurality of layers may be manually performed by an administrator, and may be automatically generated by a cloud server based on characteristic information of the edge terminal 200.

즉, 클라우드 서버(100)는 엣지 단말(200)의 메모리 크기, CPU 성능, 그리고 GPU의 구비 여부 및 성능 정보나 엣지 단말(200)의 현재 운용되고 있는 상태 정보를 포함하는 특성 정보에 기초하여 복수의 분석모델을 생성하고 이를 엣지 단말 단위로 배포할 수 있다.That is, the cloud server 100 is based on the memory size of the edge terminal 200, CPU performance, and whether or not a GPU is provided, performance information, or characteristic information including information on the currently operating state of the edge terminal 200. You can create an analysis model of and distribute it to the edge terminal unit.

예를 들어, 각 엣지 단말(200)의 특성 정보에 따라 하나의 엣지 단말에는 하나의 분석 모델이 배포될 수 있음은 물론이고, 특정 엣지 단말에는 복수 개의 분석 모델이 배포되어 처리될 수 있음은 물론이다.For example, not only one analysis model may be distributed to one edge terminal according to the characteristic information of each edge terminal 200, but also a plurality of analysis models may be distributed and processed in a specific edge terminal. to be.

또한, 본 발명의 일 실시예는 도 4와 같은 파이프라인 구조를 통하여 동시에 복수 개의 입력 데이터를 처리할 수 있다. 이때, 도 4에서 제 1 내지 제 4 분석 모델(a1~a4)은 4개의 엣지 단말 각각에 배포되어 있거나, 4개 미만의 엣지 단말에 배포되어 특정 엣지 단말에는 복수 개의 분석 모델이 포함되어 있을 수 있다.In addition, an embodiment of the present invention may simultaneously process a plurality of input data through the pipeline structure as shown in FIG. 4. In this case, the first to fourth analysis models (a1 to a4) in FIG. 4 are distributed to each of four edge terminals, or are distributed to less than four edge terminals, so that a specific edge terminal may include a plurality of analysis models. have.

예를 들어, 도 2c에서의 뉴럴 네트워크(A)가 제 1 내지 제 4 분석 모델(a1~a4)로 분리되어 생성된 경우, 제 1 분석 모델(a1)에 제 1 입력 데이터가 삽입됨에 따라 제 1 분석 모델(a1)은 제 1 입력 데이터를 분석 처리한다.For example, when the neural network (A) in FIG. 2C is generated by being separated into first to fourth analysis models (a1 to a4), the first input data is inserted into the first analysis model (a1). 1 The analysis model a1 analyzes and processes the first input data.

그리고 제 1 분석 모델(a1)에서 제 1 입력 데이터의 분석 처리가 완료되면, 제 1 입력 데이터를 처리한 결과는 IP Network를 통해 제 2 분석 모델(a2)로 전달된다. 이때, 제 1 입력 데이터가 제 2 분석 모델(a2)로 전달됨과 동시에 제 2 입력 데이터는 제 1 분석 모델(a1)로 삽입된다.In addition, when analysis processing of the first input data is completed in the first analysis model a1, the result of processing the first input data is transmitted to the second analysis model a2 through the IP network. At this time, the first input data is transferred to the second analysis model a2 and the second input data is inserted into the first analysis model a1.

이에 따라, 제 1 분석 모델(a1)에서는 제 2 입력 데이터를 분석 처리하고, 제 2 분석 모델(a2)에서는 제 1 분석 모델(a1)로부터 전달받은 처리 결과를 분석 처리한다.Accordingly, the first analysis model (a1) analyzes the second input data, and the second analysis model (a2) analyzes and processes the processing result received from the first analysis model (a1).

이와 같은 과정이 순차적으로 진행됨에 따라 제 4 입력 데이터가 제 1 분석 모델(a1)에 삽입되어 분석 처리가 시작되면, 제 1 내지 제 4 분석 모델(a1~a4)은 모두 유휴 상태 없이 분석 처리 과정이 수행되게 된다. As this process proceeds sequentially, when the fourth input data is inserted into the first analysis model (a1) and analysis processing starts, all of the first to fourth analysis models (a1 to a4) are analyzed without being idle. This will be done.

따라서, 도 4의 예시의 경우 동일한 메모리 용량을 가지고도 4 배의 데이터를 처리할 수 있게 된다.Accordingly, in the case of the example of FIG. 4, even with the same memory capacity, it is possible to process 4 times the amount of data.

한편, 본 발명의 일 실시예는 분석 모델에서 다음 분석 모델로 처리 결과를 전달함에 있어 다음 분석 모델의 유휴 상태 여부를 확인한 후 처리 결과를 전달할 수 있다.Meanwhile, in an embodiment of the present invention, in transferring the processing result from the analysis model to the next analysis model, it is possible to check whether the next analysis model is in an idle state and then deliver the processing result.

예를 들어, 도 4에서 제 1 분석 모델(a1)에서 제 1 입력 데이터의 처리가 완료됨에 따라 제 1 분석 모델(a1)에 대응하는 엣지 단말(200)은 제 2 분석 모델(a2)이 유휴 상태인지 여부를 판단한다. 그리고 제 2 분석 모델(a2)이 유휴 상태인 경우 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델(a2)로 전달하게 된다.For example, in FIG. 4, as the processing of the first input data in the first analysis model a1 is completed, the edge terminal 200 corresponding to the first analysis model a1 has the second analysis model a2 idle. Determine whether it is in a state or not. In addition, when the second analysis model a2 is in an idle state, the result of processing the first input data is transmitted to the second analysis model a2.

한편, 본 발명의 일 실시예에서 클라우드 서버(100)와 엣지 단말(200)은 통신모듈(미도시), 메모리(미도시) 및 프로세서(미도시)를 포함하여 구성될 수 있다.Meanwhile, in an embodiment of the present invention, the cloud server 100 and the edge terminal 200 may include a communication module (not shown), a memory (not shown), and a processor (not shown).

통신모듈은 클라우드 서버(100)와 엣지 단말(200) 간에 데이터를 송수신한다. The communication module transmits and receives data between the cloud server 100 and the edge terminal 200.

클라우드 서버(100)의 메모리에는 뉴럴 네트워크를 생성하고, 이를 복수의 분석 모델로 분리하여 배포하기 위한 프로그램이 저장되며, 엣지 단말(200)의 메모리에는 하나 이상의 분석 모델을 배포받아 분석 모델에 입력된 데이터를 처리하기 위한 프로그램이 저장된다. 그리고 프로세서는 메모리에 저장된 프로그램을 실행시킨다.In the memory of the cloud server 100, a program for generating a neural network, separating and distributing it into a plurality of analysis models, is stored, and one or more analysis models are distributed to the memory of the edge terminal 200 and input to the analysis model. A program for processing data is stored. And the processor executes the program stored in the memory.

이때, 메모리는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. In this case, the memory collectively refers to a nonvolatile storage device and a volatile storage device that continuously maintains stored information even when power is not supplied.

예를 들어, 메모리는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.For example, the memory may be a compact flash (CF) card, a secure digital (SD) card, a memory stick, a solid-state drive (SSD), and a micro SD card. A magnetic computer storage device such as a NAND flash memory and a hard disk drive (HDD), and an optical disc drive such as a CD-ROM and a DVD-ROM may be included.

참고로, 본 발명의 실시예에 따른 도 1 내지 도 4에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.For reference, the components shown in FIGS. 1 to 4 according to an embodiment of the present invention may be implemented in software or in hardware such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Can play roles.

그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.However,'elements' are not meant to be limited to software or hardware, and each element may be configured to be in an addressable storage medium or configured to reproduce one or more processors.

따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.Thus, as an example, components are components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, and sub- Includes routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.

구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.Components and functions provided within the components can be combined into a smaller number of components or further separated into additional components.

이하에서는, 도 5를 참조하여 본 발명의 일 실시예에 따른 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법에 대하여 설명하도록 한다.Hereinafter, a method of processing data through an analysis model of a pipeline structure in a cloud-edge according to an embodiment of the present invention will be described with reference to FIG. 5.

도 5는 본 발명의 일 실시예에 따른 데이터 처리 방법의 순서도이다.5 is a flowchart of a data processing method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 데이터 처리 방법은 먼저 클라우드 서버(100)로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말(200)에 대응되도록 복수의 분석 모델로 분리한다(S110).In the data processing method according to an embodiment of the present invention, first, the neural network generated from the cloud server 100 is separated into a plurality of analysis models to correspond to one or more edge terminals 200 (S110).

다음으로, 클라우드 서버(100)는 분리된 분석 모델을 엣지 단말(200)로 배포하며, 이 과정에서 분석 엔진들은 파이프라인 구조로 구성된다(S120).Next, the cloud server 100 distributes the separated analysis model to the edge terminal 200, and in this process, the analysis engines are configured in a pipeline structure (S120).

다음으로, 복수의 분석 모델에 순차적으로 입력 데이터가 삽입되고(S130), 복수의 분석 모델은 상기 입력 데이터를 처리한다(S140).Next, input data is sequentially inserted into the plurality of analysis models (S130), and the plurality of analysis models process the input data (S140).

한편 상술한 설명에서, 단계 S110 내지 S140은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 4에서의 클라우드-엣지 시스템에 관하여 이미 기술된 내용은 도 5의 데이터 처리 방법에도 적용된다.Meanwhile, in the above description, steps S110 to S140 may be further divided into additional steps or may be combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed. In addition, even if other contents are omitted, the contents already described with respect to the cloud-edge system in FIGS. 1 to 4 are also applied to the data processing method of FIG. 5.

한편, 본 발명의 일 실시예는 클라우드 서버(100)가 뉴럴 네트워크를 분리하여 복수의 분석 모델로 생성한 후 이를 저장하는 과정과, 이를 엣지 단말(200)로 배포하는 과정에 있어서, 별도의 분석모델 운용 시스템을 통해 분석 모델을 엣지 단말(200)로 배포되도록 할 수 있다.On the other hand, in an embodiment of the present invention, in the process of separating the neural network by the cloud server 100, generating a plurality of analysis models, and then storing them, and in the process of distributing them to the edge terminal 200, separate analysis The analysis model may be distributed to the edge terminal 200 through the model operation system.

본 발명의 일 실시예에서 분석모델 운용 시스템은 분석모델 운용 장치 및 분석모델 파일 저장소를 포함한다.In an embodiment of the present invention, the analysis model operation system includes an analysis model operation device and an analysis model file storage.

이러한 분석모델 운용 시스템은 클라우드 서버(100)로부터 제공되며 엣지 단말(200)의 어플리케이션 내에 적용되는 분석모델을 독립적으로 갱신할 수 있다.This analysis model operation system is provided from the cloud server 100 and can independently update the analysis model applied in the application of the edge terminal 200.

분석모델 운용 장치는 분석모델이 운용되는 엣지 단말(200)의 환경정보를 분석모델 파일 저장소에 제공한다. 그리고 분석모델 파일 저장소로부터 엣지 단말(200)의 하드웨어 정보, 상황 정보, 운용 정보 등에 최적화된 분석모델 모델파일을 수신하고, 새롭게 수신한 분석모델 파일을 기존 분석모델 파일에 대체하여 갱신한다.The analysis model operating device provides environmental information of the edge terminal 200 on which the analysis model is operated to the analysis model file storage. In addition, an analysis model file optimized for hardware information, situation information, and operation information of the edge terminal 200 is received from the analysis model file storage, and the newly received analysis model file is replaced by an existing analysis model file to be updated.

이러한 분석모델 운용 장치는 분석모델의 실행파일과 분석모델 파일을 저장하고 있다.The analysis model operating device stores the analysis model execution file and the analysis model file.

분석모델의 실행파일은 엣지 단말(200)의 어플리케이션 운용을 위한 바이너리 형태의 실행파일을 의미한다. 그리고 분석모델 파일은 상기 분석모델에 적용되는 파일을 의미한다. 이때, 분석모델 파일은 후술하는 분석모델 파일 저장소로부터 제공받게 된다.The executable file of the analysis model means an executable file in a binary format for application operation of the edge terminal 200. And the analysis model file means a file applied to the analysis model. At this time, the analysis model file is provided from the analysis model file storage to be described later.

분석모델 운용 장치는 분석모델이 운용되는 엣지 단말(200)의 환경정보를 수집 및 관리한다. 이러한 운용환경 정보로는 현재 적용 중인 분석모델의 모델명, 버전 정보, GPU 지원 여부 정보를 포함할 수 있으며, 운용환경 정보로 정밀도 정보 및 분석모델명 정보를 포함할 수 있다.The analysis model operating device collects and manages environmental information of the edge terminal 200 on which the analysis model is operated. The operating environment information may include a model name, version information, and GPU support information of the currently applied analysis model, and may include precision information and analysis model name information as operating environment information.

분석모델 파일 저장소는 분석모델 저장소 및 분석모델 메타데이터 저장소를 포함한다.The analysis model file storage includes an analysis model storage and an analysis model metadata storage.

분석모델 저장소에는 분석모델 파일이 저장된다. 그리고 분석모델 메타데이터 저장소에는 분석모델 파일에 대한 메타데이터가 저장된다. 이때, 분석모델 메타데이터 저장소에 저장된 메타데이터는 상기 분석모델 저장소에 저장된 분석모델 파일에 대응하는 분석모델명, 버전 정보를 포함할 수 있으며, 운용환경 정보로 정밀도 정보 및 분석모델명 정보를 포함할 수 있다.Analysis model files are stored in the analysis model storage. In addition, metadata about the analysis model file is stored in the analysis model metadata storage. At this time, the metadata stored in the analysis model metadata storage may include an analysis model name and version information corresponding to the analysis model file stored in the analysis model storage, and may include precision information and analysis model name information as operating environment information. .

이러한 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하고 이에 대응하는 새로운 분석모델 파일을 분석모델 운용장치로 제공한다.This analysis model file storage receives operation environment information from the analysis model operation device and provides a new analysis model file corresponding thereto to the analysis model operation device.

즉, 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하면, 운용환경 정보와 메타데이터를 비교하여 운용환경 정보에 대응하는 분석모델 파일을 분석모델 운용장치로 제공할 수 있다.That is, when the analysis model file storage receives the operation environment information from the analysis model operation device, the analysis model file corresponding to the operation environment information may be provided to the analysis model operation device by comparing the operation environment information and metadata.

이때, 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하는 경우, 분석모델 운용 장치의 접근권한을 확인하는 과정을 추가적으로 수행할 수 있으며, 접근권한을 가진 분석모델 운용 장치로부터 운용환경 정보가 수신되는 것으로 확인된 경우 분석모델 파일을 제공할 수 있다.At this time, the analysis model file storage can additionally perform the process of checking the access rights of the analysis model operation device when receiving operation environment information from the analysis model operation device, and operation environment information from the analysis model operation device having access authority. When it is confirmed that is received, an analysis model file can be provided.

이에 따라, 본 발명의 일 실시예는 엣지 단말(200)에서의 분석을 위한 어플리케이션 성능 향상을 위하여, 어플리케이션 전체를 갱신하는 것이 아닌 어플리케이션 내에서 활용하는 알고리즘 모델만의 갱신을 통하여 성능 향상이 가능하며, 이에 따라 비용 절감이 가능하다.Accordingly, in an embodiment of the present invention, in order to improve application performance for analysis in the edge terminal 200, performance can be improved by updating only the algorithm model used within the application, not updating the entire application. , Accordingly, cost reduction is possible.

또한, 어플리케이션이 활용되는 환경에 대한 정보를 기반으로 성능을 최적화할 수 있는 알고리즘 모델을 배포함으로써 분석 어플리케이션 활용을 위한 컴퓨팅 자원 비용을 감소시킬 수 있다.In addition, by distributing an algorithm model capable of optimizing performance based on information on the environment in which the application is used, it is possible to reduce the cost of computing resources for using the analysis application.

한편, 본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Meanwhile, an embodiment of the present invention may be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

1: 클라우드-엣지 시스템
100: 클라우드 서버
200: 엣지 단말
300: 사용자 단말
1: Cloud-edge system
100: cloud server
200: edge terminal
300: user terminal

Claims (12)

클라우드-엣지 컴퓨팅 환경에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법에 있어서,
클라우드 서버로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계;
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계;
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계;
상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계;
분석모델 운용장치가 상기 분석 모델이 운용되는 엣지 단말의 환경 정보(분석모델명 및 버전정보를 포함)를 분석모델 파일 저장소에 제공하는 단계;
상기 분석모델 운용장치가 상기 분석모델 파일 저장소로부터 각 엣지 단말의 하드웨어 정보, 상황 정보 및 운용정보에 최적화된 분석모델 파일을 수신하는 단계; 및
상기 분석모델 운용장치가 상기 엣지 단말의 기존 분석모델 파일을 상기 최적화된 분석모델 파일로 대체하는 단계
를 포함하는 데이터 처리 방법.
In a method of processing data through an analysis model of a pipeline structure in a cloud-edge computing environment,
Separating the neural network generated from the cloud server into a plurality of analysis models to correspond to one or more edge terminals;
Distributing the separated analysis model in units of edge terminals to form an analysis engine pipeline;
Sequentially inserting input data into the plurality of analysis models;
Processing the input data in the plurality of analysis models;
Providing, by an analysis model operating device, environmental information (including analysis model name and version information) of an edge terminal on which the analysis model is operated to an analysis model file storage;
Receiving, by the analysis model operating device, an analysis model file optimized for hardware information, situation information, and operation information of each edge terminal from the analysis model file storage; And
The analysis model operating device replacing the existing analysis model file of the edge terminal with the optimized analysis model file
Data processing method comprising a.
제 1 항에 있어서,
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는,
상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응되도록 분리하는 것인 데이터 처리 방법.
The method of claim 1,
Separating the neural network into a plurality of analysis models to correspond to one or more edge terminals,
The data processing method of separating to correspond to characteristic information including at least one of memory, CPU performance, and GPU availability of the edge terminal.
제 2 항에 있어서,
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는,
상기 엣지 단말의 특성 정보에 기초하여 상기 복수의 분석 모델 중 둘 이상의 분석 모델을 하나의 엣지 단말에 대응시키는 것인 데이터 처리 방법.
The method of claim 2,
The step of configuring the analysis engine pipeline by distributing the separated analysis model in units of edge terminals,
The data processing method to correspond to one edge terminal with two or more analysis models of the plurality of analysis models based on the characteristic information of the edge terminal.
제 1 항에 있어서,
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는,
상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하는 것인 데이터 처리 방법.
The method of claim 1,
Separating the neural network into a plurality of analysis models to correspond to one or more edge terminals,
The data processing method of generating a plurality of analysis models each including one or more of the divided layers by dividing the neural network into layers.
제 1 항에 있어서,
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는,
제 1 엣지 단말에 배포된 제 1 분석 모델의 출력단에 제 2 엣지 단말에 배포된 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성하는 것인 데이터 처리 방법.
The method of claim 1,
The step of configuring the analysis engine pipeline by distributing the separated analysis model in units of edge terminals,
The data processing method comprising connecting the second analysis model distributed to the second edge terminal to the output terminal of the first analysis model distributed to the first edge terminal to configure the analysis engine pipeline.
제 5 항에 있어서,
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는,
상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델로 전달하고, 상기 제 1 입력 데이터를 상기 제 2 분석 모델로 전달함과 동시에 제 2 입력 데이터가 삽입되는 것인 데이터 처리 방법.
The method of claim 5,
The step of sequentially inserting input data into the plurality of analysis models and processing the input data from the plurality of analysis models,
As first input data is inserted into the first analysis model, the result of processing the first input data is transferred to a second analysis model, and the first input data is transferred to the second analysis model, and a second Data processing method in which input data is inserted.
제 6 항에 있어서,
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는,
제 1 분석 모델에서 상기 제 1 입력 데이터 처리를 완료함에 따라 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달하는 것인 데이터 처리 방법.
The method of claim 6,
The step of sequentially inserting input data into the plurality of analysis models and processing the input data from the plurality of analysis models,
As the first analysis model completes the processing of the first input data, it is determined whether the second analysis model is in an idle state, and when the second analysis model is in an idle state, the result of processing the first input data is determined. Data processing method that is passed to the second analysis model.
파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템에 있어서,
하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말;
뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버; 및
상기 분석 모델이 운용되는 상기 하나 이상의 엣지 단말의 환경 정보(분석모델명 및 버전정보를 포함)를 분석모델 파일 저장소에 제공하고, 분석모델 파일 저장소로부터 각 엣지 단말의 하드웨어 정보, 상황 정보 및 운용정보에 최적화된 분석모델 파일을 수신하며, 상기 하나 이상의 엣지 단말의 기존 분석모델 파일을 상기 최적화된 분석모델 파일로 대체하는 분석모델 운용장치
를 포함하는 클라우드-엣지 시스템.
In a cloud-edge system that processes data through an analysis model of a pipeline structure,
One or more edge terminals for receiving one or more analysis models and processing input data input to the analysis model;
Generate a neural network, divide the neural network into layers to generate a plurality of analysis models each including one or more of the divided layers, and the edge terminal so that the plurality of analysis models correspond to the one or more edge terminals A cloud server that distributes in units and configures the distributed analysis model as an analysis engine pipeline; And
Provides environment information (including analysis model name and version information) of the one or more edge terminals on which the analysis model is operated to an analysis model file storage, and from the analysis model file storage to hardware information, context information, and operation information of each edge terminal. An analysis model operating device that receives the optimized analysis model file and replaces the existing analysis model file of the one or more edge terminals with the optimized analysis model file
Cloud-edge system comprising a.
제 8 항에 있어서,
상기 클라우드 서버는 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응하도록 상기 복수의 분석 모델로 분리하여 배포하는 것인 클라우드-엣지 시스템.
The method of claim 8,
The cloud server is a cloud-edge system that separates and distributes the plurality of analysis models to correspond to characteristic information including at least one of memory, CPU performance, and GPU availability of the edge terminal.
제 8 항에 있어서,
상기 클라우드 서버는 상기 복수의 분석 모델 중 제 1 분석 모델의 출력단에 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성하는 것인 클라우드-엣지 시스템.
The method of claim 8,
The cloud server configures the analysis engine pipeline by connecting a second analysis model to an output terminal of the first analysis model among the plurality of analysis models.
제 10 항에 있어서,
상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과는 제 2 분석 모델로 전달되고, 상기 제 1 입력 데이터가 상기 제 2 분석 모델로 전달됨과 동시에 제 2 입력 데이터가 삽입되는 것인 클라우드-엣지 시스템.
The method of claim 10,
As the first input data is inserted into the first analysis model, the result of processing the first input data is transferred to a second analysis model, and the first input data is transferred to the second analysis model and a second input Cloud-edge system where data is inserted.
제 11 항에 있어서,
상기 제 1 분석 모델에서 상기 제 1 입력 데이터 처리가 완료됨에 따라 상기 제 1 분석 모델에 대응하는 엣지 단말은 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달하는 것인 클라우드-엣지 시스템.
The method of claim 11,
As the processing of the first input data in the first analysis model is completed, the edge terminal corresponding to the first analysis model determines whether the second analysis model is in an idle state, and the second analysis model is in an idle state. In the case of a cloud-edge system, the result of processing the first input data is transmitted to the second analysis model.
KR1020180134968A 2018-11-06 2018-11-06 Cloud-edge system and method for processing data thereof KR102156439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180134968A KR102156439B1 (en) 2018-11-06 2018-11-06 Cloud-edge system and method for processing data thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180134968A KR102156439B1 (en) 2018-11-06 2018-11-06 Cloud-edge system and method for processing data thereof

Publications (2)

Publication Number Publication Date
KR20200054372A KR20200054372A (en) 2020-05-20
KR102156439B1 true KR102156439B1 (en) 2020-09-16

Family

ID=70919912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180134968A KR102156439B1 (en) 2018-11-06 2018-11-06 Cloud-edge system and method for processing data thereof

Country Status (1)

Country Link
KR (1) KR102156439B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400158B1 (en) 2020-12-08 2022-05-19 인하대학교 산학협력단 Dynamic Resource Allocation Method and Apparatus for Service Chaining in Cloud-Edge-Radio 5G Network
WO2022114489A1 (en) * 2020-11-30 2022-06-02 라온피플 주식회사 Deep learning support device and deep learning support method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102653006B1 (en) * 2020-08-24 2024-04-01 한국전자통신연구원 System and method for providing inference service based on deep neural network
KR102245341B1 (en) * 2020-09-11 2021-04-28 한국전자기술연구원 Method for apply predictive model for workload distribution within the cloud edge
KR102351571B1 (en) * 2020-10-23 2022-01-14 (주)에스디플렉스 Assembly Type Edge System
KR102526261B1 (en) * 2020-12-04 2023-04-27 한국전자기술연구원 Method for dynamic Artificial Intelligence model select based on space-time context

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067276A (en) * 2008-09-09 2010-03-25 Sony Corp Pipelined image processing engine
JP2016525239A (en) 2013-06-24 2016-08-22 サイランス・インコーポレイテッドCylance Inc. An automatic system for generative multi-model multi-class classification and similarity analysis using machine learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201610603TA (en) * 2014-06-20 2017-01-27 Amazon Tech Inc Dynamic n-dimensional cubes for hosted analytics
KR101788829B1 (en) * 2015-08-24 2017-10-20 (주)뉴로컴즈 Convolutional neural network computing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067276A (en) * 2008-09-09 2010-03-25 Sony Corp Pipelined image processing engine
JP2016525239A (en) 2013-06-24 2016-08-22 サイランス・インコーポレイテッドCylance Inc. An automatic system for generative multi-model multi-class classification and similarity analysis using machine learning

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022114489A1 (en) * 2020-11-30 2022-06-02 라온피플 주식회사 Deep learning support device and deep learning support method
KR20220075965A (en) * 2020-11-30 2022-06-08 라온피플 주식회사 Device and method for supporting deep learning
KR102499215B1 (en) 2020-11-30 2023-02-13 라온피플 주식회사 Device and method for supporting deep learning
KR102400158B1 (en) 2020-12-08 2022-05-19 인하대학교 산학협력단 Dynamic Resource Allocation Method and Apparatus for Service Chaining in Cloud-Edge-Radio 5G Network

Also Published As

Publication number Publication date
KR20200054372A (en) 2020-05-20

Similar Documents

Publication Publication Date Title
KR102156439B1 (en) Cloud-edge system and method for processing data thereof
JP2022524487A (en) Computational data storage system
CN110874484A (en) Data processing method and system based on neural network and federal learning
CN107015995B (en) Method and device for modifying mirror image file
US11196633B2 (en) Generalized correlation of network resources and associated data records in dynamic network environments
US20220103433A1 (en) Infrastructure discovery and analysis
US11126359B2 (en) Partitioning graph data for large scale graph processing
JP5673473B2 (en) Distributed computer system and method for controlling distributed computer system
US20210248057A1 (en) Test case generator and user interface
US10839791B2 (en) Neural network-based acoustic model with softening target-layer
US10970196B1 (en) Semantic-aware fuzz-based functional testing
US10599880B1 (en) Systems and methods for simulating real-world IO workloads in a parallel and distributed storage system
US11205092B2 (en) Clustering simulation failures for triage and debugging
US20180052899A1 (en) Multiple parallel reducer types in a single map-reduce job
US10860433B1 (en) Directional consistency in capture and recovery of cloud-native applications
US9143161B1 (en) Field level compression in parallel data flows
US11907711B2 (en) Fast porting of projects
US11537445B2 (en) Dynamic integration flows in hybrid cloud environments
KR102131446B1 (en) System, apparatus for operating analysis engine and method of analysis engine update thereof
US11294759B2 (en) Detection of failure conditions and restoration of deployed models in a computing environment
EP4204964A1 (en) Candidate program release evaluation
CN111523639A (en) Method and apparatus for training a hyper-network
US11948056B2 (en) Communication-efficient data parallel ensemble boosting
EP4036811A1 (en) Combining compression, partitioning and quantization of dl models for fitment in hardware processors
CN117114087B (en) Fault prediction method, computer device, and readable storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant