KR20210062547A - Npu adaptable network platform for artificial intelligent contents service - Google Patents
Npu adaptable network platform for artificial intelligent contents service Download PDFInfo
- Publication number
- KR20210062547A KR20210062547A KR1020200073391A KR20200073391A KR20210062547A KR 20210062547 A KR20210062547 A KR 20210062547A KR 1020200073391 A KR1020200073391 A KR 1020200073391A KR 20200073391 A KR20200073391 A KR 20200073391A KR 20210062547 A KR20210062547 A KR 20210062547A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- npu
- execution code
- learning model
- local
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- 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
Description
본 발명은 AI 콘텐츠 서비스를 위한 네트워크 플랫폼에 관한 것으로 좀 더 상세하게는 AI 콘텐츠 배포, 설치, 실행을 위한 NPU 적응형 네트워크 플랫폼에 관한 것이다.The present invention relates to a network platform for AI content services, and more particularly, to an NPU adaptive network platform for AI content distribution, installation, and execution.
신경망처리장치(Neural Processing Unit, NPU)는 우리의 뇌처럼 정보를 학습하고 처리하는 프로세서로서 셀 수없이 많은 신경세포와 시냅스로 연결되어 신호를 주고받으며 동시에 작업을 진행하는 인간의 뇌 신경세포와 유사한 작업을 진행하기 때문에, 스스로 학습하고 판단할 수 있는 인공지능이 접목되어 AI 칩이라고 불린다. 이러한 NPU의 출현으로 모바일 단말 부분에서 저전력 고효율의 AI 인식 및 추론기능을 가속화할 수 있게 되었다. Neural Processing Unit (NPU) is a processor that learns and processes information like our brain, and is connected to countless neurons and synapses to send and receive signals, similar to human brain neurons. Because it is working, it is called an AI chip because it incorporates artificial intelligence that can learn and judge by itself. With the advent of these NPUs, it is possible to accelerate AI recognition and reasoning functions with low power and high efficiency in mobile terminals.
특히, 일반 영상이나 동영상에 대하여, 다양한 형태의 AI 인식 프로세스에 대한 니즈가 증가하고 있다. 머신 러닝 기술을 이용하는 학습 프로세스는 GPU가 효율적이지만 인식 프로세스는 NPU가 더 효율적이기 때문에, 이미 만들어진 학습 모델에 적용하는 서비스나 어플리케이션 개발에 있어서 NPU의 중요성이 커지고 있다. 따라서, 대부분의 칩셋 제조업체는 차세대 SoC(systen on chip)로서 NPU 개발에 착수하고 있으며 향후 지속적으로 증가할 것이다.In particular, for general images and videos, the need for various types of AI recognition processes is increasing. Since the GPU is more efficient in the learning process using machine learning technology, but the NPU is more efficient in the recognition process, the importance of the NPU in developing a service or application applied to an already created learning model is increasing. Therefore, most chipset manufacturers are starting to develop NPU as a next-generation SoC (systen on chip) and will continue to increase in the future.
현재, 머신러닝을 기반으로 하는 학습 기술은 일반화되어 있지만, 알고리즘(학습 모델)을 적용하여 단말에 직접 서비스하는 인공지능 디바이스의 개발은 시장의 요구에 미치지 못하고 있으며, NPU 칩셋은 다양하게 시장에 출현하고 있지만, 이를 사용하기 위한 콘텐츠는 부족하다. 또한, 높은 카메라 성능에 비해 AI 기술을 적용한 디바이스나 서비스 역시 한정적이다.Currently, machine learning-based learning technology is generalized, but the development of artificial intelligence devices that directly service terminals by applying algorithms (learning models) are not meeting the needs of the market, and NPU chipsets appear in the market in various ways. However, there is not enough content to use it. In addition, compared to high camera performance, devices and services to which AI technology is applied are also limited.
특히, 알고리즘의 NPU 종속성 및 데이터 독점성으로 인해서 다양한 학습모델을 테스트할 수 있는 단말 플랫폼이 부재하며, NPU를 이용할 수 있는 학습 데이터가 부족한 상황이다.In particular, due to the NPU dependency and data monopoly of the algorithm, there is no terminal platform that can test various learning models, and there is a lack of learning data that can use the NPU.
상기 문제를 해결하기 위한 본 발명의 목적은, NPU에 종속되지 않고 사용자가 원하는 AI 콘텐츠를 설치하고 실행하도록 지원할 수 있는 사용자 단말을 제공하는 데에 있다.An object of the present invention for solving the above problem is to provide a user terminal capable of supporting the installation and execution of AI content desired by the user without being dependent on the NPU.
상기 문제를 해결하기 위한 본 발명의 다른 목적은, 단말의 테스트 플랫폼에 종속되지 않고 AI 콘텐츠를 배포할 수 있는 방법을 제공하는 데에 있다.Another object of the present invention for solving the above problem is to provide a method for distributing AI content without being dependent on a test platform of a terminal.
상기 목적을 달성하기 위한 본 발명은 AI 콘텐츠 설치 및 실행을 지원하는 NPU 적응형 엣지 프레임워크가 구비된 사용자 단말에 있어서, 상기 NPU 적응형 엣지 프레임워크는 AI 어플리케이션을 관리하기 위한 어플리케이션 매니저와, 콘텐츠 서버로부터 AI 콘텐츠를 다운로드하고 설치하기 위한 콘텐츠 설치 매니저와, 상기 AI 콘텐츠를 실행하고 상기 사용자 단말에 구비된 제1 NPU를 가속하기 위한 AI 콘텐츠 엣지 엔진과 NPU 드라이버와 센서 드라이버를 포함하는 OS 플랫폼을 포함하는 사용자 단말을 제공한다. The present invention for achieving the above object is a user terminal equipped with an NPU adaptive edge framework that supports installation and execution of AI content, wherein the NPU adaptive edge framework includes an application manager for managing AI applications, and contents. 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. It provides a user terminal including.
여기서, 상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고, 상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스와, 상기 학습모델이 중간표현 형태인 경우 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하고, 상기 콘텐츠 설치 매니저는 상기 콘텐츠 서버로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더와 상기 변환 서버상의 클라우드 컴파일러에 요청하여 상기 학습 모델을 상기 제1 NPU에 의해 지원 가능한 실행코드로 변환하는 클라우드 요청부를 포함하는 것을 특징으로 한다.Here, the AI content includes a learning model and an environment parameter, and the learning model is provided in a hardware-independent intermediate expression form or an execution code form supported by a specific NPU, and the environment parameter corresponds to the environment of the user terminal. The library and resources, and when the learning model is in the form of an intermediate expression, includes information on a conversion server where a cloud compiler to be converted into an execution code is located, and the content installation manager receives a list of downloadable AI contents from the content server, and selects It characterized in that it comprises a content downloader for downloading AI content and a cloud request unit for converting the learning model into an executable code that can be supported by the first NPU by requesting a cloud compiler on the conversion server.
또한, 여기서 상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고, 상기 콘텐츠 설치 매니저는 상기 학습 모델을 상기 제1 NPU에 의해 지원가능한 제1 로컬 실행코드로 변환하는 로컬 컴파일러와 상기 환경 파라미터에 상기 제1 NPU 정보 및 상기 사용자 단말의 정보를 포함하는 변환 정보를 추가하여 상기 콘텐츠 서버로 업로드하고, 상기 콘텐츠 서버에 상기 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부를 더 포함하는 것을 특징으로 한다.In addition, wherein the AI content includes a learning model and an environment parameter, the learning model is provided in a hardware-independent intermediate expression form or an execution code form supported by a specific NPU, and the content installation manager displays the learning model. A local compiler that converts to a first local executable code supported by the first NPU and conversion information including the first NPU information and the user terminal information to the environment parameter are added to the content server, and the content It characterized in that it further comprises an authentication requesting unit for requesting the server to authenticate the first local execution code.
또한, 여기서 상기 환경 파라미터는 상기 학습모델이 중간표현 형태인 경우, 상기 제1 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어(peer) 단말의 정보를 포함하고, 상기 콘텐츠 설치 매니저는 상기 피어 단말에 요청하여 상기 제2 로컬 실행코드를 수신하는 피어 교신부를 포함하는 것을 특징으로 한다.In addition, here, the environment parameter includes information on a peer terminal having a second local execution code that can be supported by the first NPU when the learning model is in the form of an intermediate expression, and the content installation manager And a peer communication unit configured to request the peer terminal to receive the second local execution code.
또한, 여기서 상기 피어 교신부는 제3의 피어 단말로부터 요청이 있는 경우 상기 제1 로컬 실행코드를 상기 제3의 피어 단말로 전송하고, 상기 전송 정보를 콘텐츠 서버에 송신하는 것을 특징으로 한다. In addition, the peer communication unit is characterized in that when there is a request from a third peer terminal, the first local execution code is transmitted to the third peer terminal, and the transmission information is transmitted to a content server.
또한, 여기서 상기 제2 로컬 실행 코드는 상기 피어 단말의 로컬 컴파일러에 의해 변환된 실행 코드이고, 피어 단말간 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 한다. In addition, 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 calculated based on a billing policy of the content server.
또한, 여기서 상기 AI 콘텐츠 엣지 엔진은 다운로드한 AI 콘텐츠를 디코딩하여 추론하는 모델 실행기와 상기 NPU 드라이버와 상기 모델 실행기간의 통신을 제어하기 위한 콘텐츠 서비스 프로토콜을 포함하는 것을 특징으로 한다.In addition, the AI content edge engine is characterized in that it includes a model executor for decoding and inferring the downloaded AI content, and a content service protocol for controlling communication between the NPU driver and the model execution period.
상기 다른 목적을 달성하기 위한 본 발명은 AI 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 배포하기 위한 AI 콘텐츠 배포 방법에 있어서, 머신러닝 도구를 이용하여 학습한 학습 모델과 환경 파라미터를 포함하는 AI 콘텐츠를 생성하는 단계와 상기 AI 콘텐츠를 콘텐츠 서버에 업로드하는 단계를 포함하고, 상기 학습 모델은 하드웨어 독립적인 중간표현 형태이거나 또는 특정 NPU에 맞추어 변환된 실행코드 형태이고, 상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스를 포함하고, 또한 상기 학습 모델이 중간표현 형태인 경우 상기 학습 모델을 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하는 것을 특징으로 하는 AI 콘텐츠 배포 방법을 제공한다.In an AI content distribution method for distributing AI content in an AI content production studio, the present invention for achieving the other object is the step of generating AI content including a learning model and environment parameters learned 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 according to a specific NPU, and the environment parameter is a library corresponding to the environment of the user terminal. And a conversion server information including a resource, and in which a cloud compiler to convert the learning model into an execution code is located when the learning model is in the form of an intermediate expression.
여기서, 상기 학습 모델이 중간표현 형태인 경우, 사용자 단말의 로컬 컴파일러에서 변환된 로컬 실행코드를 인증하는 단계를 더 포함하되, 상기 인증하는 단계는 상기 사용자 단말이나 상기 콘텐츠 서버로부터 상기 로컬 실행코드에 대한 인증 요청을 수신하면, 상기 콘텐츠 서버의 인증정책에 기초하여 상기 로컬 실행코드를 인증하고, 상기 환경 파라미터에 상기 로컬 실행코드의 인증 정보를 추가하여 상기 콘텐츠 서버에 업로드 하는 것을 특징으로 한다.Here, when the learning model is in the form of an intermediate expression, the method further comprises authenticating the converted local execution code by a local compiler of the user terminal, wherein the authenticating step is performed in the local execution code from the user terminal or the content server. Upon receiving an authentication request for the content server, the local execution code is authenticated based on an authentication policy of the content server, and authentication information of the local execution code is added to the environment parameter and uploaded to the content server.
또한 여기서, 상기 인증을 획득한 상기 로컬 실행 코드는 상기 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 상기 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 한다. In addition, here, the local execution code that has obtained the authentication is transmitted in a P2P method between user terminals based on the information of the environment parameter, and the transmission information of the local execution code is calculated based on the charging policy of the content server. It is characterized.
본 발명의 AI 콘텐츠 설치 및 실행을 위한 NPU 적응형 AI 콘텐츠 서비스 엣지 프레임워크가 구비된 사용자 단말을 이용하면, 다양한 AI 콘텐츠를 다운로드하여 단말에 구비된 NPU에 맞는 실행코드로 변환하여 실행하거나 테스트함으로써, 효율적인 AI 인식/추론 기능을 가속화할 수 있다. 또한, AI 콘텐츠 제작자는 NPU 적응형 네트워크 플랫폼을 통해서 자체 제작한 AI 콘텐츠를 배포하여 다양한 환경의 단말에서 테스트할 수 있는 장점이 있다.When using a user terminal equipped with the NPU adaptive AI contents service edge framework for installing and executing 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 them. , It can accelerate the efficient AI recognition/inference function. In addition, AI content creators have the advantage of distributing self-produced 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 an 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 content in a terminal equipped with an NPU adaptive edge framework supporting installation and execution of AI content according to an embodiment of the present invention.
5 is a flowchart illustrating 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 are illustrated in the drawings and will be described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present 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 indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상의 의미와 일치하는 의미로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, 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 as defined in a commonly used dictionary should be construed as a meaning consistent with the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present 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 an 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
또한, 도 1을 참조하면, 본 발명의 일 실시예에 따른 NPU 적응형 네트워크 플랫폼은 머신러닝을 통해서 학습된 콘텐츠를 유통하고, 유통된 콘텐츠를 사용자 단말의 환경에 맞추어 가속할 수 있도록 변환할 수 있는 엣지 컴퓨팅 환경을 제공하는 가입자 기반의 웹서비스일 수 있다. In addition, referring to FIG. 1, the NPU adaptive network platform according to an embodiment of the present invention distributes content learned through machine learning and converts 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
또한, 도 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 that can be directly converted into an executable code in the
도 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
본 발명의 NPU 적응형 엣지 플랫폼(100)에는 다운로드한 AI 콘텐츠에 포함된 학습모델이 중간표현 형태인 경우, 사용자 단말(10)에 구비된 NPU(101)에 맞는 실행코드로 변환할 수 있는 환경이 구비된다. 예를 들면, 변환 서버(40)의 클라우드 컴파일러를 이용하거나, 단말(10)에 구비된 로컬 컴파일러를 이용하여 학습모델을 NPU(101) 지원가능한 실행코드로 변환할 수 있다. 또는, 동일 환경을 구비한 피어 단말(11)에서 변환된 실행 코드를 전송받을 수 있다. 학습모델을 실행코드로 변환하는 것과 관련하여 좀더 상세한 사항은 후술하기로 한다.In the NPU
도 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 a framework independent of the hardware platform 150 of the terminal. In addition, the NPU adaptive AI content service edge framework according to an embodiment of the present invention executes an application manager 110 for managing an application, AI content, and accelerates the NPU 101 provided in the
전술한 것처럼, AI 콘텐츠는 학습 모델 및 환경 파라미터를 포함할 수 있고, 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비될 수 있으며, 환경 파라미터는 사용자 단말(10)의 환경에 대응하는 설치정보 및 실행정보 등을 포함하는 라이브러리 및 리소스를 포함할 수 있다.As described above, the AI content may include a learning model and environment parameters, and the learning model may be provided in the form of a hardware-independent intermediate expression or an execution code supported by a specific NPU, and the environment parameter is the user terminal 10 ) May include libraries and resources including installation information and execution information corresponding to the environment of).
또한, 환경 파라미터는 학습모델이 중간표현 형태인 경우 단말(10)에 구비된 NPU(101) 지원 가능한 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버(40) 정보 또는 NPU(101)에 의해 지원 가능한 실행코드를 구비한 피어(peer) 단말(11)의 정보를 포함할 수 있다. 클라우드 컴파일러와 피어 단말에 의한 코드변환에 대한 좀 더 상세한 내용은 후술하기로 한다. In addition, when the learning model is in the form of an intermediate expression, the NPU 101 provided in the terminal 10 is supported by the
콘텐츠 설치 매니저(120)는 콘텐츠 서버(30)로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더(121)와 AI 콘텐츠에 포함된 학습 모델을 변환 서버(40) 상의 클라우드 컴파일러에 요청하여 단말(10)에 구비된 NPU(101)에 의해 지원가능한 실행코드로 변환하는 클라우드 요청부(122)를 포함할 수 있다. 클라우드 컴파일러는 웹 컴파일러를 포함할 수 있으며, 클라우드 컴파일러를 이용한 코드변환은 알려진 기술이므로 상세한 설명을 생략한다.The content installation manager 120 receives a list of downloadable AI content from the
또한, 콘텐츠 설치 매니저(120)는 다운로드한 AI 콘텐츠에 포함된 학습 모델을 단말(10)에 구비된 NPU(101)에 의해 지원가능한 제1 로컬 실행코드로 변환할 수 있는 로컬 컴파일러(125)와, 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부(123)를 포함할 수도 있다.In addition, the content installation manager 120 includes a local compiler 125 that can convert the learning model included in the downloaded AI content into a first local executable code that can be supported by the NPU 101 provided in the terminal 10. , It may also include an authentication requesting unit 123 for requesting authentication for the first local execution code.
이때, 인증 요청부(123)는 환경 파라미터에 NPU(101) 정보 및 사용자 단말(10)의 정보(예를 들면, 사용자 단말의 식별정보, 물리적 주소, 네트워크 주소 등)를 포함하는 변환 정보를 추가하여 콘텐츠 서버(30)로 업로드하고, 콘텐츠 서버(30)에 제1로컬 실행코드에 대한 인증을 요청할 수 있다.At this time, the authentication request unit 123 adds conversion information including NPU 101 information and information of the user terminal 10 (eg, identification information of the user terminal, physical address, network address, etc.) to the environment parameter. Thus, it is uploaded to the
인증 정보는 콘텐츠 서버(30)에 등록되고, 인증된 실행코드는 피어 단말 간에 직접 전송이 가능하게 되고, 서버의 과금정책에 따라 정산될 수 있다.The authentication information is registered in the
또한, 콘텐츠 설치 매니저(120)는 환경 파라미터를 참조하여 단말(10)에 구비된 NPU(11)에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어 단말(11)에 요청하여 제2 로컬 실행코드를 수신하는 피어 교신부(124)를 포함할 수 있다. 이때, 피어 단말(11)에 구비된 제2 로컬 실행 코드는 피어 단말(11)의 로컬 컴파일러에 의해 변환된 실행 코드일 수 있다. In addition, the content installation manager 120 requests a second local execution code from the
콘텐츠 설치 매니저(120)는 단말의 환경에 따라서 AI 콘텐츠의 변환 방법(클라우드 컴파일러 이용, 로컬 컴파일러 이용 또는 피어 단말에 요청 등)을 선택할 수 있다. The content installation manager 120 may select a method of converting AI content (using a cloud compiler, using a local compiler, or requesting a peer terminal) 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 by the terminal 10 to the third peer terminal, and transmits the transmission information to the
예를 들면, 사용자 단말(10)에서 변환된 제1 로컬 실행코드가 제3의 피어 단말로 전송되는 경우, 제3의 피어 단말에 과금되는 AI 콘텐츠 사용료의 일부가 사용자 단말(10)에 쿠폰이나 포인트 등의 형태로 부여될 수 있다. 반대로, 제2 로컬 실행코드를 사용자 단말(10)로 전송한 피어 단말(11)에는 사용자 단말(10)에 부과된 AI 콘텐츠 사용료의 일부가 포인트로 부여될 수 있다.For example, when the first local execution code converted by the
AI 콘텐츠 엣지 엔진(130)은 다운로드한 AI 콘텐츠를 디코딩하여 추론하는 모델 실행기(131)와 NPU 드라이버(141)와 모델 실행기(131)간의 통신을 제어하기 위한 콘텐츠 서비스 프로토콜(132)을 포함할 수 있다.The AI content edge engine 130 may include a model executor 131 that decodes and infers the downloaded AI content, and a content service protocol 132 for controlling communication between the NPU driver 141 and the model executor 131. have.
예를 들면, AI 콘텐츠 엣지 엔진(130)은 NPU 업체별로 다른 SDK를 통해 지원하는 부분을 통합하여, 서로 다른 NPU에 맞게 제작된 방대한 AI 콘텐츠를 사용할 수 있다.For example, the AI content edge engine 130 integrates parts supported through different SDKs for different NPU companies, and can use a vast amount of AI content produced for different NPUs.
이하, 본 발명의 일 실시예에 따른 단말에서 AI 콘텐츠를 설치하는 과정을 설명한다.Hereinafter, a process of installing AI content in a terminal according to an embodiment of the present invention will be described.
도 4는 본 발명의 일 실시예에 따른 AI 콘텐츠의 설치 및 실행을 지원하는NPU 적응형 엣지 프레임워크가 구비된 단말에서 AI 콘텐츠를 설치하는 과정을 보여주는 순서도이다4 is a flow chart showing a process of installing AI content in a terminal equipped with an NPU adaptive edge framework that supports installation and execution of AI content 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 content 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 downloading AI contents ( S120), the execution code conversion step using a local compiler (S130) and the converted code authentication request step (S140), the execution code conversion step using a cloud compiler (S150), the execution code receiving step from the peer terminal (S160), AI content It may be configured to include a terminal installation step (S170).
이하, 본 발명의 일 실시예에 따른 단말에서 AI 콘텐츠를 설치하는 과정의 각 단계에 대하여 좀 더 상세하게 설명한다.Hereinafter, each step of the process of installing AI content 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 inquire downloadable AI content through the content downloader installed in the user terminal (S110). In this case, the content downloader may be basically installed in the terminal or an application downloaded from the market. In addition, the AI content searched through the content downloader may include only AI content supported by the NPU provided in the user terminal, or may include a learning model in the form of an intermediate expression independent of the NPU. In addition, AI content may include learning models and environment parameters learned using deep learning tools.
중간 표현 형태의 학습모델을 포함하는 AI 콘텐츠의 경우에는 실행코드로 변환할 수 있는 수단이 AI 콘텐츠 조회 목록에 제공될 수 있다. 예를 들면, 서버의 클라우드 컴파일러를 통해서 변환하거나, 피어 단말로부터 실행코드를 전송받을 수 있으며, 단말에 로컬 컴파일러가 있다면 자체적으로 변환할 수 있다. 환경 파라미터에는 클라우드 컴파일러가 위치하는 서버의 주소나 인증받은 실행코드를 갖고 있는 피어 단말에 대한 정보가 포함될 수 있다. 동일한 AI 콘텐츠에 대해서 다양한 변환 수단에 대한 정보가 제공될 수 있다. In the case of AI content that includes a learning model in the form of intermediate representation, a means to convert it into an executable code may be provided in the AI content inquiry list. For example, it can be converted through the cloud compiler of the server, or the execution code can be transmitted from the peer terminal, and if there is a local compiler in the terminal, it can be converted by itself. The environment parameter may include the address of the server where the cloud compiler is located or information on the peer terminal having the certified execution 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, if the AI content in the form of an executable code supported by the NPU provided in the terminal can be installed in the user terminal (S170) without going through a separate conversion. Or, if it is in the form of an intermediate code and a local compiler is provided in the terminal, the terminal may convert the learning model included in the downloaded AI content using the local compiler into the 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 provides conversion 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.) in the environment parameter included in the AI content. In addition, it is uploaded to the content server, and authentication for the first local execution code may 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, part of the fee paid by the terminal downloading the AI content may be paid to the peer terminal that 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
또는, 단말은 환경 파라미터를 참조하여 단말에 구비된 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어 단말에 요청하여 제2 로컬 실행코드를 수신할 수 있다(S160). 이때, 피어 단말에 구비된 제2 로컬 실행 코드는 피어 단말의 로컬 컴파일러에 의해 변환된 실행 코드이며, 콘텐츠 서버 또는 콘텐츠 제작 스튜디오에서 인증된 코드일 수 있다.Alternatively, the terminal may receive the second local execution code by requesting a peer terminal having a second local execution code supported 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 content will be described.
도 5는 본 발명의 일 실시예에 따른 콘텐츠 제작 스튜디오에서 AI 콘텐츠를 제작 배포하는 과정을 보여주는 순서도이다. 5 is a flowchart illustrating 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)를 포함하여 구성될 수 있다.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 generation step (S220), a learning model conversion step (S230), and an AI content production step. It may be configured to include (S240), content upload step (S250) and local execution code authentication step (S260).
이하, 도 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, the content creation studio selects a recognition application to which the 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 signal. In addition, the recognition application may be an application that is preinstalled in a user terminal for downloading AI content or an application that is downloaded together with AI content.
콘텐츠 제작 스튜디오는 학교, 연구소, 기업, 개인 등 딥 러닝 및 빅데이터 분석 등을 통해서 학습모델을 생성하고, 배포하는 다양한 주체에서 이용하는 단말을 의미할 수 있다. The content production studio may mean a terminal used by various subjects that create 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 may be generated (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 the form of a device-independent intermediate expression. Alternatively, it may be in the form of an executable code that is not supported by the NPU and is produced according to the OS of the terminal.
다음으로, 생성된 학습모델을 특정 NPU에 의해 지원되는 실행코드로 변환할 수 있다(S230). 본 단계에서 복수의 다양한 NPU에 맞도록 변환된 복수의 실행코드가 생성될 수 있다. 또는 본 단계(S230)는 생략될 수 있다.Next, the generated learning model may be converted into an execution code supported by a specific NPU (S230). In this step, a plurality of executable codes converted to fit a plurality of various NPUs may be generated. Alternatively, this step (S230) may be omitted.
다음으로, 이전 단계에서 생성된 학습모델과 환경 파라미터를 포함하는 AI 콘텐츠를 제작할 수 있다(S240). 이때, 학습모델은 앞에서 설명한 것처럼 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비될 수 있으며, 환경 파라미터는 사용자 단말의 환경에 대응하는 설치정보 및 실행정보 등을 포함하는 라이브러리 및 리소스를 포함할 수 있다.Next, it is possible to produce AI content including the learning model and environment parameters generated in the previous step (S240). At this time, the learning model may be provided in the form of a hardware-independent intermediate expression or an 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, when the learning model is in the form of an intermediate expression, the environment parameter includes information on the conversion server where the cloud compiler to be converted into an NPU-supportable execution code provided in the terminal is located, or information on a peer terminal having an execution code that can be supported by the NPU. can do. However, the information of the peer terminal may not be generated during the content production stage.
다음으로, 학습모델과 환경 파라미터를 포함하여 제작된 AI 콘텐츠는 서버로 업로드 할 수 있다(S250). Next, the AI content produced including the learning model and environment parameters may 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 may be authenticated (S260). For example, when a user terminal makes a request for authentication for a local executable code to the content server, the content server may transmit the authentication request content to the content production studio.
요청 내용을 전달받은 콘텐츠 제작 스튜디오는, 콘텐츠 서버의 인증정책에 기초하여 로컬 실행코드를 인증하고, 환경 파라미터에 로컬 실행코드의 인증 정보를 추가하여 콘텐츠 서버에 업로드 할 수 있다. 한편, 로컬 실행코드의 인증은 콘텐츠 서버에서 직접 수행할 수도 있다. 이는 콘텐츠 서버의 인증정책에 따라 달라질 수 있다. 이와 같은 인증정보는 콘텐츠 무결성을 보장하기 위하여 콘텐츠 업데이트시에는 초기화될 수 있다.The content production studio receiving the requested content may authenticate the local execution code based on the authentication policy of the content server, add authentication information of the local execution code to the environment parameter, and upload it to the content server. On the other hand, authentication of the local execution code may be performed directly in the content server. This may vary depending on the content server's authentication policy. Such authentication information may be initialized when content is updated to ensure content integrity.
또한, 인증을 획득한 로컬 실행 코드는 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 로컬 실행코드의 전송 정보는 콘텐츠 서버의 과금 정책에 기초하여 정산될 수 있다. In addition, the local execution code that has obtained authentication is transmitted in a P2P manner between user terminals based on the information of the environment parameter, and transmission information of the local execution code may be calculated based on the charging 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, various AI contents are downloaded and converted into an execution code suitable for the NPU provided in the terminal. By running or testing, you can accelerate efficient AI recognition/inference capabilities. 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, the device according to an embodiment of the present invention may be provided in the form of an application driven by a user terminal. In this case, the user terminal may include various computing devices including a smart phone, a tablet PC, a laptop computer, a desktop computer, and a PDA.
한편, 앞에서 설명한 본 발명의 방법은 컴퓨터에서 실행될 수 있도록 프로그램 코드로 제작되어 컴퓨터로 읽을 수 있는 매체에 저장될 수 있고, 또한, 본 발명의 방법을 실행하는 프로그램이 어플리케이션으로 제작되어 기록매체에 저장될 수 있다. 기록매체란 컴퓨터, 모바일 단말, 서버 등의 하드디스크, 메모리, 보조 메모리, 컴팩트 디스크 등 이동 가능한 저장 매체 등을 포함할 수 있다.Meanwhile, the method of the present invention described above can be produced as a program code to be executed on a computer and stored in a computer-readable medium, and a program for executing the method of the present invention is produced as an application and stored on a recording medium. Can be. The recording medium may include a computer, a mobile terminal, a hard disk such as a server, a memory, an auxiliary memory, or a movable storage medium such as a compact disk.
또한, 지금까지 설명한 본 발명의 방법 및 장치는 실제로 컴퓨터 프로그램에 의해 구현될 수 있고, 컴퓨터에서 실행될 때 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터 판독 가능한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하며, ROM, RAM, CD, DVD-ROM, 자기테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송되는 형태로 구현되는 것도 포함될 수 있다. 즉, 이와 같은 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Further, the method and apparatus of the present invention described so far can be implemented by a computer program in practice, and can be stored in a computer-readable recording medium when executed in 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, including ROM, RAM, CD, DVD-ROM, magnetic tape, floppy disk, and optical data storage devices. Also, it may be implemented in the form of transmission through the Internet. That is, such a medium may be distributed over a computer system connected through a network, and computer-readable codes may 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 following claims. You will understand that you can do it.
Claims (10)
AI 어플리케이션을 관리하기 위한 어플리케이션 매니저와,
콘텐츠 서버로부터 AI 콘텐츠를 다운로드하고 설치하기 위한 콘텐츠 설치 매니저와,
상기 AI 콘텐츠를 실행하고 상기 사용자 단말에 구비된 제1 NPU를 가속하기 위한 AI 콘텐츠 엣지 엔진과
NPU 드라이버와 센서 드라이버를 포함하는 OS 플랫폼을 포함하는 사용자 단말. In a user terminal equipped with an NPU adaptive edge framework supporting AI content installation and execution, the NPU adaptive edge framework
An application manager to manage AI applications,
A content installation manager for downloading and installing AI content from a content server,
An AI content edge engine for executing the AI content and accelerating the first NPU provided in the user terminal;
User terminal including the OS platform including the NPU driver and sensor driver.
상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고,
상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스와, 상기 학습모델이 중간표현 형태인 경우 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하고,
상기 콘텐츠 설치 매니저는
상기 콘텐츠 서버로부터 다운로드 가능한 AI 콘텐츠 목록을 수신하고, 선택된 AI 콘텐츠를 다운로드하기 위한 콘텐츠 다운로더와
상기 변환 서버상의 클라우드 컴파일러에 요청하여 상기 학습 모델을 상기 제1 NPU에 의해 지원 가능한 실행코드로 변환하는 클라우드 요청부를 포함하는 것을 특징으로 하는 단말.The method according to claim 1
The AI content includes a learning model and an environment parameter, and the learning model is provided in a hardware-independent intermediate expression form or an execution code form supported by a specific NPU,
The environmental parameters include library and resources corresponding to the environment of the user terminal, and conversion server information in which a cloud compiler to be converted into an execution code is located when the learning model is in an intermediate expression form,
The content installation manager
A content downloader for receiving a list of downloadable AI content from the content server, and downloading the selected AI content, and
And a cloud requesting unit configured to request a cloud compiler on the conversion server to convert the learning model into an executable code that can be supported by the first NPU.
상기 AI 콘텐츠는 학습모델과 환경 파라미터를 포함하되, 상기 학습모델은 하드웨어 독립적인 중간표현 형태 또는 특정 NPU에 의해 지원되는 실행코드 형태로 구비되고,
상기 콘텐츠 설치 매니저는
상기 학습 모델을 상기 제1 NPU에 의해 지원가능한 제1 로컬 실행코드로 변환하는 로컬 컴파일러와
상기 환경 파라미터에 상기 제1 NPU 정보 및 상기 사용자 단말의 정보를 포함하는 변환 정보를 추가하여 상기 콘텐츠 서버로 업로드하고, 상기 콘텐츠 서버에 상기 제1 로컬 실행코드에 대한 인증을 요청하는 인증 요청부를 더 포함하는 것을 특징으로 하는 단말.The method according to claim 1 or 2,
The AI content includes a learning model and an environment parameter, and the learning model is provided in a hardware-independent intermediate expression form or an execution code form supported by a specific NPU,
The content installation manager
A local compiler that converts the learning model into a first local executable code supported by the first NPU;
An authentication request unit for adding conversion information including the first NPU information and the user terminal information to the environment parameter and uploading it to the content server, and requesting the content server to authenticate the first local execution code. Terminal comprising a.
상기 환경 파라미터는 상기 학습모델이 중간표현 형태인 경우, 상기 제1 NPU에 의해 지원 가능한 제2 로컬 실행코드를 구비한 피어(peer) 단말의 정보를 포함하고,
상기 콘텐츠 설치 매니저는
상기 피어 단말에 요청하여 상기 제2 로컬 실행코드를 수신하는 피어 교신부를 포함하는 것을 특징으로 하는 단말.The method of claim 3,
The environment parameter includes information on a peer terminal having a second local execution code that can be supported by the first NPU when the learning model is an intermediate expression type,
The content installation manager
And a peer communication unit configured to request the peer terminal to receive the second local execution code.
상기 피어 교신부는 제3의 피어 단말로부터 요청이 있는 경우 상기 제1 로컬 실행코드를 상기 제3의 피어 단말로 전송하고, 상기 전송 정보를 콘텐츠 서버에 송신하는 것을 특징으로 하는 단말.The method of claim 4,
And the peer communication unit, upon request from a third peer terminal, transmits the first local execution code to the third peer terminal and transmits the transmission information to a content server.
상기 제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 calculated based on a charging policy of the content server.
상기 AI 콘텐츠 엣지 엔진은
다운로드한 AI 콘텐츠를 디코딩하여 추론하는 모델 실행기와
상기 NPU 드라이버와 상기 모델 실행기간의 통신을 제어하기 위한 콘텐츠 서비스 프로토콜을 포함하는 것을 특징으로 하는 단말.The method according to claim 1,
The AI content edge engine
A model runner that decodes and infers the downloaded AI content,
And a content service protocol for controlling communication between the NPU driver and the model execution period.
머신러닝 도구를 이용하여 학습한 학습 모델과 환경 파라미터를 포함하는 AI 콘텐츠를 생성하는 단계와
상기 AI 콘텐츠를 콘텐츠 서버에 업로드하는 단계를 포함하고,
상기 학습 모델은 하드웨어 독립적인 중간표현 형태이거나 또는 특정 NPU에 맞추어 변환된 실행코드 형태이고,
상기 환경 파라미터는 사용자 단말의 환경에 대응하는 라이브러리 및 리소스를 포함하고, 또한 상기 학습 모델이 중간표현 형태인 경우 상기 학습 모델을 실행코드로 변환할 클라우드 컴파일러가 위치하는 변환 서버 정보를 포함하는 것을 특징으로 하는 AI 콘텐츠 배포 방법. In the AI content distribution method for distributing AI content in an AI content production studio,
Generating AI content including learning models and environment parameters learned using machine learning tools, and
Including the step of uploading the AI content to a content server,
The learning model is a hardware-independent intermediate expression form or an execution code form converted to a specific NPU,
The environment parameter includes a library and a resource corresponding to the environment of the user terminal, and further includes conversion server information in which a cloud compiler to convert the learning model into an execution code is located when the learning model is an intermediate expression type. AI content distribution method.
상기 학습 모델이 중간표현 형태인 경우, 사용자 단말의 로컬 컴파일러에서 변환된 로컬 실행코드를 인증하는 단계를 더 포함하되,
상기 인증하는 단계는 상기 사용자 단말이나 상기 콘텐츠 서버로부터 상기 로컬 실행코드에 대한 인증 요청을 수신하면, 상기 콘텐츠 서버의 인증정책에 기초하여 상기 로컬 실행코드를 인증하고, 상기 환경 파라미터에 상기 로컬 실행코드의 인증 정보를 추가하여 상기 콘텐츠 서버에 업로드 하는 것을 특징으로 하는 AI 콘텐츠 배포 방법.The method of claim 8,
If the learning model is an intermediate expression form, further comprising the step of authenticating the converted local execution code in a local compiler of the user terminal,
In the authenticating step, upon receiving an authentication request for the local execution code from the user terminal or the content server, the local execution code is authenticated based on an authentication policy of the content server, and the local execution code is used in the environment parameter. AI content distribution method, characterized in that uploading to the content server by adding the authentication information of.
상기 인증을 획득한 상기 로컬 실행 코드는 상기 환경 파라미터의 정보를 기초로 사용자 단말 간에 P2P 방식으로 전송되고, 상기 로컬 실행코드의 전송 정보는 상기 콘텐츠 서버의 과금 정책에 기초하여 정산되는 것을 특징으로 하는 AI 콘텐츠 배포 방법.
The method of claim 9,
The local execution code that has obtained the authentication is transmitted in a P2P manner between user terminals based on the information of the environment parameter, and the transmission information of the local execution code is settled based on the charging policy of the content server. How to distribute AI content.
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 true KR20210062547A (en) | 2021-05-31 |
KR102530254B1 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023128654A1 (en) * | 2021-12-31 | 2023-07-06 | 주식회사 뉴로클 | Method for optimizing learning model for target apparatus and system therefor |
Citations (3)
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 |
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 |
-
2020
- 2020-06-17 KR KR1020200073391A patent/KR102530254B1/en active IP Right Grant
Patent Citations (3)
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 |
US20190138908A1 (en) * | 2018-12-28 | 2019-05-09 | Francesc Guim Bernat | Artificial intelligence inference architecture with hardware acceleration |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023128654A1 (en) * | 2021-12-31 | 2023-07-06 | 주식회사 뉴로클 | Method for optimizing learning model for target apparatus and system therefor |
Also Published As
Publication number | Publication date |
---|---|
KR102530254B1 (en) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6941743B2 (en) | Generating and deploying machine learning model packages | |
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 | |
CN107404382B (en) | Controlling licensable features of software using access tokens | |
US8880660B2 (en) | Information-processing device, communication system, computer readable medium, and information-processing method | |
KR20060089616A (en) | Utilizing abstract descriptions to generate, exchange, and configure service and client runtimes | |
US10877807B2 (en) | Method, apparatus and computer program product for allocating processing resource to application | |
US8176499B2 (en) | Defining, distributing and presenting device experiences | |
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 | |
US20110231813A1 (en) | Apparatus and method for on-demand optimization of applications | |
KR20100048858A (en) | System and method for enabling p2p application in wireless mobile network | |
CN110231941A (en) | Suitable for run mobile device native applications program without the application-level running environment installed completely | |
CN102420873A (en) | Compound network brand new cloud application platform | |
KR102530254B1 (en) | Npu adaptable network platform for artificial intelligent contents service | |
JP6673980B2 (en) | How to connect to a remote PC using a digital device | |
CN109819042A (en) | For providing the method and apparatus of Software Development Kit | |
EP2633683B1 (en) | Remotely sited execution of a software application within a network | |
WO2022078280A1 (en) | Artificial intelligence (ai) training method, system, and device | |
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 | |
KR101780023B1 (en) | Method and apparatus for transmitting and receiving application/content based on purchase information | |
CN110333914B (en) | Method and device for executing target operation | |
KR20220165391A (en) | Deep learning distribution system based on query and distribute training method | |
EP2575327B1 (en) | Method for sharing a web application between a plurality of computer terminals connected to a communication network |
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 |