KR20210047763A - 컨테이너 기반의 인공지능 모델 관리 방법 및 서버 - Google Patents

컨테이너 기반의 인공지능 모델 관리 방법 및 서버 Download PDF

Info

Publication number
KR20210047763A
KR20210047763A KR1020190131739A KR20190131739A KR20210047763A KR 20210047763 A KR20210047763 A KR 20210047763A KR 1020190131739 A KR1020190131739 A KR 1020190131739A KR 20190131739 A KR20190131739 A KR 20190131739A KR 20210047763 A KR20210047763 A KR 20210047763A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
image
container
generating
identifiers
Prior art date
Application number
KR1020190131739A
Other languages
English (en)
Inventor
이상민
이원석
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020190131739A priority Critical patent/KR20210047763A/ko
Publication of KR20210047763A publication Critical patent/KR20210047763A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

컨테이너 기반의 인공지능 모델 관리 서버가 컨테이너 이미지를 생성하는 방법으로서, 임의의 인공지능 프레임워크의 실행 파일들과 통신 인터페이스를 포함하는 베이스 이미지를 생성하는 단계, 인공지능 모델을 포함하는 인공지능 이미지를 생성하는 단계, 상기 베이스 이미지와 상기 인공지능 이미지를 집합으로 하고, 상기 베이스 이미지를 구성하는 복수의 레이어들의 식별자들과 상기 인공지능 이미지를 구성하는 복수의 레이어들의 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하고, 임의의 집합 연산에 따른 식별자들에 대응되는 레이어들을 포함하는 인공지능 어플리케이션 이미지를 생성하는 단계를 포함하고, 상기 인공지능 어플리케이션 이미지는, 컨테이너 런타임 환경이 구축되면 실행 가능한, 컨테이너 이미지 생성 방법이다.

Description

컨테이너 기반의 인공지능 모델 관리 방법 및 서버{CONTAINER BASED METHOD AND SERVER FOR MANAGING ARTIFICIAL INTELLIGENCE MODEL}
본 발명은 컨테이너 기반의 인공지능 모델 관리 기술에 관한 것이다.
인공지능은 대부분의 산업 영역에서 활용되고 있다. 다양한 산업 분야의 요구에 따라 새로운 인공지능 모델이 개발되고, 구축된 인공지능 모델은 빠르게 외부에 서비스 될 필요가 있다. 또한 개발된 모델과 서비스 과정은 인공지능 모델이 필요한 곳에 활용되기 위해 효율적으로 관리되어야 한다.
인공지능 엔지니어들은 다양한 인공지능 프레임워크를 활용하여 인공지능 알고리즘을 개발한다. 초기의 인공지능 엔지니어들은 텐서플로우(Tensorflow)라는 딥러닝 프레임워크를 활용해 인공지능 모델을 구축하였는데, 텐서플로우란 기계 학습과 딥러닝을 위해 구글에서 만든 오픈소스 라이브러리를 뜻한다.
텐서플로우를 이용하여 개발되고 학습된 인공지능 모델을 사용하기 위해 텐서플로우 서빙(Tensorflow Serving)이라는 별도의 시스템이 개발되었다. 그러나 텐서플로우 서빙은 다양한 인공지능 프레임워크를 활용해 개발된 인공지능 모델에 모두 적용될 수 없다. 또한 인공지능 모델 개발 이외에, 텐서플로우 서빙을 학습하는 자체에도 높은 비용이 수반된다. 따라서 요즈음의 인공지능 엔지니어들은 텐서플로우뿐만 아니라 Caffe, Keras, Theano, Torch, PyTorch, MxNet, Deep Learning 4j 등의 다양한 인공지능 프레임워크를 활용하는 실정이다.
한편, 인공지능 엔지니어에 의해 구축된 인공지능 모델을 비즈니스에 적용하고 서비스화 하기 위해 다른 엔지니어의 역할이 필요하다. 예를 들어, 서버 엔지니어는 일반 사용자들이 구축된 인공지능 모델을 사용할 수 있도록 인터페이스와 어플리케이션 서버를 구축하고, 인프라 엔지니어는 구축된 서버 군을 컨테이너로 관리한다.
이때 인공지능 엔지니어가 활용하는 인공지능 프레임워크와 관련 프로그래밍 언어가 통일되어 있지 않으면, 협력 엔지니어들은 프레임워크에 따른 반복적인 비용, 시간을 들일 수 밖에 없다.
관리 방법의 한 예로서, 컨테이너 이미지의 멀티 스테이지(Multi-stage) 방식을 이용하여 컨테이너 이미지를 생성(Build)할 수 있는 방법이 개발되어, 이를 이용하여 프레임워크를 관리하는 방법이 이용되고 있다. 멀티 스테이지 방법은 컨테이너 이미지를 생성하는 과정에서는 필요하지만, 최종 컨테이너 이미지에는 필요없는 환경을 제거할 수 있도록 단계를 나누어 이미지를 만드는 생성하는 방법을 의미한다.
그러나 멀티 스테이지 방법은 최종적으로 생성된 이미지의 용량을 줄이기 위한 것이 목적이므로, 몇 가지 한계점을 가진다. 예를 들어, 복수의 컨테이너 이미지를 생성할 때 하나의 이미지의 이름과 디렉토리 등의 이미지 정보를 알 수 없는 경우 또는 다른 엔지니어에 의해 변경된 경우 이미지를 생성할 수 없다. 즉, 컨테이너 이미지를 생성하기 위해서는 반드시 이미지의 이름, 디렉토리 등의 이미지 정보를 정확하게 알고 있어야 하는 불편함이 있다.
또한, 멀티 스테이지 방식은 기본적으로 어떤 이미지에서 특정 레이어를 복사하는 것이므로, 복수의 이미지 간 공통점과 차이점을 전혀 고려하지 않는다.
따라서, 컨테이너 이미지의 이름, 디렉토리를 알 수 없는 경우에도 관리자의 개입 없이 이미지의 레이어를 활용할 수 있는 완전 자동화 시스템을 구축하기 위한 방법이 필요하다.
본 발명이 해결하고자 하는 과제는 컨테이너 이미지를 구성하는 레이어들의 각각의 식별자를 이용하는 컨테이너 이미지 간 집합 연산 방법을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 컨테이너 이미지의 집합 연산 방법을 이용하여 인공지능 어플리케이션을 생성하고, 컨테이너 이미지를 활용해 인공지능 모델 및 어플리케이션을 효율적으로 관리하는 방법 및 그 서버를 제공하는 것이다
한 실시예에 따른 컨테이너 기반의 인공지능 모델 관리 서버가 컨테이너 이미지를 생성하는 방법으로서, 임의의 인공지능 프레임워크의 실행 파일들과 통신 인터페이스를 포함하는 베이스 이미지를 생성하는 단계, 인공지능 모델을 포함하는 인공지능 이미지를 생성하는 단계, 상기 베이스 이미지와 상기 인공지능 이미지를 집합으로 하고, 상기 베이스 이미지를 구성하는 복수의 레이어들의 식별자들과 상기 인공지능 이미지를 구성하는 복수의 레이어들의 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하고, 임의의 집합 연산에 따른 식별자들에 대응되는 레이어들을 포함하는 인공지능 어플리케이션 이미지를 생성하는 단계를 포함하고, 상기 인공지능 어플리케이션 이미지는, 컨테이너 런타임 환경이 구축되면 실행 가능하다.
상기 베이스 이미지는, 상기 임의의 인공지능 프레임워크의 런타임 의존성, CUDA(Computed Unified Device Architecture) 라이브러리, 통신 인터페이스 의존성 중 적어도 하나를 포함할 수 있다.
상기 인공지능 이미지는, 상기 인공지능 모델, 상기 인공지능 모델 개발에 활용된 인공지능 프레임워크의 런타임 의존성, CUDA(Computed Unified Device Architecture) 라이브러리 중 적어도 하나를 포함할 수 있다.
상기 인공지능 이미지를 생성하는 단계는, 상기 인공지능 이미지와 대응되는 암호가 생성되는 단계를 포함할 수 있다.
상기 인공지능 어플리케이션 이미지를 생성하는 단계는, 상기 베이스 이미지와 상기 인공지능 이미지를 구성하는 복수의 레이어들 각각에 대해, 암호화 알고리즘을 이용하여 각 레이어에 포함된 파일 또는 디렉토리의 내용물을 암호화 한 식별자를 추출하는 단계, 상기 베이스 이미지의 레이어들에 대응하는 식별자들과 상기 인공지능 이미지의 레이어들에 대응하는 식별자들 중 공통된 식별자들을 교집합으로 하는 집합 관계를 구성하는 단계, 그리고 상기 교집합에 해당하는 식별자들에 대응되는 레이어들을 포함하는 인공지능 어플리케이션 이미지를 생성하는 단계를 포함할 수 있다.
상기 인공지능 어플리케이션 이미지를 생성하는 단계는, 상기 인공지능 이미지의 암호를 이용하여 상기 인공지능 어플리케이션 이미지의 암호를 생성할 수 있다.
상기 인공지능 어플리케이션 이미지를 생성하는 단계 이후에, 사용자로부터 상기 인공지능 어플리케이션 이미지 요청을 수신하면, 상기 사용자의 권한을 확인하는 단계, 상기 사용자의 권한이 있는 것으로 확인되면, 요청된 상기 인공지능 어플리케이션 이미지에 대응되는 인증키를 상기 사용자에게 전송하는 단계, 상기 사용자로부터 상기 인증키를 포함한 상기 인공지능 어플리케이션 이미지 요청을 수신하는 단계, 그리고 상기 인증키에 대응되는 상기 인공지능 어플리케이션 이미지를 제공하는 단계를 더 포함하고, 상기 인증키는 상기 인공지능 어플리케이션 이미지의 암호를 이용하여 생성된 것일 수 있다.
다른 실시예에 따른 컨테이너 기반의 인공지능 모델 관리 서버가 컨테이너 이미지를 생성하는 방법으로서, 미리 저장된 제1 컨테이너 이미지와 미리 저장된 제2 컨테이너 이미지를 구성하는 각 레이어의 식별자를 추출하는 단계, 상기 제1 컨테이너 이미지와 상기 제2 컨테이너 이미지를 집합으로 하고, 추출된 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하는 단계, 그리고 임의의 집합 연산에 따라, 연산 결과에 포함되는 복수의 식별자들에 대응되는 레이어들을 포함하는 제3 컨테이너 이미지를 생성하는 단계를 포함한다.
상기 식별자는, 상기 제1 컨테이너 이미지 또는 상기 제2 컨테이너 이미지를 구성하는 복수의 레이어들에 대해, 암호화 알고리즘을 이용하여 각 레이어에 포함된 파일 또는 디렉토리의 내용물을 암호화 한 값일 수 있다.
상기 제1 컨테이너 이미지는 통신 인터페이스를 포함하고, 상기 제2 컨테이너 이미지는 인공지능 모델과 상기 인공지능 모델을 개발에 이용된 인공지능 프레임워크의 런타임 의존성을 포함하고, 상기 제3 컨테이너 이미지는 상기 인공지능 모델 기반의 어플리케이션을 포함할 수 있다.
한 실시예에 따른 컨테이너 기반의 인공지능 모델 관리 서버로서, 임의의 인공지능 프레임워크의 실행 파일들을 포함하는 베이스 이미지와 인공지능 모델을 포함하는 인공지능 이미지를 저장하는 이미지 저장장치, 그리고 상기 베이스 이미지와 상기 인공지능 이미지를 각각 집합으로 하는 집합 연산을 수행하여 인공지능 어플리케이션 이미지를 생성하는 이미지 생성부를 포함하고, 상기 인공지능 어플리케이션 이미지는 컨테이너 런타임 환경에 따라 실행 가능하다.
상기 이미지 생성부는, 상기 베이스 이미지와 상기 인공지능 이미지를 집합으로 하고, 상기 베이스 이미지와 상기 인공지능 이미지를 구성하는 복수의 레이어들로부터 추출한 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하고, 임의의 집합 연산에 따른 식별자에 대응되는 레이어를 포함하는 인공지능 어플리케이션 이미지를 생성할 수 있다.
상기 인공지능 모델 관리 서버는, 상기 인공지능 어플리케이션 이미지에 접근하는 사용자의 권한을 인증하고, 인증된 사용자에 한해 인공지능 어플리케이션 이미지를 제공하는 인증키 관리부를 더 포함할 수 있다.
본 발명에 따르면, 인공지능 모델과 어플리케이션이 컨테이너 이미지로 관리되기 때문에, 컨테이너 런타임 환경만 존재하면 별도의 컨테이너 배포 관리 툴이 없어도 실행할 수 있어, 쉽게 서비스화 할 수 있다.
또한 본 발명에 따르면, 식별자를 이용하여 집합 연산하므로 이미지 또는 레이어의 정보가 변경되는 경우에도 코드를 직접 수정할 필요 없이 이미지 생성이 가능하여 자동화 방식을 구축할 수 있고, 컨테이너 이미지의 파일 이름과 디렉토리 등 정확한 정보가 부족한 경우에도 컨테이너 이미지의 생성이 가능하여 멀티 스테이지 방식에 비해 효율적으로 새로운 이미지를 생성할 수 있다.
또한 본 발명에 따르면, 인공지능 모델, 인공지능 어플리케이션, 인터페이스, 런타임 환경이 모두 분할되어 각각 저장되므로, 서로간의 의존성을 효율적으로 관리 및 수정이 가능하고, 엔지니어의 역할이 구분되어 협력에 관한 시간과 비용을 줄일 수 있으므로 추가적인 인공지능 모델에 대한 확장 등 새로운 기능 추가에 유연하게 대응할 수 있다.
도 1은 한 실시예에 따른 인공지능 모델 관리 서버와 그 주변 환경의 구성도이다.
도 2는 한 실시예에 따른 인공지능 모델 관리 서버의 구성도이다.
도 3은 한 실시예에 따른 베이스 이미지의 예시도이다.
도 4는 한 실시예에 따른 베이스 이미지 저장장치가 베이스 이미지를 관리하는 예시도이다.
도 5는 한 실시예에 따른 인공지능 이미지의 예시도이다.
도 6은 한 실시예에 따른 인공지능 이미지 저장장치가 인공지능 이미지를 관리하는 예시도이다.
도 7은 한 실시예에 따른 컨테이너 이미지를 생성하는 방법의 설명도이다.
도 8은 한 실시예에 따른 레이어 식별자를 이용하여 집합 연산하는 방법의 예시도이다.
도 9는 한 실시예에 따른 사용자가 인공지능 어플리케이션 이미지에 접근하는 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하 본 명세서에서 사용하는 용어에 대해 설명한다.
컨테이너 이미지란, 원하는 서비스 또는 어플리케이션의 운영 또는 동작에 필요한 각종 프로그램과 환경 변수, 시작 시 실행될 커맨드 등의 환경 변수들을 하나로 묶어 놓은 형태를 의미한다. 즉, 프로세스를 실행시킬 수 있는 실행 파일과 동일한 의미이다. 컨테이너 이미지가 실행되는 것을 컨테이너 되었다고 호칭하며, 이는 격리된 공간에서 프로세스가 동작하는 가상화 기술을 의미한다. 컨테이너는 기존의 가상 머신과는 달리 호스트의 커널(Kernel)을 공유하여 적은 오버헤드를 지닌다는 장점이 있다.
컨테이너 이미지는 복수의 레이어들을 포함하고, 유니온 파일 시스템(Union File System)을 이용하여 여러 레이어들을 하나의 파일 시스템으로 사용한다.
이때, 컨테이너 이미지는 어플리케이션을 구동 시키기 위해 필요한 의존성을 모두 포함하고 있다. 즉, 컨테이너 실행에 필요한 의존성을 파일 레이어로 쌓아 관리할 수 있다.
런타임은 프로그램이 실행되는 동안의 동작들을 의미하고, 런타임 환경은 프로그램이 실행되는 동안 프로세스 또는 소프트웨어 서비스를 제공하는 상태를 의미한다.
레이어는 컨테이지 이미지를 구성하고 있는 층(Stack)을 의미하며, 컨테이너 이미지에 파일이 추가되거나 수정되면 새로운 레이어가 생성된다.
의존성은 종속성 또는 종속물이라고도 호칭되며, 어플리케이션을 구동하기 위해 필요한 라이브러리 또는 기타 구성 파일들을 의미한다. 본 명세서에서는 특정 인공지능 프레임워크를 활용해 개발된 인공지능 모델이 실행되기 위해 필요한 종속물을 의미한다.
도 1은 한 실시예에 따른 인공지능 모델 관리 서버와 그 주변 환경의 구성도이다.
도 1을 참고하면, 서버 엔지니어(100)와 인공지능 엔지니어(200)는 각자 개발한 통신 인터페이스와 인공지능 모델을 이미지로 구축하여, 인공지능 모델 관리 서버(300)에 저장한다. 인공지능 모델 관리 서버(300)는 레이어로 이루어진 이미지들을 조합하여, 즉시 서비스 가능한 새로운 컨테이너 이미지를 생성한다. 이후 사용자(400)가 생성된 컨테이너 이미지를 요청하는 경우, 인공지능 모델 관리 서버(300)는 사용자(400)의 권한을 인증하고 해당 이미지를 제공한다.
서버 엔지니어(100)는 인공지능 모델을 서비스하기 위한 통신 인터페이스를 개발한다. 이후 통신 인터페이스를 포함하는 베이스 이미지(510)를 생성하여 인공지능 모델 관리 서버(300)에 저장한다.
인공지능 엔지니어(200)는 인공지능 모델을 개발한다. 이후 개발된 모델을 포함하는 인공지능 이미지(520)를 생성하여 인공지능 모델 관리 서버(300)에 저장한다. 이때, 인공지능 엔지니어(200)마다 각기 다른 인공지능 프레임워크를 사용하는 경우, 생성된 인공지능 이미지(520)들의 레이어 구성은 인공지능 프레임워크에 따라 달라질 수 있다.
인공지능 모델 관리 서버(300)는 본 명세서에서 설명하는 동작을 수행하며, 서버 엔지니어(100)와 인공지능 엔지니어(200)가 각각 개발하여 저장한 베이스 이미지(510)와 인공지능 이미지(520)를 이용하여 집합 연산을 수행한다. 집합 연산의 원소는 각 이미지의 레이어를 해싱한 식별자이다. 교집합, 차집합, 합집합 등의 집합 연산을 수행하여 복수의 이미지 간 공통되거나 차이가 있는 레이어를 쉽게 판단할 수 있다.
인공지능 모델 관리 서버(300)는 집합 연산을 통해 실행 가능한 인공지능 어플리케이션 이미지(530)를 생성하고 저장하여, 사용자(400)의 요청이 있는 경우 인공지능 어플리케이션 이미지(530)를 제공한다.
사용자(400)는 인공지능 모델 관리 서버(300)가 생성한 컨테이너 이미지에 접근하여 사용하는 주체이다.
도 2는 한 실시예에 따른 인공지능 모델 관리 서버의 구성도이다.
도 2를 참고하면, 인공지능 모델 관리 서버(300)는 이미지 생성부(310), 인증키 관리부(320), 베이스 이미지 저장장치(330), 인공지능 이미지 저장장치(340) 그리고 인공지능 어플리케이션 이미지 저장장치(350)를 포함한다.
이미지 생성부(310)는 키(Key)를 이용하여, 인공지능 이미지 저장장치(340)에서 키에 대응되는 값을 갖는 인공지능 이미지(520)를 선택하고, 베이스 이미지 저장장치(330)에서 키와 인공지능 프레임워크에 대응되는 값을 갖는 인공지능 이미지(520)를 선택한다.
이미지 생성부(310)는 선택된 인공지능 이미지(520)와 베이스 이미지(510)를 집합 연산하여, 새로운 인공지능 어플리케이션 이미지(530)를 생성하고, 생성된 이미지를 인공지능 어플리케이션 이미지 저장장치(350)에 저장한다.
이때, 이미지 생성부(310)는 이미지를 구성하는 각각의 레이어의 식별자를 원소로 하고, 이미지를 식별자들의 집합으로 보아 복수의 이미지 간 집합 연산을 수행한다. 자세한 내용은 도 8을 통해 설명한다.
이미지 생성부(310)는 인공지능 어플리케이션 이미지(530)를 인공지능 어플리케이션 이미지 저장장치(350)에 저장할 때, 해당 이미지와 연결되는 비밀키를 생성하여, 이후 사용자(400)에게 인공지능 어플리케이션 이미지(530)를 제공할 때 비밀키를 이용할 수 있다. 자세한 내용은 도 7을 통해 설명한다.
인증키 관리부(320)는 인공지능 어플리케이션 이미지(530)의 키를 관리한다. 구체적으로 인공지능 어플리케이션 이미지 저장장치(350)에 접근하려는 사용자(400)를 인증하고, 인증에 성공한 사용자(400)에게 인증키를 제공하여 인공지능 어플리케이션 이미지(530)를 사용할 수 있게 한다.
한편, 인증키 관리부(320)에서 관리하는 키는, 인공지능 이미지(520)의 비밀키와 저장장치에서 사용하는 키를 결합한 형태일 수 있다.
베이스 이미지 저장장치(330)는 서버 엔지니어(100)가 개발하여 생성한 베이스 이미지(510)를 저장한다.
인공지능 이미지 저장장치(340)는 인공지능 엔지니어(200)가 개발하여 생성한 인공지능 이미지(520)를 저장한다.
인공지능 어플리케이션 이미지 저장장치(350)는 베이스 이미지(510)와 인공지능 이미지(520)를 집합 연산하여 생성된 인공지능 어플리케이션 이미지(530)를 저장한다.
즉 본 발명에 따르면, 통신 인터페이스와 런타임 환경, 인공지능 모델, 인공지능 어플리케이션이 각각 분할되어 저장된다. 또한 각각의 의존성도 분리되어 관리되므로, 새로운 기능이 추가되거나 변화하여도 레이어의 유동적인 배치와 조작이 가능하다.
도 2에서는 베이스 이미지 저장장치(330), 인공지능 이미지 저장장치(340), 인공지능 어플리케이션 이미지 저장장치(350)가 인공지능 모델 관리 서버(300)에 포함된 것으로 도시하였으나, 별도로 구현될 수도 있다.
또한 각각의 저장장치는 키-값 구조를 가지는 데이터베이스로 구현될 수 있다. 키-값 구조란, 데이터의 각 조각들을 키-값 쌍으로 구현하고 키를 사용하여 저장장치에 값을 저장하는 것을 의미하며, 해시 테이블과 동일한 방법을 사용한다. 따라서 저장된 이미지를 검색하여 가져오기 위해 키를 이용한다.
이때 베이스 이미지 저장장치(330)와 인공지능 이미지 저장장치(340)에서 사용하는 키는 엔지니어가 개발에 사용한 인공지능 프레임워크의 종류 및 버전에 따라 달라진다. 자세한 내용은 도 4를 통해 설명한다.
도 3은 한 실시예에 따른 베이스 이미지의 예시도이다.
도 3을 참고하면, 베이스 이미지(510)는 서버 엔지니어(100)에 의해 생성된 컨테이너 이미지로서, 프로세스를 실행시키기 위한 실행 파일을 의미하고, 복수의 레이어들을 포함할 수 있다.
서버 엔지니어(100)는 통신 인터페이스를 개발하고, 각 인공지능 프레임워크의 런타임 의존성과 CUDA(Compute Unified Device Architecture) 라이브러리 등을 포함하여 베이스 이미지(510)를 생성한다. CUDA는 NVIDIA 사가 만든 병렬 컴퓨팅 플랫폼 및 응용 프로그래밍 인터페이스(Application Programming Interface, API) 모델로서, CUDA 플랫폼은 GPU(Graphics Processor Unit)의 가상 명령어셋을 사용할 수 있도록 만들어주는 소프트웨어 레이어를 의미한다.
베이스 이미지(510)는 사용자(400)와의 통신을 위한 인터페이스 관련 의존성을 포함한 컨테이너 이미지이다. 한 예로서, 통신을 위한 인터페이스로 HTTP를 활용할 수 있다.
도 3에서, 레이어 0은 호스트 OS와 커널을 공유하는, 실제 운영체제를 포함한다. 예를 들어 서버 엔지니어(100)는 우분투(Ubuntu)를 포함시킬 수 있다.
레이어 1에는 CUDA 의존성, 레이어 2에는 인공지능 프레임워크의 런타임 의존성을 포함시킬 수 있으며, 사용되는 인공지능 프레임워크에 따라 달라질 수 있다. 예를 들어 대표적인 인공지능 프레임워크인 Caffe의 런타임 의존성을 포함시킬 수 있다. 레이어 3에는 HTTP 인터페이스 의존성을 파일 레이어로 포함하여 베이스 이미지(510)를 구축할 수 있다.
서버 엔지니어(100)는 생성한 베이스 이미지(510)를 베이스 이미지 저장장치(330)에 저장한다.
도 4는 한 실시예에 따른 베이스 이미지 저장장치가 베이스 이미지를 관리하는 예시도이다.
도 4를 참고하면, 베이스 이미지 저장장치(330)는 컨테이너 이미지를 키-값(key-value) 쌍으로 저장한다.
각 베이스 이미지(510)들의 키는 인공지능 프레임워크의 명칭과 그 버전을 포함하여 생성될 수 있다. 예를 들어 텐서플로우라는 프레임워크를 이용하고, 이용한 텐서플로우의 버전이 1.0이라면 tf_1.0이 키가 된다. 키와 대응되는 값은 베이스 이미지(510) 그 자체이다.
도 5는 한 실시예에 따른 인공지능 이미지의 예시도이다.
도 5를 참고하면 인공지능 이미지(520)는 인공지능 엔지니어(200)가 임의의 인공지능 프레임워크를 활용하여 학습하고 개발한 인공지능 모델을 컨테이너 이미지로 구축한 것을 의미한다.
인공지능 엔지니어(200)는 인공지능 모델 개발에 활용한 의존성을 레이어 0 내지 레이어 2에 포함시킬 수 있다. 예를 들어, 레이어 0 내지 레이어 2는 인공지능 엔지니어(200)가 자신이 개발한 인공지능 모델에 대한 구동 테스트를 위한 것일 수 있다.
한편, 레이어 0 내지 레이어 2는 인공지능 프레임워크 및 프레임워크의 버전에 따라 달라지는 것이므로, 종류와 버전이 동일한 인공지능 프레임워크를 사용하여 생성된 인공지능 이미지(520)들의 레이어 0 내지 레이어 2는 서로 동일할 것이다.
또한, 서버 엔지니어(100)와 인공지능 엔지니어(200)가 종류와 버전이 동일한 인공지능 프레임워크를 사용한 경우, 베이스 이미지(510)와 인공지능 이미지(520)의 레이어 0 내지 레이어 2가 서로 동일할 것이다.
인공지능 이미지(520)를 구성하는 복수의 레이어들 중 가장 상단의 레이어인 레이어 3에 인공지능 엔지니어(200)가 개발한 인공지능 모델이 포함된다.
인공지능 엔지니어(200)에 의해 구축한 인공지능 이미지(520)는 인공지능 이미지 저장장치(340)에 저장된다. 이때, 인공지능 엔지니어(200)는 인공지능 이미지(520)에 비밀키(Secret)를 생성하고 부여할 수 있다. 생성된 비밀키는 인공지능 어플리케이션 이미지(530)의 비밀키를 만드는데 사용될 수 있고, 이후 사용자(400)의 인증에도 사용될 수 있다.
도 6은 한 실시예에 따른 인공지능 이미지 저장장치가 인공지능 이미지를 관리하는 예시도이다.
도 6을 참고하면, 인공지능 이미지 저장장치(340)도 도 4의 베이스 이미지 저장장치(330)와 마찬가지로 키-값 데이터베이스 구조를 취한다. 따라서, 인공지능 이미지(520)의 키를 생성하는 방법은 도 4를 통해 설명한 바와 같고, 키와 대응되는 값은 인공지능 이미지(520) 자체이다.
도 7은 한 실시예에 따른 컨테이너 이미지를 생성하는 방법의 설명도이다.
도 7을 참고하면 이미지 생성부(310)는 베이스 이미지 저장장치(330)로부터 베이스 이미지(510)를 로드하고, 인공지능 이미지 저장장치(340)로부터 인공지능 이미지(520)를 로드한다.
이미지 생성부(310)는 각 레이어를 이용한 집합 연산을 통해 인공지능 어플리케이션 이미지(530)를 생성한다. 이는 도 8에서 자세히 설명한다.
이후, 이미지 생성부(310)가 인공지능 어플리케이션 이미지(530)를 인공지능 어플리케이션 이미지 저장장치(350)에 저장한다. 이때, 인공지능 이미지(520)의 비밀키를 이용하여 인공지능 어플리케이션 이미지(530)의 비밀키를 생성할 수 있다.
비밀키를 생성하는 방법의 한 예로서, 인공지능 이미지(520)의 비밀키와 인공지능 이미지(520)를 구성하는 임의의 레이어의 식별자와 해싱할 수 있다. 해싱에 사용될 수 있는 해시 함수는 HMAC_SHA 또는 HMAC_MD5 일 수 있으며, 어느 하나에 한정되지 않는다.
비밀키를 생성하는 이유는, 인공지능 어플리케이션 이미지(530)를 곧바로 실행하여 서비스에 적용하기 위해 사용자에게 인공지능 어플리케이션 이미지(530)를 직접 제공하게 되는데, 이때 사용자의 권한을 확인하기 위함이다.
인공지능 어플리케이션 이미지(530)의 비밀키는 인공지능 모델 관리 서버(300)에 의해 내부적으로 관리되며, 권한이 인증된 사용자(400)에게 비밀키를 발급하여 해당 키와 대응되는 인공지능 어플리케이션 이미지(530)를 사용할 수 있게 한다.
도 8은 한 실시예에 따른 레이어 식별자를 이용하여 집합 연산하는 방법의 예시도이다.
도 8을 참고하면 인공지능 모델 관리 서버(300)의 이미지 생성부(310)는 이미지의 각 레이어의 식별자를 이용하여 베이스 이미지(510)와 인공지능 이미지(520) 간 집합 연산을 수행한다.
설명을 위해 컨테이너 이미지를 집합 기호인 원으로 표시하고, 이미지에 포함된 레이어의 식별자를 각 집합의 원소로 표시하였다.
식별자는 레이어가 가지고 있는 파일 또는 디렉토리의 내용물에 대해 암호화 알고리즘을 통해 부여된 값으로, 레이어가 담고 있는 내용이 바뀌면 식별자 또한 바뀐다. 식별자 생성에 사용되는 암호화 알고리즘은 SHA256 등의 해시 함수일 수 있다.
도 9의 (a)는 두 개의 컨테이너 이미지 A와 B의 포함 관계를 도시한 것이며, A와 B의 교집합 부분에 식별자 c, 식별자 d가 존재하므로 두 개의 컨테이너 이미지의 공통되는 레이어가 2개임을 알 수 있다.
컨테이너 이미지가 3개 이상인 경우에도 집합의 포함 관계를 이용하여 식별자 비교가 가능하다. 도 9의 (b)는 세 개의 컨테이너 이미지 A, B, C의 포함 관계를 도시한 것으로 A와 B의 교집합은 식별자 g, 식별자 h로 2개의 레이어가 공통됨을 알 수 있다.
도 9의 (c)는 네 개의 컨테이너 이미지 A, B, C, D에 대해, A, B, C는 교집합이 존재하나 D와는 교집합이 존재하지 않는 경우를 도시한 것이다. 이 경우에도, 집합 연산을 이용하면 식별자 g, 식별자 i에 해당하는 레이어를 활용할 수 있다.
본 발명에서 설명하는 집합 연산을 이용하면, 복수의 컨테이너 이미지 간 식별자를 비교해 이미지들에서 중복적으로 사용되는 레이어를 파악할 수 있고, 컨테이너 이미지의 수가 많아지더라도 정합성에 문제없이 이미지를 생성할 수 있는 장점을 갖는다.
이하 이미지 생성부(310)가 집합 연산을 이용하여 새로운 이미지를 생성하는 과정을 의사코드로 설명하면, 다음 [표 1]과 같다.
IMAGE_KEY as tf_1.0
FROM BASE IMAGE STORAGE
A = GET KEY IMAGE_KEY

FROM AI IMAGE STORAGE
B = GET KEY IMAGE_KEY

# SET 0
FROM INTERSECTION A B
# SET 1
AFTER SUBTRACT A B
# SET 2
AFTER SUBTRACT B A
CMD ["./http_server"]
첫번째 줄의 IMAGE_KEY as tf_1.0를 통해 연산에 사용되는 이미지의 키가 tf_1.0임을 선언하고, 해당 키에 IMAGE_KEY라는 이름을 부여한다.
두번째 줄과 세번째 줄의 FROM BASE IMAGE STORAGE, A = GET KEY IMAGE_KEY를 통해 베이스 이미지 저장장치(330)로부터 키가 tf_1.0인 베이스 이미지(510)를 로드하고, 이를 A라는 변수에 할당한다.
네번째 줄의 FROM 절과 B = GET KEY IMAGE_KEY를 통해 인공지능 이미지 저장장치(340)에서 키가 tf_1.0인 이미지의 내용물과 식별자를 로드하고, 이를 B라는 변수에 할당한다.
위의 과정은 인공지능 프레임워크의 종류와 버전에 해당하는 키를 이용하여 베이스 이미지 저장장치(330)와 인공지능 이미지 저장장치(340)로부터 해당 키에 대응되는 이미지와 식별자를 로드하는 과정이다. 이때, 로드하는 이미지와 식별자는 모두 사본이므로 쓰기(Write) 연산을 수행해도 저장장치에 저장되어 있는 원본에는 영향을 미치지 않는다.
이후 이미지 생성부(310)는 베이스 이미지(510) A와 인공지능 이미지(520) B의 교집합(Intersection), 즉 A와 B를 구성하는 원소인 레이어의 식별자를 비교하여 공통되는 식별자에 해당하는 파일 및 디렉토리를 복사하여 SET 0에 대응시킨다. 즉 SET 0은 생성될 인공지능 어플리케이션 이미지(530)의 레이어 0부터 레이어 2에 해당하며, 베이스 이미지(510)의 역할을 할 수 있다.
이미지 생성부(310)는 베이스 이미지(510) A와 인공지능 이미지(520) B의 차집합(Subtract)을 구하여, A-B를 SET 1에, B-A를 SET 2에 각각 부여한다. 이들은 베이스 이미지(510)의 상위 레이어를 생성한다.
이미지 생성부(310)는 연산 결과의 식별자에 해당되는 파일 및 디렉토리를 복사하고, 새로운 집합을 생성한다. 표 1의 의사코드와 같이 복수의 컨테이너 이미지 레이어를 사용하여 집합 연산하는 과정은 자동화 스크립트로 구현될 수 있다.
이미지 생성부(310)는 식별자를 이용한 집합 연산을 통해 레이어를 비교, 추가, 삭제할 수 있고, 중복된 레이어뿐만 아니라 각 이미지가 고유하게 가지고 있는 레이어를 효과적으로 활용하여 새로운 이미지를 생성할 수 있다.
도 9는 한 실시예에 따른 사용자가 인공지능 어플리케이션 이미지에 접근하는 방법의 흐름도이다.
도 9를 참고하면, 권한이 있는 것으로 인증된 사용자(400)는 인공지능 모델 관리 서버(300)로부터 키를 발급받아, 임의의 인공지능 어플리케이션 이미지(530)를 사용할 수 있다. 이때 사용자(400)에게 발급되는 키는, 인공지능 어플리케이션 이미지 저장장치(350)에 포함된 키와 동일한 것일 수 있다.
사용자(400)는 인증키 관리부(320)에 특정 인공지능 어플리케이션 이미지(530)를 요청한다(S110).
인증키 관리부(320)는 사용자의 접근 권한을 확인하기 위해 인증을 요청한다(S120). 인증 방법의 한 예로서, 인공지능 모델 관리 서버(300)에 등록된 사용자(400)의 아이디와 비밀번호를 요청하는 로그인 프로세스가 진행될 수 있다.
사용자(400)는 요청한 인증을 진행한다(S130). 로그인 방식으로 진행되는 경우, 사용자(400)는 인공지능 모델 관리 서버(300)에 가입시 사용한 아이디와 비밀번호를 입력할 수 있다.
사용자 인증이 성공하면(S140), 인증키 관리부(320)는 사용자(400)가 특정한 인공지능 어플리케이션 이미지(530)에 대응하는 키를 전송한다(S150).
사용자(400)는 인공지능 어플리케이션 이미지 저장장치(350)에, 발급된 키를 포함한 인공지능 어플리케이션 이미지 요청을 전송한다(S160).
인공지능 어플리케이션 이미지 저장장치(350)는 사용자(400)가 보낸 키에 대응되는 인공지능 어플리케이션 이미지(530)를 사용자(400)에게 제공한다(S170).
본 발명에서 컨테이너 이미지를 생성하기 위해 제안하는 방법을 다중 레이어 단계 연산(Multi-Layer-Stage-Set)이라 호칭할 수 있다. 이는 컨테이너 이미지가 복수의 레이어로 구성되어 있으며, 각 레이어에 단계를 부여하고 집합 연산을 통해 원하는 레이어만을 추출하는 것을 의미한다.
본 발명에 따르면, 인공지능 모델과 어플리케이션이 컨테이너 이미지로 관리되기 때문에, 컨테이너 런타임 환경만 존재하면 별도의 컨테이너 배포 관리 툴이 없어도 실행할 수 있어, 쉽게 서비스화 할 수 있다.
또한 본 발명에 따르면, 식별자를 이용하여 집합 연산하므로 이미지 또는 레이어의 정보가 변경되는 경우에도 코드를 직접 수정할 필요 없이 이미지 생성이 가능하여 자동화 방식을 구축할 수 있고, 컨테이너 이미지의 파일 이름과 디렉토리 등 정확한 정보가 부족한 경우에도 컨테이너 이미지의 생성이 가능하여 멀티 스테이지 방식에 비해 효율적으로 새로운 이미지를 생성할 수 있다.
또한 본 발명에 따르면, 인공지능 모델, 인공지능 어플리케이션, 인터페이스, 런타임 환경이 모두 분할되어 각각 저장되므로, 서로간의 의존성을 효율적으로 관리 및 수정이 가능하고, 엔지니어의 역할이 구분되어 협력에 관한 시간과 비용을 줄일 수 있으므로 추가적인 인공지능 모델에 대한 확장 등 새로운 기능 추가에 유연하게 대응할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (13)

  1. 컨테이너 기반의 인공지능 모델 관리 서버가 컨테이너 이미지를 생성하는 방법으로서,
    임의의 인공지능 프레임워크의 실행 파일들과 통신 인터페이스를 포함하는 베이스 이미지를 생성하는 단계,
    인공지능 모델을 포함하는 인공지능 이미지를 생성하는 단계, 그리고
    상기 베이스 이미지와 상기 인공지능 이미지를 집합으로 하고, 상기 베이스 이미지를 구성하는 복수의 레이어들의 식별자들과 상기 인공지능 이미지를 구성하는 복수의 레이어들의 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하고, 임의의 집합 연산에 따른 식별자들에 대응되는 레이어들을 포함하는 인공지능 어플리케이션 이미지를 생성하는 단계,
    를 포함하고,
    상기 인공지능 어플리케이션 이미지는, 컨테이너 런타임 환경이 구축되면 실행 가능한, 컨테이너 이미지 생성 방법.
  2. 제1항에서,
    상기 베이스 이미지는 ,
    상기 임의의 인공지능 프레임워크의 런타임 의존성, CUDA(Computed Unified Device Architecture) 라이브러리, 통신 인터페이스 의존성 중 적어도 하나를 포함하는, 컨테이너 이미지 생성 방법.
  3. 제1항에서,
    상기 인공지능 이미지는,
    상기 인공지능 모델, 상기 인공지능 모델 개발에 활용된 인공지능 프레임워크의 런타임 의존성, CUDA(Computed Unified Device Architecture) 라이브러리 중 적어도 하나를 포함하는, 컨테이너 이미지 생성 방법.
  4. 제1항에서,
    상기 인공지능 이미지를 생성하는 단계는,
    상기 인공지능 이미지와 대응되는 암호가 생성되는 단계를 포함하는, 컨테이너 이미지 생성 방법.
  5. 제1항에서,
    상기 인공지능 어플리케이션 이미지를 생성하는 단계는,
    상기 베이스 이미지와 상기 인공지능 이미지를 구성하는 복수의 레이어들 각각에 대해, 암호화 알고리즘을 이용하여 각 레이어에 포함된 파일 또는 디렉토리의 내용물을 암호화 한 식별자를 추출하는 단계,
    상기 베이스 이미지의 레이어들에 대응하는 식별자들과 상기 인공지능 이미지의 레이어들에 대응하는 식별자들 중 공통된 식별자들을 교집합으로 하는 집합 관계를 구성하는 단계, 그리고
    상기 교집합에 해당하는 식별자들에 대응되는 레이어들을 포함하는 인공지능 어플리케이션 이미지를 생성하는 단계
    를 포함하는, 컨테이너 이미지 생성 방법.
  6. 제4항에서,
    상기 인공지능 어플리케이션 이미지를 생성하는 단계는,
    상기 인공지능 이미지의 암호를 이용하여 상기 인공지능 어플리케이션 이미지의 암호를 생성하는, 컨테이너 이미지 생성 방법.
  7. 제6항에서,
    상기 인공지능 어플리케이션 이미지를 생성하는 단계 이후에,
    사용자로부터 상기 인공지능 어플리케이션 이미지 요청을 수신하면, 상기 사용자의 권한을 확인하는 단계,
    상기 사용자의 권한이 있는 것으로 확인되면, 요청된 상기 인공지능 어플리케이션 이미지에 대응되는 인증키를 상기 사용자에게 전송하는 단계,
    상기 사용자로부터 상기 인증키를 포함한 상기 인공지능 어플리케이션 이미지 요청을 수신하는 단계, 그리고
    상기 인증키에 대응되는 상기 인공지능 어플리케이션 이미지를 제공하는 단계를 더 포함하고,
    상기 인증키는 상기 인공지능 어플리케이션 이미지의 암호를 이용하여 생성된 것인, 컨테이너 이미지 생성 방법.
  8. 컨테이너 기반의 인공지능 모델 관리 서버가 컨테이너 이미지를 생성하는 방법으로서,
    미리 저장된 제1 컨테이너 이미지와 미리 저장된 제2 컨테이너 이미지를 구성하는 각 레이어의 식별자를 추출하는 단계,
    상기 제1 컨테이너 이미지와 상기 제2 컨테이너 이미지를 집합으로 하고, 추출된 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하는 단계, 그리고
    임의의 집합 연산에 따라, 연산 결과에 포함되는 복수의 식별자들에 대응되는 레이어들을 포함하는 제3 컨테이너 이미지를 생성하는 단계
    를 포함하는, 컨테이너 이미지 생성 방법.
  9. 제8항에서,
    상기 식별자는,
    상기 제1 컨테이너 이미지 또는 상기 제2 컨테이너 이미지를 구성하는 복수의 레이어들에 대해, 암호화 알고리즘을 이용하여 각 레이어에 포함된 파일 또는 디렉토리의 내용물을 암호화 한 값인, 컨테이너 이미지 생성 방법.
  10. 제8항에서,
    상기 제1 컨테이너 이미지는 통신 인터페이스를 포함하고,
    상기 제2 컨테이너 이미지는 인공지능 모델과 상기 인공지능 모델을 개발에 이용된 인공지능 프레임워크의 런타임 의존성을 포함하고,
    상기 제3 컨테이너 이미지는 상기 인공지능 모델 기반의 어플리케이션을 포함하는, 컨테이너 이미지 생성 방법.
  11. 컨테이너 기반의 인공지능 모델 관리 서버로서,
    임의의 인공지능 프레임워크의 실행 파일들을 포함하는 베이스 이미지와 인공지능 모델을 포함하는 인공지능 이미지를 저장하는 이미지 저장장치, 그리고
    상기 베이스 이미지와 상기 인공지능 이미지를 각각 집합으로 하는 집합 연산을 수행하여 인공지능 어플리케이션 이미지를 생성하는 이미지 생성부
    를 포함하고,
    상기 인공지능 어플리케이션 이미지는 컨테이너 런타임 환경에 따라 실행 가능한, 인공지능 모델 관리 서버.
  12. 제11항에서,
    상기 이미지 생성부는,
    상기 베이스 이미지와 상기 인공지능 이미지를 집합으로 하고, 상기 베이스 이미지와 상기 인공지능 이미지를 구성하는 복수의 레이어들로부터 추출한 식별자들을 각 집합의 원소로 하는 집합 관계를 구성하고, 임의의 집합 연산에 따른 식별자에 대응되는 레이어를 포함하는 인공지능 어플리케이션 이미지를 생성하는, 인공지능 모델 관리 서버.
  13. 제11항에서,
    상기 인공지능 모델 관리 서버는,
    상기 인공지능 어플리케이션 이미지에 접근하는 사용자의 권한을 인증하고, 인증된 사용자에 한해 인공지능 어플리케이션 이미지를 제공하는 인증키 관리부
    를 더 포함하는, 인공지능 모델 관리 서버.
KR1020190131739A 2019-10-22 2019-10-22 컨테이너 기반의 인공지능 모델 관리 방법 및 서버 KR20210047763A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190131739A KR20210047763A (ko) 2019-10-22 2019-10-22 컨테이너 기반의 인공지능 모델 관리 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190131739A KR20210047763A (ko) 2019-10-22 2019-10-22 컨테이너 기반의 인공지능 모델 관리 방법 및 서버

Publications (1)

Publication Number Publication Date
KR20210047763A true KR20210047763A (ko) 2021-04-30

Family

ID=75740677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190131739A KR20210047763A (ko) 2019-10-22 2019-10-22 컨테이너 기반의 인공지능 모델 관리 방법 및 서버

Country Status (1)

Country Link
KR (1) KR20210047763A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210129413A (ko) * 2020-04-20 2021-10-28 (주)제타미디어 인공지능 기반의 히스토리 데이터 관리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210129413A (ko) * 2020-04-20 2021-10-28 (주)제타미디어 인공지능 기반의 히스토리 데이터 관리 방법

Similar Documents

Publication Publication Date Title
US11429617B2 (en) System and method for blockchain-based data synchronization
US11782904B2 (en) Advanced smart contract with decentralized ledger in a multi-tenant environment
US11868321B2 (en) Cryptographically secure multi-tenant data exchange platform
US20200349564A1 (en) System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
CN110069921B (zh) 一种面向容器平台的可信软件授权验证系统及方法
US8024564B2 (en) Automating configuration of software applications
US11853291B2 (en) Privacy preserving architecture for permissioned blockchains
CN113168622A (zh) 区块链网络中的基于字段的对等许可
US10379894B1 (en) Lineage-based trust for virtual machine images
US11038835B2 (en) Systems and methods for managing domain name information
US20220276878A1 (en) Method and apparatus for generating image file and computer-readable storage medium
US20160371071A1 (en) Account-based software upgrades in a multi-tenant ecosystem
CN117296038A (zh) 将软件库交叉发布到模块存储库
JP2020184330A (ja) パーミッションドブロックチェーンアプリケーションの継続的デリバリのための方法及び装置
JP2020197873A (ja) 情報処理システム、及び情報処理システムの制御方法
KR20210047763A (ko) 컨테이너 기반의 인공지능 모델 관리 방법 및 서버
US11704150B2 (en) Systems and methods for dynamic job performance in secure multiparty computation
CN111966994A (zh) 基于数据库的区块链鉴权方法、系统及存储介质
WO2020063002A1 (zh) 一种数据管理方法、装置和服务器
Oktay et al. Towards data confidentiality and a vulnerability analysis framework for cloud computing
US11321206B2 (en) Cluster feature activation and update system
CN115037743A (zh) 云数据库操作中的租户用户管理
JP2023538497A (ja) 編集可能なブロックチェーン
Li et al. Research and Design of Docker Technology Based Authority Management System
US20220382849A1 (en) Credentials management and usage in application modernization

Legal Events

Date Code Title Description
A201 Request for examination