KR20190028210A - 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템 - Google Patents

컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템 Download PDF

Info

Publication number
KR20190028210A
KR20190028210A KR1020170115387A KR20170115387A KR20190028210A KR 20190028210 A KR20190028210 A KR 20190028210A KR 1020170115387 A KR1020170115387 A KR 1020170115387A KR 20170115387 A KR20170115387 A KR 20170115387A KR 20190028210 A KR20190028210 A KR 20190028210A
Authority
KR
South Korea
Prior art keywords
container
artificial intelligence
developer
virtual machine
intelligence application
Prior art date
Application number
KR1020170115387A
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 KR1020170115387A priority Critical patent/KR20190028210A/ko
Publication of KR20190028210A publication Critical patent/KR20190028210A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 시스템 내에서 사용자가 원하는 리소스에 부합하는 가상 머신을 생성하고 인공지능 어플리케이션을 실행하고 배포하는 기술에 대한 것으로, 낮은 비용으로 인공지능 어플리케이션을 컨테이너 기반으로 신속하게 배포해 주는 서비스와 시스템에 관한 것이다.
이를 위하여 본 발명은
클라우드 환경에서 인공지능 어플리케이션을 컨테이너 형태로 배포하는 서비스에서 개발자의 아이디와 패스워드로 신원을 확인하는 단계, 개발자 별로 사용 가능한 물리 자원을 확인 하고 가상 머신 생성 가능 유무를 확인하는 단계, 개발자의 인공지능 어플리케이션을 실행하기 위해 가상 머신을 생성하고 컨테이너 클러스터를 구성하는 단계, 및개발자가 신경망 모델을 업로드하고 신경망 모델을 사용하는 인공지능 어플리케이션을 컨테이너 형태로 생성하는 단계로 이루어져 클라우드 환경에서 인공지능 어플리케이션을 컨테이너 형태로 배포하는 방법에 있다.

Description

컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템 {CLOUD SERVICE METHOD AND SYSTEM FOR DEPLOYMENT OF ARTIFICIAL INTELLIGENCE APPLICATION USING CONTAINER}
본 발명은 클라우드 시스템 내에서 사용자가 원하는 리소스에 부합하는 가상 머신을 생성하고 인공지능 어플리케이션을 실행하고 배포하는 기술에 대한 것으로, 낮은 비용으로 인공지능 어플리케이션을 컨테이너 기반으로 신속하게 배포해 주는 서비스와 시스템에 관한 것이다.
클라우드 컴퓨팅의 등장과 관련 기술의 발전으로 기업 내에 전산실을 구축하지 않고도 컴퓨팅 환경을 구축할 수 있게 되었다. 또한 클라우드 컴퓨팅 환경의 사용료가 저렴하고, 더 이상 필요하지 않을 경우 사용 중인 클라우드 자원을 해제함으로써 경제적인 IT 인프라 운영을 할 수 있게 되었다. 웹 브라우저를 통해서 컴퓨팅 환경을 손 쉽게 구축할 수 있기 때문에 컴퓨팅 환경 구축 시간 또한 매우 짧다는 장점이 있다. 이와 같은 클라우드 컴퓨팅 서비스가 가능해진 이유는 가상화 기술과 인터넷 기술의 발전으로 비롯된 것이며, 대표적인 글로벌 클라우드 사업자로 Amazon, Google, Microsoft, IBM 등이 있다.
2015년 이후로 머신러닝, TensorFlow, 알파고 등의 등장으로 인공지능 기술이 높은 수준에 도달했고 다양한 산업 분야에서의 활용 가능성을 보이면서 폭발적인 주목을 받기 시작했다. 하지만 이러한 인공지능 기술은 고속 병렬처리 기술과 고도화된 IT 인프라 환경을 필수적으로 요구하고 있다. 고속 병렬처리 기술은 일반적으로 GPU를 기반으로 CUDA 라이브러리를 이용한 병렬처리가 이루어지고 있다. 고도화된 IT 인프라의 경우, 다양한 인공지능 프레임워크와 라이브러리를 제공해야 하고 GPU 관련 드라이버를 지원해야 하기 때문에 다양한게 운영체제를 커스터마이징 하는 과정이 필수적이라 할 수 있다. 이와 같은 상황을 고려했을 때, 경제적인 IT 인프라를 제공하는 클라우드 컴퓨팅 환경에서 정형화 된 IT 인프라를 제공하는 것은 실효성이 있지만, 인공지능 서비스를 위해 다양한 IT 인프라 환경과 고성능 GPU를 제공해야 한다는 점에서는 일부분 적합하지 않기도 하다.
인공지능 분야에서는 TensorFlow의 등장으로 신경망 또는 머신러닝 기술과 이를 이용한 제품 및 서비스가 활발하게 개발되고 있다. TensorFlow는 방대한 데이터를 활용해 신명망 모델을 학습시키는 소프트웨어이다. 신경망을 이용한 인공지능 개발은 통신, 금융, 의료, 광고 등 다양한 분야에서 활용되고 있으며, 각 분야 별로 목적에 부합하는 신경망 모델을 TensorFlow로 개발하고 기업 내에 보유하고 있는 방대한 데이터로 학습을 시켜 다양한 정보와 지식을 획득하고 있다. 인공지능 연산에 핵심이 되고 있는 신경망 연산은 병렬처리를 기반으로 하고 있으며, 이는 GPU를 이용할 경우 더욱 빠르게 신명망 모델을 학습시킬 수 있다. 이러한 이유로 신경망 개발에 있어서 GPU 사용이 필수적으로 요구되고 있다.
또한 TensorFlow Serving은 TensorFlow로 개발하고 학습시킨 신경망 모델을 사용할 수 있는 웹 인터페이스를 제공한다. 예를 들면, 신경망 모델의 입력 데이터를 HTTP 요청 메시지에 담아 TensorFlow Serving 서버로 보내면, TensorFlow Serving 서버는 HTTP 요청 메시지에서 입력 데이터를 출력하여 신경망 연산을 수행하고 그 결과값을 HTTP 응담 메시지로 반환한다. 그리고 TensorFlow Serving은 신경망 연산 시, GPU를 이용한 연산 처리를 또한 제공하고 있다. 사용자에게 유효한 인공지능 서비스를 제공하기 위해서는 TensorFlow에서의 신경망 모델 학습에서만 GPU를 사용하는게 아니라, 학습된 신경망 모델을 이용해 연산 서비스를 제공하는 TensorFlow Serving에서도 GPU의 사용이 요구되고 있다.
한편으로는, 클라우드 컴퓨팅과 달리 컨테이너 기술이 주목 받고 있다.
클라우드 컴퓨팅은 물리적인 자원을 가상화하여 제공하는 기술이라면, 컨테이너 기술은 소프트웨어의 실행환경을 가상화하여 제공한다는 점에서 차이가 있다. 컨테이너 기술은 클라우드 컴퓨팅에서의 가상화 과정에서 발생하는 성능 손실이 적고, 어떤 환경이든 개발된 소프트웨어의 배포가 가능하다는 장점이 있다. 하지만, 컨테이너는 클라우드 컴퓨팅과 달리 프로세스를 기반으로 구동되기 때문에 컨테이너의 상태를 저장하였다가, 정지/재실행/복구 등의 기능을 제공하기 어렵다는 단점도 있다. 클라우드 컴퓨팅과 컨테이너의 장단점을 보완하기 위해서 두 가지 기술을 결합하여 시스템을 개발하는 시도도 이루어지고 있다.
정리하자면, 인공지능의 신경망 기술이 발전하면서 다양한 분야에 활용되고 있고, GPU와 같은 고성능 자원과 복잡한 IT 인프라를 요구하고 있는 상황에서 정형화 된 IT 인프라를 가상화하여 경제적으로 제공하는 클라우드 컴퓨팅에서 복잡한 요구사항을 반영하기에 어려운 상황에 도달하고 있는 상황이다.
인공지능 기술이 발달하면서 다양한 산업 분야에서 인공지능을 활용한 제품과 서비스들이 활발하게 연구개발을 진행하고 있다. 하지만, 인공지능 어플리케이션 또는 서비스를 개발하기 위해서는, 복잡한 인프라를 구축과 고성능 컴퓨팅 자원의 사용이 필수적으로 요구되고 있다. 이와 같은 요구사항으로 인해, 인공지능 서비스 개발에 많은 시간과 비용이 소요되고 있으며, 인공지능과 인프라 개발자들 간에 협업 과정에서 개발자들 간 이해관계와 간극의 차이로 인해 인공지능을 활용한 제품과 서비스의 개발이 지연되는 문제가 발생하고 있다.
따라서 본 발명에서의 해결 수단은, 인공지능 프레임워크 또는 라이브러리가 구동 가능한 환경을 컨테이너로 제공하고, 컨테이너의 실행 환경과 자원을 클라우드 컴퓨팅 환경으로 제공하며, 웹 브라우저를 통해서 인공지능 어플리케이션 및 인프라에 대한 생성과 관리를 할 수 있는 인터페이스를 제공함으로써 과제를 해결하고자 한다.
이상에서 설명한 바와 같이, 본 발명은 웹 인터페이스를 통해서 인공지능 어플리케이션을 실행할 인프라를 생성 및 관리하고, 컨테이너를 기반으로 인공지능 어플리케이션을 구동할 수 있게 함으로써 인공지능 서비스의 개발에 소요되는 시간과 비용을 절감하는 효과를 얻을 수 있다.
도 1은 본 발명의 시스템 구성도이다.
도 2는 도 1의 컨트롤러 노드의 세부 구성도이다.
도 3은 도 1의 컴퓨트 노드의 세부 구성도이다.
도 4는 본 발명에서의 인공지능 어플리케이션을 실행하기 위해 컨테이너 클러스터를 생성하는 흐름도이다.
도 5는 도 4의 과정에 의해 생성된 컨테이너 클러스터 환경에서 인공지능 어플리케이션을 생성하는 흐름도이다.
도 6은 개발자 별로 사용 가능한 클라우드 자원 정보를 나타내는 데이터의 구조도이다.
도 7은 개발자 별로 사용 중인 클라우드 자원 정보를 나타내는 데이터의 구조도이다.
도 8은 개발자가 별로 생성한 가상 머신의 정보를 나타내는 데이터의 구조도이다.
도 9는 개발자 별로 생성한 컨테이너 클러스터 정보와 클러스터를 구성하는 가상 머신 정보를 나타내는 데이터의 구조도이다.
도 10은 개발자 별로 생성한 인공지능 어플리케이션 컨테이너 정보와 컨테이너가 실행되고 있는 클러스터 및 가상 머신 정보를 나타내는 데이터의 구조도이다.
상기의 목적을 달성하기 위한 본 발명은, 사용자로부터 컨테이너 클러스터 생성과 인공지능 어플리케이션 배포 요청을 받아 가상 머신을 생성을 제어하고 컨테이너 클러스터를 구성하여 인공지능 어플리케이션을 컨테이너 형태로 배포하는 과정을 실시하는 컨트롤러 노드와, 컨트롤러 노드의 제어를 받아 가상 머신을 생성하고 인공지능 어플리케이션을 컨테이너 형태로 실행하는 컴퓨트 노드로 구성되어 있는 것이 특징이다.
이하, 도면을 활용해 본 발명을 실시하기 위한 구체적인 내용을 설명한다.
도 1은 본 발명을 전체 구성을 나타내는 시스템 구성도로, 인공지능 어플리케이션/서비스 개발자(130)는 Tensor와 같은 인공지능 라이브러리를 이용해 신경망 모델을 개발하고 학습을 시켜 신경망 모델 파일(140)을 생성한다. 신경망 모델 파일이 구비된 개발자는 이를 이용한 인공지능 어플리케이션을 배포하기 위해서 컨트롤러 노드(110)에 웹 브라우저로 접속하여 인공지능 어플리케이션을 실행할 컨테이너 클러스터 구성을 요청한다. 이와 같은 요청을 받은 컨트롤러 노드(110)는 가상 머신을 생성할 컴퓨트 노드(120)를 선정하고 가상 머신 생성을 명령하고, 명령을 받은 컴퓨트 노드(120)는 가상 머신을 생성하고, 가상 머신 생성이 완료되면 컨트롤러 노드(110)에서 가상 머신이 생성된 컴퓨트 노드(120)로 컨테이너 클러스터 구성을 명령하고, 명령을 받은 컴퓨트 노드(120)는 생성된 가상 머신에 대해서 컨테이너 클러스터 구성을 실시한다. 인공지능 어플리케이션/서비스 개발자(130)는 컨트롤러 노드(110)로 신경망 모델 파일(140)을 업로드 하고 생성된 컨테이너 클러스터에서의 TensorFlow Serving과 같은 인공지능 어플리케이션이 컨테이너로 생성 및 배포되도록 요청한다. 이와 같은 요청을 받은 컨트롤러 노드(110)는 인공지능 어플리케이션/서비스 개발자(130)가 지정한 컨테이너 클러스터에 신경망 모델 파일(140)이 반영하여 TensorFlow Serving과 같은 인공지능 어플리케이션을 컨테이너 형태로 생성 및 배포를 컴퓨트 노드(120)에 명령하고, 명령을 수신한 컴퓨트 노드(120)는 컨테이너 생성을 수행한다. 그리고 인공지능 어플리케이션/서비스 사용자(150)는 신경망에 사용된 입력 데이터를 인공지능 어플리케이션을 구동하는 컨테이너로 보내고, 신경망 연산의 결과값을 응답 받게 된다.
위와 같은 본 발명의 상세한 구성은 도 2, 도 3을 참조하여 설명하면 다음과 같다.
도 2는 컨트롤러 노드(110)의 세부 구성도로 일반적인 컴퓨터 구조와 같이, 컴퓨팅 하드웨어, 네트워크 하드웨어, 저장소 하드웨어와 운영체제의 탑재를 기본으로 하고, 인공지능 어플리케이션/서비스 개발자(130) (이하 “개발자”라 칭함)의 요청을 받는 웹 서버(210), 개발자의 인증을 관리하는 인증 처리부(220), 개발자 별로 서비스를 요청할 수 있는 범위는 관리하는 사용자 관리부(230), 컴퓨트 노드(120)의 가상 머신 생성을 제어하고 가용한 물리 자원과 가상 머신의 물리 자원 사용 정보를 관리하는 리소스 제어/관리부(240), 생성된 가상 머신을 컨테이너 클러스터로 구성을 제어하고 구성된 컨테이너 정보를 관리하는 컨테이너 제어/관리부(250), 인공지능 어플리케이션을 컨테이너 형태로 배포하는 것을 제어하고 실행중인 컨테이너 정보를 관리하는 어플리케이션 제어/관리부(260)로 구성된다.
도 3은 컴퓨트 노드(120)의 세부 구성도로 도 2에서 나타난 컨트롤러 노드(110)와 마찬가지로 일반적인 컴퓨터 구조를 기본으로 하고, 가상 머신을 생성하고 제어하는 머신 가상화 계층(310), 머신 가상화 계층(310)에 의해서 생성되어 인공지능 어플리케이션에 가상화된 자원을 제공하는 가상 머신(320), 가상 머신(320) 내에 설치되어 인공지능 어플리케이션을 컨테이너로 생성하고 제어하는 컨테이너 가상화 계층(330), 컨테이너 가상화 계층(330)을 포함하는 가상 머신(320)의 그룹을 형성하여 생성되는 컨테이너 클러스터(340), 컨테이너 클러스터(340)에서 컨테이너 형태로 실행되고 있는 인공지능 어플리케이션 컨테이너(350)로 구성된다.
본 발명의 상세한 동작 과정은 도 4, 도 5, 도 6, 도 7, 도 8, 도 9, 도 10을 참조하여 설명한다.
개발자(130)는 컨트롤러 노드(110)에 접속하여 로그인 요청(S401)을 한다. 개발자(130)의 아이디와 패스워드를 수신한 웹 서버(210)는 개발자(130)의 아이디와 패스워드를 인증 관리부(220)에 전달하여 인증 요청(S402) 과정을 수행한다. 인증 관리부(220)는 개발자(130)의 아이디와 패스워드를 확인하여 개발자(130)의 신원을 확인하는 인증 확인(S403) 과정을 수행한다. 신원 확인 결과는 인증 결과 응답(S404) 메시지로 작성하여 웹 서버(210)로 전달한다. 웹 서버(210)는 인증 결과 응답(S404)의 정보에 따라 로그인 재시도 화면 또는 로그인 완료 화면을 로그인 응답(S405)에 작성하여 개발자(130)에게 전달한다.
로그인이 성공적으로 완료될 경우, 개발자(130)는 컨트롤러 노드(110)로 인공지능 어플리케이션이 실행될 가상 머신의 사양과 가상 머신의 개수 등의 정보를 작성하여 컨테이너 클러스터 생성 요청(S406)을 시도한다. 이를 수신한 컨트롤러 노드(110)의 웹 서버(210)는 사용자 관리부(220)에 개발자(130)가 요청한 가상 머신을 할당할 수 있는지 확인하는 리소스 할당 가능 여부 확인 요청(S407)을 수행한다. 사용자 관리부(230)는 도 6에서 나타난 것과 같은 테이블을 가지고 있으며, 개발자(130) 별로 할당된 사용자 ID(610), 생성 가능한 가상 머신의 개수(620), 사용 가능한 CPU 개수(630), 사용 가능한 RAM 용량(640), 사용한 DISK 용량 정보(650)를 이용하여, 가상 머신 할당할 수 있는 리소스가 있는지를 확인하는 할당 가능한 리소스 확인(S408) 과정을 수행하고, 리소스 할당 가능 여부 정보를 리소스 할당 가능 여부 결과 응답(S409) 메시지에 작성하여 웹 서버(210)로 전달한다. 그리고 도 7은 개발자(130) 별로 사용 중인 리소스의 정보를 나타낸 것으로, 가상 머신 생성 시 요청한 리소스의 총합과 도 7에 나타난 개발자(130)가 사용 중인 리소스의 합이 도 6에 나타난 개발자(130) 별로 사용 가능한 리소스를 초과할 수 없다.
가상 머신 생성을 위한 리소스 할당이 가능하다면, 웹 서버(210)는 가상 머신 생성 요청(S410) 메시지를 리소스 제어/관리부(240)로 전송한다. 이를 수신한 리소스 제어/관리부(230)는 실제 가상 머신을 생성할 컴퓨트 노드(120)를 선정하는 컴퓨트 노드 스케줄링(S411) 과정을 수행한다. 컴퓨트 노드(120) 선정이 완료되면, 선정된 컴퓨트 노드(120)에 가상 머신 생성 요청(S412) 메시지를 전송한다. 이를 수신한 컴퓨트 노드(120)는 머신 가상화 계층(310)에 명령을 보내 컨테이너 가상화 계층(330)을 포함하는 가상 머신(320) 생성하는 가상 머신 생성(S413) 과정을 수행한다. 가상 머신 생성이 완료되면, 도 8에서 나타난 것과 같이 개발자(130)가 생성한 가상 머신 정보를 작성하여 추가한다. 완료 정보를 가상머신 생성 완료 응답(S414) 메시지에 작성하여 리소스 제어/관리부(240)로 전달한다. 이를 수신한 리소스 제어/관리부(240)는 웹 서버(210)로 다시 전달을 하게 된다.
이 과정을 통해서 가상 머신 생성이 완료되었음을 확인한 웹 서버(210)는 컨테이너 클러스터 생성(S416)을 요청하는 메시지를 컨테이너 제어/관리부(250)로 전송한다. 이를 수신한 컨테이너 제어/관리부(250)는 컨테이너 클러스터 생성을 위해 생성한 가상 머신을 대상으로 Kubernetes와 같은 컨테이너 오케스트레이션 툴을 이용해 컨테이너 클러스터 형성(S418) 과정을 수행한다. 클러스터 형성이 완료되면, 완료 정보를 클러스터 형성 완료 응답(S419) 메시지에 작성하여 컨테이너 제어/관리부(250)에 전달한다. 이를 수신한 컨테이너 제어/관리부(250)는 도 9에서 나타난 것과 같이 개발자 ID(910), 생성된 컨테이너 클러스터 ID(920), 컨테이너 클러스터를 구성하는 가상 머신 ID 등의 정보를 기록하여 관리하고, 클러스터 형성 완료 응답(S420)을 웹 서버로 전달한다. 웹 서버는 클러스터 형성 완료 응답(S420) 메시지에 따라 컨테이너 클러스터 생성 완료 화면 또는 클러스터 생성 실패 화면을 개발자(130)에게 전달하게 된다.
인공지능 어플리케이션 컨테이너(350)를 실행할 컨테이너 클러스터(340) 생성이 완료되면, 도 5에 나타난 것과 같이, 개발자(130)는 인공지능 어플리케이션 배포 과정을 진행하게 된다. 개발자(130)는 TensorFlow와 같은 인공지능 라이브러리로 학습된 신경망 모델 파일(140)을 준비하고 학습된 모델 파일 업로드(S501)를 진행한다. 신경망 모델 파일(140)을 수신한 웹 서버(210)는 모델 파일 저장(S502) 과정을 수행하고, 완료되면 모델 파일 업로드 완료 응답(S503) 메시지를 개발자(130)에게 전달한다.
신경망 모델 파일(140)이 성공적으로 업로드 되었으면 다음 과정으로, 개발자(130)는 인공지능 어플리케이션에서 사용할 신경망 모델 파일명, 인공지능 어플리케이션을 실행할 컨테이너 개수, 컨테이너를 실행할 컨테이너 클러스터 정보 등을 작성하여 인공지능 어플리케이션 생성 요청(S504) 메시지를 웹 서버(210)로 전송한다. 이를 수신한 웹 서버(210)는 인공지능 어플리케이션 생성 요청(S505) 메시지를 어플리케이션 제어/관리부(260)로 전달한다. 어플리케이션 제어/관리부(260)는 인공지능 어플리케이션 생성 요청(S505) 메시지에 작성되어 있는 컨테이너 클러스터(340)에 TensorFlow Serving과 같은 인공지능 어플리케이션이 컨테이너 형태로 구동되도록 컨테이너 생성 요청(S506)을 실시한다. 이와 같은 요청을 받은 컨테이너 클러스터는 인공지능 어플리케이션 컨테이너(340)에서 사용할 신경망 모델 파일 정보를 포함하는 모델 파일 요청(S507) 메시지를 웹 서버(210)로 전송한다. 이를 수신한 웹 서버(210)는 신경망 모델 파일 정보에 해당하는 신경망 모델 파일을 S508과 같이 컨테이너 클러스터로 전송한다. 전송이 완료되면, 컨테이너 클러스터(340)는 TensorFlow Serving과 같은 인공지능 어플리케이션을 컨테이너로 생성하며, 웹 서버(210)로부터 수신한 신경망 모델 파일(140)을 적용시키며, 개발자(130)가 요청한 컨테이너 개수만큼 컨테이너를 복제하여 생성한다. 이렇게 복제되어 생성한 컨테이너는 인공지능 어플리케이션/서비스 사용자(150)의 요청에 대한 부하를 분산시키는 역할을 하게 된다. 이와 같은 컨테이너 생성 및 실행(S509) 과정이 완료되면, 컨테이너 클러스터(340)는 컨테이너 생성 완료 응답(S510)을 어플리케이션 제어/관리부(260)로 전송한다. 이를 수신한 어플리케이션 제어/관리부(260)은 도 10과 같이 나타난 데이터 구조를 이용해 개발자 별로 생성한 인공지능 어플리케이션 컨테이너 정보를 관리한다. 그리고 Access Information(1050)는 인공지능 어플리케이션이 컨테이너 형태로 생성되면 발급되는 접속 정보이다. 이 정보는 인고지능 어플리케이션/서비스 사용자(150)가 컨테이너에 접근할 때 사용된다. 컨테이너 생성 정보 처리가 완료되면 어플리케이션 제어/관리부(260)는 컨테이너 생성 완료 응답(S511)을 웹 서버(210)로 전달한다.
웹 서버(210)는 컨테이너 생성 완료 응답(S511)에 따라, 인공지능 어플리케이션 배포 현황 정보에 대한 화면 정보를 인공지능0 어플리케이션 생성 완료 응답(S512) 메시지에 담아 개발자(130)에게 전송한다.
도 6, 도 7, 도 8, 도 9, 도 10은 본 발명의 서비스와 시스템을 구현하기 위해서 초소한으로 사용되는 정보이고, 요구사항에 따라 데이터 및 정보를 추가하는 것이 가능하다.

Claims (3)

  1. 클라우드 환경에서 인공지능 어플리케이션을 컨테이너 형태로 배포하는 서비스에서,
    개발자의 아이디와 패스워드로 신원을 확인하는 단계;
    개발자 별로 사용 가능한 물리 자원을 확인 하고 가상 머신 생성 가능 유무를 확인하는 단계;
    개발자의 인공지능 어플리케이션을 실행하기 위해 가상 머신을 생성하고 컨테이너 클러스터를 구성하는 단계; 및
    개발자가 신경망 모델을 업로드하고 신경망 모델을 사용하는 인공지능 어플리케이션을 컨테이너 형태로 생성하는 단계;
    를 포함하는, 클라우드 환경에서 인공지능 어플리케이션을 컨테이너 형태로 배포하는 방법.
  2. 제1항에 있어서
    물리 자원 정보, 가상 머신 정보, 컨테이너 클러스터 정보, 인공지능 어플리케이션 컨테이너 정보를 생성하고 관리는 방법.
  3. 제1항에 있어서
    컨트롤러 노드의 웹 서버, 인증 관리부, 사용자 관리부, 리소스 제어/관리부, 컨테이너 제어/관리부, 어플리케이션 제어/관리부를 포함하고, 컴퓨트 노드의 머신 가상화 계층, 가상 머신, 컨테이너 가상화 계층, 컨테이너 클러스터, 인공지능 어플리케이션 컨테이너를 포함하는 클라우드 시스템.







KR1020170115387A 2017-09-08 2017-09-08 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템 KR20190028210A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170115387A KR20190028210A (ko) 2017-09-08 2017-09-08 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170115387A KR20190028210A (ko) 2017-09-08 2017-09-08 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템

Publications (1)

Publication Number Publication Date
KR20190028210A true KR20190028210A (ko) 2019-03-18

Family

ID=65949101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170115387A KR20190028210A (ko) 2017-09-08 2017-09-08 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템

Country Status (1)

Country Link
KR (1) KR20190028210A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310934A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种模型生成方法、装置、电子设备和存储介质
CN112148348A (zh) * 2019-06-28 2020-12-29 杭州海康威视数字技术股份有限公司 任务处理方法、装置及存储介质
CN113326134A (zh) * 2021-06-21 2021-08-31 易成功(厦门)信息科技有限公司 基于深度学习的虚拟资源调度系统与方法
KR20230023452A (ko) 2021-08-10 2023-02-17 한국전력공사 전력 인공지능 서비스 개발 자동화 방법 및 시스템
KR102626108B1 (ko) * 2023-07-24 2024-01-17 주식회사 마키나락스 인공지능 플랫폼에서 사용자를 인증하는 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148348A (zh) * 2019-06-28 2020-12-29 杭州海康威视数字技术股份有限公司 任务处理方法、装置及存储介质
CN112148348B (zh) * 2019-06-28 2023-10-20 杭州海康威视数字技术股份有限公司 任务处理方法、装置及存储介质
CN111310934A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种模型生成方法、装置、电子设备和存储介质
CN111310934B (zh) * 2020-02-14 2023-10-17 北京百度网讯科技有限公司 一种模型生成方法、装置、电子设备和存储介质
CN113326134A (zh) * 2021-06-21 2021-08-31 易成功(厦门)信息科技有限公司 基于深度学习的虚拟资源调度系统与方法
CN113326134B (zh) * 2021-06-21 2023-12-22 易成功(厦门)信息科技有限公司 基于深度学习的虚拟资源调度系统与方法
KR20230023452A (ko) 2021-08-10 2023-02-17 한국전력공사 전력 인공지능 서비스 개발 자동화 방법 및 시스템
KR102626108B1 (ko) * 2023-07-24 2024-01-17 주식회사 마키나락스 인공지능 플랫폼에서 사용자를 인증하는 방법

Similar Documents

Publication Publication Date Title
US11429442B2 (en) Parallel and distributed computing using multiple virtual machines
KR20190028210A (ko) 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템
US9661071B2 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
US20200356415A1 (en) Apparatus and method for depoying a machine learning inference as a service at edge systems
CN103999031B (zh) 云服务器的虚拟私有存储阵列服务
US10387179B1 (en) Environment aware scheduling
CN102946409B (zh) 从多个服务器向客户机递送单个终端用户体验
CN112104723B (zh) 一种多集群的数据处理系统及方法
CN103019802B (zh) 一种虚拟机管理方法及平台
CN104813614A (zh) 用于iaas的管理的异步框架
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
US10728169B1 (en) Instance upgrade migration
CN109992373B (zh) 资源调度方法、信息管理方法和装置及任务部署系统
Kijsipongse et al. A hybrid GPU cluster and volunteer computing platform for scalable deep learning
KR20210105378A (ko) 프로그래밍 플랫폼의 사용자 코드 작동 방법 및 플랫폼, 노드, 기기, 매체
WO2022184495A1 (en) Serverless runtime container allocation
CN115543615A (zh) 一种资源分配方法、装置、电子设备及存储介质
Guo et al. IC cloud: Enabling compositional cloud
Baresi et al. Towards vertically scalable spark applications
CN107528871A (zh) 存储系统中的数据分析
KR102341377B1 (ko) 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법
CN113391925A (zh) 云资源管理方法、系统、介质、计算机设备
Schwarzkopf Cluster Scheduling for Data Centers: Expert-curated Guides to the Best of CS Research: Distributed Cluster Scheduling
Park et al. Cloud computing platform for GIS image processing in U-city
US11809911B2 (en) Resuming workload execution in composed information handling system