KR20230029495A - Cloud server, edge server and method for generating intelligence model using the same - Google Patents

Cloud server, edge server and method for generating intelligence model using the same Download PDF

Info

Publication number
KR20230029495A
KR20230029495A KR1020220056734A KR20220056734A KR20230029495A KR 20230029495 A KR20230029495 A KR 20230029495A KR 1020220056734 A KR1020220056734 A KR 1020220056734A KR 20220056734 A KR20220056734 A KR 20220056734A KR 20230029495 A KR20230029495 A KR 20230029495A
Authority
KR
South Korea
Prior art keywords
intelligence model
intelligence
model
cloud server
data
Prior art date
Application number
KR1020220056734A
Other languages
Korean (ko)
Inventor
장민수
김도형
김재홍
윤우한
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US17/836,087 priority Critical patent/US20230077103A1/en
Priority to JP2022095961A priority patent/JP2023031238A/en
Publication of KR20230029495A publication Critical patent/KR20230029495A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An intelligence model generating method according to one embodiment of the present invention comprises: a step of receiving, by an edge server, an intelligence model generating request of a user terminal; a step of generating an intelligence model corresponding to the intelligence model generating request; and a step of adjusting the generated intelligence model. Therefore, the present invention is capable of obtaining the intelligence model optimized to an application quickly and at low costs.

Description

클라우드 서버, 엣지 서버 및 이를 이용한 지능 모델 생성 방법{CLOUD SERVER, EDGE SERVER AND METHOD FOR GENERATING INTELLIGENCE MODEL USING THE SAME}Cloud server, edge server and method for generating an intelligence model using the same {CLOUD SERVER, EDGE SERVER AND METHOD FOR GENERATING INTELLIGENCE MODEL USING THE SAME}

본 발명은 본 발명은 기계학습 기반 지능 모델의 생성, 배포, 관리 기술에 관한 것이다.The present invention relates to technologies for generating, distributing, and managing machine learning-based intelligence models.

구체적으로, 클라우드 서버 및 엣지 서버에서 수행되는 지능 모델 생성 및 배포 방법에 관한 것이다.Specifically, it relates to a method for generating and distributing an intelligence model performed in a cloud server and an edge server.

인공지능 서비스를 효과적으로 구현하고 실행하기 위해서는 단말의 요구사항과 적용 환경에 최적화된 양질의 지능 모델을 손쉽게 확보하여 활용할 수 있어야 한다. 종래에 인공지능 모델을 확보하고 활용하기 위해 다양한 방식을 활용할 수 있다. In order to effectively implement and execute artificial intelligence services, it is necessary to be able to easily secure and utilize high-quality intelligence models optimized for the requirements of the terminal and the application environment. Conventionally, various methods can be used to secure and utilize an artificial intelligence model.

먼저, 전문가가 지능 모델 개발의 전 과정을 수행할 수 있다. 인공지능 전문가는 인공지능 모델을 훈련하기 위한 데이터셋을 확보하고, 인공지능 모델의 구조를 선택하거나 설계하여 구현한 후, 데이터셋을 이용하여 인공지능 모델이 원하는 수준의 성능으로 동작할 때까지 훈련하고 시험한다. 그 결과로 생성한 지능 모델을 응용 환경에 설치하고 활용한다. First, an expert can perform the entire process of developing an intelligence model. An artificial intelligence expert secures a dataset to train an artificial intelligence model, selects or designs and implements the structure of an artificial intelligence model, and then uses the dataset to train the artificial intelligence model until it operates at the desired level of performance. and test The resulting intelligence model is installed and utilized in the application environment.

이때, 지능 모델을 확보하기 위한 데이터 확보, 프로그램 개발, 훈련을 모두 수행해야 하므로 지능 모델 확보 난이도가 높고, 비용이 크며, 시간이 오래 걸린다. 응용과 적용 환경에 최적화된 지능 모델을 확보할 수 있는 장점이 있는 반면, 지능 모델 생성 담당자의 전문성과 생성 방식에 따라 지능 모델의 성능과 품질에 편차가 발생할 수 있다. At this time, since data acquisition, program development, and training to secure the intelligence model must all be performed, the difficulty of obtaining the intelligence model is high, the cost is high, and it takes a long time. While there is an advantage in obtaining an intelligence model optimized for the application and application environment, there may be deviations in the performance and quality of the intelligence model depending on the expertise of the person in charge of generating the intelligence model and the generation method.

인공지능 전문가가 기공개된 인공지능 모델 중 필요에 적합한 것을 선택하여 활용할 수도 있다. 웹 검색을 통해 적합한 인공지능 모델을 찾고, 모델과 관련 코드를 확보하여 응용 프로그램에 결합하여 활용한다. 수동 개발 훈련 확보 방법에 비해 난이도가 낮고, 비용이 적으며, 시간을 절약할 수 있다. Artificial intelligence experts can select and use the one that is appropriate for their needs among previously published artificial intelligence models. Find a suitable artificial intelligence model through web search, secure the model and related code, and combine and use it in an application program. It is less difficult, less expensive, and saves time compared to manual development training acquisition methods.

그러나, 응용과 적용 환경에 최적화된 모델을 확보하기 힘들다. 최적화된 모델을 확보하려면 대량의 훈련 평가 데이터를 수집 구축해야 하므로 비용과 시간이 많이 든다. 지능 모델의 성능과 품질에 관한 정보가 가용한 경우 참조하여 품질 수준을 확보할 수 있으나, 관련 정보가 제공되지 않는 경우 지능 모델의 성능과 품질을 보장할 수 없다. However, it is difficult to secure a model optimized for the application and application environment. In order to obtain an optimized model, a large amount of training evaluation data must be collected and built, which is costly and time consuming. If information on the performance and quality of the intelligence model is available, the quality level can be secured by referring to it, but if the relevant information is not provided, the performance and quality of the intelligence model cannot be guaranteed.

인공지능 전문가 또는 일반 개발자가 클라우드 플랫폼 기반 인공지능 서비스를 활용하는 방법도 있다. 클라우드 플랫폼에서 제공하는 인공지능 서비스 중 필요에 맞는 것을 선정한 후 서비스 제공 업체가 제공하는 클라이언트-서버 프로그래밍 인터페이스를 활용하여 인공지능 서비스 실행을 요청하고 응답을 받을 수 있다. 이러한 인공지능 모델 서비스의 예로 구글 클라우드(Google Cloud), 마이크로소프트 애저 인지 서비스(Microsoft Azure Cognitive Services), 인텔 왓슨(Intel Watson) 등이 있다. There is also a way for artificial intelligence experts or general developers to utilize cloud platform-based artificial intelligence services. After selecting the AI service provided by the cloud platform that meets your needs, you can request the execution of the AI service and receive a response by using the client-server programming interface provided by the service provider. Examples of such artificial intelligence model services include Google Cloud, Microsoft Azure Cognitive Services, and Intel Watson.

이 방법은 활용 난이도가 낮아 지능 모델 확보 시간과 비용을 절약할 수 있다. 그러나, 사전 제작된 지능 모델을 서비스로 활용하므로 사용자가 개발할 응용과 적용 환경에 최적화된 모델을 확보하기 힘들다. 또한, 클라우드 플랫폼 서비스를 활용하기 위해서는 사용자의 모든 데이터를 클라우드 플랫폼에 전송해야 하기 때문에 데이터 보안 문제가 발생할 수 있다. This method is easy to use and can save time and cost of acquiring an intelligence model. However, since a pre-made intelligence model is used as a service, it is difficult to secure a model optimized for the application and application environment to be developed by the user. In addition, since all user data must be transmitted to the cloud platform in order to utilize the cloud platform service, data security problems may occur.

최근 등장한 클라우드 기반 지능 모델 생성 자동화 서비스를 활용하는 방법도 있다. 구글의 AutoML 서비스는 사용자가 제공한 훈련 데이터를 이용하여 지능 모델을 훈련함으로써 사용자가 원하는 최적 지능 모델을 생성하여 제공한다. 이 방법은 난이도가 낮고, 비용이 적게 들며, 시간이 짧게 걸릴 뿐 아니라 응용과 적용 환경에 최적화된 모델을 확보하기 용이하다. 전문 기업이 사전 검증된 프로세스에 의해 지능 모델을 생성하므로 성능과 품질도 양호할 수 있다. There is also a way to utilize a cloud-based intelligent model generation automation service that has recently emerged. Google's AutoML service creates and provides an optimal intelligence model desired by the user by training an intelligence model using training data provided by the user. This method is low in difficulty, low cost, and takes a short time, and it is easy to secure a model optimized for the application and application environment. Performance and quality can also be good because specialized companies create intelligence models through pre-validated processes.

단, 지능 모델을 훈련하기에 충분한 양의 데이터셋을 구축하여 제공해야 하므로, 데이터 확보의 측면으로 보면 난이도, 비용, 시간이 모두 적지 않게 소요된다. 데이터가 없다면 지능 모델을 확보할 수 없다. 또한, 데이터를 모두 클라우드 플랫폼에 전송하여 지능 모델을 훈련해야 하므로 데이터 보안 문제가 발생할 수 있다.However, since a sufficient amount of data set to train an intelligence model must be built and provided, difficulty, cost, and time are all required in terms of securing data. Without data, you cannot have an intelligence model. In addition, data security issues may arise as all data must be sent to a cloud platform to train an intelligence model.

국내 공개특허공보 제10-2020-0052449호(발명의 명칭: 인공지능 서비스를 위한 연결된 데이터 아키텍처 시스템 및 이에 대한 제어방법)Korean Patent Publication No. 10-2020-0052449 (Title of Invention: Connected Data Architecture System for Artificial Intelligence Service and Control Method for It)

본 발명의 목적은 클라우드와 엣지로 구성된 복합 컴퓨팅 환경을 통해 지능 모델을 생성하여 배포하는 방법을 제공하는 것이다.An object of the present invention is to provide a method for generating and distributing an intelligent model through a complex computing environment composed of a cloud and an edge.

또한, 본 발명의 목적은 낮은 비용으로 빠르게 응용에 최적화된 지능 모델을 확보하는 것이다. In addition, an object of the present invention is to secure an intelligent model optimized for applications quickly and at low cost.

또한, 본 발명의 목적은 데이터가 없거나 소량의 데이터만 보유한 경우에도 응용 서비스와 환경에 최적화된 지능 모델을 생성하는 것이다.In addition, an object of the present invention is to create an intelligent model optimized for application services and environments even when there is no data or only a small amount of data.

또한, 본 발명의 목적은 지능 모델 생성 과정을 이원화하여 데이터의 외부 노출을 방지함으로써 보안 문제와 사생활 침해 문제를 방지하는 것이다.In addition, an object of the present invention is to prevent security problems and privacy problems by preventing external exposure of data by dualizing the process of generating an intelligent model.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 지능 모델 생성 방법은 엣지 서버가 사용자 단말의 지능 모델 생성 요청을 수신하는 단계, 상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 단계 및 상기 생성된 지능 모델을 조정하는 단계를 포함한다.An intelligence model generation method according to an embodiment of the present invention for achieving the above object includes receiving, by an edge server, an intelligence model generation request from a user terminal, generating an intelligence model corresponding to the intelligence model generation request, and and adjusting the generated intelligence model.

이때, 상기 지능 모델을 생성하는 단계는 엣지 서버가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하는 단계 및 상기 클라우드 서버에서 생성된 지능 모델을 수신하는 단계를 더 포함할 수 있다.In this case, the generating of the intelligence model may further include, if the edge server fails to generate the intelligence model, requesting the cloud server to generate the intelligence model and receiving the intelligence model generated by the cloud server. there is.

이때, 상기 클라우드 서버는 제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함할 수 있다.In this case, the cloud server may include a first cloud server and a second cloud server having a larger capacity than the first cloud server.

이때, 상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청할 수 있다.In this case, if the generation of the intelligence model fails, the first cloud server may request generation of the intelligence model to the second cloud server.

이때, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.In this case, the intelligence model generation request may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 지능 모델을 생성하는 단계는 상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하는 단계, 상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하는 단계 및 상기 변형된 지능 모델의 학습을 수행하는 단계를 포함할 수 있다.At this time, the generating of the intelligence model includes selecting a basic intelligence model based on the intelligence model generation request, modifying a label list of the basic intelligence model to correspond to a target label list, and It may include a step of performing learning.

이때, 상기 변형된 지능 모델의 학습을 수행하는 단계는 기저장된 데이터셋을 이용하는 제1 학습 단계 및 상기 지능 모델 생성 요청에 포함된 원시 데이터를 이용하는 제2 학습 단계를 포함할 수 있다.In this case, the step of learning the modified intelligence model may include a first learning step using a pre-stored dataset and a second learning step using raw data included in the intelligence model generation request.

이때, 상기 클라우드 서버에 지능 모델 생성을 요청하는 단계는 상기 데이터 공개 범위에 기반하여 상기 클라우드 서버에 전송할 원시 데이터를 설정할 수 있다.In this case, in the requesting the cloud server to generate the intelligence model, raw data to be transmitted to the cloud server may be set based on the data disclosure range.

이때, 상기 생성된 지능 모델을 조정하는 단계는 상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 수행될 수 있다.In this case, the step of adjusting the generated intelligence model may be performed using raw data not transmitted to the cloud server.

또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 엣지 서버는 사용자 단말 및 다른 서버와 통신하는 통신부, 지능 모델 생성을 위한 데이터가 저장된 저장부, 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부 및 상기 생성된 지능 모델을 조정하는 조정부를 포함한다.In addition, the edge server according to an embodiment of the present invention for achieving the above object is a communication unit communicating with a user terminal and other servers, a storage unit storing data for generating an intelligence model, and an intelligence model corresponding to a request for generating an intelligence model. It includes a model generation unit for generating and an adjustment unit for adjusting the generated intelligence model.

이때, 상기 통신부는 상기 모델 생성부가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하고, 상기 클라우드 서버에서 생성된 지능 모델을 수신할 수 있다.In this case, if the model generator fails to generate the intelligence model, the communication unit may request the cloud server to generate the intelligence model and receive the intelligence model generated by the cloud server.

이때, 상기 클라우드 서버는 제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함할 수 있다.In this case, the cloud server may include a first cloud server and a second cloud server having a larger capacity than the first cloud server.

이때, 상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청할 수 있다.In this case, if the generation of the intelligence model fails, the first cloud server may request generation of the intelligence model to the second cloud server.

이때, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.In this case, the intelligence model generation request may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 모델 생성부는 상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하고, 상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하고, 상기 변형된 지능 모델의 학습을 수행할 수 있다.At this time, the model generator may select a basic intelligence model based on the intelligence model generation request, transform a label list of the basic intelligence model to correspond to a target label list, and perform learning of the modified intelligence model. .

이때, 상기 통신부는 상기 데이터 공개 범위에 기반하여 상기 원시 데이터를 상기 클라우드 서버에 전송할 수 있다.At this time, the communication unit may transmit the raw data to the cloud server based on the data disclosure range.

이때, 상기 조정부는 상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 상기 지능 모델을 조정할 수 있다.In this case, the adjustment unit may adjust the intelligence model using raw data not transmitted to the cloud server.

또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라우드 서버는 엣지 서버의 지능 모델 생성 요청을 수신하는 통신부, 지능 모델 생성을 위한 데이터가 저장된 저장부, 상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부를 포함하고, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.In addition, the cloud server according to an embodiment of the present invention for achieving the above object includes a communication unit receiving a request for generating an intelligence model from an edge server, a storage unit storing data for generating an intelligence model, and a corresponding request for generating the intelligence model. and a model generation unit for generating an intelligence model for generating the intelligence model, and the request for generating the intelligence model may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 통신부는 상기 모델 생성부에서 상기 지능 모델의 생성에 실패하면, 다른 클라우드 서버에 지능 모델 생성을 요청할 수 있다.In this case, the communication unit may request another cloud server to generate the intelligence model if the model creation unit fails to generate the intelligence model.

이때, 상기 지능 모델 생성 요청의 원시 데이터는 상기 엣지 서버에서 상기 데이터 공개 범위에 기반하여 전송될 수 있다.In this case, raw data of the intelligence model generation request may be transmitted from the edge server based on the data disclosure range.

본 발명에 따르면, 클라우드와 엣지로 구성된 복합 컴퓨팅 환경을 통해 지능 모델을 생성하여 배포하는 방법을 제공할 수 있다.According to the present invention, it is possible to provide a method for generating and distributing an intelligent model through a complex computing environment composed of a cloud and an edge.

또한, 본 발명은 낮은 비용으로 빠르게 응용에 최적화된 지능 모델을 확보할 수 있다. In addition, the present invention can quickly secure an intelligent model optimized for an application at a low cost.

또한, 본 발명은 데이터가 없거나 소량의 데이터만 보유한 경우에도 응용 서비스와 환경에 최적화된 지능 모델을 생성할 수 있다. In addition, the present invention can create an intelligent model optimized for application services and environments even when there is no data or only a small amount of data.

또한, 본 발명은 지능 모델 생성 과정을 이원화하여 데이터의 외부 노출을 방지함으로써 보안 문제와 사생활 침해 문제를 방지할 수 있다.In addition, the present invention can prevent security problems and privacy problems by preventing external exposure of data by dualizing the process of generating an intelligent model.

도 1은 본 발명의 일 실시예에 따른 지능 모델 생성 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 지능 모델 생성 방법을 보다 상세히 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 지능 모델 배포 시스템의 구성을 나타낸 도면이다.
도 4는 이미지 분류용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.
도 5는 사물 검출 작업용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.
도 6은 의미 기반 영상 분할 작업용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.
도 7은 본 발명의 실시예에 따른 지능 리파지토리 구조를 나타낸 블록도이다.
도 8은 본 발명의 일 실시예에 따른 지능 모델 생성 방법의 데이터셋 예시를 나타낸 도면이다.
도 9는 AlexNet 구조를 개념적으로 나타낸 도면이다.
도 10은 본 발명의 지능 모델 배포 과정을 나타낸 흐름도이다.
도 11은 본 발명의 실시예에 따른 지능 모델 생성 과정을 나타낸 흐름도이다.
도 12는 표준 정답 레이블 목록을 생성하는 일례이다.
도 13은 엣지 서버가 도 4의 지능 요구 프로파일을 데이터 공개 범위를 기반으로 변형한 결과 예이다.
도 14는 본 발명의 일 실시예에 엣지 서버의 구조를 나타낸 블록도이다.
도 15는 본 발명의 일 실시예에 클라우드 서버의 구조를 나타낸 블록도이다.
도 16은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
1 is a flowchart illustrating a method for generating an intelligence model according to an embodiment of the present invention.
2 is a flowchart illustrating a method for generating an intelligence model in detail according to an embodiment of the present invention.
3 is a diagram showing the configuration of an intelligence model distribution system according to an embodiment of the present invention.
4 is an example of an intelligence requirement profile requesting an intelligence model for image classification.
5 is an example of an intelligence requirement profile requesting an intelligence model for an object detection task.
6 is an example of an intelligence requirement profile requesting an intelligence model for a semantic-based image segmentation task.
7 is a block diagram showing the structure of an intelligent repository according to an embodiment of the present invention.
8 is a diagram showing an example of a dataset of a method for generating an intelligence model according to an embodiment of the present invention.
9 is a diagram conceptually showing the AlexNet structure.
10 is a flowchart showing the intelligence model distribution process of the present invention.
11 is a flowchart illustrating a process of generating an intelligence model according to an embodiment of the present invention.
12 is an example of generating a list of standard correct answer labels.
13 is an example of a result obtained by the edge server modifying the intelligence requirement profile of FIG. 4 based on the data disclosure range.
14 is a block diagram showing the structure of an edge server according to an embodiment of the present invention.
15 is a block diagram showing the structure of a cloud server according to an embodiment of the present invention.
16 is a diagram showing the configuration of a computer system according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.

비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although "first" or "second" is used to describe various elements, these elements are not limited by the above terms. Such terms may only be used to distinguish one component from another. Therefore, the first component mentioned below may also be the second component within the technical spirit of the present invention.

본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.Terms used in this specification are for describing embodiments and are not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" or "comprising" implies that a stated component or step does not preclude the presence or addition of one or more other components or steps.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms used herein may be interpreted as meanings commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when describing with reference to the drawings, the same or corresponding components are given the same reference numerals, and overlapping descriptions thereof will be omitted. .

도 1은 본 발명의 일 실시예에 따른 지능 모델 생성 방법을 나타낸 흐름도이다.1 is a flowchart illustrating a method for generating an intelligence model according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 지능 모델 생성 및 배포 방법은 엣지 서버 및 클라우드 서버에서 수행될 수 있다. 단, 사용자 단말의 지능 모델 생성 요청에 따라 지능 모델 생성은 엣지 서버에서만 수행될 수도 있으며, 본 발명의 범위가 이에 한정되는 것은 아니다.A method for generating and distributing an intelligence model according to an embodiment of the present invention may be performed in an edge server and a cloud server. However, the intelligence model generation may be performed only by the edge server according to the request of the user terminal to generate the intelligence model, and the scope of the present invention is not limited thereto.

도 1을 참조하면, 본 발명의 실시예에 따른 방법은 엣지 서버가 사용자 단말의 지능 모델 생성 요청을 수신하는 단계(S110), 상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 단계(S120) 및 상기 생성된 지능 모델을 조정하는 단계(S130)를 포함한다.Referring to FIG. 1 , the method according to an embodiment of the present invention includes receiving, by an edge server, an intelligence model generation request from a user terminal (S110), and generating an intelligence model corresponding to the intelligence model generation request (S120). and adjusting the generated intelligence model (S130).

이때, 상기 지능 모델을 생성하는 단계(S120)는 엣지 서버가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하는 단계 및 상기 클라우드 서버에서 생성된 지능 모델을 수신하는 단계를 더 포함할 수 있다.At this time, the step of generating the intelligence model (S120) further includes the step of requesting the generation of the intelligence model to the cloud server and receiving the intelligence model generated by the cloud server if the edge server fails to generate the intelligence model. can include

이때, 상기 클라우드 서버는 제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함할 수 있다.In this case, the cloud server may include a first cloud server and a second cloud server having a larger capacity than the first cloud server.

이때, 상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청할 수 있다.In this case, if the generation of the intelligence model fails, the first cloud server may request generation of the intelligence model to the second cloud server.

이때, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.In this case, the intelligence model generation request may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 지능 모델을 생성하는 단계(S120)는 상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하는 단계, 상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하는 단계 및 상기 변형된 지능 모델의 학습을 수행하는 단계를 포함할 수 있다.At this time, the step of generating the intelligence model (S120) includes selecting a basic intelligence model based on the request for generating the intelligence model, modifying a label list of the basic intelligence model to correspond to a target label list, and It may include performing learning of the intelligence model.

이때, 상기 변형된 지능 모델의 학습을 수행하는 단계는 기저장된 데이터셋을 이용하는 제1 학습 단계 및 상기 지능 모델 생성 요청에 포함된 원시 데이터를 이용하는 제2 학습 단계를 포함할 수 있다.In this case, the step of learning the modified intelligence model may include a first learning step using a pre-stored dataset and a second learning step using raw data included in the intelligence model generation request.

이때, 상기 클라우드 서버에 지능 모델 생성을 요청하는 단계는 상기 데이터 공개 범위에 기반하여 상기 클라우드 서버에 전송할 원시 데이터를 설정할 수 있다.In this case, in the requesting the cloud server to generate the intelligence model, raw data to be transmitted to the cloud server may be set based on the data disclosure range.

이때, 상기 생성된 지능 모델을 조정하는 단계(S130)는 상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 수행될 수 있다.In this case, the step of adjusting the generated intelligence model (S130) may be performed using raw data that has not been transmitted to the cloud server.

도 2는 본 발명의 일 실시예에 따른 지능 모델 생성 방법을 보다 상세히 나타낸 흐름도이다.2 is a flowchart illustrating a method for generating an intelligence model in detail according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 지능 모델 생성 방법은 사용자 단말(10), 엣지 서버(20) 및 클라우드 서버(30)에서 수행될 수 있다.Referring to FIG. 2 , the method for generating an intelligence model according to an embodiment of the present invention may be performed in a user terminal 10, an edge server 20, and a cloud server 30.

사용자 단말(10)은 엣지 서버(20)에 서비스 제공에 필요한 지능 모델의 생성을 요청한다(S11). 지능 모델 생성 요청을 수신한 엣지 서버(20)는 엣지 서버(20) 내에서 지능 모델을 생성할 수 있는지 판단한다(S12). 지능 모델 생성이 가능한 경우(S12) 엣지 서버는 지능 모델을 생성하고(S13) 지능 모델을 미세 조정하여(S20) 사용자 단말(10)에 전송한다(S21). 이때, 엣지 서버 내에서 지능 모델을 생성하는 경우 상기 지능 모델을 미세 조정하는 단계(S20)는 생략될 수 있다.The user terminal 10 requests the edge server 20 to generate an intelligence model necessary for service provision (S11). Upon receiving the intelligence model generation request, the edge server 20 determines whether the intelligence model can be generated within the edge server 20 (S12). When the intelligence model can be generated (S12), the edge server generates the intelligence model (S13), fine-tunes the intelligence model (S20), and transmits the fine-tuned information to the user terminal 10 (S21). In this case, when the intelligence model is generated in the edge server, the fine-tuning of the intelligence model (S20) may be omitted.

엣지 서버(10)는 지능 모델의 생성이 불가능한 경우(S120) 클라우드 서버(30)에 지능 모델 생성 요청을 전달한다(S14). 이때, 상기 클라우드 서버(30)는 엣지 서버보다 큰 컴퓨팅 자원을 가진 서버를 지칭하는 것으로, 그 용어에 의해 본 발명의 범위가 제한되는 것은 아니다.When the generation of the intelligence model is impossible (S120), the edge server 10 transmits an intelligence model generation request to the cloud server 30 (S14). At this time, the cloud server 30 refers to a server having larger computing resources than the edge server, and the scope of the present invention is not limited by the term.

지능 모델 생성 요청을 수신한 클라우드 서버(30)는 지능 모델 생성 가능 여부를 판단하고(S15), 지능 모델 생성이 가능하면 지능 모델을 생성하여 엣지 서버(20)에 전송한다. 엣지 서버는 수신한 지능 모델을 미세 조정(S20)하여 사용자 단말(10)에 전송한다(S21).Upon receiving the intelligence model generation request, the cloud server 30 determines whether the intelligence model can be generated (S15), and if the intelligence model can be generated, the intelligence model is generated and transmitted to the edge server 20. The edge server fine-tunes the received intelligence model (S20) and transmits it to the user terminal 10 (S21).

클라우드 서버에서 지능 모델 생성이 불가능한 경우(S15) 다른 클라우드 서버에 지능 모델의 생성을 요청한다(S17). 이때, 상기 다른 클라우드 서버는 상기 클라우드 서버(30)보다 큰 컴퓨팅 자원을 갖는 서버에 상응할 수 있다. 다른 클라우드 서버로부터 지능 모델을 수신한(S18) 클라우드 서버(30)는 이를 엣지 서버로 전송한다(S19). 엣지 서버는 수신한 지능 모델을 미세 조정(S20)하여 사용자 단말(10)에 전송한다(S21).When it is impossible to generate an intelligence model in the cloud server (S15), another cloud server is requested to generate an intelligence model (S17). In this case, the other cloud server may correspond to a server having greater computing resources than the cloud server 30 . The cloud server 30 receiving the intelligence model from another cloud server (S18) transmits it to the edge server (S19). The edge server fine-tunes the received intelligence model (S20) and transmits it to the user terminal 10 (S21).

이때, 상기 다른 클라우드 서버에 지능 모델 생성을 요청하는 단계(S17)는 상기 지능 모델을 생성할 수 있는 클라우드 서버를 찾을 때까지 반복적으로 또는 계층적으로 수행될 수 있다. 이하, 상세한 실시예를 통해 본 발명을 자세히 설명하기로 한다.In this case, the step of requesting the other cloud server to generate the intelligence model (S17) may be repeatedly or hierarchically performed until a cloud server capable of generating the intelligence model is found. Hereinafter, the present invention will be described in detail through detailed examples.

도 3은 본 발명의 일 실시예에 따른 지능 모델 배포 시스템의 구성을 나타낸 도면이다.3 is a diagram showing the configuration of an intelligence model distribution system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 시스템은 단말(100), 엣지 서버(150) 및 클라우드 서버(200)로 구성될 수 있다.Referring to FIG. 3 , a system according to an embodiment of the present invention may include a terminal 100 , an edge server 150 and a cloud server 200 .

상기 단말(100)은 로봇, 스마트 스피커 등 지능적인 서비스를 제공하는 장치로서 지능 모델을 요청하고 활용한다. The terminal 100 is a device that provides intelligent services, such as a robot or a smart speaker, and requests and utilizes an intelligent model.

상기 엣지 서버(150)는 망을 통해 단말과 연결된 컴퓨팅 시스템으로서 일반적으로 단말의 위치와 물리적으로 가까운 장소에 존재한다. 예를 들어, 단말이 식당 서비스 로봇인 경우, 엣지 서버(150)는 로봇을 운영하는 식당 안에 설치된 서버 컴퓨터가 될 수 있다. The edge server 150 is a computing system connected to a terminal through a network and generally exists in a location physically close to the location of the terminal. For example, when the terminal is a restaurant service robot, the edge server 150 may be a server computer installed in a restaurant operating the robot.

엣지 서버(150)는 클라우드 서버와 달리 지능 모델을 활용하는 지역, 예를 들어 식당과 같은 매장, 안에서 활용하고 해당 지역의 운영 주체가 관리할 수 있다. 이때, 엣지 서버(150)는 개인정보보호 법 규정 또는 운영 주체가 정한 규칙에 따라 지능 모델의 생성과 활용을 위해 제공해야 하는 데이터 중 외부 유출이 가능한 것과 그렇지 않은 것을 구분하고 외부 유출이 가능한 데이터만 외부 서버로 전송함으로 데이터 보안 문제를 해결할 수 있다. Unlike the cloud server, the edge server 150 may be utilized in a region utilizing an intelligence model, for example, a store such as a restaurant, and managed by an operating entity in the region. At this time, the edge server 150 classifies data that can be leaked to the outside from among data that needs to be provided for the creation and utilization of the intelligence model according to the regulations of the Personal Information Protection Act or the rules set by the operator, and only data that can be leaked to the outside. Data security problems can be solved by sending to an external server.

본 발명에 의한 지능 모델 생성 방법에 의하면 외부 공개 가능한 데이터로 클라우드에서 생성된 지능 모델을 엣지 서버에서 보안 데이터로 재훈련하고 최적화함으로써 데이터 보안 문제를 해결하면서 원하는 지능 모델을 확보할 수 있다. According to the intelligence model generation method according to the present invention, a desired intelligence model can be secured while solving data security problems by retraining and optimizing an intelligence model generated in the cloud with data that can be disclosed to the outside with security data at the edge server.

클라우드 서버(200)는 원격지에서 운영되는 컴퓨팅 장치로서 단말이나 엣지 서버보다 풍부한 컴퓨팅 자원을 지니고 있으며 다수의 엣지 서버 또는 단말을 대상으로 요청을 처리할 수 있다. 본 발명에 따르면 클라우드 서버는 여러 단계에 걸쳐 계층적으로 연결될 수 있다. 엣지 서버에 직접 연결된 클라우드 서버에서 지능 모델 생성과 배포가 불가능한 경우 다음 단계의 클라우드 서버로 요청을 전송해서 처리한다. 바람직하게는 더 멀리 떨어진, 즉 단계가 높은, 클라우드 서버일 수록 저장소 규모와 컴퓨팅 자원이 더 커서 더 많은 지능 모델과 데이터셋을 저장할 수 있고 더 방대한 지능 모델 생성 배포가 가능하다. The cloud server 200 is a computing device operated in a remote location and has more computing resources than terminals or edge servers, and can process requests targeting multiple edge servers or terminals. According to the present invention, cloud servers may be hierarchically connected through several steps. If it is impossible to create and deploy an intelligent model on a cloud server directly connected to the edge server, the request is sent to the cloud server in the next step for processing. Preferably, the more distant, that is, the higher the level, the larger the storage scale and computing resources of the cloud server, which can store more intelligence models and datasets, and can generate and distribute more intelligent models.

엣지 서버(150)와 클라우드 서버(200)는 지능 리파지토리(203), 지능 리파지토리 인터페이스(204), 지능 관리자(201)를 통해 지능 모델을 생성하고 배포하는 기능을 수행한다. The edge server 150 and the cloud server 200 perform a function of generating and distributing an intelligence model through an intelligence repository 203 , an intelligence repository interface 204 , and an intelligence manager 201 .

지능 리파지토리(203)는 지능 모델을 생성하고 최적화하는데 필요한 정보를 저장 관리한다. 상기 정보는 지능 모델이 다루는 대상들을 지시하는 레이블(Label), 지능 모델을 훈련하고 평가하는데 사용하는 데이터셋(Dataset), 지능 모델의 구조와 내용, 지능 모델을 기반으로 추론, 훈련, 전이학습 등을 수행하는 프로그램 등을 모두 포괄한다. The intelligence repository 203 stores and manages information necessary for generating and optimizing an intelligence model. The information includes a label indicating the objects handled by the intelligence model, a dataset used to train and evaluate the intelligence model, the structure and contents of the intelligence model, inference, training, transfer learning, etc. based on the intelligence model. It covers all programs that perform

지능 리파지토리 인터페이스(204)는 상기 모든 정보를 저장하고 열람하는데 사용하는 메시지 또는 프로그래밍 인터페이스이다.The intelligent repository interface 204 is a messaging or programming interface used to store and retrieve all of the above information.

지능 관리자(201)는 단말, 엣지 서버 또는 하위 클라우드 서버로부터 요청 받은 지능을 지능 리파지토리(203)를 활용하여 생성하고 배포하는 기능을 수행한다. 이때, 서버 내에서 자체적으로 지능 모델을 생성하지 못하는 경우 상위 서버로 지능 요구를 전달하여 지능 모델을 배포 받을 수 있다.The intelligence manager 201 performs a function of generating and distributing intelligence requested from a terminal, edge server, or lower cloud server by utilizing the intelligence repository 203 . At this time, when the intelligence model cannot be generated by itself within the server, the intelligence model may be distributed by transmitting the intelligence request to the upper server.

지능 요구 프로파일(110)은 단말이 필요로 하는 지능의 사양을 기록한 데이터 구조체로 지능 모델이 수행해야 할 기능과 지능 모델 훈련에 필요한 데이터를 포함한다. The intelligence requirement profile 110 is a data structure that records specifications of intelligence required by the terminal, and includes functions to be performed by the intelligence model and data necessary for training the intelligence model.

본 발명의 일 실시예에서 지능 모델 전송은 생성한 '지능 모델'과 그 모델을 구동하여 기능을 실행할 수 있는 '프로그램'을 함께 전송하는 방식으로 구현될 수 있다. 단말(100)은 전송 받은 '지능 모델'을 입력하여 '프로그램'을 실행함으로써 생성된 지능 모델의 추론 기능을 활용할 수 있다. In an embodiment of the present invention, transmission of an intelligence model may be implemented in a manner in which a generated 'intelligence model' and a 'program' capable of executing a function by driving the model are transmitted together. The terminal 100 may utilize the reasoning function of the generated intelligence model by inputting the received 'intelligence model' and executing the 'program'.

이하, 본 발명의 실시예에 따른 지능 요구 프로파일(110)의 구조를 상세히 설명한다.Hereinafter, the structure of the intelligence requirement profile 110 according to an embodiment of the present invention will be described in detail.

지능 모델의 생성과 배포는 지능 요구 프로파일(110)을 전송하여 이루어진다. 지능 요구 프로파일(110)은 지능 모델을 생성하는데 필요한 단서 정보를 포함한다. 본 발명의 일 실시예에서 지능 요구 프로파일(110)은 태스크 명세와 목적 데이터를 포함한다. The creation and distribution of the intelligence model is accomplished by transmitting an intelligence requirement profile (110). The intelligence requirement profile 110 includes clue information necessary for generating an intelligence model. In one embodiment of the present invention, intelligence requirement profile 110 includes task specifications and objective data.

태스크 명세는 지능 모델이 수행해야 하는 작업 내용을 기술하며, 엣지 서버와 클라우드 서버에서 지능 모델을 검색하고 선별하는데 활용한다. 본 발명의 일 실시예에서 태스크 명세는 태스크 식별자, 입력 정보, 출력 정보를 포함한다. The task specification describes the work to be performed by the intelligence model, and is used to search and select intelligence models in the edge server and cloud server. In one embodiment of the present invention, the task specification includes a task identifier, input information, and output information.

태스크 구별자는 지능 모델이 수행하는 작업을 지시하는 항목으로서 그 값의 예로 분류(Classification), 검출(Detection), 의미 분할(Semantic Segmentation), 개체 분할(Instance Segmentation), 자연어 번역(Natural Language Translation), 이미지 캡셔닝(Image Captioning) 등을 포함할 수 있다. A task discriminator is an item that directs the work performed by an intelligence model, and examples of its values include classification, detection, semantic segmentation, instance segmentation, natural language translation, It may include Image Captioning and the like.

입력 정보는 지능 모델에 입력으로 주어지는 데이터의 형식과 내용을 기술한다. 일실시 예에서 입력 정보는 이미지(Image), 동영상(Video), 오디오(Audio), 텍스트(Text)와 같이 모달리티를 기반으로 기술할 수 있다. Input information describes the format and content of data given as input to the intelligence model. In one embodiment, input information may be described based on modalities such as image, video, audio, and text.

출력 정보는 지능 모델이 입력을 받아 처리한 뒤 출력하는 출력 데이터의 형식과 내용을 기술한다. 일실시 예에서 출력 정보는 클래스 구별자(Class ID), 경계 상자(Bounding Box), 픽셀 단위 이미지 마스크(Pixel-wise Image Mask) 등과 같이 기술할 수 있다. 하기 [표 1]은 태스크 명세의 몇 가지 예시를 나타낸다.The output information describes the format and content of the output data that the intelligent model receives, processes, and outputs. In one embodiment, the output information may be described as a class identifier (Class ID), a bounding box, a pixel-wise image mask, and the like. [Table 1] below shows some examples of task specifications.

태스크 구별자task identifier 입력input 출력Print 설명explanation classificationclassification imageimage class idclass id 이미지를 입력 받아 복수개의 정해진 클래스로 분류Receives images and classifies them into a plurality of predetermined classes detectiondetection imageimage bounding-boxbounding-box 이미지를 입력 받아 특정 사물을 검출하여 영역 좌표를 출력Receives an image, detects a specific object, and outputs area coordinates detectiondetection imageimage (bounding-box, class id)(bounding-box, class id) 이미지를 입력 받아 사물의 영역과 클래스 아이디를 출력Receives an image and outputs the area and class ID of an object classificationclassification audioaudio class idclass id 오디오 샘플을 입력 받아 정해진 클래스로 분류Receive audio samples and classify them into defined classes classificationclassification videovideo class idclass id 비디오 클립을 입력 받아 정해진 클래스로 분류Receives video clips and classifies them into defined classes semantic segmentationsemantic segmentation imageimage (image mask, class id)(image mask, class id) 이미지를 입력 받아 특정 부류 별로 사물 영역의 이미지 마스크를 출력Receives an image and outputs an image mask of the object area for each specific category captioningcaptioning imageimage sentencesentence 이미지를 입력 받아 이미지 내 장면을 묘사하는 문장을 출력Takes an image as input and outputs a sentence describing the scene in the image captioningcaptioning videovideo sentencesentence 동영상을 입력 받아 동영상 내 장면을 묘사하는 문장을 출력Takes a video as input and outputs sentences describing scenes in the video auto-encodingauto-encoding imageimage imageimage 이미지 대상으로 오토인코딩을 수행Perform autoencoding on image targets

목적 데이터(110-2)는 지능 모델을 훈련하거나 최적화하는데 사용할 수 있는 데이터로서 영상, 음성, 텍스트 등 각종 형태의 원시 데이터(110-3), 지능 모델이 원시 데이터를 입력 받아 출력해야 할 정보를 지시하는 데이터 주석(110-4), 각 데이터의 공개 범위(110-5), 그리고 원시 데이터를 제공하지는 않으나 지능 모델이 다뤄야 하는 대상을 지시하는 목적 정답 레이블(110-6)을 포함한다. The target data 110-2 is data that can be used to train or optimize the intelligence model, and includes various types of raw data 110-3 such as video, audio, and text, and information to be output by the intelligence model receiving the raw data. It includes an indicating data annotation 110-4, a disclosure range of each data 110-5, and a target answer label 110-6 that does not provide raw data but indicates what the intelligent model should deal with.

데이터 주석(110-4)은 원시 데이터(110-3) 항목별로 정답을 지시한다. 정답은 분류, 검출, 분할 등 지능 모델이 수행할 태스크의 종류에 따라 형태가 서로 다를 수 있다. The data annotation 110-4 indicates the correct answer for each item of the raw data 110-3. The answers may have different forms depending on the type of task to be performed by the intelligence model, such as classification, detection, and segmentation.

공개 범위(110-5)는 각 원시 데이터와 데이터 주석을 어느 범위까지 공개할 수 있는지를 표시한다. 데이터 공개 범위 제한을 통해 지능 모델을 활용하는 개인이나 기업의 사적 정보를 보호하는 목적을 달성할 수 있다. 일 실시예에서 공개 범위는 '지역'과 '전역'으로 기술할 수 있다. 지능 요구 프로파일을 수신한 엣지 서버는 '전역'으로 표시된 데이터는 클라우드 서버로 전송하고 ‘지역’으로 표시된 데이터는 클라우드 서버로 전송하지 않고 자체 처리함으로 데이터를 보호한다. The disclosure range 110-5 indicates to what extent each raw data and data annotation can be disclosed. By limiting the scope of data disclosure, the purpose of protecting the private information of individuals or companies that utilize intelligent models can be achieved. In one embodiment, the disclosure range can be described as 'local' and 'global'. The edge server that received the intelligence requirement profile transmits the data marked as 'global' to the cloud server and protects the data by processing the data marked as 'regional' without sending it to the cloud server.

목적 정답 레이블 목록(110-6)은 지능 모델이 검출 또는 인식할 대상들의 이름을 포함한다. 지능 모델을 훈련하는데 활용할 수 있는 데이터가 존재하지 않는 경우 이 목록을 작성하여 프로파일에 포함한다. The target correct answer label list 110-6 includes names of objects to be detected or recognized by the intelligent model. If data that can be used to train an intelligence model does not exist, this list is created and included in the profile.

도 4는 이미지 분류용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.4 is an example of an intelligence requirement profile requesting an intelligence model for image classification.

도 4를 참조하면, 태스크 명세를 통해 이미지를 입력 받아 분류하고 클래스 구별자를 출력하는 지능 모델을 요청하고 있음을 알 수 있다. 목적 데이터는 훈련용으로 쓸 수 있는 이미지 파일들을 원시 데이터로 포함하고, 데이터 주석 안에 각 이미지 파일의 분류 정답을 포함한다. 데이터 보안을 위한 공개 범위도 포함하고 있음을 볼 수 있다. Referring to FIG. 4 , it can be seen that an intelligence model that receives and classifies an image through a task specification and outputs a class discriminator is requested. The target data includes image files that can be used for training as raw data, and includes the classification answer of each image file in the data annotation. You can see that it also includes disclosure scope for data security.

도 5는 사물 검출 작업용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.5 is an example of an intelligence requirement profile requesting an intelligence model for an object detection task.

도 5를 참조하면, 태스크 명세를 통해 이미지를 입력 받아 사물을 검출하고 검출된 영역에 클래스 구별자를 부여하는 지능 모델을 요청하고 있음을 알 수 있다. 목적 데이터는 훈련용으로 쓸 수 있는 이미지 파일들을 원시 데이터로 포함하고, 데이터 주석 안에 각 이미지 안에 포함된 사물의 영역과 클래스 정답을 포함한다.Referring to FIG. 5 , it can be seen that an intelligence model that receives an image through a task specification, detects an object, and assigns a class discriminator to the detected region is requested. The target data includes image files that can be used for training as raw data, and includes object areas and class answers included in each image in data annotations.

도 6은 의미 기반 영상 분할 작업용 지능 모델을 요청하는 지능 요구 프로파일을 나타낸 예시이다.6 is an example of an intelligence requirement profile requesting an intelligence model for a semantic-based image segmentation task.

도 6을 참조하면, 태스크 명세를 통해 이미지를 입력 받아 사물 영역을 이미지 마스크의 형태로 분할하고, 분할한 영역에 클래스 구별자를 부여하는 지능 모델을 요청하고 있음을 알 수 있다. 목적 데이터는 훈련용으로 쓸 수 있는 이미지 파일들을 원시 데이터로 포함하고, 데이터 주석 안에 이미지 마스크로 활용할 이미지의 이름과 클래스 구별자를 포함하고 있다. 도 4 내지 도 6과 같이 다양한 태스크에 적합하게 지능 요구 프로파일을 구성하여 활용할 수 있다.Referring to FIG. 6 , it can be seen that the request for an intelligence model that receives an image through a task specification, divides an object area in the form of an image mask, and assigns a class discriminator to the divided area. The target data includes image files that can be used for training as raw data, and includes the name and class identifier of the image to be used as an image mask in the data annotation. As shown in FIGS. 4 to 6, an intelligence requirement profile suitable for various tasks can be configured and utilized.

도 7은 본 발명의 실시예에 따른 지능 리파지토리 구조를 나타낸 블록도이다.7 is a block diagram showing the structure of an intelligent repository according to an embodiment of the present invention.

도 7을 참조하면, 지능 리파지토리(203)는 레이블 사전(300), 데이터셋 저장소(400), 지능 모델 저장소(500), 지능 모델 유형 사전(600), 지능 모델 활용 코드 사전(700)을 포함한다.Referring to FIG. 7 , the intelligence repository 203 includes a label dictionary 300, a dataset repository 400, an intelligence model repository 500, an intelligence model type dictionary 600, and an intelligent model utilization code dictionary 700. do.

레이블 사전(300)은 의미는 같으나 서로 다른 문자열이나 숫자로 표기한 레이블들을 표준 어휘로 변환하기 위한 사전이다. 표준 어휘는 각 레이블을 대표하는 레이블 식별자(301-1)로 표기한다. The label dictionary 300 is a dictionary for converting labels marked with different strings or numbers having the same meaning into a standard vocabulary. The standard vocabulary is indicated by a label identifier 301-1 representing each label.

예를 들어, UUID와 같은 전역적 유일 식별자를 활용할 수 있다. 일 실시예에 따른 레이블 사전의 내용은 하기의 [표 2]와 같다.For example, a globally unique identifier such as a UUID can be utilized. The contents of the label dictionary according to an embodiment are shown in [Table 2] below.

레이블 식별자label identifier 자연어 레이블natural language labels L0000001L0000001 cat, 고양이, chatcat, cat, chat L0000002L0000002 dog, 개, chiendog, dog, chien L0000003L0000003 말, horse, jumenthorse, horse, jument L0000004L0000004 호랑이, tiger, tigressetiger, tiger, tigresse

레이블 사전은 레이블 항목의 목록을 포함하고, 각 레이블 항목은 레이블 식별자와 자연어 레이블을 포함한다. [표 2] 의 사전에 의하면, "cat", "고양이", "Chat"는 모두 'L0000001'이라는 표준 어휘로 변환된다. 레이블 사전은 이미지넷(ImageNet)의 경우와 같이 워드넷(WordNet) 등 사전 데이터베이스를 기반으로 구축 가능하고 번역기를 통해 각종 언어로 확장할 수 있다. 레이블 사전을 지능적으로 구축하고 관리하는 방법은 본 발명의 범위에 포함하지 아니한다. The label dictionary contains a list of label items, each label item including a label identifier and a natural language label. According to the dictionary of [Table 2], "cat", "cat", and "Chat" are all converted into a standard vocabulary of 'L0000001'. As in the case of ImageNet, the label dictionary can be constructed based on a dictionary database such as WordNet, and can be expanded to various languages through a translator. A method of intelligently building and managing a label dictionary is outside the scope of the present invention.

데이터셋 저장소(400)는 지능 모델의 훈련과 평가에 사용하는 데이터셋(401)과 데이터셋을 구성하는 원시 데이터 항목(402)과 정답 데이터 항목(403)들을 저장한다.The dataset storage 400 stores a dataset 401 used for training and evaluation of an intelligent model, raw data items 402 and correct answer data items 403 constituting the data set.

본 발명의 일 실시예에서 데이터셋은 데이터셋 식별자(401-1)와 정답 데이터 목록(401-2)으로 구성된다. 데이터셋 식별자(401-1)는 데이터셋을 유일하게 구별하여 지시할 수 있는 고유 이름이다. 정답 데이터 목록(401-2)은 정답 데이터 항목(403)을 가리키는 정답 데이터 식별자(403-1)의 목록으로서 이 목록을 참조하면 데이터셋을 구성하는 모든 원시 데이터 항목(402)과 정답 데이터 항목(403)들을 열람할 수 있다. In one embodiment of the present invention, a dataset is composed of a dataset identifier 401-1 and a correct answer data list 401-2. The dataset identifier 401-1 is a unique name that can uniquely identify and indicate a dataset. The correct answer data list 401-2 is a list of correct answer data identifiers 403-1 pointing to the correct answer data item 403. Referring to this list, all raw data items 402 constituting the dataset and the correct answer data item ( 403) can be read.

원시 데이터 항목(402)은 해당 항목을 고유하게 식별하는 원시 데이터 식별자(402-1), 지능 모델의 훈련과 평가에 사용할 원본 데이터인 원시 데이터(402-2), 그리고 이미지, 동영상, 오디오 등 원시 데이터의 형식을 기술하는 원시 데이터 타입(402-3)을 포함한다. The raw data item 402 includes a raw data identifier 402-1 that uniquely identifies the item, raw data 402-2 that is original data to be used for training and evaluation of an intelligent model, and raw data such as images, videos, and audios. A raw data type 402-3 describing the format of data is included.

정답 데이터 항목(403)은 해당 항목을 고유하게 식별하는 정답 데이터 식별자(403-1), 해당 정답의 적용 대상인 원시 데이터를 가리키는 원시 데이터 식별자(402-1), 정답 레이블 식별자를 기술한 정답 데이터(403-2), 그리고 해당 정답이 활용될 수 있는 태스크 명세(403-3)를 포함한다.The correct answer data item 403 includes a correct answer data identifier 403-1 that uniquely identifies the corresponding item, a raw data identifier 402-1 indicating raw data to which the corresponding correct answer is applied, and correct answer data describing correct answer label identifiers ( 403-2), and a task specification (403-3) in which the corresponding correct answer can be utilized.

도 8은 본 발명의 일 실시예에 따른 지능 모델 생성 방법의 데이터셋 예시를 나타낸 도면이다.8 is a diagram showing an example of a dataset of a method for generating an intelligence model according to an embodiment of the present invention.

도 8을 참조하면, 정답 데이터 항목 A0100111은 원시 데이터 항목 RD1340101이 지시하는 사진에 L0001010(비행기)를 정답 레이블로 지정한다. A0100111과 A0100133의 예에서 보듯이 여러 정답 데이터 항목에서 하나의 레이블(L0001010)을 참조할 수 있다. 반대의 경우도 성립할 수 있다. 하나의 원시 데이터에 여러 정답 레이블을 부여할 수도 있기 때문이다. 하나의 원시 데이터에 서로 다른 태스크의 정답을 여러 개 부여할 수도 있다. 예를 들면, 사진 한 장에 분류(Classification) 정답, 검출(Detection) 정답, 분할(Segmentation) 정답을 부여할 수 있다. Referring to FIG. 8 , the correct answer data item A0100111 assigns L0001010 (airplane) to the photo indicated by the raw data item RD1340101 as the correct label. As shown in the examples of A0100111 and A0100133, one label (L0001010) can be referenced by multiple correct data items. The opposite case can also hold. This is because multiple correct answer labels can be assigned to one raw data. Multiple correct answers for different tasks can be given to one raw data. For example, a correct answer for classification, a correct answer for detection, and a correct answer for segmentation can be assigned to a single photo.

도 8에서 A01000116과 A0100117 는 각각 하나의 원시 데이터(RD1387478)에 서로 다른 정답을 부여한다. A01000116은 얼굴이 포함된 사진에 '얼굴(L1034962)'을 분류 태스크의 정답 레이블로 지정하는 정답이고, A0100117은 사진에 포함된 얼굴 영역을 검출하고 '얼굴'로 분류하는 검출 태스크용 정답이다. 본 발명에 의한 실시예에서 하나의 데이터셋은 정답 데이터 항목의 목록을 기술함으로써 구성된다. 도 8의 '데이터셋1'은 이미지를 입력 받아 비행기, 자동차, 타조, 얼굴 중 하나로 분류하는 지능 모델을 훈련 평가할 수 있는 데이터셋이다. '데이터셋2'는 이미지로부터 얼굴을 검출하는 지능 모델을 훈련 평가할 수 있는 데이터셋이다.In FIG. 8, A01000116 and A0100117 give different correct answers to one source data (RD1387478). A01000116 is the correct answer for designating 'face (L1034962)' as the correct label of the classification task for a photo containing a face, and A0100117 is the correct answer for the detection task for detecting the face area included in the photo and classifying it as 'face'. In an embodiment according to the present invention, one data set is constructed by describing a list of correct data items. 'Dataset 1' in FIG. 8 is a data set that can train and evaluate an intelligence model that receives images and classifies them into one of airplane, car, ostrich, and face. 'Dataset 2' is a dataset that can train and evaluate an intelligent model that detects faces from images.

지능 모델 저장소는(500) 다수의 지능 모델(501)들을 저장한다. 지능 모델(501)은 지능 모델 데이터(502)와 지능 모델 메타데이터(503)의 쌍으로 구성된다. The intelligence model repository 500 stores a number of intelligence models 501 . The intelligence model 501 is composed of a pair of intelligence model data 502 and intelligence model metadata 503.

지능 모델 데이터(502)는 지능 모델을 실행하는데 필요한 데이터이다. 본 발명의 일 실시예에서 지능 모델 데이터(502)는 모델을 유일하게 식별하는 지능 모델 식별자(502-1), 모델의 구조를 파악하는데 활용할 수 있는 모델 유형 식별자(502-2), 모델 파라미터 값(502-3), 태스크 명세(502-4)로 구성된다. The intelligence model data 502 is data necessary for executing the intelligence model. In one embodiment of the present invention, the intelligence model data 502 includes an intelligence model identifier 502-1 that uniquely identifies the model, a model type identifier 502-2 that can be used to understand the structure of the model, and model parameter values. (502-3) and task specification (502-4).

지능 모델 식별자(502-1)는 지능 모델을 전역적으로 유일하게 구별하는 아이디로서 UUID와 같은 글로벌 식별자를 활용하여 지정할 수 있다. The intelligence model identifier 502-1 is an ID globally uniquely distinguishing an intelligence model, and may be designated using a global identifier such as a UUID.

모델 유형 식별자(502-2)는 모델의 구조 명세를 기술하는 지능 모델 유형(601)을 가리키는 값이다. 예를 들어, 인공신경망 기반 지능 모델의 모델 유형은 뉴런(neuron)과 층(layer)이 어떻게 구성되고 연결되는지를 기술한 신경망 구조 정보를 말한다. The model type identifier 502-2 is a value indicating an intelligent model type 601 describing structural specifications of the model. For example, the model type of an artificial neural network-based intelligence model refers to neural network structure information describing how neurons and layers are configured and connected.

모델 파라미터 값(502-3)은 모델을 구성하는 각종 파라미터의 실제 값이다. 신경망 모델의 경우 가중치(weight)와 바이어스(bias) 등의 값들이 여기에 포함된다. 신경망과 기계학습 기반 지능 모델의 모델 구조와 파라미터 값을 기술하는 다양한 방법이 존재하므로 이러한 방법을 지능 모델 데이터 기술에 활용하면 된다. 예를 들어, ONNX(Open Neural Network Exchange)는 모델 구조와 파라미터 값을 기술하는 대표적인 업계 표준이다. The model parameter values 502-3 are actual values of various parameters constituting the model. In the case of a neural network model, values such as weight and bias are included here. Since there are various methods to describe the model structure and parameter values of neural networks and machine learning-based intelligence models, these methods can be used for intelligence model data technology. For example, ONNX (Open Neural Network Exchange) is a representative industry standard for describing model structures and parameter values.

태스크 명세(502-4)는 지능 모델이 수행하는 작업이 무엇인지 기술하는 정보로서 지능 요구 프로파일(110)에 포함된 태스크 명세(110-1)와 동일하다. 지능 요구 프로파일에 기술된 태스크 명세(110-1)와 지능 모델 데이터(502)에 포함된 태스크 명세(502-4)를 비교함으로써 요구된 기능을 적절히 수행할 수 있는 지능 모델을 선정할 수 있다.The task specification 502-4 is information describing what the intelligence model performs, and is the same as the task specification 110-1 included in the intelligence requirement profile 110. By comparing the task specification 110-1 described in the intelligence requirement profile with the task specification 502-4 included in the intelligence model data 502, an intelligence model capable of properly performing the requested function may be selected.

지능 모델 메타데이터(503)는 지능 모델의 생성 방법, 기능, 품질 등의 설명 정보를 포함한다. 지능 모델 메타데이터는 지능 모델의 선택과 활용에 참고할 수 있을 뿐 아니라, 지능 모델 간 유사성을 판단하여 품질에 문제가 있는 지능 모델을 걸러내는 단서로 활용할 수 있다. 본 발명의 일 실시예에서 지능 모델 메타데이터(503)는 데이터셋 식별자(503-1), 정답 레이블 목록(503-2), 기반 모델(503-3), 훈련 이력(503-4), 성능 평가 정보(503-5), 품질 이력(503-6)으로 구성된다. The intelligence model metadata 503 includes description information such as a generation method, function, and quality of the intelligence model. Intelligence model metadata can be used as a reference for selecting and using intelligence models, and can be used as a clue to filter out intelligence models with quality problems by judging the similarity between intelligence models. In one embodiment of the present invention, the intelligence model metadata 503 includes a dataset identifier 503-1, a list of correct answer labels 503-2, a base model 503-3, a training history 503-4, and performance It consists of evaluation information (503-5) and quality history (503-6).

데이터셋 식별자(503-1)는 지능 모델을 훈련하는데 사용한 데이터셋을 지시한다. 데이터셋 저장소(400)에 저장된 데이터셋(401)들 중 하나의 데이터셋 식별자(401-1)를 값으로 갖는다. The dataset identifier 503-1 indicates the dataset used to train the intelligence model. It has a dataset identifier 401-1 of one of the datasets 401 stored in the dataset storage 400 as a value.

정답 레이블 목록(503-2)은 지능 모델의 출력값과 레이블 식별자(302) 간 대응 관계를 기술한다. 지능 모델이 클래스 아이디를 출력하는 경우 이 값은 클래스의 인덱스(Index)이다. 예를 들어, 지능 모델이 이미지를 개와 고양이의 두 클래스로 분류하는 태스크를 수행한다고 할 때 지능 모델의 출력값은 0 또는 1이다. 만약 0은 고양이, 1은 개를 나타낸다고 할 때, 이 대응 관계를 기술한 것이 정답 레이블 목록(503-2)이다. 대응 관계는 클래스 아이디 별로 레이블 식별자(301-1)를 지정하여 기술한다. [표 2]의 레이블 사전을 기반으로 정답 레이블 목록(503-2)을 {0:L0000001, 1:L0000002}로 기술해 보면, 지능 모델의 출력이 0이면 레이블 식별자가 L0000001인 "고양이"를 의미하고 1이면 레이블 식별자가 L0000002인 "개"를 의미한다고 해석할 수 있다.The correct answer label list 503-2 describes the correspondence between the output value of the intelligence model and the label identifier 302. If the intelligence model outputs a class ID, this value is the index of the class. For example, if the intelligence model performs the task of classifying images into two classes of dogs and cats, the output of the intelligence model is either 0 or 1. If 0 represents a cat and 1 represents a dog, the correct label list 503-2 describes this correspondence. Correspondence is described by specifying the label identifier 301-1 for each class ID. If the correct label list (503-2) is described as {0:L0000001, 1:L0000002} based on the label dictionary in [Table 2], if the output of the intelligence model is 0, it means "cat" whose label identifier is L0000001. and 1, it can be interpreted as meaning "dog" whose label identifier is L0000002.

기반 모델(503-3)은 지능 모델을 훈련하는데 사용한 모델의 고유 아이디이다. 예를 들어, 모델 M을 기반으로 파인 튜닝(Fine-tuning)이나 기타 전이 학습(Transfer Learning)을 통해 이 모델을 훈련하였다면, M의 지능 모델 식별자(502-1)를 기반 모델 항목에 기술한다. 기반 모델이 없는 경우에는 공백으로 둔다. The base model 503-3 is a unique ID of a model used to train the intelligence model. For example, if this model is trained through fine-tuning or other transfer learning based on model M, the intelligence model identifier (502-1) of M is described in the base model item. Leave blank if there is no base model.

훈련 이력(503-4)은 지능 모델을 훈련에 관련된 파라미터 값과 진행 과정에서 발생하는 데이터를 포함한다. 예를 들어, 학습률(learning rate), 배치 크기(batch size), 신경망의 초기 가중치는 물론 매 훈련 주기(epoch)마다 어떤 데이터를 입력하여 가중치가 어떻게 변화했고, 학습률 등 훈련 과정을 조정하는 파라미터 값을 어떻게 변화시켰으며, 손실값(Loss)은 어떻게 변화했는지를 모두 포함할 수 있다. The training history 503-4 includes parameter values related to training the intelligent model and data generated during the process. For example, parameter values that adjust the training process, such as the learning rate, batch size, the initial weight of the neural network, how the weights have changed by inputting data for each training period (epoch), and the learning rate. and how the loss value (Loss) has changed may all be included.

성능 평가 정보(503-5)는 지능 모델의 성능을 기술한 데이터로서, 평가에 사용한 데이터셋과 성능치를 포함한다. 평가에 사용한 데이터셋 또는 평가 데이터 항목의 고유 아이디, 모델의 평가 척도에 따른 성능치, 평가 환경을 기술한다. 예를 들어, 이미지 분류 모델의 경우 성능 평가에 사용한 모든 이미지 데이터의 고유 아이디, 분류 정확도(Accuracy)와 이미지 당 실행 속도(fps) 등의 성능치, 평가를 수행한 시스템의 CPU, GPU, RAM 사양 등을 기술할 수 있다. 성능 평가에 사용한 데이터 구성과 평가 환경에 따라 성능치는 달라질 수 있으므로, 데이터와 환경이 다른 경우 성능 평가 정보에 지속적으로 평가 정보를 추가한다. The performance evaluation information 503-5 is data describing the performance of the intelligence model, and includes a dataset and performance values used for evaluation. Describe the unique ID of the dataset or evaluation data item used for evaluation, the performance value according to the evaluation scale of the model, and the evaluation environment. For example, in the case of an image classification model, the unique ID of all image data used for performance evaluation, performance values such as classification accuracy and execution speed per image (fps), and CPU, GPU, and RAM specifications of the system that performed the evaluation etc. can be described. Since the performance value may vary depending on the data configuration and evaluation environment used for performance evaluation, evaluation information is continuously added to the performance evaluation information when the data and environment are different.

품질 이력(503-6)은 지능 모델의 활용 과정에서 발생한 각종 문제 데이터를 포함한다. 예를 들어, 품질 이력의 항목은 문제 고유 번호, 문제 사항 설명 정보, 문제 심각 수준 정보를 포함할 수 있다. 문제 심각 수준은 '심각', '보통', '무시가능' 등의 단계로 기재할 수 있다. 각 품질 이력 항목에는 품질 이력 정보를 제공한 사용자, 사용 시간, 사용 중 자체 평가 성능 등의 정보를 포함하여 항목의 신뢰도를 높일 수 있다. 품질 이력 정보는 각종 지능 모델을 활용하는 사용자들 간에 공유되고 추적할 수 있도록 별도의 품질 이력 저장소에 저장할 수 있다. 지능 모델 메타데이터 안에는 품질 이력 저장소에 저장된 정보 항목의 고유 번호를 기재함으로써 해당 지능 모델의 품질 이력을 참조하도록 할 수 있다. The quality history 503-6 includes various problem data generated in the process of using the intelligent model. For example, the item of the quality history may include a problem identification number, problem description information, and problem severity level information. The severity level of the problem can be described in stages such as 'severe', 'moderate', and 'negligible'. Each quality history item includes information such as the user who provided the quality history information, usage time, self-evaluation performance during use, etc., thereby increasing the reliability of the item. Quality history information can be stored in a separate quality history storage so that it can be shared and tracked among users who utilize various intelligence models. In the intelligence model metadata, the quality history of the corresponding intelligence model can be referred to by describing the unique number of the information item stored in the quality history storage.

지능 모델 유형 사전(600)은 다양한 지능 모델의 구조를 형식적으로 기술한 정보 구조체인 지능 모델 유형(601)들을 보관한다. 지능 모델 유형(601)은 모델 유형을 유일하게 구별하여 지시하는데 사용하는 모델 유형 식별자(601-1), 모델의 구조를 형식적으로 기술한 모델 유형 구조 명세(601-2), 모델 유형이 처리할 수 있는 작업들을 기술하는 태스크 명세 (601-3)를 포함한다. The intelligence model type dictionary 600 stores intelligence model types 601, which are information structures that formally describe structures of various intelligence models. The intelligence model type (601) includes a model type identifier (601-1) used to uniquely distinguish and indicate model types, a model type structure specification (601-2) that formally describes the structure of the model, and a model type to be processed. It includes a task specification 601-3 that describes the tasks that can be performed.

모델 유형 구조 명세(601-1)는 지능 모델을 형식적으로 기술한 정보구조체로서 프로그램을 통해 읽어서 지능 모델을 생성하고 훈련과 시험을 수행할 수 있어야 한다. 본 발명의 일 실시예에서 딥러닝 기반 지능 모델을 계산그래프(Computational Graph) 구조로 기술하는 ONNX(Open Neural Network Exchange)를 활용할 수 있다. 지능 모델의 구조를 ONNX 형식으로 변환한 후 모델 유형 구조 명세(601-2)로 보관 활용하는 방식이다. 모델 유형 식별자(601-1)를 이용하여 필요한 지능 모델 유형을 선택한 후 모델 유형 구조 명세(601-2)를 로딩한 후 지능 모델을 훈련하거나 시험할 수 있다. 또한, 서로 다른 지능 모델 간 구조의 동일 여부와 유사 여부를 판단하는데도 활용할 수 있다. The model type structure specification (601-1) is an information structure that formally describes an intelligence model, and must be read through a program to generate an intelligence model and perform training and testing. In one embodiment of the present invention, ONNX (Open Neural Network Exchange), which describes a deep learning-based intelligence model in a computational graph structure, can be utilized. After converting the structure of the intelligence model into the ONNX format, it is stored and utilized as a model type structure specification (601-2). After selecting the required intelligence model type using the model type identifier 601-1 and loading the model type structure specification 601-2, the intelligence model can be trained or tested. In addition, it can be used to determine whether the structures of different intelligence models are identical or similar.

태스크 식별자(601-3)는 지능 모델(501)의 태스크 명세(502-4)에 포함되는 태스크 식별자와 동일한 정보로서 해당 모델 유형(601)을 기반으로 훈련한 지능 모델(501)이 처리할 수 있는 작업을 기술한다. 예를 들어, 해당 모델 유형(601)의 구조 명세(606-2)가 AlexNet 구조이면 분류(Classification) 작업을 처리할 수 있고, R-CNN 구조이면 검출(Detection) 작업을 처리할 수 있으며, U-Net 구조이면 분할(Segmentation) 작업을 처리할 수 있다.The task identifier 601-3 is the same information as the task identifier included in the task specification 502-4 of the intelligence model 501, and can be processed by the intelligence model 501 trained based on the corresponding model type 601. describe the work in For example, if the structure specification 606-2 of the corresponding model type 601 is an AlexNet structure, a classification task can be processed, and if an R-CNN structure, a detection task can be processed, and U -If it is a Net structure, it can handle segmentation work.

도 9는 AlexNet 구조를 개념적으로 나타낸 도면이다.9 is a diagram conceptually showing the AlexNet structure.

하기의 [표 3]은 도 9의 AlexNet 구조를 ONNX 명세로 변환한 것을 나타낸다.[Table 3] below shows the conversion of the AlexNet structure of FIG. 9 into the ONNX specification.

graph torch-jit-export (
%input[FLOAT, batch_sizex3x224x224]
) initializers (
%features.0.weight[FLOAT, 64x3x11x11]
%features.0.bias[FLOAT, 64]
%features.3.weight[FLOAT, 192x64x5x5]
%features.3.bias[FLOAT, 192]
%features.6.weight[FLOAT, 384x192x3x3]
%features.6.bias[FLOAT, 384]
%features.8.weight[FLOAT, 256x384x3x3]
%features.8.bias[FLOAT, 256]
%features.10.weight[FLOAT, 256x256x3x3]
%features.10.bias[FLOAT, 256]
%classifier.1.weight[FLOAT, 4096x9216]
%classifier.1.bias[FLOAT, 4096]
%classifier.4.weight[FLOAT, 4096x4096]
%classifier.4.bias[FLOAT, 4096]
%classifier.6.weight[FLOAT, 1000x4096]
%classifier.6.bias[FLOAT, 1000]
) {
%17 = Conv[dilations = [1, 1], group = 1, kernel_shape = [11, 11], pads = [2, 2, 2, 2], strides = [4, 4]](%input, %features.0.weight, %features.0.bias)
%18 = Relu(%17)
%19 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]](%18)
%20 = Conv[dilations = [1, 1], group = 1, kernel_shape = [5, 5], pads = [2, 2, 2, 2], strides = [1, 1]](%19, %features.3.weight, %features.3.bias)
%21 = Relu(%20)
%22 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]](%21)
%23 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%22, %features.6.weight, %features.6.bias)
%24 = Relu(%23)
%25 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%24, %features.8.weight, %features.8.bias)
%26 = Relu(%25)
%27 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%26, %features.10.weight, %features.10.bias)
%28 = Relu(%27)
%29 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]](%28)
%30 = AveragePool[kernel_shape = [1, 1], strides = [1, 1]](%29)
%31 = Flatten[axis = 1](%30)
%32 = Gemm[alpha = 1, beta = 1, transB = 1](%31, %classifier.1.weight, %classifier.1.bias)
%33 = Relu(%32)
%34 = Gemm[alpha = 1, beta = 1, transB = 1](%33, %classifier.4.weight, %classifier.4.bias)
%35 = Relu(%34)
%output = Gemm[alpha = 1, beta = 1, transB = 1](%35, %classifier.6.weight, %classifier.6.bias)
return %output
}
graph torch-jit-export (
%input[FLOAT, batch_sizex3x224x224]
) initializers (
%features.0.weight[FLOAT, 64x3x11x11]
%features.0.bias[FLOAT, 64]
%features.3.weight[FLOAT, 192x64x5x5]
%features.3.bias[FLOAT, 192]
%features.6.weight[FLOAT, 384x192x3x3]
%features.6.bias[FLOAT, 384]
%features.8.weight[FLOAT, 256x384x3x3]
%features.8.bias[FLOAT, 256]
%features.10.weight[FLOAT, 256x256x3x3]
%features.10.bias[FLOAT, 256]
%classifier.1.weight[FLOAT, 4096x9216]
%classifier.1.bias[FLOAT, 4096]
%classifier.4.weight[FLOAT, 4096x4096]
%classifier.4.bias[FLOAT, 4096]
%classifier.6.weight[FLOAT, 1000x4096]
%classifier.6.bias[FLOAT, 1000]
) {
%17 = Conv[dilations = [1, 1], group = 1, kernel_shape = [11, 11], pads = [2, 2, 2, 2], strides = [4, 4]](%input, % features.0.weight, %features.0.bias)
%18 = Relu(%17)
%19 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]] (%18)
%20 = Conv[dilations = [1, 1], group = 1, kernel_shape = [5, 5], pads = [2, 2, 2, 2], strides = [1, 1]](%19, % features.3.weight, %features.3.bias)
%21 = Relu(%20)
%22 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]](%21)
%23 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%22, % features.6.weight, %features.6.bias)
%24 = Relu(%23)
%25 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%24, % features.8.weight, %features.8.bias)
%26 = Relu(%25)
%27 = Conv[dilations = [1, 1], group = 1, kernel_shape = [3, 3], pads = [1, 1, 1, 1], strides = [1, 1]](%26, % features.10.weight, %features.10.bias)
%28 = Relu(%27)
%29 = MaxPool[ceil_mode = 0, kernel_shape = [3, 3], pads = [0, 0, 0, 0], strides = [2, 2]] (%28)
%30 = AveragePool[kernel_shape = [1, 1], strides = [1, 1]] (%29)
%31 = Flatten[axis = 1] (%30)
%32 = Gemm[alpha = 1, beta = 1, transB = 1](%31, %classifier.1.weight, %classifier.1.bias)
%33 = Relu(%32)
%34 = Gemm[alpha = 1, beta = 1, transB = 1](%33, %classifier.4.weight, %classifier.4.bias)
%35 = Relu(%34)
%output = Gemm[alpha = 1, beta = 1, transB = 1](%35, %classifier.6.weight, %classifier.6.bias)
return %output
}

본 발명의 실시예에 따른 방법은 도 9의 딥러닝 모델을 ONNX 명세로 변환하고, 지능 모델 유형 사전에 저장할 수 있다. 저장된 지능 모델 유형 구조 명세는 차후 복원 과정을 거쳐 Pytorch 등 딥러닝 프레임워크 모델로 복원한 후 훈련과 시험에 활용할 수 있다. The method according to an embodiment of the present invention may convert the deep learning model of FIG. 9 into an ONNX specification and store it in an intelligent model type dictionary. The stored intelligence model type structure specification can be used for training and testing after restoring it as a deep learning framework model such as Pytorch through a restoration process.

지능 모델 활용 코드 저장소(700)는 지능 모델을 대상으로 다양한 작업을 수행하는 프로그램인 지능 모델 활용 코드(701)들을 보관한다. 지능 모델 활용 코드(701)는 코드를 유일하게 식별하는데 사용하는 코드 식별자(701-1), 코드가 수행하는 작업을 기술하는 코드 유형(701-2), 실행 코드(701-3), 해당 코드로 다룰 수 있는 지능 모델들을 기록한 호환 모델(701-4)로 구성된다. The intelligence model utilization code repository 700 stores intelligence model utilization codes 701, which are programs that perform various tasks targeting an intelligence model. The intelligent model utilization code 701 includes a code identifier 701-1 used to uniquely identify the code, a code type 701-2 describing what the code does, an executable code 701-3, and the corresponding code It consists of a compatible model (701-4) recording intelligence models that can be handled by .

본 발명의 일 실시예에서 코드 유형(701-2)의 값은 추론(inference), 훈련(training), 파인튜닝(fine-tuning), 지식증류(knowledge distillation), 압축(compression) 등으로 기술할 수 있다. 추론(inference) 유형의 코드는 지능 모델(501)을 적재한 뒤 입력 데이터를 받아 지능 모델을 통해 계산한 출력값을 제공하는 기능을 수행한다. 훈련 유형의 코드는 지능 모델 유형(601)으로 초기 지능 모델을 생성한 뒤 데이터셋(401) 또는 지능 요구 프로파일(210)을 이용하여 지능 모델을 훈련하는 기능을 수행한다. 파인튜닝 유형의 코드는 지능 모델(501)을 적재한 뒤 지능 요구 프로파일(210)에 기재된 목적 정답 레이블(110-2)에 따라 지능 모델 구조를 변형한 다음 데이터셋(401) 또는 목적 데이터(110-1)를 기반으로 지능 모델을 훈련하는 기능을 수행한다. In one embodiment of the present invention, the value of the code type 701-2 can be described by inference, training, fine-tuning, knowledge distillation, compression, and the like. can The inference type code performs a function of loading the intelligence model 501, receiving input data, and providing an output value calculated through the intelligence model. The training type code creates an initial intelligence model with the intelligence model type 601 and then trains the intelligence model using the dataset 401 or the intelligence requirement profile 210. The fine-tuning type code loads the intelligence model 501, transforms the intelligence model structure according to the target answer label 110-2 described in the intelligence requirement profile 210, and then converts the dataset 401 or target data 110 -1) to train the intelligence model.

본 발명의 일 실시예에서 코드(701-3)는 서로 다른 운영 환경으로 인한 호환성 문제를 극복하고 실행 방식을 표준화할 수 있도록 docker, containerd, CRI-O와 같은 컨테이너 런타임을 활용한다. 예를 들어, Linux OS, CUDA 툴킷, Python, Pytorch 프레임워크 등을 설치하고 AlexNet 모델을 훈련하는 코드를 탑재한 docker 컨테이너를 지능 모델 활용 코드(701)의 코드(701-3)에 저장하고 활용할 수 있다. 또한, 컨테이너를 구동할 수 있는 명령 스크립트를 코드(701-3)에 함께 저장하여 활용할 수 있다. In one embodiment of the present invention, the code 701-3 utilizes container runtimes such as docker, containerd, and CRI-O to overcome compatibility problems caused by different operating environments and standardize execution methods. For example, you can install a Linux OS, CUDA toolkit, Python, Pytorch framework, etc. and save and utilize a docker container loaded with code to train an AlexNet model in the code (701-3) of the intelligent model utilization code (701). there is. In addition, a command script capable of driving a container can be stored together in the code 701-3 and utilized.

도 10은 본 발명의 지능 모델 배포 과정을 나타낸 흐름도이다.10 is a flowchart showing the intelligence model distribution process of the present invention.

도 10을 참조하면, 단말은 지능 모델이 수행할 작업과 훈련 데이터를 포함하는 지능 요구 프로파일(110)을 생성하여 엣지 서버로 지능 모델 생성과 배포를 요청한다(S1000).Referring to FIG. 10 , the terminal creates an intelligence requirement profile 110 including training data and tasks to be performed by the intelligence model, and requests generation and distribution of the intelligence model to the edge server (S1000).

즉 S1000 단계는 단말이 지능 서비스를 제공하는데 필요한 지능 모델을 요청하는 단계이다. 단말의 제작자, 설치전문가, 사용자 등 지능 서비스 제공에 관여하는 사람은 임의의 사용자 인터페이스(단말, 엣지 서버, 클라우드 서버가 모두 제공 가능)를 통해 지능 요구 프로파일(110)을 생성한다. 사용자 인터페이스는 웹 인터페이스(Web Interface), 그래픽 사용자 인터페이스(Graphics User Interface), 챗봇(Chatbot), 커맨드 창(Command Window) 등 다양한 형태로 제공될 수 있다. That is, step S1000 is a step in which the terminal requests an intelligence model necessary to provide an intelligence service. Persons involved in providing intelligence services, such as terminal manufacturers, installers, and users, create the intelligence demand profile 110 through an arbitrary user interface (which can be provided by all terminals, edge servers, and cloud servers). The user interface may be provided in various forms such as a web interface, a graphic user interface, a chatbot, and a command window.

단말의 지능 관리자는 지능 요구 프로파일(110)을 엣지 서버(150)로 전송하여 지능 모델 배포를 요청한다. 지능 요구 프로파일의 구조와 내용은 도 3 내지 도 5의 예시에 보인 바와 같다. The intelligence manager of the terminal transmits the intelligence requirement profile 110 to the edge server 150 to request intelligence model distribution. The structure and contents of the intelligence requirement profile are as shown in the examples of FIGS. 3 to 5 .

엣지 서버의 지능 관리자(201)는 지능 리파지토리 인터페이스(204)를 통해 지능 리파지토리(203)를 참조하면서 수신한 지능 요구 프로파일(110)에 포함된 태스크 명세와 데이터를 기반으로 '기반 지능 모델'을 선정하고 '훈련/평가용 데이터셋'을 구축하여 훈련함으로써 새로운 지능 모델을 생성한다(S1001). 지능 모델 생성에 성공하면, 생성된 지능 모델과 데이터셋 정보를 지능 리파지토리(203)에 추가 등록한다. 지능 관리자(201)는 생성한 지능 모델과 해당 지능 모델 구동 프로그램을 단말로 전달하고 단말은 지능 모델을 활용한다. The intelligence manager 201 of the edge server refers to the intelligence repository 203 through the intelligence repository interface 204 and selects a 'based intelligence model' based on the task specifications and data included in the intelligence requirement profile 110 received. Then, a new intelligence model is created by constructing and training a 'training/evaluation dataset' (S1001). If the intelligence model is successfully generated, the generated intelligence model and data set information are additionally registered in the intelligence repository 203 . The intelligence manager 201 transfers the generated intelligence model and the corresponding intelligence model driving program to the terminal, and the terminal utilizes the intelligence model.

엣지 서버의 지능 관리자(201)가 지능 모델 생성에 실패한 경우(S1001), 지능 관리자(201)는 데이터 보안 등의 목적에 의해 정한 규칙에 따라 지능 요구 프로파일(110)을 변형한 후 클라우드 서버로 지능 요구 프로파일을 전송함으로써 지능 모델의 생성과 배포를 요청한다(S1002). If the intelligence manager 201 of the edge server fails to generate an intelligence model (S1001), the intelligence manager 201 transforms the intelligence requirement profile 110 according to rules determined for the purpose of data security, etc., and then transfers the intelligence to the cloud server. By transmitting the demand profile, generation and distribution of the intelligence model is requested (S1002).

클라우드 서버의 지능 관리자(201)는 엣지 서버의 지능 관리자(201)와 동일한 방식으로 지능 모델 생성을 시도한다(S1003). 지능 모델 생성에 성공하면 생성한 지능 모델과 관련 데이터셋을 지능 리파지토리(203)에 등록한다. 지능 모델 생성에 실패하면, 다음 단계의 클라우드 서버로 지능 요구 프로파일(110)을 전송하여 지능 모델 생성 배포를 요청한다(S1002). The intelligence manager 201 of the cloud server attempts to generate an intelligence model in the same manner as the intelligence manager 201 of the edge server (S1003). If the intelligence model is successfully generated, the generated intelligence model and related datasets are registered in the intelligence repository 203 . If the intelligence model generation fails, the intelligence requirement profile 110 is transmitted to the cloud server in the next step and the intelligence model generation and distribution is requested (S1002).

클라우드 서버의 지능 관리자(201)는 지능 모델 생성에 성공하면, 배포를 요청한 엣지 서버로 지능 모델과 해당 지능 모델 구동 프로그램을 전송한다(S1004). When the intelligence manager 201 of the cloud server succeeds in generating the intelligence model, it transmits the intelligence model and the corresponding intelligence model driving program to the edge server that has requested deployment (S1004).

엣지 서버는 지능 요구 프로파일(110)을 변형하는 과정에서 별도로 보관한 데이터가 있는 경우 해당 데이터로 지능 모델을 최적화한다. 최적화한 지능 모델은 엣지 서버의 지능 리파지토리(203)에 추가 등록하고, 지능 모델과 지능 모델 구동 프로그램을 단말로 전송한다(S1005). 단말은 배포 받은 지능 모델과 지능 모델 구동 프로그램을 활용한다(S1006). The edge server optimizes the intelligence model with the data if there is separately stored data in the process of transforming the intelligence requirement profile 110 . The optimized intelligence model is additionally registered in the intelligence repository 203 of the edge server, and the intelligence model and the intelligence model driving program are transmitted to the terminal (S1005). The terminal utilizes the distributed intelligence model and the intelligence model driving program (S1006).

도 10의 단계 S1001 및 S1003은 지능 요구 프로파일(110)을 기반으로 지능 모델을 생성하는 과정을 포함한다. 이하, 본 발명의 일 실시예에 의해 분류(Classification) 태스크를 수행하는 지능 모델을 생성하는 과정을 상세히 설명한다.Steps S1001 and S1003 of FIG. 10 include a process of generating an intelligence model based on the intelligence requirement profile 110 . Hereinafter, a process of generating an intelligence model that performs a classification task according to an embodiment of the present invention will be described in detail.

도 11은 본 발명의 실시예에 따른 지능 모델 생성 과정을 나타낸 흐름도이다.11 is a flowchart illustrating a process of generating an intelligence model according to an embodiment of the present invention.

도 11을 참조하면, 지능 관리자(201)는 지능 요구 프로파일(110)이 기술하는 작업을 수행할 수 있는 지능 모델을 생성하기 위해 태스크 명세(110-1)와 목적 데이터(110-2)를 기반으로 지능 리파지토리(203)를 검색하여 호환 지능 모델 M을 선정한다(S2001).Referring to FIG. 11, the intelligence manager 201 is based on the task specification 110-1 and the object data 110-2 to generate an intelligence model capable of performing the task described by the intelligence requirement profile 110. The intelligence repository 203 is searched for, and a compatible intelligence model M is selected (S2001).

본 발명의 일 실시예에서 호환 지능 모델 선정은 지능 요구 프로파일(110)에 기술된 태스크 명세(110-4)와 지능 모델 저장소(500)에 저장된 지능 모델(501)의 태스크 명세(502-4)를 비교하여 상호 동일한 경우 해당 지능 모델을 선정하는 방식을 따른다. 이를 1차 선별 작업으로 부른다. In one embodiment of the present invention, selection of a compatible intelligence model depends on the task specification 110-4 described in the intelligence requirement profile 110 and the task specification 502-4 of the intelligence model 501 stored in the intelligence model repository 500. Compare and follow the method of selecting the corresponding intelligence model if they are mutually identical. This is called the primary screening operation.

1차 선별에서 선택된 지능 모델이 2개 이상인 경우 지능 요구 프로파일(110)의 목적 데이터(110-2)를 기반으로 2차 선별 작업을 수행한다. 본 발명의 일 실시예에서 이 작업은 표준 목적 레이블 목록과 호환 지능 모델의 정답 레이블 목록(2000-2) 간 유사도를 계산하여 수행한다. When there are two or more intelligence models selected in the first selection, the second selection is performed based on the target data 110-2 of the intelligence requirement profile 110. In one embodiment of the present invention, this task is performed by calculating the similarity between the standard target label list and the correct label list (2000-2) of the compatible intelligence model.

표준 목적 레이블 목록은 목적 데이터(110-1) 내 정답들과 목적 정답 레이블(110-2) 목록에 포함된 정답 레이블들을 결합한 후 어휘 해석기(202)를 통해 각 레이블을 표준 어휘로 변환한 결과물이다. 어휘 해석기(202)는 어휘 변환을 위해 레이블 사전(300)을 참조한다. 어휘 해석에 실패하면 지능 모델 생성에 실패한 것으로 간주한다.The standard target label list is a result of combining the correct answers in the target data 110-1 and the correct answer labels included in the target correct answer label 110-2 list, and then converting each label into a standard vocabulary through the lexical analyzer 202. . Lexical interpreter 202 consults label dictionary 300 for lexical conversion. If the lexical analysis fails, the intelligence model generation is considered to have failed.

도 12는 표준 정답 레이블 목록을 생성하는 일례이다.12 is an example of generating a list of standard correct answer labels.

표준 목적 레이블 목록과 호환 지능 모델의 정답 레이블 목록(2000-2) 간 유사도는 다양한 방법으로 계산할 수 있다. 본 발명의 일 실시예에서 두 레이블 목록 간 유사도는 자카드 인덱스 (Jaccard Index)를 통해 계산할 수 있다. 두 레이블 목록 간 유사도가 높을수록 지능 모델의 선정 우선 순위가 높다.The similarity between the standard target label list and the compatible intelligence model correct label list (2000-2) can be calculated in various ways. In one embodiment of the present invention, the similarity between two label lists can be calculated through a Jaccard Index. The higher the similarity between the two label lists, the higher the selection priority of the intelligence model.

2차 선별 작업을 거친 후 동일한 우선 순위의 지능 모델이 2개 이상인 경우 성능이 우수하고 품질 문제가 없는 모델을 선별하는 3차 선별 작업을 수행한다. 본 발명의 일 실시예에서 3차 선별 과정은 지능 리파지토리(203)의 지능 모델 메타데이터(503)를 기반으로 수행한다. 아래 예시에 설명한 바와 같이 일반 성능과 품질 지수를 참조하거나, 목적 데이터 대상 성능을 측정하는 방법을 활용할 수 있다. After the secondary screening, if there are two or more intelligent models with the same priority, the tertiary screening is performed to select a model with excellent performance and no quality problems. In one embodiment of the present invention, the tertiary selection process is performed based on the intelligence model metadata 503 of the intelligence repository 203. As described in the example below, you can refer to general performance and quality indices or use methods to measure the performance of target data.

일반 성능을 참조하는 방법은 지능 모델 메타데이터(503)에 명시된 성능 평가 정보(503-5)를 비교하여 가장 우수한 지능 모델을 선택한다.A method of referring to general performance compares the performance evaluation information 503-5 specified in the intelligence model metadata 503 and selects the best intelligence model.

품질 지수를 참조하는 방법은 지능 모델 메타데이터(503)에 명시된 품질 이력(503-6) 정보를 비교하여 품질에 문제 여지가 없는 지능 모델을 선택한다The method of referring to the quality index compares the quality history (503-6) information specified in the intelligence model metadata (503) to select an intelligence model that has no problem in quality.

목적 데이터 대상 성능을 측정하는 방법은 지능 요구 프로파일에 포함된 목적 데이터(110-2)를 대상으로 지능 모델의 성능을 평가하여 성능이 가장 높은 지능 모델을 선택한다. 이를 위해 지능 모델 활용 코드 저장소(700)에서 평가 대상 지능 모델(501)의 모델 유형(601)을 대상으로 추론(Inference) 작업을 수행할 수 있는 지능 모델 활용 코드(701)를 선택한 뒤 후보 지능 모델(501)을 통해 목적 데이터(110-1)를 대상으로 추론 기능을 수행하여 성능을 평가하는 작업을 수행할 수 있다. In the method of measuring the performance of the target data, the performance of the intelligence model is evaluated for the target data 110-2 included in the intelligence requirement profile, and the intelligence model with the highest performance is selected. To this end, an intelligence model utilization code 701 capable of performing an inference operation is selected from the intelligence model utilization code repository 700 for the model type 601 of the intelligence model 501 to be evaluated, and then the candidate intelligence model is selected. Through step 501, an inference function may be performed on the target data 110-1 to evaluate performance.

목적 데이터 대상 성능, 일반 성능, 품질 지수는 지능의 활용 상황과 환경에 따라 가중치를 달리하여 보다 적합한 지능 모델이 선정되도록 조정할 수도 있다.The target data target performance, general performance, and quality index may be adjusted so that a more appropriate intelligence model is selected by varying the weight according to the use situation and environment of intelligence.

이상의 3단계에 걸친 선별 작업을 통해 우선순위가 가장 높은 지능 모델 M을 선정한다. M을 선정하면 M을 대상으로 다양한 기능을 수행하는 활용 코드를 열람하여 확보한다. 구체적으로는 지능 모델 활용 코드 저장소(700)에서 M의 모델 유형(502-2)을 호환 모델(701-4)에 포함하는 지능 모델 활용 코드(701)를 선택하여 코드를 확보한다. 본 발명의 일 실시예에서 각 코드는 컨테이너(container)와 컨테이너 구동 스크립트의 쌍으로 구성되며, 각 코드는 추론, 훈련, 파인튜닝, 지식 증류 등의 기능을 수행하는데 활용할 수 있다. 즉, 지능 모델 M을 선정한 후 M을 입력 받아 추론 기능을 수행하는 코드 C1, 훈련 기능을 수행하는 코드 C2, 파인튜닝 기능을 수행하는 코드 C3 등을 확보하게 된다. Through the three-step selection process above, the intelligence model M with the highest priority is selected. If M is selected, the utilization code that performs various functions for M is retrieved and secured. Specifically, the intelligent model utilization code 701 including the model type 502-2 of M in the compatible model 701-4 is selected from the intelligence model utilization code storage 700 and the code is secured. In one embodiment of the present invention, each code is composed of a pair of container and container driving script, and each code can be used to perform functions such as reasoning, training, fine tuning, and knowledge distillation. In other words, after selecting an intelligence model M, code C1 that performs an inference function by receiving M, code C2 that performs a training function, and code C3 that performs a fine-tuning function are secured.

다음으로, M이 처리할 수 있는 정답 레이블 목록과 표준 목표 정답 레이블 목록이 정확히 일치하지 않는 경우 M의 구조를 변형하여 M1을 생성한다(S2002).Next, when the list of answer labels that can be processed by M and the list of standard target answer labels do not exactly match, M1 is generated by modifying the structure of M (S2002).

예를 들어, M이 이미지를 100개의 클래스로 분류하는 지능 모델이라고 할 때, 표준 목적 레이블 목록이 10개의 정답만을 포함하고 있다면 M을 최적화하여 표준 목적 레이블 목록에 포함된 10개의 클래스만 분류할 수 있도록 만드는 것이 본 단계의 목적이다. For example, if M is an intelligence model that classifies images into 100 classes, and the standard objective label list contains only 10 correct answers, M can be optimized to classify only 10 classes included in the standard objective label list. The purpose of this step is to make it possible.

만약, M이 분류(Classification) 작업용 Convolutional Neural Network 구조라면 최종 분류 계층의 노드는 100개이고 Convolution 계층과 완전 연결(Fully Connected) 구조로 이어져 있을 것이다. 본 단계에서 100개의 출력 노드를 포함한 M의 분류 계층을 제거하고 대신 10개의 출력 노드를 포함한 분류 계층을 생성하여 연결한다.If M is a Convolutional Neural Network structure for classification, the final classification layer has 100 nodes and is connected to the Convolution layer in a Fully Connected structure. In this step, the classification layer of M including 100 output nodes is removed, and instead a classification layer including 10 output nodes is created and connected.

본 발명의 일 실시예에서 M1을 생성할 때 출력 노드를 표준 목표 정답 레이블 개수보다 한 개 더 만들 수 있다. 추가된 노드는 'unknown'을 나타내는 노드로서 표준 목표 정답 레이블에 대응하지 않는 데이터가 지능 모델에 입력되었을 때 활성화되도록 훈련함으로써 오인식(False Positive) 확률을 낮추어 클래스 분류 정확도를 향상할 수 있다. In one embodiment of the present invention, when generating M1, one more output node than the number of standard target correct answer labels can be created. The added node is a node representing 'unknown', and by training to be activated when data that does not correspond to the standard target correct answer label is input to the intelligence model, it can improve class classification accuracy by lowering the probability of false positive.

본 단계(S2002)는 M의 정답 레이블 목록과 표준 목적 레이블 목록의 길이가 동일한 경우에 수행할 필요가 없다. This step (S2002) does not need to be performed when the length of M's correct answer label list and the standard target label list are the same.

다음으로, M1을 훈련할 데이터셋 D를 구성한다(S2003). D는 표준 목적 레이블 목록을 기반으로 지능 리파지토리(203)의 데이터셋 저장소(400)를 열람하여 구축한다. 먼저 M을 훈련하는데 사용한 데이터셋(401)을 식별자(503-1)를 통해 열람하여 표준 목적 레이블 목록에 포함된 레이블들의 데이터 항목(402,403)들을 수집하여 D를 구축한다. 만약 표준 목적 레이블 중 이 방법으로 데이터를 확보하지 못한 레이블이 있으면, 데이터셋 저장소(400)에서 정답 데이터(403-2)가 표준 목적 레이블과 동일한 데이터 항목들을 검색하여 D에 추가한다. D를 구성한 뒤 표준 목적 레이블 목록의 각 레이블과 클래스 인덱스를 짝짓는 테이블 L도 구축한다. Next, a dataset D to train M1 is constructed (S2003). D browses and builds the dataset storage 400 of the intelligence repository 203 based on the list of standard object labels. First, the data set 401 used to train M is read through the identifier 503-1, and data items 402 and 403 of labels included in the standard target label list are collected to construct D. If there is a label whose data has not been secured by this method among the standard purpose labels, data items having the same correct answer data 403-2 as the standard objective label are retrieved from the dataset storage 400 and added to D. After constructing D, we also build a table L that matches each label in the standard object label list with a class index.

클래스 별 데이터 개수의 평준화, M의 규모에 적합한 클래스 별 데이터 개수 결정, D를 훈련(Training), 검증(Validation), 시험(Test)용 데이터로 분할하는 등 M의 훈련을 위해 고려해야 할 다양한 사항들을 본 단계에서 고려하여 수행한다.Various things to be considered for training M, such as normalizing the number of data per class, determining the number of data per class suitable for the size of M, and dividing D into training, validation, and test data. taken into account at this stage.

단계 (S2002)에서 'unknown' 노드가 생성된 경우 표준 목적 레이블에 포함되지 않는 레이블들을 무작위로 선정하고 해당 데이터들을 수집하여 'unknown' 클래스에 할당함으로써 데이터셋 D를 구성한다. 표준 목적 레이블에 대응하는 클래스에 포함되는 데이터 외의 데이터는 'unknown' 클래스에 속하도록 훈련함으로써 오인식(False Positive) 확률을 낮추어 지능 모델의 분류 정확도를 향상할 수 있다. When an 'unknown' node is generated in step S2002, data set D is constructed by randomly selecting labels not included in the standard target labels, collecting corresponding data, and assigning them to the 'unknown' class. By training data other than data included in the class corresponding to the standard objective label to belong to the 'unknown' class, it is possible to improve the classification accuracy of the intelligence model by lowering the probability of false positive.

다음으로, D를 이용하여 M1을 훈련함으로써 M2를 생성한다(S2004). 지능 모델 유형별로 다양한 훈련 방법이 적용될 수 있고 앞서 언급한 대로 이러한 코드들은 지능 리파지토리(203)의 지능 모델 활용 코드 저장소(700)를 통해 확보한다. 본 단계의 작업은 앞서 확보한 '훈련'용 코드에 D와 M1을 입력하고 구동함으로써 수행할 수 있다. Next, M2 is generated by training M1 using D (S2004). Various training methods can be applied for each type of intelligence model, and as mentioned above, these codes are secured through the intelligence model utilization code storage 700 of the intelligence repository 203. This step can be performed by inputting D and M1 into the previously secured 'training' code and driving it.

이때, M2와 D를 지능 리파지토리(203)에 등록한다. M2의 지능 모델 데이터(502)와 지능 모델 메타데이터(503)를 적절하게 기재해야 한다. 지능 모델 식별자(502-1)는 신규 생성하여 등록하고, 모델 파라미터 값(502-3), 정답 레이블 목록(503-2), 훈련 이력(503-4), 성능 평가 정보(503-5)는 적절한 정보로 기록해야 한다. 데이터셋 식별자(503-1)에는 D의 데이터셋 식별자(402-1)를 기록한다. 기반 모델(503-3)에는 M의 지능 모델 식별자(502-1)를 기록한다. D는 새로운 데이터셋 식별자(401-1)를 등록하고 D를 구성하는 정답 데이터 목록(401-2)을 저장함으로써 기록한다. At this time, M2 and D are registered in the intelligence repository 203. The intelligence model data 502 and intelligence model metadata 503 of M2 must be appropriately described. An intelligent model identifier (502-1) is newly created and registered, and the model parameter value (502-3), correct answer label list (503-2), training history (503-4), and performance evaluation information (503-5) are It should be recorded with appropriate information. In the dataset identifier 503-1, the dataset identifier 402-1 of D is recorded. The intelligence model identifier 502-1 of M is recorded in the base model 503-3. D records by registering a new dataset identifier 401-1 and storing the correct data list 401-2 constituting D.

단계 (S2002) 내지 (S2004)의 수행을 통해 지능 모델의 규모를 줄이고 지능 모델의 정확도를 향상하는 효과를 획득할 수 있다.Through the execution of steps S2002 to S2004, an effect of reducing the size of the intelligence model and improving the accuracy of the intelligence model can be obtained.

다음으로, 지능 요구 프로파일(110)에 포함된 목적 데이터를 기반으로 M2를 지능 요구에 최적화하는데 활용할 데이터셋 D1을 구성한다(S2005). D1은 원시 데이터(110-3)에 포함된 데이터 항목과 각 항목에 대응하는 데이터 주석(110-4)의 쌍들로 구성된다. 데이터 주석의 정답은 레이블 사전(300)을 통해 표준 어휘로 변환한 후 (2003) 단계에서 구축한 L을 통해 클래스 인덱스를 구한 다음 각 원시 데이터의 정답으로 삼아야 한다. Next, based on the target data included in the intelligence requirement profile 110, a dataset D1 to be used for optimizing M2 for intelligence needs is configured (S2005). D1 is composed of pairs of data items included in raw data 110-3 and data annotations 110-4 corresponding to each item. The answer to the data annotation must be converted into a standard vocabulary through the label dictionary 300, and then a class index obtained through L constructed in step (2003), and then used as the correct answer for each raw data.

다음으로, D1으로 M2를 훈련하여 M3를 생성한다(S2006). 단계 (S2004)에서와 같이 지능 모델 활용 코드 저장소(700)에서 확보한 '훈련'용 코드에 D1과 M2를 입력하여 구동함으로써 수행할 수 있다. Next, M2 is trained with D1 to generate M3 (S2006). As in step S2004, it can be performed by inputting D1 and M2 to the 'training' code secured from the intelligence model utilization code storage 700 and driving it.

M3와 D1을 지능 리파지토리(203)에 등록한다. M3의 지능 모델 데이터(502)와 지능 모델 메타데이터(503)를 적절하게 기재해야 한다. 지능 모델 식별자(502-1)는 신규 생성하여 등록하고, 모델 파라미터 값(502-3), 정답 레이블 목록(503-2), 훈련 이력(503-4), 성능 평가 정보(503-5)는 적절한 정보로 기록해야 한다. 데이터셋 식별자(503-1)에는 D1의 데이터셋 식별자(402-1)를 기록한다. 기반 모델(503-3)에는 M2의 지능 모델 식별자(502-1)를 기록한다. D1은 새로운 데이터셋 식별자(401-1)를 등록하고 D1을 구성하는 정답 데이터 목록(401-2)을 저장함으로써 기록한다. M3 and D1 are registered in the intelligence repository 203. The intelligence model data (502) and intelligence model metadata (503) of M3 must be appropriately described. An intelligent model identifier (502-1) is newly created and registered, and the model parameter value (502-3), correct answer label list (503-2), training history (503-4), and performance evaluation information (503-5) are It should be recorded with appropriate information. In the dataset identifier 503-1, the dataset identifier 402-1 of D1 is recorded. In the base model 503-3, the intelligence model identifier 502-1 of M2 is recorded. D1 records by registering a new dataset identifier 401-1 and storing the correct data list 401-2 constituting D1.

단계 (S2001)의 1차 선별에서 지능 요구 프로파일에 기재된 태스크 명세(110-1)를 만족하는 지능 모델을 지능 모델 저장소에서 찾지 못할 수 있다. 이때, 지능 관리자(201)는 지능 모델 유형 사전(600)에 저장된 지능 모델 유형(601) 중 태스크 식별자(601-3)가 태스크 명세(110-1)의 태스크 식별자와 동일한 것을 선별하여 활용할 수 있다. 지능 모델 유형(601)을 선정한 뒤 모델 유형 구조 명세(601-2)를 복원하여 모델 파라미터 값이 비어있는 초기 모델 BM을 생성한다. 그런 다음 BM을 M 대신 활용할 수 있다. BM은 학습하지 않은 비어있는 모델이므로 단계 (S2004)를 통해 비로소 제 기능을 하는 모델을 생성하게 된다. 이후의 과정은 전술한 바와 동일하다. In the first screening of step S2001, an intelligence model satisfying the task specification 110-1 described in the intelligence requirement profile may not be found in the intelligence model repository. At this time, the intelligence manager 201 selects and utilizes one having the same task identifier 601-3 as the task identifier of the task specification 110-1 among the intelligence model types 601 stored in the intelligence model type dictionary 600. . After selecting the intelligence model type 601, the model type structure specification 601-2 is restored to generate an initial model BM with empty model parameter values. BM can then be utilized instead of M. Since the BM is an empty model that has not been trained, a model that functions properly is created through step S2004. Subsequent processes are the same as described above.

이하, 데이터 보안을 위한 지능 요구 프로파일 변형 방법에 대하여 상세히 설명한다.Hereinafter, a method for modifying an intelligence requirement profile for data security will be described in detail.

단계 (S1002)에서 엣지 서버(150)가 지능 모델 생성에 실패한 경우 지능 요청 프로파일을 클라우드 서버로 전송하여 지능 생성 작업을 맡긴다. 이때, 엣지 서버(150)의 지능 관리자(201)는 데이터의 공개 범위를 고려하여 지능 요구 프로파일을 변형하여 클라우드 서버로 전송함으로써 데이터 보호 기능을 수행한다. In step S1002, if the edge server 150 fails to generate the intelligence model, it transmits the intelligence request profile to the cloud server and entrusts the intelligence generation task. At this time, the intelligence manager 201 of the edge server 150 performs a data protection function by modifying the intelligence requirement profile in consideration of the disclosure range of data and transmitting it to the cloud server.

도 4의 지능 요구 프로파일을 예로 들어보면, 공개 범위가 '지역'과 '전역'으로 기술되어 있다. 이 경우 엣지 서버가 '지역'으로 한정된 데이터는 클라우드 서버로 전송하지 않도록 규칙을 적용함으로써 고객 또는 엣지 서버 소유주 또는 서비스 운영사의 데이터를 보호할 수 있다. 엣지 서버가 클라우드 서버로 전송하는 지능 요구 프로파일에는 1) 공개 범위가 '전역'인 목적 데이터 전체, 2) 공개 범위가 '지역'인 목적 데이터 중 정답 레이블, 그리고 3) 목적 정답 레이블 목록이 포함된다. 엣지 서버는 공개 범위가 '지역'인 목적 데이터를 차후 지능 모델의 지역 최적화를 위해 저장 보관한다. Taking the intelligence requirement profile of FIG. 4 as an example, the disclosure ranges are described as 'local' and 'global'. In this case, the data of the customer or the owner of the edge server or the service operator can be protected by applying a rule so that the edge server does not transmit data limited to a 'region' to the cloud server. The intelligence requirement profile transmitted by the edge server to the cloud server includes 1) all object data with a disclosure scope of 'global', 2) correct answer labels among object data with a disclosure scope of 'local', and 3) a list of objective answer labels. . The edge server stores the target data whose disclosure scope is 'local' for regional optimization of future intelligence models.

또 다른 실시예에서 공개 범위는 다단계로 지정할 수 있다. 도 3에서 보인 바와 같이 단말과 최종 클라우드 서버 사이에는 여러 단계에 걸쳐 중간 서버들이 배치될 수 있으므로, 이런 경우 어느 단계의 서버까지 데이터를 전송할 수 있는지 세밀하게 공개 범위를 정의하여 기술할 수도 있다. 또 다른 실시예에서 공개 범위는 자동으로 지정할 수 있다. 예를 들어, 사진이나 동영상 안에 사람의 존재 여부를 판단할 수 있는 검출기를 설치하고, 지능 요구 프로파일 안에 포함된 원시 데이터를 대상으로 검출을 수행하여 사람이 포함된 데이터는 모두 공개 범위를 '지역'으로 설정할 수 있다. 이와 같이 본 발명에 의한 시스템을 관리하거나 사용하는 주체는 특정 사물들을 지정하여 공개 범위를 설정하고 엣지 서버가 자동으로 데이터 보안 기능을 처리하도록 만들 수 있다. In another embodiment, the disclosure range may be designated in multiple stages. As shown in FIG. 3, intermediate servers may be deployed between the terminal and the final cloud server over several stages. In another embodiment, the scope of disclosure can be set automatically. For example, by installing a detector that can determine the presence or absence of a person in a photo or video, and performing detection on raw data included in the intelligence requirement profile, all data containing people is set as a 'region'. can be set to In this way, the subject who manages or uses the system according to the present invention can designate specific things to set the public range and make the edge server automatically process the data security function.

도 13은 엣지 서버가 도 4의 지능 요구 프로파일을 데이터 공개 범위를 기반으로 변형한 결과 예이다.13 is an example of a result obtained by the edge server modifying the intelligence requirement profile of FIG. 4 based on a data disclosure range.

공개 범위가 '지역'인 img02.jpg 관련 데이터를 지능 요구 프로파일에서 삭제하고, img02.jpg의 정답 레이블인 '컵'을 목적 정답 레이블에 추가하였다. '컵'에 해당하는 원시 데이터가 프로파일에 없기 때문이다. 본 사례에서는 공개 범위 항목은 클라우드 서버로 전송할 필요가 없으므로 지능 요구 프로파일에서 제거하였다. Data related to img02.jpg whose disclosure range is 'region' was deleted from the intelligence requirement profile, and 'cup', the correct answer label of img02.jpg, was added to the target correct answer label. This is because the raw data corresponding to 'cup' is not in the profile. In this case, the disclosure scope item is removed from the Intelligence Requirement Profile because it does not need to be transmitted to the cloud server.

이하, 엣지 서버에서 지능 모델의 최적화 방법에 대하여 상세히 설명한다.Hereinafter, a method for optimizing an intelligence model in an edge server will be described in detail.

단계 (S1002)에서 엣지 서버는 공개 범위가 '지역'인 원시 데이터(110-3)와 그 데이터 주석(110-4)을 지능 요구 프로파일(110)에서 제거하여 자체 보관하였다. 이렇게 자체 보관한 데이터 항목들을 기반으로 데이터셋 D2를 구성한다. D2는 원시 데이터 항목과 데이터 주석 내 정답의 쌍으로 이루어진다. In step S1002, the edge server removes raw data 110-3 whose disclosure range is 'region' and its data annotation 110-4 from the intelligence requirement profile 110 and stores them therein. Data set D2 is constructed based on the data items stored in this way. D2 consists of pairs of raw data items and correct answers in data annotations.

엣지 서버(150)는 지능 모델 M3를 받아서 D2를 이용하여 훈련함으로써 최초 지능 요구 프로파일(110)이 요청한 최종 지능 모델 M4를 생성한다. 훈련 방법은 단계 (S2004), (S2006)와 동일하다. 이를 통해 공개 범위가 한정적이라 클라우드 서버에서 지능 모델의 최적화에 활용하지 못한 데이터를 지능 모델의 성능 최적화에 적용할 수 있다. The edge server 150 receives the intelligence model M3 and trains it using D2 to generate the final intelligence model M4 requested by the initial intelligence requirement profile 110. The training method is the same as steps S2004 and S2006. Through this, data that was not used for optimization of intelligence models in the cloud server due to the limited scope of disclosure can be applied to optimize performance of intelligence models.

D2와 M4도 앞서 D, D1, M2, M3를 등록한 방식과 동일하게 지능 리파지토리(203)에 등록한다. D2 and M4 are also registered in the intelligence repository 203 in the same manner as D, D1, M2, and M3 were previously registered.

이하, 지능 모델의 품질 관리 방법에 대하여 상세히 설명한다.Hereinafter, a method for managing the quality of an intelligent model will be described in detail.

지능 모델 메타데이터(503)에 포함된 품질 이력(503-6) 정보는 문제 발생 이력이 없는 양질의 지능 모델을 선정하기 위한 참고 자료로 활용될 수 있다. 지능 모델의 품질이 현저히 낮거나 치명적 위험을 발생시킨 경우 중요한 작업에 활용하는 것을 방지할 수 있다. The quality history (503-6) information included in the intelligence model metadata (503) can be used as a reference material for selecting a high-quality intelligence model that has no history of problems. If the quality of the intelligence model is significantly low or it has caused a fatal risk, it can be prevented from being used for important tasks.

예를 들어, 모델 M이 특정 상황에서 오류를 발생하여 문제를 일으킨 경우, 해당 상황을 기술한 정보를 지능 리파지토리 인터페이스(204)를 통해 엣지 서버 또는 클라우드 서버로 전송한다. 전송 중 엣지 서버와 클라우드 서버는 모델 M의 지능 모델 메타 데이터(503) 내 품질 이력(503-6) 항목에 해당 정보를 추가한다. 향후 이 항목을 열람함으로써 지능 모델의 품질을 가늠할 수 있다. 만약 어떤 지능 모델 M이 특정 상황에서 심각한 성능 저하나 문제를 발생시킨 경우 M과 동일하거나 유사한 모델을 찾아냄으로써 잠재적으로 문제 발생의 여지가 있는 지능 모델을 선별할 수 있다. For example, when the model M generates an error in a specific situation and causes a problem, information describing the situation is transmitted to the edge server or cloud server through the intelligent repository interface 204. During transmission, the edge server and the cloud server add corresponding information to the quality history (503-6) item in the model M's intelligence model metadata (503). The quality of intelligence models can be gauged by viewing these items in the future. If an intelligence model M causes serious performance degradation or a problem in a specific situation, it is possible to select a potentially problematic intelligence model by finding a model identical or similar to M.

M과 동일한 모델은 지능 모델 데이터(502)에 포함된 지능 모델 식별자(502-1)를 상호 비교하여 찾아낼 수 있다. The same model as M can be found by mutually comparing the intelligence model identifier 502-1 included in the intelligence model data 502.

본 발명의 일 실시예에서 M과 유사한 모델은 다음과 같이 찾아낼 수 있다. In one embodiment of the present invention, a model similar to M can be found as follows.

1) M의 지능 모델 메타데이터(503)에 기재된 기반 모델(503-3)은 M을 생성하는데 활용한 지능 모델이므로 유사한 모델로 판단한다. M의 기반 모델은 또 다른 기반 모델로부터 생성되었을 수 있다. 이와 같이 지능 모델의 기반 모델을 연속적으로 참조하여 M의 유사 모델들을 찾아낼 수 있다. 1) Intelligence model of M Since the base model 503-3 described in the metadata 503 is an intelligence model used to generate M, it is determined to be a similar model. M's base model may have been created from another base model. In this way, similar models of M can be found by continuously referring to the base model of the intelligence model.

2) 두 지능 모델 간 지능 모델 데이터의 유사도를 측정함으로써 유사 모델을 찾아낼 수 있다. 두 지능 모델의 모델 유형(502-2), 훈련 데이터셋(503-1), 정답 레이블 목록(503-2), 기반 모델(503-3), 훈련 이력(503-4) 등을 상호 비교하여 비슷할 수록 유사 모델이라고 판단할 수 있다. 2) Similar models can be found by measuring the similarity of intelligence model data between two intelligence models. The model type (502-2), training dataset (503-1), correct label list (503-2), base model (503-3), and training history (503-4) of the two intelligence models are compared with each other. The more similar, the more similar the model can be judged.

이러한 데이터 간 유사성이 반드시 두 모델의 동작 특성의 유사성을 증빙하지는 못하지만, 문제 발생 가능성을 가늠하는 단서의 역할을 할 수 있다. The similarity between these data does not necessarily prove the similarity of the operating characteristics of the two models, but it can serve as a clue to estimate the possibility of a problem.

이하, [표 4] 내지 [표 8]을 참조하여, 지능 리파지토리의 구성 및 저장 내용을 상세히 설명한다. Hereinafter, with reference to [Table 4] to [Table 8], the configuration and storage of the intelligence repository will be described in detail.

[표 4]는 지능 요구 프로파일(210)의 일 실시예를 나타낸다.[Table 4] shows an embodiment of the Intelligence Requirement Profile 210.

[표 5]는 레이블 사전(300)의 일 실시예를 나타낸다.[Table 5] shows an embodiment of the label dictionary 300.

[표 6]은 지능 모델 유형 사전(600)의 일 실시예를 나타낸다.[Table 6] shows an embodiment of the intelligent model type dictionary 600.

[표 7]은 지능 모델 저장소(500)의 일 실시예를 나타낸다.[Table 7] shows an embodiment of the intelligence model repository 500.

[표 8]은 지능 모델 활용 코드 저장소(700)의 일 실시예를 나타낸다.[Table 8] shows an embodiment of the intelligence model utilization code repository 700.

태스크명세(110-4)Task specification (110-4) {태스크식별자: detection,
입력: image,
출력: (Bounding-box, class-id)}
{task identifier: detection,
Input: image,
Output: (Bounding-box, class-id)}
목적데이터(110-1)/데이터주석Object Data (110-1)/Data Annotation 접시, 컵, 유리병plate, cup, glass bottle 목적정답레이블(110-2)Purpose correct answer label (110-2) 칼, 포크, 수저, 젓가락knife, fork, spoon, chopsticks

레이블식별자 label identifier 자연어레이블natural array label L0000001L0000001 접시plate L0000002L0000002 cup L0000003L0000003 유리병glass bottle L0000004L0000004 수저spoon and chopsticks L0000005L0000005 젓가락chopsticks L0000006L0000006 knife L0000007L0000007 포크fork L0000008L0000008 얼굴face L0000009L0000009 국수noodle L0000010L0000010 테이블table

모델 유형 식별자(601-1)Model type identifier (601-1) 모델 유형 구조 명세(601-2)Model Type Structure Specification (601-2) 태스크 식별자(601-3)Task identifier (601-3) IMT00003IMT00003 alexnet01.onnx alexnet01.onnx classificationclassification IMT00002IMT00002 yolo4_003.onnxyolo4_003.onnx detectiondetection IMT00005IMT00005 resnet078.onnxresnet078.onnx classificationclassification

지능 모델 식별자 (502-1)Intelligence Model Identifier (502-1) IM000009 IM000009 IM000011IM000011 IM000015IM000015 모델 유형 식별자 (502-2)Model type identifier (502-2) IMT00003 IMT00003 IMT00002IMT00002 IMT00005IMT00005 모델 파라미터값 (502-3)Model parameter value (502-3) Im000009.onnx Im000009.onnx Im000011.onnxIm000011.onnx Im000015.onnxIm000015.onnx 태스크 명세 (502-4)Task Specification (502-4) {태스크식별자: classification,입력: image,
출력: class-id}
{task identifier: classification, input: image,
Output: class-id}
{태스크식별자: detection,
입력: image,
출력: (Bounding-box, class-id)}
{task identifier: detection,
Input: image,
Output: (Bounding-box, class-id)}
{태스크식별자: classification,
입력: image,
출력: class-id}
{task identifier: classification,
Input: image,
Output: class-id}
데이터셋 식별자 (503-1)Dataset Identifier (503-1) DS000001 DS000001 DS000004DS000004 DS000008DS000008 정답 레이블 목록 (503-2)List of Correct Answer Labels (503-2) {0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000005, 5:L0000006, 6:L0000007, 7:L0000008, 8:L0000009, 9:L0000010}{0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000005, 5:L0000006, 6:L0000007, 7:L0000008, 8:L0000009, 9:L0000010} {0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000008, 5:L0000009}{0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000008, 5:L0000009} {0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000005, 5:L0000006, 6:L0000007}{0:L0000001, 1:L0000002, 2:L0000003, 3:L0000004, 4:L0000005, 5:L0000006, 6:L0000007} 기반 모델 (503-3)Base Model (503-3) IM000003IM000003 IM000003IM000003 IM000003IM000003 훈련 이력 (503-4)Training History (503-4) {epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1}{epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1} {epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1}{epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1} {epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1}{epoch: 100, batch-size: 4096, learning rate: 0.01, drop-out: 0.1} 성능 평가 정보 (503-5)Performance evaluation information (503-5) {dataset:DS000001, recall:0.992, precision:0.87}{dataset:DS000001, recall:0.992, precision:0.87} {dataset:DS000001, mAP:0.67}{dataset:DS000001, mAP:0.67} {dataset:DS000001, recall:0.96,precision:0.89}{dataset:DS000001, recall:0.96,precision:0.89} 품질 이력(503-6)Quality History (503-6) [{2021-07-03, severe, http://imhist.org/283940548}] [{2021-07-03, severe, http://imhist.org/283940548}] {}{} {}{}

코드 식별자(701-1)Code identifier (701-1) 코드 유형(701-2)Code Type (701-2) 코드(701-3)Code (701-3) 호환 모델(701-4)Compatible Model (701-4) CD000001CD000001 inferenceinference {imcloud/imt00003:inference, script001.bash}{imcloud/imt00003:inference, script001.bash} IM000009IM000009 CD000002CD000002 trainingtraining {imcloud/imt00003:training, script002.bash}{imcloud/imt00003:training, script002.bash} IM000009IM000009 CD000003CD000003 inferenceinference {imcloud/imt00002:inference, script003.bash}{imcloud/imt00002:inference, script003.bash} IM000011IM000011 CD000004CD000004 trainingtraining {imcloud/imt00002:training, script004.bash}{imcloud/imt00002:training, script004.bash} IM000011IM000011

[표 4]의 지능 요구 프로파일(210)은 이미지를 입력으로 받아 7개의 사물 클래스를 검출할 수 있는 지능 모델을 요청하고 있음을 볼 수 있다. It can be seen that the intelligence requirement profile 210 in [Table 4] requests an intelligence model capable of detecting 7 object classes by receiving an image as an input.

이러한 요청을 만족하는 지능 모델을 선정하기 위해 지능 요구 프로파일의 태스크 명세(110-4)와 지능 모델 저장소(500)의 각 지능 모델의 태스크 명세(502-4)를 비교하여 동일한 것을 골라낸다. [표 7]을 참조하면, IM000011이 해당 조건을 만족함을 볼 수 있다. In order to select an intelligence model that satisfies this request, the task specification 110-4 of the intelligence requirement profile and the task specification 502-4 of each intelligence model in the intelligence model repository 500 are compared to select the same one. Referring to [Table 7], it can be seen that IM000011 satisfies the corresponding condition.

지능 모델 IM000009의 지능 모델 유형 식별자(502-2)를 보면 모델 구조가 IMT00003이고, 지능 모델 유형 사전(600)을 보면 이 모델의 구조 명세가 alexnet01.onnx에 형식적으로 기술되어 있고 분류(classification) 태스크에 활용될 수 있음을 알 수 있다. alexnet01.onnx 명세는 ONNX 구조로서 호환성 있는 딥러닝 프레임워크를 사용하면 복원을 통해 해당 모델 구조로 만들어진 학습되기 전 초기 지능 모델을 생성하여 활용할 수 있다. Looking at the intelligence model type identifier (502-2) of the intelligence model IM000009, the model structure is IMT00003, and looking at the intelligence model type dictionary (600), the structure specification of this model is formally described in alexnet01.onnx, and the classification task It can be seen that it can be used for The alexnet01.onnx specification is an ONNX structure, and if you use a compatible deep learning framework, you can create and utilize an initial intelligence model before training made with the model structure through restoration.

IM000009의 훈련 이력(503-4)을 보면, epoch, batch size, learning rate 등 훈련에 사용한 각종 파라미터의 설정값을 열람할 수 있다. If you look at the training history (503-4) of IM000009, you can browse the set values of various parameters used for training, such as epoch, batch size, and learning rate.

IM000009의 성능 평가 정보(503-5)를 보면, DS000001 데이터셋을 대상으로 Recall 성능은 0.992, Precision 성능은 0.87을 달성했음을 볼 수 있다. IM000015는 동일 데이터셋을 대상으로 Recall은 0.96, Precision은 0.89임을 볼 수 있다. 태스크 명세가 동일한 지능 모델들을 대상으로 동일 성능 수치를 상호 비교함으로써 성능을 비교해 볼 수 있다. Looking at the performance evaluation information (503-5) of IM000009, it can be seen that the recall performance achieved 0.992 and the precision performance 0.87 for the DS000001 dataset. IM000015 can see that Recall is 0.96 and Precision is 0.89 for the same dataset. Performance can be compared by mutually comparing the same performance figures targeting intelligence models with the same task specification.

IM000009 의 품질 이력(503-6)을 보면, 2021-07-03에 보고된 이력이 있으며 상태는 심각(severe)이고 관련 정보의 URL이 기재되어 있다. 이를 통해 해당 지능 모델이 심각한 문제를 일으킨 바가 있다는 점을 파악할 수 있다. Looking at the quality history (503-6) of IM000009, there is a history reported on 2021-07-03, the status is severe, and the URL of related information is listed. Through this, it can be identified that the intelligence model has caused serious problems.

지능 모델 활용 코드 저장소(700)에는 IM000009 모델을 대상으로 추론을 수행할 수 있는 코드 CD000001과 훈련을 수행할 수 있는 코드 CD000002가 있으며 그 구현체는 컨테이너로서 식별자(예: imcloud/imt00003:inference)와 구동 스크립트(예: script001.bash)가 저장되어 있음을 볼 수 있다. IM000009 모델을 활용하여 지능 모델을 생성, 최적화, 활용할 때 해당 코드를 이용하면 된다.The intelligence model utilization code repository 700 has CD000001, a code that can perform inference for the IM000009 model, and CD000002, a code that can perform training. You can see that the script (e.g. script001.bash) is saved. When using the IM000009 model to create, optimize, and utilize the intelligence model, you can use the corresponding code.

도 14는 본 발명의 일 실시예에 엣지 서버의 구조를 나타낸 블록도이다.14 is a block diagram showing the structure of an edge server according to an embodiment of the present invention.

도 14를 참조하면, 본 발명의 일 실시예에 따른 엣지 서버는 사용자 단말 및 다른 서버와 통신하는 통신부(21), 지능 모델 생성을 위한 데이터가 저장된 저장부(22), 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부(23) 및 상기 생성된 지능 모델을 조정하는 조정부(24)를 포함한다.Referring to FIG. 14, the edge server according to an embodiment of the present invention includes a communication unit 21 communicating with a user terminal and other servers, a storage unit 22 storing data for generating an intelligence model, and corresponding to a request for generating an intelligence model. and a model generating unit 23 for generating an intelligence model to be used, and an adjusting unit 24 for adjusting the generated intelligence model.

이때, 상기 통신부(24)는 상기 모델 생성부가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하고, 상기 클라우드 서버에서 생성된 지능 모델을 수신할 수 있다.In this case, if the model generation unit fails to generate the intelligence model, the communication unit 24 may request the cloud server to generate the intelligence model and receive the intelligence model generated by the cloud server.

이때, 상기 클라우드 서버는 제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함할 수 있다.In this case, the cloud server may include a first cloud server and a second cloud server having a larger capacity than the first cloud server.

이때, 상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청할 수 있다.In this case, if the generation of the intelligence model fails, the first cloud server may request generation of the intelligence model to the second cloud server.

이때, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.In this case, the intelligence model generation request may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 모델 생성부(23)는 상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하고, 상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하고, 상기 변형된 지능 모델의 학습을 수행할 수 있다.At this time, the model generation unit 23 selects a basic intelligence model based on the intelligence model generation request, transforms a label list of the basic intelligence model to correspond to a target label list, and performs learning of the modified intelligence model. can be done

이때, 상기 통신부(21)는 상기 데이터 공개 범위에 기반하여 상기 원시 데이터를 상기 클라우드 서버에 전송할 수 있다.At this time, the communication unit 21 may transmit the raw data to the cloud server based on the data disclosure range.

이때, 상기 조정부(24)는 상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 상기 지능 모델을 조정할 수 있다.At this time, the adjustment unit 24 may adjust the intelligence model using raw data not transmitted to the cloud server.

도 15는 본 발명의 일 실시예에 클라우드 서버의 구조를 나타낸 블록도이다.15 is a block diagram showing the structure of a cloud server according to an embodiment of the present invention.

도 15를 참조하면, 본 발명의 일 실시예에 따른 클라우드 서버는 엣지 서버의 지능 모델 생성 요청을 수신하는 통신부(31), 지능 모델 생성을 위한 데이터가 저장된 저장부(32), 상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부(33)를 포함하고, 상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함할 수 있다.Referring to FIG. 15, the cloud server according to an embodiment of the present invention includes a communication unit 31 receiving a request for generating an intelligence model from an edge server, a storage unit 32 storing data for generating an intelligence model, and generating the intelligence model. and a model generation unit 33 that generates an intelligence model corresponding to the request, and the intelligence model generation request may include a task identifier, raw data, annotations, a data disclosure range, and a target label.

이때, 상기 통신부(31)는 상기 모델 생성부에서 상기 지능 모델의 생성에 실패하면, 다른 클라우드 서버에 지능 모델 생성을 요청할 수 있다.At this time, if the model generation unit fails to generate the intelligence model, the communication unit 31 may request another cloud server to generate the intelligence model.

이때, 상기 지능 모델 생성 요청의 원시 데이터는 상기 엣지 서버에서 상기 데이터 공개 범위에 기반하여 전송될 수 있다.In this case, raw data of the intelligence model generation request may be transmitted from the edge server based on the data disclosure range.

도 16은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.16 is a diagram showing the configuration of a computer system according to an embodiment.

실시예에 따른 엣지 서버 및 클라우드 서버는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.The edge server and the cloud server according to the embodiment may be implemented in the computer system 1000 such as a computer-readable recording medium.

컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.Computer system 1000 may include one or more processors 1010, memory 1030, user interface input devices 1040, user interface output devices 1050, and storage 1060 that communicate with each other over a bus 1020. can In addition, computer system 1000 may further include a network interface 1070 coupled to network 1080 . The processor 1010 may be a central processing unit or a semiconductor device that executes programs or processing instructions stored in the memory 1030 or the storage 1060 . The memory 1030 and the storage 1060 may be storage media including at least one of volatile media, nonvolatile media, removable media, non-removable media, communication media, and information delivery media. For example, memory 1030 may include ROM 1031 or RAM 1032 .

본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described herein are examples and do not limit the scope of the present invention in any way. For brevity of the specification, description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection of lines or connecting members between the components shown in the drawings are examples of functional connections and / or physical or circuit connections, which can be replaced in actual devices or additional various functional connections, physical connection, or circuit connections. In addition, if there is no specific reference such as “essential” or “important”, it may not be a component necessarily required for the application of the present invention.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments and should not be determined, and all scopes equivalent to or equivalently changed from the claims as well as the claims to be described later are within the scope of the spirit of the present invention. will be said to belong to

1000: 컴퓨터 시스템 1010: 프로세서
1020: 버스 1030: 메모리
1031: 롬 1032: 램
1040: 사용자 인터페이스 입력 장치
1050: 사용자 인터페이스 출력 장치
1060: 스토리지 1070: 네트워크 인터페이스
1080: 네트워크
1000: computer system 1010: processor
1020: bus 1030: memory
1031: Rom 1032: RAM
1040: user interface input device
1050: user interface output device
1060: storage 1070: network interface
1080: network

Claims (20)

엣지 서버 및 클라우드 서버에서 수행되는 방법에 있어서,
엣지 서버가 사용자 단말의 지능 모델 생성 요청을 수신하는 단계;
상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 단계; 및
상기 생성된 지능 모델을 조정하는 단계;
를 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
In the method performed in the edge server and the cloud server,
receiving, by an edge server, a request for generating an intelligent model of a user terminal;
generating an intelligence model corresponding to the intelligence model generation request; and
adjusting the generated intelligence model;
Intelligence model generation method comprising a.
청구항 1에 있어서,
상기 지능 모델을 생성하는 단계는
엣지 서버가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하는 단계;
상기 클라우드 서버에서 생성된 지능 모델을 수신하는 단계;
를 더 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 1,
The step of generating the intelligence model is
If the edge server fails to generate the intelligence model, requesting the cloud server to generate the intelligence model;
Receiving an intelligence model generated by the cloud server;
Intelligence model generation method characterized in that it further comprises.
청구항 2에 있어서,
상기 클라우드 서버는
제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 2,
The cloud server
An intelligence model generation method comprising a first cloud server and a second cloud server having a larger capacity than the first cloud server.
청구항 3에 있어서,
상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 3,
Wherein the first cloud server requests the second cloud server to generate an intelligence model if the generation of the intelligence model fails.
청구항 2에 있어서,
상기 지능 모델 생성 요청은
태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 2,
The intelligence model generation request is
A method for generating an intelligence model comprising a task identifier, raw data, annotations, a data disclosure range, and a target label.
청구항 1에 있어서,
상기 지능 모델을 생성하는 단계는
상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하는 단계;
상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하는 단계; 및
상기 변형된 지능 모델의 학습을 수행하는 단계;
를 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 1,
The step of generating the intelligence model is
selecting a basic intelligence model based on the intelligence model generation request;
transforming the label list of the basic intelligence model to correspond to a target label list; and
performing learning of the transformed intelligence model;
Intelligence model generation method comprising a.
청구항 6에 있어서,
상기 변형된 지능 모델의 학습을 수행하는 단계는
기저장된 데이터셋을 이용하는 제1 학습 단계; 및
상기 지능 모델 생성 요청에 포함된 원시 데이터를 이용하는 제2 학습 단계;
를 더 포함하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 6,
The step of performing learning of the modified intelligence model is
A first learning step using a pre-stored dataset; and
a second learning step using raw data included in the intelligence model generation request;
Intelligence model generation method characterized in that it further comprises.
청구항 5에 있어서,
상기 클라우드 서버에 지능 모델 생성을 요청하는 단계는
상기 데이터 공개 범위에 기반하여 상기 클라우드 서버에 전송할 원시 데이터를 설정하는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 5,
The step of requesting the cloud server to generate an intelligence model
An intelligent model generation method, characterized in that for setting raw data to be transmitted to the cloud server based on the data disclosure range.
청구항 8에 있어서,
상기 생성된 지능 모델을 조정하는 단계는
상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 수행되는 것을 특징으로 하는 지능 모델 생성 방법.
The method of claim 8,
The step of adjusting the generated intelligence model is
An intelligent model generation method, characterized in that performed using raw data that is not transmitted to the cloud server.
사용자 단말 및 다른 서버와 통신하는 통신부;
지능 모델 생성을 위한 데이터가 저장된 저장부;
지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부; 및
상기 생성된 지능 모델을 조정하는 조정부;
를 포함하는 것을 특징으로 하는 엣지 서버.
a communication unit that communicates with the user terminal and other servers;
a storage unit in which data for generating an intelligence model is stored;
a model generation unit generating an intelligence model corresponding to the intelligence model generation request; and
an adjusting unit adjusting the generated intelligence model;
Edge server comprising a.
청구항 10에 있어서,
상기 통신부는
상기 모델 생성부가 상기 지능 모델의 생성에 실패하면, 클라우드 서버에 지능 모델 생성을 요청하고, 상기 클라우드 서버에서 생성된 지능 모델을 수신하는 것을 특징으로 하는 엣지 서버.
The method of claim 10,
the communication department
The edge server, characterized in that, when the model generation unit fails to generate the intelligence model, requests a cloud server to generate an intelligence model, and receives the intelligence model generated by the cloud server.
청구항 11에 있어서,
상기 클라우드 서버는
제1 클라우드 서버 및 상기 제1 클라우드 서버보다 큰 용량을 갖는 제2 클라우드 서버를 포함하는 것을 특징으로 하는 엣지 서버.
The method of claim 11,
The cloud server
An edge server comprising a first cloud server and a second cloud server having a larger capacity than the first cloud server.
청구항 12에 있어서,
상기 제1 클라우드 서버는 상기 지능 모델의 생성에 실패하면, 상기 제2 클라우드 서버에 지능 모델 생성을 요청하는 것을 특징으로 하는 엣지 서버.
The method of claim 12,
The edge server, characterized in that, when the first cloud server fails to generate the intelligence model, requests the second cloud server to generate the intelligence model.
청구항 11에 있어서,
상기 지능 모델 생성 요청은
태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함하는 것을 특징으로 하는 엣지 서버.
The method of claim 11,
The intelligence model generation request is
An edge server characterized by including task identifiers, raw data, annotations, data disclosure ranges, and target labels.
청구항 10에 있어서,
상기 모델 생성부는
상기 지능 모델 생성 요청에 기반하여 기본 지능 모델을 선정하고,
상기 기본 지능 모델의 레이블 목록을 목표 레이블 목록에 상응하도록 변형하고,
상기 변형된 지능 모델의 학습을 수행하는 것을 특징으로 하는 엣지 서버.
The method of claim 10,
The model generator
Selecting a basic intelligence model based on the intelligence model generation request;
Transforming the label list of the basic intelligence model to correspond to the target label list;
Edge server, characterized in that for performing learning of the modified intelligence model.
청구항 14에 있어서,
상기 통신부는
상기 데이터 공개 범위에 기반하여 상기 원시 데이터를 상기 클라우드 서버에 전송하는 것을 특징으로 하는 엣지 서버.
The method of claim 14,
the communication department
The edge server, characterized in that for transmitting the raw data to the cloud server based on the data disclosure range.
청구항 16에 있어서,
상기 조정부는
상기 클라우드 서버에 전송되지 않은 원시 데이터를 이용하여 상기 지능 모델을 조정하는 것을 특징으로 하는 엣지 서버.
The method of claim 16
The adjustment department
The edge server, characterized in that for adjusting the intelligence model using raw data not transmitted to the cloud server.
엣지 서버의 지능 모델 생성 요청을 수신하는 통신부;
지능 모델 생성을 위한 데이터가 저장된 저장부; 및
상기 지능 모델 생성 요청에 상응하는 지능 모델을 생성하는 모델 생성부;
를 포함하고,
상기 지능 모델 생성 요청은 태스크 식별자, 원시 데이터, 주석, 데이터 공개 범위 및 목표 레이블을 포함하는 것을 특징으로 하는 클라우드 서버.
a communication unit receiving a request for generating an intelligent model from an edge server;
a storage unit in which data for generating an intelligence model is stored; and
a model generating unit generating an intelligence model corresponding to the intelligence model generation request;
including,
The cloud server, characterized in that the intelligence model generation request includes a task identifier, raw data, annotations, data disclosure range and target label.
청구항 18에 있어서,
상기 통신부는
상기 모델 생성부에서 상기 지능 모델의 생성에 실패하면, 다른 클라우드 서버에 지능 모델 생성을 요청하는 것을 특징으로 하는 클라우드 서버.
The method of claim 18
the communication department
If the model creation unit fails to generate the intelligence model, the cloud server requests another cloud server to generate the intelligence model.
청구항 18에 있어서,
상기 지능 모델 생성 요청의 원시 데이터는
상기 엣지 서버에서 상기 데이터 공개 범위에 기반하여 전송되는 것을 특징으로 하는 클라우드 서버.
The method of claim 18
The raw data of the intelligence model generation request is
The cloud server, characterized in that transmitted from the edge server based on the data disclosure range.
KR1020220056734A 2021-08-23 2022-05-09 Cloud server, edge server and method for generating intelligence model using the same KR20230029495A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/836,087 US20230077103A1 (en) 2021-08-23 2022-06-09 Cloud server, edge server and method for generating intelligence model using the same
JP2022095961A JP2023031238A (en) 2021-08-23 2022-06-14 Cloud server, edge server, and method of generating intelligence model using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210111066 2021-08-23
KR1020210111066 2021-08-23

Publications (1)

Publication Number Publication Date
KR20230029495A true KR20230029495A (en) 2023-03-03

Family

ID=85510331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220056734A KR20230029495A (en) 2021-08-23 2022-05-09 Cloud server, edge server and method for generating intelligence model using the same

Country Status (1)

Country Link
KR (1) KR20230029495A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052449A (en) 2018-10-30 2020-05-15 제노테크주식회사 Connected data architecture system to support artificial intelligence service and control method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052449A (en) 2018-10-30 2020-05-15 제노테크주식회사 Connected data architecture system to support artificial intelligence service and control method thereof

Similar Documents

Publication Publication Date Title
US10853360B2 (en) Searchable index
CN113614748A (en) Systems and methods for incremental learning for object detection
US10621493B2 (en) Multiple record linkage algorithm selector
US10637826B1 (en) Policy compliance verification using semantic distance and nearest neighbor search of labeled content
US11238132B2 (en) Method and system for using existing models in connection with new model development
US20220043935A1 (en) Data processing systems and methods for automatically redacting unstructured data from a data subject access request
CN110502677B (en) Equipment identification method, device and equipment, and storage medium
US10762438B1 (en) Extracting questions and answers
CN111783903A (en) Text processing method, text model processing method and device and computer equipment
US20060212856A1 (en) System and method for tuning software engines
US11853941B2 (en) Systems and methods for identifying available services at a physical address
CN111507400A (en) Application classification method and device, electronic equipment and storage medium
JP2015166978A (en) Image search device and image search program
KR20200044644A (en) Apparatus and method for searching image based on convolutional neural network
CN117435999A (en) Risk assessment method, apparatus, device and medium
US20200210760A1 (en) System and method for cascading image clustering using distribution over auto-generated labels
KR20230029495A (en) Cloud server, edge server and method for generating intelligence model using the same
EP4270239A1 (en) Supervised machine learning method for matching unsupervised data
CN116226850A (en) Method, device, equipment, medium and program product for detecting virus of application program
US20160292282A1 (en) Detecting and responding to single entity intent queries
CN114898184A (en) Model training method, data processing method and device and electronic equipment
US20230077103A1 (en) Cloud server, edge server and method for generating intelligence model using the same
US10803115B2 (en) Image-based domain name system
US20240143640A1 (en) Compliance determinations for conveyance of benefits
CN116127067B (en) Text classification method, apparatus, electronic device and storage medium