KR102530254B1 - Npu adaptable network platform for artificial intelligent contents service - Google Patents

Npu adaptable network platform for artificial intelligent contents service Download PDF

Info

Publication number
KR102530254B1
KR102530254B1 KR1020200073391A KR20200073391A KR102530254B1 KR 102530254 B1 KR102530254 B1 KR 102530254B1 KR 1020200073391 A KR1020200073391 A KR 1020200073391A KR 20200073391 A KR20200073391 A KR 20200073391A KR 102530254 B1 KR102530254 B1 KR 102530254B1
Authority
KR
South Korea
Prior art keywords
content
npu
local
terminal
learning model
Prior art date
Application number
KR1020200073391A
Other languages
Korean (ko)
Other versions
KR20210062547A (en
Inventor
우상진
Original Assignee
우상진
주식회사 이디엔에이넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 우상진, 주식회사 이디엔에이넷 filed Critical 우상진
Publication of KR20210062547A publication Critical patent/KR20210062547A/en
Application granted granted Critical
Publication of KR102530254B1 publication Critical patent/KR102530254B1/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 일 실시예에 따른 AI 콘텐츠 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크가 구비된 사용자 단말이 개시된다. 본 발명의 일 실시예에 따른 사용자 단말은 상기 NPU 적응형 엣지 프레임워크는 AI 어플리케이션을 관리하기 위한 어플리케이션 매니저와, 콘텐츠 서버로부터 AI 콘텐츠를 다운로드하고 설치하기 위한 콘텐츠 설치 매니저와, 상기 AI 콘텐츠를 실행하고 상기 사용자 단말에 구비된 제1 NPU를 가속하기 위한 AI 콘텐츠 엣지 엔진과 NPU 드라이버와 센서 드라이버를 포함하는 OS 플랫폼을 포함하여 구성된다. Disclosed is a user terminal equipped with an NPU adaptive edge framework supporting AI content installation and execution according to an embodiment of the present invention. In the user terminal according to an embodiment of the present invention, the NPU adaptive edge framework includes an application manager for managing AI applications, a content installation manager for downloading and installing AI contents from a content server, and executing the AI contents. and an OS platform including an AI content edge engine, an NPU driver, and a sensor driver for accelerating the first NPU provided in the user terminal.

Description

AI 콘텐츠 서비스를 위한 NPU 적응형 네트워크 플랫폼{NPU ADAPTABLE NETWORK PLATFORM FOR ARTIFICIAL INTELLIGENT CONTENTS SERVICE}NPU Adaptable Network Platform for AI Content Service {NPU ADAPTABLE NETWORK PLATFORM FOR ARTIFICIAL INTELLIGENT CONTENTS SERVICE}

본 발명은 AI 콘텐츠 서비스를 위한 네트워크 플랫폼에 관한 것으로 좀 더 상세하게는 AI 콘텐츠 배포, 설치, 실행을 위한 NPU 적응형 네트워크 플랫폼에 관한 것이다.The present invention relates to a network platform for AI content service, and more particularly, to an NPU adaptive network platform for AI content distribution, installation, and execution.

신경망처리장치(Neural Processing Unit, NPU)는 우리의 뇌처럼 정보를 학습하고 처리하는 프로세서로서 셀 수없이 많은 신경세포와 시냅스로 연결되어 신호를 주고받으며 동시에 작업을 진행하는 인간의 뇌 신경세포와 유사한 작업을 진행하기 때문에, 스스로 학습하고 판단할 수 있는 인공지능이 접목되어 AI 칩이라고 불린다. 이러한 NPU의 출현으로 모바일 단말 부분에서 저전력 고효율의 AI 인식 및 추론기능을 가속화할 수 있게 되었다. A Neural Processing Unit (NPU) is a processor that learns and processes information like our brain, similar to human brain neurons that are connected to countless nerve cells through synapses to send and receive signals and perform tasks at the same time. Because it proceeds with work, it is called an AI chip because it is grafted with artificial intelligence that can learn and judge itself. With the advent of these NPUs, it is possible to accelerate low-power, high-efficiency AI recognition and reasoning functions in the mobile terminal part.

특히, 일반 영상이나 동영상에 대하여, 다양한 형태의 AI 인식 프로세스에 대한 니즈가 증가하고 있다. 머신 러닝 기술을 이용하는 학습 프로세스는 GPU가 효율적이지만 인식 프로세스는 NPU가 더 효율적이기 때문에, 이미 만들어진 학습 모델에 적용하는 서비스나 어플리케이션 개발에 있어서 NPU의 중요성이 커지고 있다. 따라서, 대부분의 칩셋 제조업체는 차세대 SoC(systen on chip)로서 NPU 개발에 착수하고 있으며 향후 지속적으로 증가할 것이다.In particular, there is an increasing need for various types of AI recognition processes for general videos or videos. The GPU is efficient in the learning process using machine learning technology, but the NPU is more efficient in the recognition process, so the importance of the NPU is growing in the development of services or applications that apply to already created learning models. Therefore, most chipset manufacturers are starting to develop NPUs as a next-generation SoC (system on chip), and this will continue to increase in the future.

현재, 머신러닝을 기반으로 하는 학습 기술은 일반화되어 있지만, 알고리즘(학습 모델)을 적용하여 단말에 직접 서비스하는 인공지능 디바이스의 개발은 시장의 요구에 미치지 못하고 있으며, NPU 칩셋은 다양하게 시장에 출현하고 있지만, 이를 사용하기 위한 콘텐츠는 부족하다. 또한, 높은 카메라 성능에 비해 AI 기술을 적용한 디바이스나 서비스 역시 한정적이다.Currently, learning technology based on machine learning is generalized, but the development of artificial intelligence devices that provide direct service to terminals by applying algorithms (learning models) is not meeting market demands, and various NPU chipsets appear in the market. However, the content to use it is lacking. In addition, compared to the high camera performance, AI-applied devices and services are also limited.

특히, 알고리즘의 NPU 종속성 및 데이터 독점성으로 인해서 다양한 학습모델을 테스트할 수 있는 단말 플랫폼이 부재하며, NPU를 이용할 수 있는 학습 데이터가 부족한 상황이다.In particular, due to the NPU dependency and data monopoly of the algorithm, there is no terminal platform capable of testing various learning models, and there is a lack of learning data that can use NPU.

상기 문제를 해결하기 위한 본 발명의 목적은, NPU에 종속되지 않고 사용자가 원하는 AI 콘텐츠를 설치하고 실행하도록 지원할 수 있는 사용자 단말을 제공하는 데에 있다.An object of the present invention for solving the above problem is to provide a user terminal capable of supporting a user to install and run desired AI content without being dependent on the NPU.

상기 문제를 해결하기 위한 본 발명의 다른 목적은, 단말의 테스트 플랫폼에 종속되지 않고 AI 콘텐츠를 배포할 수 있는 방법을 제공하는 데에 있다.Another object of the present invention for solving the above problem is to provide a method capable of distributing AI content without being dependent on a test platform of a terminal.

상기 목적을 달성하기 위한 본 발명은 AI 콘텐츠 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크가 구비된 사용자 단말에 있어서, 상기 NPU 적응형 엣지 프레임워크는 AI 어플리케이션을 관리하기 위한 어플리케이션 매니저와, 콘텐츠 서버로부터 AI 콘텐츠를 다운로드하고 설치하기 위한 콘텐츠 설치 매니저와, 상기 AI 콘텐츠를 실행하고 상기 사용자 단말에 구비된 제1 NPU를 가속하기 위한 AI 콘텐츠 엣지 엔진과 NPU 드라이버와 센서 드라이버를 포함하는 OS 플랫폼을 포함하는 사용자 단말을 제공한다. In order to achieve the above object, the present invention provides a user terminal equipped with an NPU adaptive edge framework that supports AI content installation and execution, wherein the NPU adaptive edge framework includes an application manager for managing AI applications, and content An OS platform including a content installation manager for downloading and installing AI content from a server, an AI content edge engine for executing the AI content and accelerating the first NPU provided in the user terminal, an NPU driver, and a sensor driver. Provides a user terminal that includes.

여기서, 상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고, 상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스와, 상기 학습모델이 중간표현 형태인 경우 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하고, 상기 콘텐츠 설치 매니저는 상기 콘텐츠 서버로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더와 상기 변환 서버상의 클라우드 컴파일러에 요청하여 상기 학습 모델을 상기 제1 NPU에 의해 지원 가능한 실행코드로 변환하는 클라우드 요청부를 포함하는 것을 특징으로 한다.Here, the AI content includes a learning model and an environment parameter, the learning model is provided in the form of a hardware independent intermediate expression or an executable code supported by a specific NPU, and the environment parameter corresponds to the environment of the user terminal. It includes libraries and resources, and conversion server information in which a cloud compiler to be converted into executable code when the learning model is in the form of an intermediate expression is located, and the content installation manager receives a list of AI content downloadable from the content server, and selects It is characterized in that it includes a content downloader for downloading AI content and a cloud request unit for converting the learning model into execution code supportable by the first NPU by requesting a cloud compiler on the conversion server.

또한, 여기서 상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고, 상기 콘텐츠 설치 매니저는 상기 학습 모델을 상기 제1 NPU에 의해 지원가능한 제1 로컬 실행코드로 변환하는 로컬 컴파일러와 상기 환경 파라미터에 상기 제1 NPU 정보 및 상기 사용자 단말의 정보를 포함하는 변환 정보를 추가하여 상기 콘텐츠 서버로 업로드하고, 상기 콘텐츠 서버에 상기 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부를 더 포함하는 것을 특징으로 한다.In addition, the AI content includes a learning model and environment parameters, and the learning model is provided in the form of an intermediate expression independent of hardware or in the form of executable code supported by a specific NPU, and the content installation manager configures the learning model as A local compiler for converting into a first local executable code supportable by the first NPU and conversion information including the first NPU information and information of the user terminal are added to the environment parameter and uploaded to the content server, and the content It may further include an authentication requesting unit requesting authentication of the first local executable code from a server.

또한, 여기서 상기 환경 파라미터는 상기 학습모델이 중간표현 형태인 경우, 상기 제1 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어(peer) 단말의 정보를 포함하고, 상기 콘텐츠 설치 매니저는 상기 피어 단말에 요청하여 상기 제2 로컬 실행코드를 수신하는 피어 교신부를 포함하는 것을 특징으로 한다.In addition, when the learning model is in the intermediate expression form, the environment parameter includes information of a peer terminal having a second local execution code supportable by the first NPU, and the content installation manager and a peer communication unit for receiving the second local execution code by requesting a peer terminal.

또한, 여기서 상기 피어 교신부는 제3의 피어 단말로부터 요청이 있는 경우 상기 제1 로컬 실행코드를 상기 제3의 피어 단말로 전송하고, 상기 전송 정보를 콘텐츠 서버에 송신하는 것을 특징으로 한다. In addition, the peer communication unit may transmit the first local execution code to the third peer terminal and transmit the transmission information to the contents server when there is a request from the third peer terminal.

또한, 여기서 상기 제2 로컬 실행 코드는 상기 피어 단말의 로컬 컴파일러에 의해 변환된 실행 코드이고, 피어 단말간 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 한다. Further, here, the second local execution code is an execution code converted by a local compiler of the peer terminal, and transmission information of the local execution code between peer terminals is settled based on a billing policy of the content server.

또한, 여기서 상기 AI 콘텐츠 엣지 엔진은 다운로드한 AI 콘텐츠를 디코딩하여 추론하는 모델 실행기와 상기 NPU 드라이버와 상기 모델 실행기간의 통신을 제어하기 위한 콘텐츠 서비스 프로토콜을 포함하는 것을 특징으로 한다.In addition, here, the AI content edge engine is characterized by including a model executor that decodes and infers downloaded AI content, and a content service protocol for controlling communication between the NPU driver and the model executor.

상기 다른 목적을 달성하기 위한 본 발명은 AI 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 배포하기 위한 AI 콘텐츠 배포 방법에 있어서, 머신러닝 도구를 이용하여 학습한 학습 모델과 환경 파라미터를 포함하는 AI 콘텐츠를 생성하는 단계와 상기 AI 콘텐츠를 콘텐츠 서버에 업로드하는 단계를 포함하고, 상기 학습 모델은 하드웨어 독립적인 중간표현 형태이거나 또는 특정 NPU에 맞추어 변환된 실행코드 형태이고, 상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스를 포함하고, 또한 상기 학습 모델이 중간표현 형태인 경우 상기 학습 모델을 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하는 것을 특징으로 하는 AI 콘텐츠 배포 방법을 제공한다.In order to achieve the above other object, the present invention provides an AI content distribution method for distributing AI content in an AI content production studio, generating AI content including a learned learning model and environmental parameters using a machine learning tool. and uploading the AI content to a content server, wherein the learning model is a hardware independent intermediate expression form or an execution code form converted to a specific NPU, and the environment parameter is a library corresponding to the environment of the user terminal. and a resource, and also includes information on a conversion server where a cloud compiler that will convert the learning model into an executable code when the learning model is in the form of an intermediate expression is located.

여기서, 상기 학습 모델이 중간표현 형태인 경우, 사용자 단말의 로컬 컴파일러에서 변환된 로컬 실행코드를 인증하는 단계를 더 포함하되, 상기 인증하는 단계는 상기 사용자 단말이나 상기 콘텐츠 서버로부터 상기 로컬 실행코드에 대한 인증 요청을 수신하면, 상기 콘텐츠 서버의 인증정책에 기초하여 상기 로컬 실행코드를 인증하고, 상기 환경 파라미터에 상기 로컬 실행코드의 인증 정보를 추가하여 상기 콘텐츠 서버에 업로드 하는 것을 특징으로 한다.Here, when the learning model is in the form of an intermediate expression, further comprising authenticating the local executable code converted by the local compiler of the user terminal, wherein the authenticating step is performed on the local executable code from the user terminal or the content server. When an authentication request is received, the local executable code is authenticated based on the authentication policy of the content server, and authentication information of the local executable code is added to the environment parameter and uploaded to the content server.

또한 여기서, 상기 인증을 획득한 상기 로컬 실행 코드는 상기 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 상기 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 한다. In addition, here, the local executable code that has obtained the authentication is transmitted between user terminals in a P2P manner based on the information of the environment parameter, and the transmission information of the local executable code is settled based on the billing policy of the content server to be characterized

본 발명의 AI 콘텐츠 설치 및 실행을 위한 NPU 적응형 AI 콘텐츠 서비스 엣지 프레임워크가 구비된 사용자 단말을 이용하면, 다양한 AI 콘텐츠를 다운로드하여 단말에 구비된 NPU에 맞는 실행코드로 변환하여 실행하거나 테스트함으로써, 효율적인 AI 인식/추론 기능을 가속화할 수 있다. 또한, AI 콘텐츠 제작자는 NPU 적응형 네트워크 플랫폼을 통해서 자체 제작한 AI 콘텐츠를 배포하여 다양한 환경의 단말에서 테스트할 수 있는 장점이 있다.When using a user terminal equipped with an NPU adaptive AI contents service edge framework for installing and running AI contents of the present invention, by downloading various AI contents, converting them into execution codes suitable for the NPU provided in the terminal, and executing or testing the , can accelerate efficient AI recognition/inference capabilities. In addition, AI content producers have the advantage of distributing their own AI content through the NPU adaptive network platform and testing it on terminals in various environments.

도 1은 본 발명의 일 실시예에 따른 AI 콘텐츠 서비스를 지원하는 NPU 적응형 네트워크 플랫폼의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는 NPU 적응형 엣지(edge) 플랫폼의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크를 보여주는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는NPU 적응형 엣지 프레임워크가 구비된 단말에서 AI 콘텐츠를 설치하는 과정을 보여주는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 제작 배포하는 과정을 보여주는 순서도이다.
1 is a conceptual diagram of an NPU adaptive network platform supporting AI content service according to an embodiment of the present invention.
2 is a conceptual diagram of an NPU adaptive edge platform supporting installation and execution of AI content according to an embodiment of the present invention.
3 is a block diagram showing an NPU adaptive edge framework supporting installation and execution of AI content according to an embodiment of the present invention.
4 is a flowchart illustrating a process of installing AI contents in a terminal equipped with an NPU adaptive edge framework supporting installation and execution of AI contents according to an embodiment of the present invention.
5 is a flowchart showing a process of producing and distributing AI content in a content production studio according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, or substitutes included in the spirit and technical scope of the present invention. Like reference numerals have been used for like elements throughout the description of each figure.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상의 의미와 일치하는 의미로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted in a meaning consistent with the contextual meaning of the related art, and are not interpreted in an ideal or excessively formal sense unless explicitly defined in this application.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 AI 콘텐츠 서비스를 지원하는 NPU 적응형 네트워크 플랫폼의 개념도이다.1 is a conceptual diagram of an NPU adaptive network platform supporting AI content service according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 NPU 적응형 네트워크 플랫폼은 콘텐츠 제작자는 제작한 다양한 종류의 AI 콘텐츠를 콘텐츠 제작 스튜디오(20)를 통해서 콘텐츠 서버(30)에 업로드하고, 사용자는 언제 어디서나 AI 콘텐츠를 다운로드하여 사용자 단말(10)에 설치할 수 있는 서비스 플랫폼을 제공할 수 있다. Referring to FIG. 1, in the NPU adaptive network platform according to an embodiment of the present invention, a content creator uploads various types of AI content produced to a content server 30 through a content production studio 20, and a user It is possible to provide a service platform that can download AI content anytime, anywhere and install it on the user terminal 10 .

또한, 도 1을 참조하면, 본 발명의 일 실시예에 따른 NPU 적응형 네트워크 플랫폼은 머신러닝을 통해서 학습된 콘텐츠를 유통하고, 유통된 콘텐츠를 사용자 단말의 환경에 맞추어 가속할 수 있도록 변환할 수 있는 엣지 컴퓨팅 환경을 제공하는 가입자 기반의 웹서비스일 수 있다. In addition, referring to FIG. 1, the NPU adaptive network platform according to an embodiment of the present invention can distribute content learned through machine learning and convert the distributed content to be accelerated according to the environment of the user terminal. It may be a subscriber-based web service that provides an edge computing environment.

즉, 콘텐츠 제작 스튜디오(20)는 AI 콘텐츠 개발 및 업로드를 수행하고, 기계 학습 결과물을 사용자 단말(10)에 구비된 어플리케이션에서 실행할 수 있는 콘텐츠로 빌드하고, GUI 기반의 UX(순서도 형태의 Graphic Coding)를 제공할 수 있다. 이때, AI 콘텐츠는 학습모델과 환경 파라미터를 포함할 수 있으며, 학습모델은 하드웨어에 독립적인 중간 표현 형태일 수 있고, 제작 스튜디오에서 특정 NPU에 의해 지원되도록 변환한 실행코드 형태일 수 있다. 이때, 학습모델은 독자적인 사용자 인터페이스를 구비한 어플리케이션을 포함할 수도 있고, 또는 공개된 인식 어플리케이션과 연계되어 동작할 수도 있다. That is, the content production studio 20 develops and uploads AI content, builds the machine learning result into content that can be executed in the application provided in the user terminal 10, GUI-based UX (flow chart type Graphic Coding ) can be provided. At this time, the AI content may include a learning model and environmental parameters, and the learning model may be in the form of an intermediate expression independent of hardware, or may be in the form of executable code converted to be supported by a specific NPU in a production studio. In this case, the learning model may include an application having an independent user interface, or may operate in conjunction with an open recognition application.

또한, 도 1을 참조하면, 다운로드한 AI 콘텐츠가 중간표현 형태인 경우에는, 사용자 단말(10)에서 직접 실행코드로 변환할 수 있는 엣지 컴퓨팅 환경이 제공된다. 즉, 예를 들면, 사용자 단말(10)은 변환 서버(40) 상의 클라우드 컴파일러를 통해 다운로드한 AI 콘텐츠를 단말(10)에 구비된 NPU에 맞는 실행코드로 변환하거나 피어 단말(11)에 설치된 실행코드를 전송받을 수 있다. 또한, 사용자 단말(10, 10)에는 다양한 AI 콘텐츠를 이용하여 AI 인식 서비스를 테스트할 수 있는 엣지(EDGE) 컴퓨팅 환경(NPU, 센서, 어플리케이션 등)이 구비될 수 있다. In addition, referring to FIG. 1 , when the downloaded AI content is in the form of an intermediate expression, an edge computing environment capable of directly converting the downloaded AI content into executable code is provided in the user terminal 10 . That is, for example, the user terminal 10 converts the AI content downloaded through the cloud compiler on the conversion server 40 into an execution code suitable for the NPU provided in the terminal 10 or is installed in the peer terminal 11. Code can be sent. In addition, the user terminals 10 and 10 may be provided with an EDGE computing environment (NPU, sensor, application, etc.) capable of testing AI recognition services using various AI contents.

도 2는 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는 NPU 적응형 엣지 플랫폼의 개념도이다.2 is a conceptual diagram of an NPU adaptive edge platform supporting installation and execution of AI content according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 NPU 적응형 엣지 플랫폼(100)은 콘텐츠 서버(30)에서 다운로드한 AI 콘텐츠의 장치 독립적인 설치환경을 지원한다. Referring to FIG. 2 , the NPU adaptive edge platform 100 according to an embodiment of the present invention supports a device-independent installation environment of AI content downloaded from the content server 30.

본 발명의 NPU 적응형 엣지 플랫폼(100)에는 다운로드한 AI 콘텐츠에 포함된 학습모델이 중간표현 형태인 경우, 사용자 단말(10)에 구비된 NPU(101)에 맞는 실행코드로 변환할 수 있는 환경이 구비된다. 예를 들면, 변환 서버(40)의 클라우드 컴파일러를 이용하거나, 단말(10)에 구비된 로컬 컴파일러를 이용하여 학습모델을 NPU(101) 지원가능한 실행코드로 변환할 수 있다. 또는, 동일 환경을 구비한 피어 단말(11)에서 변환된 실행 코드를 전송받을 수 있다. 학습모델을 실행코드로 변환하는 것과 관련하여 좀더 상세한 사항은 후술하기로 한다.In the NPU adaptive edge platform 100 of the present invention, when the learning model included in the downloaded AI content is in the form of an intermediate expression, an environment that can be converted into an execution code suitable for the NPU 101 provided in the user terminal 10 is provided For example, the learning model may be converted into executable code supportable by the NPU 101 using a cloud compiler of the conversion server 40 or a local compiler provided in the terminal 10 . Alternatively, the converted execution code may be transmitted from the peer terminal 11 having the same environment. More details regarding the conversion of the learning model into executable code will be described later.

도 3은 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크를 보여주는 블록도이다.3 is a block diagram showing an NPU adaptive edge framework supporting installation and execution of AI content according to an embodiment of the present invention.

도 3을 참조하면 본 발명의 일 실시예에 따른 NPU 적응형 엣지 프레임워크는 단말의 하드웨어 플랫폼(150)에 독립적인 프레임워크로 구비될 수 있다. 또한, 본 발명의 일 실시예에 따른 NPU 적응형 AI 콘텐츠 서비스 엣지 프레임워크는 어플리케이션을 관리하기 위한 어플리케이션 매니저(110), AI 콘텐츠를 실행하고 사용자 단말(10)에 구비된 NPU(101)를 가속하기 위한 AI 콘텐츠 엣지 엔진(130) 및 NPU 드라이버와 센서 드라이버를 포함하는 OS 플랫폼(140)으로 구성될 수 있다.Referring to FIG. 3 , the NPU adaptive edge framework according to an embodiment of the present invention may be provided as an independent framework in the hardware platform 150 of the terminal. In addition, the NPU adaptive AI contents service edge framework according to an embodiment of the present invention accelerates the application manager 110 for managing applications, the NPU 101 provided in the user terminal 10 to execute AI contents and It may be composed of an AI content edge engine 130 and an OS platform 140 including an NPU driver and a sensor driver.

전술한 것처럼, AI 콘텐츠는 학습 모델 및 환경 파라미터를 포함할 수 있고, 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비될 수 있으며, 환경 파라미터는 사용자 단말(10)의 환경에 대응하는 설치정보 및 실행정보 등을 포함하는 라이브러리 및 리소스를 포함할 수 있다.As described above, the AI content may include a learning model and environmental parameters, and the learning model may be provided in the form of an intermediate expression independent of hardware or in the form of executable code supported by a specific NPU, and the environmental parameters may include a user terminal (10 ) can include libraries and resources including installation information and execution information corresponding to the environment.

또한, 환경 파라미터는 학습모델이 중간표현 형태인 경우 단말(10)에 구비된 NPU(101) 지원 가능한 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버(40) 정보 또는 NPU(101)에 의해 지원 가능한 실행코드를 구비한 피어(peer) 단말(11)의 정보를 포함할 수 있다. 클라우드 컴파일러와 피어 단말에 의한 코드변환에 대한 좀 더 상세한 내용은 후술하기로 한다. In addition, the environment parameter is supported by information on the conversion server 40 or NPU 101 where the cloud compiler to be converted into executable code supported by the NPU 101 provided in the terminal 10 when the learning model is in the form of an intermediate expression is located. It may include information of a peer terminal 11 having an executable code. More detailed information about the code conversion by the cloud compiler and the peer terminal will be described later.

콘텐츠 설치 매니저(120)는 콘텐츠 서버(30)로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더(121)와 AI 콘텐츠에 포함된 학습 모델을 변환 서버(40) 상의 클라우드 컴파일러에 요청하여 단말(10)에 구비된 NPU(101)에 의해 지원가능한 실행코드로 변환하는 클라우드 요청부(122)를 포함할 수 있다. 클라우드 컴파일러는 웹 컴파일러를 포함할 수 있으며, 클라우드 컴파일러를 이용한 코드변환은 알려진 기술이므로 상세한 설명을 생략한다.The content installation manager 120 receives a downloadable AI content list from the content server 30, and converts the content downloader 121 for downloading the selected AI content and the learning model included in the AI content to the cloud on the conversion server 40. It may include a cloud request unit 122 for converting a request to the compiler into executable code supportable by the NPU 101 provided in the terminal 10 . The cloud compiler may include a web compiler, and code conversion using the cloud compiler is a known technology, so a detailed description thereof will be omitted.

또한, 콘텐츠 설치 매니저(120)는 다운로드한 AI 콘텐츠에 포함된 학습 모델을 단말(10)에 구비된 NPU(101)에 의해 지원가능한 제1 로컬 실행코드로 변환할 수 있는 로컬 컴파일러(125)와, 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부(123)를 포함할 수도 있다.In addition, the content installation manager 120 includes a local compiler 125 capable of converting the learning model included in the downloaded AI content into first local execution code supportable by the NPU 101 provided in the terminal 10, and , and may include an authentication request unit 123 requesting authentication for the first local executable code.

이때, 인증 요청부(123)는 환경 파라미터에 NPU(101) 정보 및 사용자 단말(10)의 정보(예를 들면, 사용자 단말의 식별정보, 물리적 주소, 네트워크 주소 등)를 포함하는 변환 정보를 추가하여 콘텐츠 서버(30)로 업로드하고, 콘텐츠 서버(30)에 제1로컬 실행코드에 대한 인증을 요청할 수 있다.At this time, the authentication request unit 123 adds conversion information including NPU 101 information and user terminal 10 information (eg, user terminal identification information, physical address, network address, etc.) to the environmental parameters. and upload it to the content server 30, and request authentication for the first local executable code from the content server 30.

인증 정보는 콘텐츠 서버(30)에 등록되고, 인증된 실행코드는 피어 단말 간에 직접 전송이 가능하게 되고, 서버의 과금정책에 따라 정산될 수 있다.The authentication information is registered in the content server 30, and the authenticated execution code can be directly transmitted between peer terminals, and can be settled according to the server's billing policy.

또한, 콘텐츠 설치 매니저(120)는 환경 파라미터를 참조하여 단말(10)에 구비된 NPU(11)에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어 단말(11)에 요청하여 제2 로컬 실행코드를 수신하는 피어 교신부(124)를 포함할 수 있다. 이때, 피어 단말(11)에 구비된 제2 로컬 실행 코드는 피어 단말(11)의 로컬 컴파일러에 의해 변환된 실행 코드일 수 있다. In addition, the content installation manager 120 requests the peer terminal 11 having the second local execution code supportable by the NPU 11 included in the terminal 10 with reference to the environment parameter to request the second local execution code. It may include a peer communication unit 124 that receives. In this case, the second local execution code provided in the peer terminal 11 may be an execution code converted by a local compiler of the peer terminal 11 .

콘텐츠 설치 매니저(120)는 단말의 환경에 따라서 AI 콘텐츠의 변환 방법(클라우드 컴파일러 이용, 로컬 컴파일러 이용 또는 피어 단말에 요청 등)을 선택할 수 있다. The content installation manager 120 may select a method for converting AI content (using a cloud compiler, using a local compiler, or requesting a peer terminal, etc.) according to the environment of the terminal.

피어 교신부(124)는 제3의 피어 단말로부터 요청이 있는 경우 단말(10)에서 변환된 제1로컬 실행코드를 제3의 피어 단말로 전송하고, 전송 정보를 콘텐츠 서버(30)에 송신할 수도 있다. 이때, 피어 단말(10, 11)간 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버(30)의 과금 정책에 기초하여 정산될 수 있다.When there is a request from the third peer terminal, the peer communication unit 124 transmits the first local execution code converted in the terminal 10 to the third peer terminal and transmits transmission information to the content server 30. may be At this time, the transmission information of the local executable code between the peer terminals 10 and 11 may be settled based on the billing policy of the content server 30 .

예를 들면, 사용자 단말(10)에서 변환된 제1 로컬 실행코드가 제3의 피어 단말로 전송되는 경우, 제3의 피어 단말에 과금되는 AI 콘텐츠 사용료의 일부가 사용자 단말(10)에 쿠폰이나 포인트 등의 형태로 부여될 수 있다. 반대로, 제2 로컬 실행코드를 사용자 단말(10)로 전송한 피어 단말(11)에는 사용자 단말(10)에 부과된 AI 콘텐츠 사용료의 일부가 포인트로 부여될 수 있다.For example, when the first local execution code converted in the user terminal 10 is transmitted to a third peer terminal, a portion of the AI contents fee charged to the third peer terminal is a coupon or a coupon to the user terminal 10. It may be given in the form of points or the like. Conversely, a portion of the AI content fee charged to the user terminal 10 may be given as points to the peer terminal 11 that has transmitted the second local execution code to the user terminal 10 .

AI 콘텐츠 엣지 엔진(130)은 다운로드한 AI 콘텐츠를 디코딩하여 추론하는 모델 실행기(131)와 NPU 드라이버(141)와 모델 실행기(131)간의 통신을 제어하기 위한 콘텐츠 서비스 프로토콜(132)을 포함할 수 있다.The AI content edge engine 130 may include a model executor 131 that decodes and infers downloaded AI content, and a content service protocol 132 for controlling communication between the NPU driver 141 and the model executor 131. there is.

예를 들면, AI 콘텐츠 엣지 엔진(130)은 NPU 업체별로 다른 SDK를 통해 지원하는 부분을 통합하여, 서로 다른 NPU에 맞게 제작된 방대한 AI 콘텐츠를 사용할 수 있다.For example, the AI content edge engine 130 integrates parts supported by different SDKs for each NPU company, and can use vast AI contents designed for different NPUs.

이하, 본 발명의 일 실시예에 따른 단말에서 AI 콘텐츠를 설치하는 과정을 설명한다.Hereinafter, a process of installing AI contents in a terminal according to an embodiment of the present invention will be described.

도 4는 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는NPU 적응형 엣지 프레임워크가 구비된 단말에서 AI 콘텐츠를 설치하는 과정을 보여주는 순서도이다4 is a flowchart illustrating a process of installing AI contents in a terminal equipped with an NPU adaptive edge framework supporting installation and execution of AI contents according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 NPU 적응형 엣지 프레임워크가 구비된 단말에서 AI 콘텐츠를 설치하는 과정은 다운로드 가능한 AI 콘텐츠 목록을 표시하는 단계(S110), AI 콘텐츠 다운로드 단계(S120), 로컬 컴파일러를 이용한 실행코드 변환 단계(S130) 및 변환된 코드 인증요청 단계(S140), 클라우드 컴파일러를 이용한 실행코드 변환단계(S150), 피어 단말로부터 실행코드 수신단계(S160), AI 콘텐츠 단말 설치 단계(S170)를 포함하여 구성될 수 있다.Referring to FIG. 4, the process of installing AI contents in a terminal equipped with an NPU adaptive edge framework according to an embodiment of the present invention includes displaying a list of downloadable AI contents (S110), and AI contents download step ( S120), execution code conversion step using local compiler (S130) and converted code authentication request step (S140), execution code conversion step using cloud compiler (S150), execution code receiving step from peer terminal (S160), AI content It may be configured to include a terminal installation step (S170).

이하, 본 발명의 일 실시예에 따른 단말에서 AI 콘텐츠를 설치하는 과정의 각 단계에 대하여 좀 더 상세하게 설명한다.Hereinafter, each step of a process of installing AI contents in a terminal according to an embodiment of the present invention will be described in more detail.

먼저, 사용자는 사용자 단말에 설치된 콘텐츠 다운로더를 통해서 다운로드 가능한 AI 콘텐츠를 조회할 수 있다(S110). 이때, 콘텐츠 다운로더는 단말에 기본적으로 설치되어 있거나 마켓에서 다운받은 어플리케이션일 수 있다. 또한, 콘텐츠 다운로더를 통해서 조회되는 AI 콘텐츠는 사용자 단말에 구비된 NPU에 의해 지원되는 AI 콘텐츠만을 포함할 수도 있고, 또는 NPU 독립적인 중간표현 형태의 학습 모델도 포함할 수 있다. 또한, AI 콘텐츠는 딥러닝 툴을 사용하여 학습한 학습모델과 환경 파라미터를 포함할 수 있다.First, the user can search for downloadable AI content through the content downloader installed in the user terminal (S110). In this case, the content downloader may be an application basically installed in the terminal or downloaded from the market. In addition, the AI content retrieved through the content downloader may include only AI content supported by the NPU provided in the user terminal, or may also include a learning model in the form of an intermediate expression independent of the NPU. In addition, AI content may include learning models and environmental parameters learned using deep learning tools.

중간 표현 형태의 학습모델을 포함하는 AI 콘텐츠의 경우에는 실행코드로 변환할 수 있는 수단이 AI 콘텐츠 조회 목록에 제공될 수 있다. 예를 들면, 서버의 클라우드 컴파일러를 통해서 변환하거나, 피어 단말로부터 실행코드를 전송받을 수 있으며, 단말에 로컬 컴파일러가 있다면 자체적으로 변환할 수 있다. 환경 파라미터에는 클라우드 컴파일러가 위치하는 서버의 주소나 인증받은 실행코드를 갖고 있는 피어 단말에 대한 정보가 포함될 수 있다. 동일한 AI 콘텐츠에 대해서 다양한 변환 수단에 대한 정보가 제공될 수 있다. In the case of AI content including a learning model in the form of an intermediate expression, a means capable of converting it into an executable code may be provided in the AI content search list. For example, it can be converted through the server's cloud compiler, or it can receive execution code from a peer terminal, and if the terminal has a local compiler, it can convert itself. The environment parameter may include information about a peer terminal having an address of a server where a cloud compiler is located or a certified executable code. Information on various conversion means may be provided for the same AI content.

콘텐츠 다운로더는 단말의 환경에 적합한 AI 콘텐츠를 다운로드할 수 있다(S120). 만일, 단말에 구비된 NPU에 의해 지원되는 실행코드 형태의 AI 콘텐츠라면 별도의 변환을 거치지 않고 사용자 단말(S170)에 설치될 수 있다. 또는 중간 코드 형태이며 단말에 로컬 컴파일러가 구비되어 있다면, 단말은 로컬 컴파일러를 이용하여 다운로드한 AI 콘텐츠에 포함된 학습 모델을 단말에 구비된 NPU에 의해 지원가능한 제1 로컬 실행코드로 변환할 수 있다(S130).The content downloader may download AI content suitable for the environment of the terminal (S120). If the AI content is in the form of execution code supported by the NPU provided in the terminal, it can be installed in the user terminal S170 without undergoing a separate conversion. Alternatively, if it is in the form of an intermediate code and the terminal is equipped with a local compiler, the terminal can use the local compiler to convert the learning model included in the downloaded AI content into a first local execution code that can be supported by the NPU provided in the terminal. (S130).

이때, 단말은 AI 콘텐츠에 포함되는 환경 파라미터에 제1 로컬 실행코드와 관련된 NPU 정보 및 사용자 단말의 정보(예를 들면, 사용자 단말의 식별정보, 물리적 주소, 네트워크 주소 등)를 포함하는 변환 정보를 추가하여 콘텐츠 서버로 업로드하고, 콘텐츠 서버에 제1로컬 실행코드에 대한 인증을 요청할 수 있다(S140). 인증 정보는 콘텐츠 서버에 등록되고, 인증된 실행코드는 피어 단말 간에 직접 전송이 가능하게 되고, 서버의 과금 정책에 따라 정산될 수 있다. 예를 들면, AI 콘텐츠를 다운로드한 단말에서 지불하게 되는 수수료의 일부가 실행코드를 송신해준 피어단말에 지급될 수 있다.At this time, the terminal converts information including NPU information related to the first local execution code and information of the user terminal (eg, identification information of the user terminal, physical address, network address, etc.) to the environmental parameters included in the AI content. It can be added and uploaded to the content server, and authentication of the first local execution code can be requested from the content server (S140). Authentication information is registered in the content server, and the authenticated execution code can be directly transmitted between peer terminals, and can be settled according to the server's billing policy. For example, a portion of the fee paid by the terminal that has downloaded the AI content may be paid to the peer terminal that has transmitted the execution code.

만일, AI 콘텐츠가 중간표현 형태이지만, 단말에 로컬 컴파일러가 없다면, 단말은 변환 서버(40) 상의 클라우드 컴파일러를 이용하여 다운로드한 AI 콘텐츠에 포함된 학습 모델을 단말에 구비된 NPU에 의해 지원가능한 실행코드로 변환할 수 있다(S150).If the AI content is in the form of an intermediate expression, but there is no local compiler in the terminal, the terminal executes the learning model included in the AI content downloaded using the cloud compiler on the conversion server 40 supported by the NPU provided in the terminal. It can be converted into a code (S150).

또는, 단말은 환경 파라미터를 참조하여 단말에 구비된 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어 단말에 요청하여 제2 로컬 실행코드를 수신할 수 있다(S160). 이때, 피어 단말에 구비된 제2 로컬 실행 코드는 피어 단말의 로컬 컴파일러에 의해 변환된 실행 코드이며, 콘텐츠 서버 또는 콘텐츠 제작 스튜디오에서 인증된 코드일 수 있다.Alternatively, the terminal may receive the second local execution code by requesting the peer terminal having the second local execution code supportable by the NPU provided in the terminal with reference to the environment parameter (S160). In this case, the second local execution code provided in the peer terminal is an execution code converted by a local compiler of the peer terminal, and may be a code certified by a content server or a content production studio.

상기한 과정을 거쳐서 변환된 AI 콘텐츠는 사용자 단말에 설치될 수 있다(S170) The AI content converted through the above process may be installed in the user terminal (S170).

이하, AI 콘텐츠의 제작 및 배포과정에 대하여 설명한다. Hereinafter, the process of producing and distributing AI contents will be described.

도 5는 본 발명의 일 실시예에 따른 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 제작 배포하는 과정을 보여주는 순서도이다. 5 is a flowchart showing a process of producing and distributing AI content in a content production studio according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 AI 콘텐츠를 제작 배포하는 과정은 인식 어플리케이션 선택 단계(S210), 학습 모델 생성단계(S220), 학습 모델 변환 단계(S230), AI 콘텐츠 제작 단계(S240), 콘텐츠 업로드 단계(S250) 및 로컬 실행코드 인증 단계(S260)를 포함하여 구성될 수 있다.Referring to FIG. 5 , the process of producing and distributing AI content according to an embodiment of the present invention includes a recognition application selection step (S210), a learning model creation step (S220), a learning model conversion step (S230), and an AI content production step. (S240), content upload step (S250) and local execution code authentication step (S260) may be configured.

이하, 도 5를 참조하여 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 제작 배포하는 과정을 좀 더 상세하게 설명한다. Hereinafter, a process of producing and distributing AI content in a content production studio will be described in more detail with reference to FIG. 5 .

먼저, 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 적용하고자 하는 인식 어플리케이션을 선택한다(S210). 인식 어플리케이션은 각종 센서(예를 들면, 카메라, 소리감지 센서, 중력감지 센서, 화재 감지 센서 등)를 통해 각종 신호를 수신하여, 수신한 신호를 기초로 동작하는 어플리케이션을 의미할 수 있다. 또한, 인식 어플리케이션은 AI 콘텐츠를 다운로드하는 사용자 단말에 미리 설치된 어플리케이션이거나 AI 콘텐츠와 함께 다운로드하는 어플리케이션일 수 있다.First, a content production studio selects a recognition application to which AI content is to be applied (S210). The recognition application may refer to an application that receives various signals through various sensors (eg, a camera, a sound sensor, a gravity sensor, a fire sensor, etc.) and operates based on the received signals. In addition, the recognition application may be an application pre-installed in a user terminal that downloads AI content or an application that is downloaded together with AI content.

콘텐츠 제작 스튜디오는 학교, 연구소, 기업, 개인 등 딥 러닝 및 빅데이터 분석 등을 통해서 학습모델을 생성하고, 배포하는 다양한 주체에서 이용하는 단말을 의미할 수 있다. A content production studio may refer to a terminal used by various entities that generate and distribute learning models through deep learning and big data analysis, such as schools, research institutes, companies, and individuals.

다음으로, 선택된 인식 어플리케이션에서 이용할 학습모델을 생성할 수 있다(S220). 학습 모델은 빅데이터 분석을 통해 기계 학습하여 생성된 모델일 수 있다. 빅데이터 분석 및 기계학습은 알려진 방법이므로 자세한 설명을 생략한다. 학습모델은 장치에 비의존적인 중간표현형태로 생성될 수 있다. 또는 NPU에 의해 지원되지 않고 단말의 OS에 맞추어 제작된 실행코드 형태일 수도 있다.Next, a learning model to be used in the selected recognition application can be created (S220). The learning model may be a model generated by machine learning through big data analysis. Big data analysis and machine learning are known methods, so detailed descriptions are omitted. The learning model can be created in a device-independent intermediate expression form. Alternatively, it may be in the form of executable code that is not supported by the NPU and is manufactured according to the OS of the terminal.

다음으로, 생성된 학습모델을 특정 NPU에 의해 지원되는 실행코드로 변환할 수 있다(S230). 본 단계에서 복수의 다양한 NPU에 맞도록 변환된 복수의 실행코드가 생성될 수 있다. 또는 본 단계(S230)는 생략될 수 있다.Next, the generated learning model can be converted into executable code supported by a specific NPU (S230). In this step, a plurality of execution codes converted to suit a plurality of various NPUs may be generated. Alternatively, this step (S230) may be omitted.

다음으로, 이전 단계에서 생성된 학습모델과 환경 파라미터를 포함하는 AI 콘텐츠를 제작할 수 있다(S240). 이때, 학습모델은 앞에서 설명한 것처럼 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비될 수 있으며, 환경 파라미터는 사용자 단말의 환경에 대응하는 설치정보 및 실행정보 등을 포함하는 라이브러리 및 리소스를 포함할 수 있다.Next, AI content including the learning model and environmental parameters created in the previous step can be produced (S240). At this time, the learning model may be provided in the form of hardware independent intermediate expression or execution code supported by a specific NPU as described above, and the environment parameter is a library including installation information and execution information corresponding to the environment of the user terminal. and resources.

또한, 환경 파라미터는 학습모델이 중간표현 형태인 경우 단말에 구비된 NPU 지원가능한 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보 또는 NPU에 의해 지원 가능한 실행코드를 구비한 피어 단말의 정보를 포함할 수 있다. 다만, 피어 단말의 정보는 콘텐츠 제작 단계에서는 생성되지 않을 수 있다. In addition, the environment parameter includes information on a conversion server where a cloud compiler to be converted into an NPU-supportable executable code provided in the terminal when the learning model is in the intermediate expression form is located, or information on a peer terminal having an executable code supportable by the NPU. can do. However, information on peer terminals may not be generated in the content production stage.

다음으로, 학습모델과 환경 파라미터를 포함하여 제작된 AI 콘텐츠는 서버로 업로드 할 수 있다(S250). Next, the created AI content including the learning model and environmental parameters can be uploaded to the server (S250).

다음으로, 상기 학습모델이 중간표현 형태인 경우, 사용자 단말의 로컬 컴파일러에서 변환된 로컬 실행코드를 인증할 수 있다(S260). 예를 들면, 사용자 단말에서 콘텐츠 서버로 로컬 실행코드에 대한 인증 요청을 하면, 콘텐츠 서버는 콘텐츠 제작 스튜디오로 인증 요청 내용을 전달할 수 있다. Next, when the learning model is in the form of an intermediate expression, the local execution code converted by the local compiler of the user terminal can be authenticated (S260). For example, when a user terminal requests authentication for a local executable code from a content server, the content server may transmit the content of the authentication request to the content production studio.

요청 내용을 전달받은 콘텐츠 제작 스튜디오는, 콘텐츠 서버의 인증정책에 기초하여 로컬 실행코드를 인증하고, 환경 파라미터에 로컬 실행코드의 인증 정보를 추가하여 콘텐츠 서버에 업로드 할 수 있다. 한편, 로컬 실행코드의 인증은 콘텐츠 서버에서 직접 수행할 수도 있다. 이는 콘텐츠 서버의 인증정책에 따라 달라질 수 있다. 이와 같은 인증정보는 콘텐츠 무결성을 보장하기 위하여 콘텐츠 업데이트시에는 초기화될 수 있다.The content production studio receiving the requested contents can authenticate the local executable code based on the authentication policy of the content server, add authentication information of the local executable code to an environment parameter, and upload the content to the content server. Meanwhile, authentication of local execution code may be performed directly in the content server. This may vary according to the authentication policy of the content server. Such authentication information may be initialized when content is updated to ensure content integrity.

또한, 인증을 획득한 로컬 실행 코드는 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 로컬 실행코드의 전송 정보는 콘텐츠 서버의 과금 정책에 기초하여 정산될 수 있다. In addition, the authenticated local execution code is transmitted between user terminals in a P2P manner based on environment parameter information, and the transmission information of the local execution code may be settled based on the billing policy of the content server.

앞에서 설명한 것처럼, 본 발명의 AI 콘텐츠 설치 및 실행을 위한 NPU 적응형 AI 콘텐츠 서비스 엣지 프레임워크가 구비된 사용자 단말을 이용하여, 다양한 AI 콘텐츠를 다운로드하여 단말에 구비된 NPU에 맞는 실행코드로 변환하여 실행하거나 테스트함으로써, 효율적인 AI 인식/추론 기능을 가속화할 수 있다. 또한, AI 콘텐츠 제작자는 본 발명의 NPU 적응형 네트워크 플랫폼을 통해서 자체 제작한 AI 콘텐츠를 배포하여 다양한 환경의 단말에서 테스트할 수 있는 장점이 있다.As described above, using a user terminal equipped with an NPU adaptive AI contents service edge framework for installing and executing AI contents of the present invention, by downloading various AI contents and converting them into execution codes suitable for the NPU provided in the terminal By running or testing, efficient AI recognition/inference capabilities can be accelerated. In addition, AI content creators have the advantage of distributing self-produced AI content through the NPU adaptive network platform of the present invention and testing it on terminals in various environments.

한편, 본 발명의 일 실시예에 따른 장치는 사용자 단말에서 구동하는 어플리케이션의 형태로 구비될 수 있다. 이때, 사용자 단말은 스마트폰, 태블릿 PC, 랩톱 컴퓨터, 데스크톱 컴퓨터, PDA 등을 포함하는 다양한 컴퓨팅 장치를 포함할 수 있다.Meanwhile, a device according to an embodiment of the present invention may be provided in the form of an application running in a user terminal. At this time, the user terminal may include various computing devices including a smart phone, a tablet PC, a laptop computer, a desktop computer, a PDA, and the like.

한편, 앞에서 설명한 본 발명의 방법은 컴퓨터에서 실행될 수 있도록 프로그램 코드로 제작되어 컴퓨터로 읽을 수 있는 매체에 저장될 수 있고, 또한, 본 발명의 방법을 실행하는 프로그램이 어플리케이션으로 제작되어 기록매체에 저장될 수 있다. 기록매체란 컴퓨터, 모바일 단말, 서버 등의 하드디스크, 메모리, 보조 메모리, 컴팩트 디스크 등 이동 가능한 저장 매체 등을 포함할 수 있다.Meanwhile, the method of the present invention described above may be produced as a program code to be executed on a computer and stored in a computer readable medium, and a program executing the method of the present invention may be produced as an application and stored in a recording medium. It can be. The recording medium may include a removable storage medium such as a hard disk, memory, auxiliary memory, compact disk, etc. of a computer, mobile terminal, or server.

또한, 지금까지 설명한 본 발명의 방법 및 장치는 실제로 컴퓨터 프로그램에 의해 구현될 수 있고, 컴퓨터에서 실행될 때 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터 판독 가능한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하며, ROM, RAM, CD, DVD-ROM, 자기테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송되는 형태로 구현되는 것도 포함될 수 있다. 즉, 이와 같은 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.In addition, the method and apparatus of the present invention described so far may actually be implemented by a computer program, and may be stored in a computer-readable recording medium when executed on a computer. Computer-readable recording media include all types of recording media in which programs and data are stored so that they can be read by a computer system, and include ROM, RAM, CD, DVD-ROM, magnetic tape, floppy disk, optical data storage device, etc. And, it may also include what is implemented in the form of transmission through the Internet. That is, such a medium can be distributed to computer systems connected through a network, so that computer readable codes can be stored and executed in a distributed manner.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. You will understand that it can be done.

Claims (10)

AI 콘텐츠 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크가 구비된 사용자 단말에 있어서, 상기 NPU 적응형 엣지 프레임워크는
콘텐츠 서버로부터 AI 콘텐츠를 다운로드하고 설치하기 위한 콘텐츠 설치 매니저와,
상기 AI 콘텐츠를 실행하고 상기 사용자 단말에 구비된 제1 NPU를 가속하기 위한 AI 콘텐츠 엣지 엔진을 포함하여 구성되고
상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고,
상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스와, 상기 학습모델이 중간표현 형태인 경우 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하는, 사용자 단말.
In a user terminal equipped with an NPU adaptive edge framework that supports AI content installation and execution, the NPU adaptive edge framework comprises
A content installation manager for downloading and installing AI content from the content server;
It is configured to include an AI content edge engine for executing the AI content and accelerating the first NPU provided in the user terminal.
The AI content includes a learning model and environmental parameters, and the learning model is provided in the form of an intermediate expression independent of hardware or in the form of executable code supported by a specific NPU,
The environment parameter includes library and resources corresponding to the environment of the user terminal and conversion server information in which a cloud compiler to be converted into executable code when the learning model is in the form of an intermediate expression is located.
청구항 1에 있어서
상기 콘텐츠 설치 매니저는
상기 콘텐츠 서버로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더와
상기 변환 서버상의 클라우드 컴파일러에 요청하여 상기 학습 모델을 상기 제1 NPU에 의해 지원 가능한 실행코드로 변환하는 클라우드 요청부를 포함하는 것을 특징으로 하는 단말.
in claim 1
The content installation manager
A content downloader for receiving a list of AI content downloadable from the content server and downloading selected AI content; and
A terminal characterized in that it comprises a cloud request unit for requesting a cloud compiler on the conversion server to convert the learning model into executable code supportable by the first NPU.
청구항 1 또는 청구항 2에 있어서,
상기 콘텐츠 설치 매니저는
상기 학습 모델을 상기 제1 NPU에 의해 지원가능한 제1 로컬 실행코드로 변환하는 로컬 컴파일러와
상기 환경 파라미터에 상기 제1 NPU에 대한 정보 및 상기 사용자 단말의 정보를 포함하는 변환 정보를 추가하여 상기 콘텐츠 서버로 업로드하고, 상기 콘텐츠 서버에 상기 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부를 더 포함하는 것을 특징으로 하는 단말.
According to claim 1 or claim 2,
The content installation manager
A local compiler for converting the learning model into a first local execution code supportable by the first NPU;
An authentication request for adding conversion information including information on the first NPU and information on the user terminal to the environment parameter, uploading the converted information to the content server, and requesting the content server to authenticate the first local executable code. A terminal characterized in that it further comprises a unit.
청구항 3에 있어서,
상기 환경 파라미터는 상기 학습모델이 중간표현 형태인 경우, 상기 제1 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어(peer) 단말의 정보를 포함하고,
상기 콘텐츠 설치 매니저는
상기 피어 단말에 요청하여 상기 제2 로컬 실행코드를 수신하는 피어 교신부를 포함하는 것을 특징으로 하는 단말.
The method of claim 3,
The environment parameter includes information of a peer terminal having a second local execution code supportable by the first NPU when the learning model is in an intermediate expression form,
The content installation manager
and a peer communication unit for receiving the second local execution code by making a request to the peer terminal.
청구항 4에 있어서,
상기 피어 교신부는 제3의 피어 단말로부터 요청이 있는 경우 상기 제1 로컬 실행코드를 상기 제3의 피어 단말로 전송하고, 상기 제1 로컬 실행코드의 전송에 관한 정보를 콘텐츠 서버에 송신하는 것을 특징으로 하는 단말.
The method of claim 4,
The peer communication unit transmits the first local execution code to the third peer terminal when there is a request from a third peer terminal, and transmits information about transmission of the first local execution code to a content server. Terminal to.
청구항 5에 있어서,
상기 제2 로컬 실행 코드는 상기 피어 단말의 로컬 컴파일러에 의해 변환된 실행 코드이고, 피어 단말간 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 하는 단말.
The method of claim 5,
The second local execution code is an execution code converted by a local compiler of the peer terminal, and transmission information of the local execution code between peer terminals is settled based on a billing policy of the content server.
삭제delete AI 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 배포하기 위한 AI 콘텐츠 배포 방법에 있어서,
머신러닝 도구를 이용하여 학습한 학습 모델과 환경 파라미터를 포함하는 AI 콘텐츠를 생성하는 단계와
상기 AI 콘텐츠를 콘텐츠 서버에 업로드하는 단계를 포함하고,
상기 학습 모델은 하드웨어 독립적인 중간표현 형태이거나 또는 특정 NPU에 맞추어 변환된 실행코드 형태이고,
상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스를 포함하고, 또한 상기 학습 모델이 중간표현 형태인 경우 상기 학습 모델을 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하는 것을 특징으로 하는 AI 콘텐츠 배포 방법.
In the AI content distribution method for distributing AI content in an AI content production studio,
The steps of generating AI content including the learning model and environmental parameters learned using machine learning tools;
Uploading the AI content to a content server,
The learning model is in the form of an intermediate expression independent of hardware or in the form of executable code converted to suit a specific NPU,
The environment parameter includes libraries and resources corresponding to the environment of the user terminal, and also includes conversion server information where a cloud compiler that will convert the learning model into an executable code is located when the learning model is in the form of an intermediate expression. AI content distribution method.
청구항 8에 있어서,
상기 학습 모델이 중간표현 형태인 경우, 사용자 단말의 로컬 컴파일러에서 변환된 로컬 실행코드를 인증하는 단계를 더 포함하되,
상기 인증하는 단계는 상기 사용자 단말이나 상기 콘텐츠 서버로부터 상기 로컬 실행코드에 대한 인증 요청을 수신하면, 상기 콘텐츠 서버의 인증정책에 기초하여 상기 로컬 실행코드를 인증하고, 상기 환경 파라미터에 상기 로컬 실행코드의 인증 정보를 추가하여 상기 콘텐츠 서버에 업로드 하는 것을 특징으로 하는 AI 콘텐츠 배포 방법.
The method of claim 8,
If the learning model is in the form of an intermediate expression, further comprising authenticating the local execution code converted in the local compiler of the user terminal,
In the authentication step, upon receiving an authentication request for the local executable code from the user terminal or the content server, the local executable code is authenticated based on the authentication policy of the content server, and the local executable code is set to the environment parameter. AI content distribution method characterized by adding authentication information of and uploading it to the content server.
청구항 9에 있어서,
상기 인증을 획득한 상기 로컬 실행 코드는 상기 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 상기 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 하는 AI 콘텐츠 배포 방법.
The method of claim 9,
Characterized in that the authenticated local execution code is transmitted between user terminals in a P2P manner based on the environment parameter information, and the transmission information of the local execution code is settled based on the billing policy of the content server. How to distribute AI content.
KR1020200073391A 2019-11-21 2020-06-17 Npu adaptable network platform for artificial intelligent contents service KR102530254B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190150095 2019-11-21
KR1020190150095 2019-11-21

Publications (2)

Publication Number Publication Date
KR20210062547A KR20210062547A (en) 2021-05-31
KR102530254B1 true KR102530254B1 (en) 2023-05-23

Family

ID=76150328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200073391A KR102530254B1 (en) 2019-11-21 2020-06-17 Npu adaptable network platform for artificial intelligent contents service

Country Status (1)

Country Link
KR (1) KR102530254B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230104408A (en) * 2021-12-31 2023-07-10 주식회사 뉴로클 Method and system for optimizing training model for target device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138908A1 (en) 2018-12-28 2019-05-09 Francesc Guim Bernat Artificial intelligence inference architecture with hardware acceleration

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069283A (en) * 2017-12-11 2019-06-19 한국전자통신연구원 Method of providing a cloud service and apparatuses performing the same
KR20190081373A (en) * 2017-12-29 2019-07-09 (주)제이엘케이인스펙션 Terminal device and data processing method based on artificial neural network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138908A1 (en) 2018-12-28 2019-05-09 Francesc Guim Bernat Artificial intelligence inference architecture with hardware acceleration

Also Published As

Publication number Publication date
KR20210062547A (en) 2021-05-31

Similar Documents

Publication Publication Date Title
KR102414096B1 (en) Create and deploy packages for machine learning on end devices
US10445142B2 (en) Edge computing platform
JP6963671B2 (en) Runtime generation that recognizes compliance based on application patterns and risk assessments
US20200142735A1 (en) Methods and apparatus to offload and onload workloads in an edge environment
US20180146072A1 (en) Creation of a binding based on a description associated with a server
US20210011699A1 (en) Facilitating cloud native edge computing via behavioral intelligence
CN110555550B (en) Online prediction service deployment method, device and equipment
CN112767135B (en) Configuration method and device of rule engine, storage medium and computer equipment
CN109542862B (en) Method, device and system for controlling mounting of file system
US20220179723A1 (en) Providing application programming interface endpoints for machine learning models
KR102530254B1 (en) Npu adaptable network platform for artificial intelligent contents service
CN112243016B (en) Middleware platform, terminal equipment, 5G artificial intelligence cloud processing system and processing method
US20240121141A1 (en) Systems and methods for modifying modulated signals for transmission
CN110750295B (en) Information processing method, device, electronic equipment and storage medium
CN112559124A (en) Model management system and target operation instruction processing method and device
US20230117081A1 (en) Providing a user-centric application
Rose Hands-on serverless computing with Google Cloud: build, deploy, and containerize apps using Cloud Functions, Cloud Run, and cloud-native technologies
US20130058634A1 (en) Method for transcoding and playing back video files based on grid technology in devices having limited computing power
US20220269524A1 (en) Method and apparatus for secure data access during machine learning training
WO2022078280A1 (en) Artificial intelligence (ai) training method, system, and device
CN113296750A (en) Function creating method and system, and function calling method and system
Al-Ameri et al. SOSE: Smart Offloading Scheme Using Computing Resources of Nearby Wireless Devices for Edge Computing Services
CN114363307B (en) Information processing method and system
CN110069355A (en) Customer relationship shows, customer relationship method of converting, device, equipment and medium
CN117194131B (en) Data processing method, apparatus, device, readable storage medium, and program product

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right