KR102156439B1 - 클라우드-엣지 시스템 및 이의 데이터 처리 방법 - Google Patents
클라우드-엣지 시스템 및 이의 데이터 처리 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 250
- 238000013528 artificial neural network Methods 0.000 claims abstract description 53
- 238000003672 processing method Methods 0.000 claims description 14
- 230000007613 environmental effect Effects 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
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
본 발명에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템은 하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말 및 뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버를 포함한다.
Description
본 발명은 클라우드-엣지 시스템 및 이의 데이터 처리 방법에 관한 것으로, 보다 구체적으로는 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리할 수 있는 시스템 및 방법에 관한 것이다.
현재의 기계학습이나 뉴럴 네트워크 기술은 정확도를 높이기 위한 경쟁이 진행중이며, 이를 위해 클라우드 또는 고성능의 GPU 등의 기술을 통한 빠르고 정확한 분석 알고리즘 및 프레임워크의 개발로 진행되고 있다.
한편, 분석엔진에서 많이 사용되는 뉴럴 네트워크의 경우, 복잡한 뉴럴 네트워크 구조를 생성한 후 방대한 양의 데이터를 해당 네트워크에 학습시켜 뉴럴 네트워크의 파라미터 값을 정의하게 된다. 이후 분석된 데이터를 학습된 뉴럴 네트워크에 통과시켜 산출되는 최종 결과물을 통하여 분석을 진행하게 된다.
이때, 복잡한 분석의 경우 뉴럴 네트워크의 크기가 방대해지게 되며, 이로 인한 컴퓨팅 자원의 요구사항도 함께 증가하게 된다. 최근의 뉴럴 네트워크의 경우 통상 수백 메가 바이트 내지 수 기가 바이트에 달하고 있으며, 이 경우 시스템의 메모리도 그 이상으로 증가해야 한다는 문제가 있다.
따라서, 뉴럴 네트워크를 이용한 분석 엔진을 활용함에 있어서 시스템의 메모리 자원에 제한되지 않고도 많은 양의 데이터를 동시에 처리할 수 있는 데이터 처리 방법이 필요한 실정이다.
본 발명의 실시예는 뉴럴 네트워크를 복수의 분석 모델로 구분하고, 구분된 분석 모델을 엣지 단말 단위의 파이프라인 형태로 배치함으로써 적은 시스템 메모리 자원에도 불구하도 보다 많은 양의 데이터를 동시에 처리할 수 있는 클라우드-엣지 시스템 및 이의 데이터 처리 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법은 클라우드 서버로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계; 상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계; 상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계를 포함한다.
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는, 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응되도록 분리할 수 있다.
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는, 상기 엣지 단말의 특성 정보에 기초하여 상기 복수의 분석 모델 중 둘 이상의 분석 모델을 하나의 엣지 단말에 대응시킬 수 있다.
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성할 수 있다.
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는, 제 1 엣지 단말에 배포된 제 1 분석 모델의 출력단에 제 2 엣지 단말에 배포된 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성할 수 있다.
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는, 상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델로 전달하고, 상기 제 1 입력 데이터를 상기 제 2 분석 모델로 전달함과 동시에 제 2 입력 데이터가 삽입될 수 있다.
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는, 제 1 분석 모델에서 상기 제 1 입력 데이터 처리를 완료함에 따라 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달할 수 있다.
또한, 본 발명의 제 2 측면에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템은 하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말 및 뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버를 포함한다.
상기 클라우드 서버는 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응하도록 상기 복수의 분석 모델로 분리하여 배포할 수 있다.
상기 클라우드 서버는 상기 복수의 분석 모델 중 제 1 분석 모델의 출력단에 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성할 수 있다.
상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과는 제 2 분석 모델로 전달되고, 상기 제 1 입력 데이터가 상기 제 2 분석 모델로 전달됨과 동시에 제 2 입력 데이터가 삽입될 수 있다.
상기 제 1 분석 모델에서 상기 제 1 입력 데이터 처리가 완료됨에 따라 상기 제 1 분석 모델에 대응하는 엣지 단말은 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 뉴럴 네트워크를 각 단계로 구분하고 구분된 뉴럴 네트워크들을 파이프라인으로 배치함으로써 제한된 메모리 자원에도 불구하고 단일 시간동안 보다 많은 양의 데이터를 동시에 처리할 수 있는 효과를 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드-엣지 시스템을 개략적으로 설명하기 위한 도면이다.
도 2a 내지 도 2c는 뉴럴 네트워크를 설명하기 위한 도면이다.
도 3은 분석 모델이 파이프라인 구조로 연결된 일 예시를 도시한 도면이다.
도 4는 분석 모델에서 입력 데이터를 순차적으로 처리하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 방법의 순서도이다.
도 2a 내지 도 2c는 뉴럴 네트워크를 설명하기 위한 도면이다.
도 3은 분석 모델이 파이프라인 구조로 연결된 일 예시를 도시한 도면이다.
도 4는 분석 모델에서 입력 데이터를 순차적으로 처리하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명은 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리할 수 있는 시스템(1) 및 방법에 관한 것이다.
최근 기계학습 및 뉴럴 네트워크 기술 등의 분석 기술은 GPU, 클라우드 등 고성능 컴퓨팅 환경에 의하여 빠르게 진화되고 있다. 하지만 이러한 기계학습 및 뉴럴 네트워크 기술들은 정확도의 향상에 집중하고 있어 매우 높은 사양의 자원을 요구하는 것이 일반적이다.
특히 뉴럴 네트워크의 경우, 복잡한 분석 작업을 위해서는 그에 상응하는 복잡한 뉴럴 네트워크의 구성이 필요하며, 이러한 뉴럴 네트워크를 메모리에 올리기 위해서는 대용량의 메모리가 요구되고 있다.
이를 위해, 본 발명의 일 실시예는 뉴럴 네트워크를 복수의 분석 모델로 구분하고, 구분된 분석 모델을 엣지 단말 단위의 파이프라인 형태로 배치함으로써 적은 시스템 메모리 자원에도 불구하도 보다 많은 양의 데이터를 동시에 처리할 수 있도록 할 수 있다.
이하에서는 도 1 내지 도 3을 참조하여, 본 발명의 일 실시예에 따른 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템(1)에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 클라우드-엣지 시스템(1)을 개략적으로 설명하기 위한 도면이다. 도 2a 내지 도 2c는 뉴럴 네트워크(A)를 설명하기 위한 도면이다. 도 3은 분석 모델이 파이프라인 구조로 연결된 일 예시를 도시한 도면이다. 도 4는 분석 모델에서 입력 데이터를 순차적으로 처리하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 클라우드-엣지 시스템(1)은 하나 이상의 엣지 단말(200)과 클라우드 서버(100)를 포함한다.
클라우드 서버(100)는 입력 데이터를 분석 처리하기 위한 뉴럴 네트워크를 생성한다.
뉴럴 네트워크는 임의의 결정을 위한 뉴런들을 네트워크 형태로 배포하는 구조를 의미한다. 뉴럴 네트워크의 구조가 결정되고 나면, 도 2a와 같이 다양한 입력 데이터들을 뉴럴 네트워크(A)에 통과시켜 뉴럴 네트워크(A) 내 뉴런들의 값, 즉 파라미터들을 결정하게 되며, 이 과정을 학습이라 부른다.
뉴럴 네트워크의 학습이 끝나면, 도 2b와 같이 분석될 데이터들을 뉴럴 네트워크(A)에 입력함으로써 원하는 분석결과를 얻을 수 있다.
이때, 뉴럴 네트워크의 크기는 분석하고자 하는 양에 따라 매우 커진다는 문제가 있다. 뉴럴 네트워크의 크기는 수십 메가 바이트에서 수 기가 바이트에 이르고 있으며, 이러한 뉴럴 네트워크(A)를 도 2a 내지 도 2c와 같이 단일 형태로 활용할 경우 그에 상응하는 메모리가 요구된다.
따라서, 본 발명의 일 실시예에서 클라우드 서버(100)는 생성된 뉴럴 네트워크(A)를 도 2c와 같이 상호 간의 간섭이 없는 독립적인 레이어 단위(a1~a4)로 구분하여 하나 이상의 구분된 레이어를 포함하는 복수의 분석 모델을 생성한다.
이때, 하나의 분석 모델은 하나의 레이어만을 포함할 수 있을뿐 아니라, 복수의 레이어가 하나의 분석 모델로 구성될 수 있음은 물론이다.
이와 같이 하나의 뉴럴 네트워크에 대응하는 복수의 분석 모델이 생성되고 나면, 클라우드 서버(100)는 복수의 분석 모델을 저장한다. 이때, 클라우드 서버(100)는 ONNX(Open Neural Network Exchange) 등의 뉴럴 네트워크 저장 기법을 이용하여 분석 모델을 저장한다.
이후 클라우드 서버(100)는 저장된 복수의 분석 모델을 하나 이상의 엣지 단말(200)에 대응되도록 엣지 단말 단위로 배포하고, 배포된 분석 모델을 서로 연결하여 분석 엔진 파이프라인으로 구성되도록 한다. 이 과정에서 클라우드 서버(100)는 HTTP, FTP 등의 프로토콜을 통하여 분석 모델을 엣지 단말로 전송하고 메모리로 로드할 수 있다.
엣지 단말(200)은 하나 이상의 분석 모델을 배포받은 후, 분석 모델에 입력된 입력 데이터를 분석 처리한다. 뉴럴 네트워크가 복수 개의 분석 모델로 분리되고, 분리된 복수 개의 분석 모델은 엣지 단말(200)에 각각 배포됨에 따라, 분석 모델들은 엣지 단말 단위의 독립된 하드웨어로 구성되어 파이프라인 구조를 형성하게 된다.
예를 들어, 도 2c에서 12개의 뉴런(a1), 11개의 뉴런(a2), 12개의 뉴런(a3), 11개의 뉴런(a4)을 가지는 총 4개의 레이어(a1~a4)로 구성된 뉴럴 네트워크(A)의 경우, 도 2c와 같은 단일 시스템에 해당 네트워크를 메모리에 로드하기 위해서는 46* 뉴런 크기만큼의 메모리 용량이 요구된다.
하지만, 도 2c의 예시에서 도 3과 같이 4개의 레이어(a1~a4)를 4개의 분석 모델로 구성하고 각 단계별로 각각 제 1 내지 제 4 분석 모델을 로드할 경우, 단일 레이어 처리를 위한 분석 소프트웨어의메모리 용량은 12* 뉴런 크기 또는 11* 뉴런 크기만큼 줄어들게 된다.
이와 같은 복수의 레이어에 대하여 복수의 분석모델로 구성하는 과정은 관리자에 의하여 수동으로 수행될 수 있음은 물론이고, 엣지 단말(200)의 특성 정보에 기초하여 클라우드 서버가 자동으로 생성할 수도 있다.
즉, 클라우드 서버(100)는 엣지 단말(200)의 메모리 크기, CPU 성능, 그리고 GPU의 구비 여부 및 성능 정보나 엣지 단말(200)의 현재 운용되고 있는 상태 정보를 포함하는 특성 정보에 기초하여 복수의 분석모델을 생성하고 이를 엣지 단말 단위로 배포할 수 있다.
예를 들어, 각 엣지 단말(200)의 특성 정보에 따라 하나의 엣지 단말에는 하나의 분석 모델이 배포될 수 있음은 물론이고, 특정 엣지 단말에는 복수 개의 분석 모델이 배포되어 처리될 수 있음은 물론이다.
또한, 본 발명의 일 실시예는 도 4와 같은 파이프라인 구조를 통하여 동시에 복수 개의 입력 데이터를 처리할 수 있다. 이때, 도 4에서 제 1 내지 제 4 분석 모델(a1~a4)은 4개의 엣지 단말 각각에 배포되어 있거나, 4개 미만의 엣지 단말에 배포되어 특정 엣지 단말에는 복수 개의 분석 모델이 포함되어 있을 수 있다.
예를 들어, 도 2c에서의 뉴럴 네트워크(A)가 제 1 내지 제 4 분석 모델(a1~a4)로 분리되어 생성된 경우, 제 1 분석 모델(a1)에 제 1 입력 데이터가 삽입됨에 따라 제 1 분석 모델(a1)은 제 1 입력 데이터를 분석 처리한다.
그리고 제 1 분석 모델(a1)에서 제 1 입력 데이터의 분석 처리가 완료되면, 제 1 입력 데이터를 처리한 결과는 IP Network를 통해 제 2 분석 모델(a2)로 전달된다. 이때, 제 1 입력 데이터가 제 2 분석 모델(a2)로 전달됨과 동시에 제 2 입력 데이터는 제 1 분석 모델(a1)로 삽입된다.
이에 따라, 제 1 분석 모델(a1)에서는 제 2 입력 데이터를 분석 처리하고, 제 2 분석 모델(a2)에서는 제 1 분석 모델(a1)로부터 전달받은 처리 결과를 분석 처리한다.
이와 같은 과정이 순차적으로 진행됨에 따라 제 4 입력 데이터가 제 1 분석 모델(a1)에 삽입되어 분석 처리가 시작되면, 제 1 내지 제 4 분석 모델(a1~a4)은 모두 유휴 상태 없이 분석 처리 과정이 수행되게 된다.
따라서, 도 4의 예시의 경우 동일한 메모리 용량을 가지고도 4 배의 데이터를 처리할 수 있게 된다.
한편, 본 발명의 일 실시예는 분석 모델에서 다음 분석 모델로 처리 결과를 전달함에 있어 다음 분석 모델의 유휴 상태 여부를 확인한 후 처리 결과를 전달할 수 있다.
예를 들어, 도 4에서 제 1 분석 모델(a1)에서 제 1 입력 데이터의 처리가 완료됨에 따라 제 1 분석 모델(a1)에 대응하는 엣지 단말(200)은 제 2 분석 모델(a2)이 유휴 상태인지 여부를 판단한다. 그리고 제 2 분석 모델(a2)이 유휴 상태인 경우 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델(a2)로 전달하게 된다.
한편, 본 발명의 일 실시예에서 클라우드 서버(100)와 엣지 단말(200)은 통신모듈(미도시), 메모리(미도시) 및 프로세서(미도시)를 포함하여 구성될 수 있다.
통신모듈은 클라우드 서버(100)와 엣지 단말(200) 간에 데이터를 송수신한다.
클라우드 서버(100)의 메모리에는 뉴럴 네트워크를 생성하고, 이를 복수의 분석 모델로 분리하여 배포하기 위한 프로그램이 저장되며, 엣지 단말(200)의 메모리에는 하나 이상의 분석 모델을 배포받아 분석 모델에 입력된 데이터를 처리하기 위한 프로그램이 저장된다. 그리고 프로세서는 메모리에 저장된 프로그램을 실행시킨다.
이때, 메모리는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다.
예를 들어, 메모리는 콤팩트 플래시(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) 등을 포함할 수 있다.
참고로, 본 발명의 실시예에 따른 도 1 내지 도 4에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
이하에서는, 도 5를 참조하여 본 발명의 일 실시예에 따른 클라우드-엣지에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법에 대하여 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 방법의 순서도이다.
본 발명의 일 실시예에 따른 데이터 처리 방법은 먼저 클라우드 서버(100)로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말(200)에 대응되도록 복수의 분석 모델로 분리한다(S110).
다음으로, 클라우드 서버(100)는 분리된 분석 모델을 엣지 단말(200)로 배포하며, 이 과정에서 분석 엔진들은 파이프라인 구조로 구성된다(S120).
다음으로, 복수의 분석 모델에 순차적으로 입력 데이터가 삽입되고(S130), 복수의 분석 모델은 상기 입력 데이터를 처리한다(S140).
한편 상술한 설명에서, 단계 S110 내지 S140은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 4에서의 클라우드-엣지 시스템에 관하여 이미 기술된 내용은 도 5의 데이터 처리 방법에도 적용된다.
한편, 본 발명의 일 실시예는 클라우드 서버(100)가 뉴럴 네트워크를 분리하여 복수의 분석 모델로 생성한 후 이를 저장하는 과정과, 이를 엣지 단말(200)로 배포하는 과정에 있어서, 별도의 분석모델 운용 시스템을 통해 분석 모델을 엣지 단말(200)로 배포되도록 할 수 있다.
본 발명의 일 실시예에서 분석모델 운용 시스템은 분석모델 운용 장치 및 분석모델 파일 저장소를 포함한다.
이러한 분석모델 운용 시스템은 클라우드 서버(100)로부터 제공되며 엣지 단말(200)의 어플리케이션 내에 적용되는 분석모델을 독립적으로 갱신할 수 있다.
분석모델 운용 장치는 분석모델이 운용되는 엣지 단말(200)의 환경정보를 분석모델 파일 저장소에 제공한다. 그리고 분석모델 파일 저장소로부터 엣지 단말(200)의 하드웨어 정보, 상황 정보, 운용 정보 등에 최적화된 분석모델 모델파일을 수신하고, 새롭게 수신한 분석모델 파일을 기존 분석모델 파일에 대체하여 갱신한다.
이러한 분석모델 운용 장치는 분석모델의 실행파일과 분석모델 파일을 저장하고 있다.
분석모델의 실행파일은 엣지 단말(200)의 어플리케이션 운용을 위한 바이너리 형태의 실행파일을 의미한다. 그리고 분석모델 파일은 상기 분석모델에 적용되는 파일을 의미한다. 이때, 분석모델 파일은 후술하는 분석모델 파일 저장소로부터 제공받게 된다.
분석모델 운용 장치는 분석모델이 운용되는 엣지 단말(200)의 환경정보를 수집 및 관리한다. 이러한 운용환경 정보로는 현재 적용 중인 분석모델의 모델명, 버전 정보, GPU 지원 여부 정보를 포함할 수 있으며, 운용환경 정보로 정밀도 정보 및 분석모델명 정보를 포함할 수 있다.
분석모델 파일 저장소는 분석모델 저장소 및 분석모델 메타데이터 저장소를 포함한다.
분석모델 저장소에는 분석모델 파일이 저장된다. 그리고 분석모델 메타데이터 저장소에는 분석모델 파일에 대한 메타데이터가 저장된다. 이때, 분석모델 메타데이터 저장소에 저장된 메타데이터는 상기 분석모델 저장소에 저장된 분석모델 파일에 대응하는 분석모델명, 버전 정보를 포함할 수 있으며, 운용환경 정보로 정밀도 정보 및 분석모델명 정보를 포함할 수 있다.
이러한 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하고 이에 대응하는 새로운 분석모델 파일을 분석모델 운용장치로 제공한다.
즉, 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하면, 운용환경 정보와 메타데이터를 비교하여 운용환경 정보에 대응하는 분석모델 파일을 분석모델 운용장치로 제공할 수 있다.
이때, 분석모델 파일 저장소는 분석모델 운용 장치로부터 운용환경 정보를 수신하는 경우, 분석모델 운용 장치의 접근권한을 확인하는 과정을 추가적으로 수행할 수 있으며, 접근권한을 가진 분석모델 운용 장치로부터 운용환경 정보가 수신되는 것으로 확인된 경우 분석모델 파일을 제공할 수 있다.
이에 따라, 본 발명의 일 실시예는 엣지 단말(200)에서의 분석을 위한 어플리케이션 성능 향상을 위하여, 어플리케이션 전체를 갱신하는 것이 아닌 어플리케이션 내에서 활용하는 알고리즘 모델만의 갱신을 통하여 성능 향상이 가능하며, 이에 따라 비용 절감이 가능하다.
또한, 어플리케이션이 활용되는 환경에 대한 정보를 기반으로 성능을 최적화할 수 있는 알고리즘 모델을 배포함으로써 분석 어플리케이션 활용을 위한 컴퓨팅 자원 비용을 감소시킬 수 있다.
한편, 본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 클라우드-엣지 시스템
100: 클라우드 서버
200: 엣지 단말
300: 사용자 단말
100: 클라우드 서버
200: 엣지 단말
300: 사용자 단말
Claims (12)
- 클라우드-엣지 컴퓨팅 환경에서의 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 방법에 있어서,
클라우드 서버로부터 생성된 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계;
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계;
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계;
상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계;
분석모델 운용장치가 상기 분석 모델이 운용되는 엣지 단말의 환경 정보(분석모델명 및 버전정보를 포함)를 분석모델 파일 저장소에 제공하는 단계;
상기 분석모델 운용장치가 상기 분석모델 파일 저장소로부터 각 엣지 단말의 하드웨어 정보, 상황 정보 및 운용정보에 최적화된 분석모델 파일을 수신하는 단계; 및
상기 분석모델 운용장치가 상기 엣지 단말의 기존 분석모델 파일을 상기 최적화된 분석모델 파일로 대체하는 단계
를 포함하는 데이터 처리 방법. - 제 1 항에 있어서,
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는,
상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응되도록 분리하는 것인 데이터 처리 방법. - 제 2 항에 있어서,
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는,
상기 엣지 단말의 특성 정보에 기초하여 상기 복수의 분석 모델 중 둘 이상의 분석 모델을 하나의 엣지 단말에 대응시키는 것인 데이터 처리 방법. - 제 1 항에 있어서,
상기 뉴럴 네트워크를 하나 이상의 엣지 단말에 대응되도록 복수의 분석 모델로 분리하는 단계는,
상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하는 것인 데이터 처리 방법. - 제 1 항에 있어서,
상기 분리된 분석 모델을 엣지 단말 단위로 배포하여 분석 엔진 파이프라인으로 구성하는 단계는,
제 1 엣지 단말에 배포된 제 1 분석 모델의 출력단에 제 2 엣지 단말에 배포된 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성하는 것인 데이터 처리 방법. - 제 5 항에 있어서,
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는,
상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과를 제 2 분석 모델로 전달하고, 상기 제 1 입력 데이터를 상기 제 2 분석 모델로 전달함과 동시에 제 2 입력 데이터가 삽입되는 것인 데이터 처리 방법. - 제 6 항에 있어서,
상기 복수의 분석 모델에 순차적으로 입력 데이터를 삽입하는 단계 및 상기 복수의 분석 모델에서 상기 입력 데이터를 처리하는 단계는,
제 1 분석 모델에서 상기 제 1 입력 데이터 처리를 완료함에 따라 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달하는 것인 데이터 처리 방법. - 파이프라인 구조의 분석 모델을 통해 데이터를 처리하는 클라우드-엣지 시스템에 있어서,
하나 이상의 분석 모델을 배포받아 상기 분석 모델에 입력된 입력 데이터를 처리하는 하나 이상의 엣지 단말;
뉴럴 네트워크를 생성하고, 상기 뉴럴 네트워크를 레이어 단위로 구분하여 하나 이상의 상기 구분된 레이어를 각각 포함하는 복수의 분석 모델을 생성하며, 상기 복수의 분석 모델을 상기 하나 이상의 엣지 단말에 대응되도록 상기 엣지 단말 단위로 배포하고, 상기 배포된 분석 모델을 분석 엔진 파이프라인으로 구성하는 클라우드 서버; 및
상기 분석 모델이 운용되는 상기 하나 이상의 엣지 단말의 환경 정보(분석모델명 및 버전정보를 포함)를 분석모델 파일 저장소에 제공하고, 분석모델 파일 저장소로부터 각 엣지 단말의 하드웨어 정보, 상황 정보 및 운용정보에 최적화된 분석모델 파일을 수신하며, 상기 하나 이상의 엣지 단말의 기존 분석모델 파일을 상기 최적화된 분석모델 파일로 대체하는 분석모델 운용장치
를 포함하는 클라우드-엣지 시스템. - 제 8 항에 있어서,
상기 클라우드 서버는 상기 엣지 단말의 메모리, CPU 성능 및 GPU 구비 여부 중 하나 이상을 포함하는 특성 정보에 대응하도록 상기 복수의 분석 모델로 분리하여 배포하는 것인 클라우드-엣지 시스템. - 제 8 항에 있어서,
상기 클라우드 서버는 상기 복수의 분석 모델 중 제 1 분석 모델의 출력단에 제 2 분석 모델을 연결하여 상기 분석 엔진 파이프라인으로 구성하는 것인 클라우드-엣지 시스템. - 제 10 항에 있어서,
상기 제 1 분석 모델에 제 1 입력 데이터가 삽입됨에 따라 상기 제 1 입력 데이터를 처리한 결과는 제 2 분석 모델로 전달되고, 상기 제 1 입력 데이터가 상기 제 2 분석 모델로 전달됨과 동시에 제 2 입력 데이터가 삽입되는 것인 클라우드-엣지 시스템. - 제 11 항에 있어서,
상기 제 1 분석 모델에서 상기 제 1 입력 데이터 처리가 완료됨에 따라 상기 제 1 분석 모델에 대응하는 엣지 단말은 상기 제 2 분석 모델이 유휴 상태인지 여부를 판단하고, 상기 제 2 분석 모델이 유휴 상태인 경우 상기 제 1 입력 데이터를 처리한 결과를 상기 제 2 분석 모델로 전달하는 것인 클라우드-엣지 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180134968A KR102156439B1 (ko) | 2018-11-06 | 2018-11-06 | 클라우드-엣지 시스템 및 이의 데이터 처리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180134968A KR102156439B1 (ko) | 2018-11-06 | 2018-11-06 | 클라우드-엣지 시스템 및 이의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200054372A KR20200054372A (ko) | 2020-05-20 |
KR102156439B1 true KR102156439B1 (ko) | 2020-09-16 |
Family
ID=70919912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180134968A KR102156439B1 (ko) | 2018-11-06 | 2018-11-06 | 클라우드-엣지 시스템 및 이의 데이터 처리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102156439B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102400158B1 (ko) | 2020-12-08 | 2022-05-19 | 인하대학교 산학협력단 | 계층적 5g 네트워크 구조에서 서비스 체이닝을 위한 동적 자원 할당 방법 및 장치 |
WO2022114489A1 (ko) * | 2020-11-30 | 2022-06-02 | 라온피플 주식회사 | 딥러닝 지원 디바이스 및 딥러닝 지원 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102653006B1 (ko) * | 2020-08-24 | 2024-04-01 | 한국전자통신연구원 | 심층 신경망 기반의 추론 서비스 제공 시스템 및 방법 |
KR102245341B1 (ko) * | 2020-09-11 | 2021-04-28 | 한국전자기술연구원 | 클라우드 엣지 내 워크로드 분산을 위한 예측 모델 적용 방법 |
KR102351571B1 (ko) | 2020-10-23 | 2022-01-14 | (주)에스디플렉스 | 조립식 엣지 시스템 |
KR102526261B1 (ko) * | 2020-12-04 | 2023-04-27 | 한국전자기술연구원 | 시공간 컨텍스트 피드백 기반 동적 ai 모델 선택 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067276A (ja) * | 2008-09-09 | 2010-03-25 | Sony Corp | パイプライン画像処理エンジン |
JP2016525239A (ja) | 2013-06-24 | 2016-08-22 | サイランス・インコーポレイテッドCylance Inc. | 機械学習を使用した生成的マルチモデルマルチクラス分類および類似度分析のための自動システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6305645B2 (ja) * | 2014-06-20 | 2018-04-04 | アマゾン テクノロジーズ インコーポレイテッド | ホスト型分析のための動的n次元キューブ |
KR101788829B1 (ko) * | 2015-08-24 | 2017-10-20 | (주)뉴로컴즈 | 콘볼루션 신경망 컴퓨팅 장치 |
-
2018
- 2018-11-06 KR KR1020180134968A patent/KR102156439B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067276A (ja) * | 2008-09-09 | 2010-03-25 | Sony Corp | パイプライン画像処理エンジン |
JP2016525239A (ja) | 2013-06-24 | 2016-08-22 | サイランス・インコーポレイテッドCylance Inc. | 機械学習を使用した生成的マルチモデルマルチクラス分類および類似度分析のための自動システム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022114489A1 (ko) * | 2020-11-30 | 2022-06-02 | 라온피플 주식회사 | 딥러닝 지원 디바이스 및 딥러닝 지원 방법 |
KR20220075965A (ko) * | 2020-11-30 | 2022-06-08 | 라온피플 주식회사 | 딥러닝 지원 디바이스 및 딥러닝 지원 방법 |
KR102499215B1 (ko) | 2020-11-30 | 2023-02-13 | 라온피플 주식회사 | 딥러닝 지원 디바이스 및 딥러닝 지원 방법 |
KR102400158B1 (ko) | 2020-12-08 | 2022-05-19 | 인하대학교 산학협력단 | 계층적 5g 네트워크 구조에서 서비스 체이닝을 위한 동적 자원 할당 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20200054372A (ko) | 2020-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102156439B1 (ko) | 클라우드-엣지 시스템 및 이의 데이터 처리 방법 | |
JP2022524487A (ja) | 計算データ記憶システム | |
CN110874484A (zh) | 基于神经网络和联邦学习的数据处理方法和*** | |
CN107015995B (zh) | 一种镜像文件的修改方法和装置 | |
US20220103433A1 (en) | Infrastructure discovery and analysis | |
US11196633B2 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
US11126359B2 (en) | Partitioning graph data for large scale graph processing | |
US11249885B2 (en) | Test case generator and user interface | |
JP5673473B2 (ja) | 分散計算機システム及び分散計算機システムの制御方法 | |
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 | |
CN115904852A (zh) | 一种用于数据处理器的自动化测试方法、设备及介质 | |
US11907711B2 (en) | Fast porting of projects | |
US11537445B2 (en) | Dynamic integration flows in hybrid cloud environments | |
KR102131446B1 (ko) | 분석엔진 운용 시스템, 장치 및 이의 분석엔진 갱신 방법 | |
US11294759B2 (en) | Detection of failure conditions and restoration of deployed models in a computing environment | |
EP4204964A1 (en) | Candidate program release evaluation | |
CN114356512A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN111523639A (zh) | 用于训练超网络的方法和装置 | |
US11948056B2 (en) | Communication-efficient data parallel ensemble boosting | |
EP4036811A1 (en) | Combining compression, partitioning and quantization of dl models for fitment in hardware processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |