KR102377628B1 - 인공지능 서비스에 대한 성능 관리 장치 및 방법 - Google Patents

인공지능 서비스에 대한 성능 관리 장치 및 방법 Download PDF

Info

Publication number
KR102377628B1
KR102377628B1 KR1020200012442A KR20200012442A KR102377628B1 KR 102377628 B1 KR102377628 B1 KR 102377628B1 KR 1020200012442 A KR1020200012442 A KR 1020200012442A KR 20200012442 A KR20200012442 A KR 20200012442A KR 102377628 B1 KR102377628 B1 KR 102377628B1
Authority
KR
South Korea
Prior art keywords
artificial intelligence
data
performance
model
processor
Prior art date
Application number
KR1020200012442A
Other languages
English (en)
Other versions
KR20210055560A (ko
Inventor
김영민
강현중
김태환
김현재
안후영
유태완
이연희
이호성
임완선
표철식
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20210055560A publication Critical patent/KR20210055560A/ko
Application granted granted Critical
Publication of KR102377628B1 publication Critical patent/KR102377628B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 성능 관리 장치는, 복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 관측 데이터에 대응하는 예측 데이터를 획득하고, 상기 예측 데이터와 관련된 레이블 데이터를 획득하고, 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고, 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택할 수 있다.

Description

인공지능 서비스에 대한 성능 관리 장치 및 방법{Apparatus and Method for Managing Performance about Artificial Intelligent Service}
본 문서에서 개시되는 다양한 실시 예들은, 인공지능 모델의 성능 유지 기술과 관련된다.
인공지능 기술은 주어진 데이터에 대한 식별 정확도가 높은 인공지능 모델을 개발하는데 집중되어 있다. 예를 들어, 인공지능 모델은 주어진 사진을 확인하고 사진에 포함된 객체가 개인지 고양이인지를 정확히 식별하도록 개발되었다. 그런데, 인공지능 모델은 학습 데이터에 기반하여 설계되므로, 실제 필드에서는 학습 시에 비해 정확도가 떨어질 수 있다.
이 같이, 인공지능 모델은 실제 필드에 적용했을 경우에 하기와 같은 이유로 정확도가 떨어질 수 있다. 첫째, 학습 환경과 달리, 실제 IoE(internet of everything) 환경에서는 센서 특성으로 인한 결측치 및 주변 환경 잡음으로 인한 이상치가 빈번히 발생할 수 있다. 둘째, 배치(batch) 형식으로 이뤄지는 학습 시에는 복잡하고 다양한 전처리 기법을 마음껏 사용하여 인공지능 모델을 생성할 수 있다. 하지만, 실제 환경에서는 상기 복잡한 전처리 기법을 적용할 수 없어 예측 정확도가 상당히 떨어질 수 있다. 셋째, 실제 IoE 환경에서 측정되는 데이터는 환경에 따라 실시간으로 달라질 수 있는데, 학습 데이터에 기반하여 설계된 인공지능 모델은 이러한 변화를 반영하지 못할 수 있다. 예를 들어, 교통 상황은 사고나 이벤트성 행사에 따라 관측 데이터의 특성이 변화할 수 있다. 하지만, 교통 예측 서비스를 위한 인공지능 모델은 상기 교통 상황에 따른 변화를 반영할 수 없어 예측 정확도가 떨어질 수 밖에 없다.
본 문서에 개시되는 다양한 실시 예들은 서비스되고 있는 인공지능 서비스의 성능을 평가 및 관리할 수 있는 인공지능 서비스에 대한 성능 관리 장치 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 성능 관리 장치는, 복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 관측 데이터에 대응하는 예측 데이터를 획득하고, 상기 예측 데이터와 관련된 레이블 데이터를 획득하고, 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고, 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 성능 관리 방법은, 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 예측 데이터를 획득하는 동작; 상기 예측 데이터와 관련된 레이블 데이터를 획득하는 동작; 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하는 동작; 및 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 성능 관리 장치는, 적어도 하나의 인스트럭션 및 복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리; 및 프로세서를 포함하고, 상기 적어도 하나의 인스트럭션은, 실행 시에 상기 프로세서가, 상기 복수의 인공지능 모델들 중 상기 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 관측 데이터에 대응하는 예측 데이터를 획득하고, 상기 예측 데이터와 관련된 레이블 데이터를 획득하고, 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고, 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하도록 할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 서비스되고 있는 인공지능 서비스의 성능을 평가 및 관리할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시예에 따른 인공지능 성능 관리 시스템을 나타낸다.
도 2는 일 실시예에 따른 인공지능 플랫폼의 구성도를 나타낸다.
도 3은 일 실시예에 따른 성능 관리 장치의 구성도를 나타낸다.
도 4는 일 실시예에 따른 성능 관리 장치의 구성도를 나타낸다.
도 5는 일 실시예에 따른 레이블 데이터 구성 방법을 나타낸다.
도 6은 일 실시예에 따른 인공지능 서비스 성능 관리 방법의 흐름도를 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 일 실시예에 따른 인공지능 성능 관리 시스템을 나타낸다.
도 1을 참조하면, 일 실시예에 따른 인공지능 성능 관리 시스템(10)은 IoE 센서망(110), 사용자 단말(120), 인공지능 플랫폼(130) 및 성능 관리 장치(140)를 포함할 수 있다.
IoE 센서망(110)은 복수의 IoE 센서들을 포함하고, 각 IoE 센서들은 설치된 환경에 대한 환경 정보를 측정할 수 있다. 각 IoE 센서들은 IoE 센서망(110)을 통해 인공지능 플랫폼(130)으로 측정된 환경 정보(이하, "관측 데이터"로 언급될 수 있음)를 송신할 수 있다.
사용자 단말(120)은 인공지능 플랫폼(130)에 접속하여 인공지능 플랫폼(130)에 의해 제공되는 인공지능 서비스를 이용할 수 있다. 예를 들어, 사용자 단말(120)은 인공지능 플랫폼(130) 내 인공지능 모델에 인공지능 서비스에 따른 추론 요청을 송신하고, 인공지능 모델에 의한 추론 결과를 인공지능 플랫폼(130)으로부터 제공받을 수 있다.
인공지능 플랫폼(130)은 탑재된 인공지능 모델에 기반하여 IoE 센서망(110)으로부터 획득된 환경 정보를 분석하고, 분석 결과에 기반하여 인공지능 서비스를 제공할 수 있다. 인공지능 모델은 빅데이터(학습 데이터)에 기반하여 지정된 인공지능 서비스를 제공하도록 설계된 것일 수 있다. 인공지능 플랫폼(130)은 예를 들면, 운용자에 의해 운용되는 서비스 서버에 포함될 수 있다.
일 실시예에 따르면, 인공지능 플랫폼(130)은 IoE 센서망(110)으로부터 수집(또는, 획득)된 관측 데이터 및 인공지능 플랫폼(130)에 의한 예측 데이터를 성능 관리 장치(140)에 제공할 수 있다. 인공지능 플랫폼(130)은 현재 탑재된 인공지능 모델에 관련된 메타 정보를 성능 관리 장치(140)에 제공할 수 있다.
일 실시예에 따르면, 성능 관리 장치(140)는 상기 메타 정보 및 상기 관측 데이터에 기반하여 인공지능 플랫폼에 의하여 제공되는 서비스 성능(예: 예측 정확도)를 확인할 수 있다. 예를 들어, 성능 관리 장치(140)는 상기 메타 정보에 기반하여 인공지능 플랫폼(130)에 현재 탑재된 인공지능 모델을 탑재하고, 자체 탑재된 인공지능 모델에 기반하여 상기 관측 데이터에 대응하는 예측 데이터를 생성할 수 있다. 성능 관리 장치(140)는 예측 데이터에 대응하는 레이블 데이터를 획득하고, 레이블 데이터 및 예측 데이터에 기반하여 인공지능 플랫폼의 성능을 확인할 수 있다. 다른 예를 들어, 인공지능 플랫폼(130)이 현재 관측된 교통 속도에 기반하여 t시간 후의 교통 속도를 예측하는 경우에, 성능 관리 장치(140)는 예측된 교통 속도와 t시간 후에 관측된 교통 속도를 비교할 수 있다. 성능 관리 장치(140)는 예측된 교통 속도와 관측된 교통 속도 간 유사도에 기반하여 인공지능 모델의 예측 정확도를 확인할 수 있다.
일 실시예에 따르면, 성능 관리 장치(140)는 확인된 예측 정확도가 기준치 미만이면, 인공지능 플랫폼에 현재 탑재된 인공지능 모델(이하, "서빙 모델"로 언급될 수 있음)보다 성능이 우수한 다른 인공지능 모델을 검색할 수 있다. 예를 들어, 성능 관리 장치(140)는 메모리에 저장되어 있는 복수의 인공지능 모델들의 예측 정확도를 각기 측정하고, 예측 정확도가 가장 우수한 인공지능 모델을 검색 및 선택할 수 있다.
일 실시예에 따르면, 성능 관리 장치(140)는 선택된 인공지능 모델 관련 정보(예: 모델 고유 정보)를 인공지능 플랫폼(130)에 제공할 수 있다. 인공지능 플랫폼(130)은 선택된 인공지능 모델 관련 정보에 기반하여 인공지능 모델을 교체하여 탑재할 수 있다. 이후, 인공지능 플랫폼(130)은 교체된 인공지능 모델에 기반하여 인공지능 서비스를 제공할 수 있다.
상술한 실시예에 따르면, 인공지능 성능 관리 시스템(10)은 인공지능 서비스 성능을 실시간으로 확인하고, 실제 환경의 데이터 특성이나, 특정 이벤트로 인해 서비스 성능이 기준치를 미달할 경우에는 인공지능 모델을 교체함에 따라 인공지능 서비스의 품질을 기준치 이상으로 관리할 수 있다.
도 2는 일 실시예에 따른 인공지능 플랫폼의 구성도를 나타낸다.
도 2를 참조하면, 인공지능 플랫폼(130)은 관측 데이터에 기반하여 하나 이상의 인공지능 서비스들을 제공할 수 있다. 각 인공지능 서비스들은 개별 인공지능 모델(예: 132)에 기반하여 제공될 수 있다.
데이터 관리부(131)는 인공지능 모델을 생성하기 위하여 관측 데이터를 수집, 저장 및 관리할 수 있다. 예를 들어, 데이터 관리부(131)는 IoE 센서망(110)으로부터 IoE 센서들에 의해 측정된 관측 데이터를 수집하거나, 지정된 웹 서버(예: 공공 데이터 포털 서버)에 공개되어 있는 관측 데이터를 가져오거나, 지정된 기관 서버(예: 기상청 서버)로부터 실시간으로 제공되는 관측 데이터를 수신할 수 있다. 데이터 관리부(131)는 관측 데이터를 성능 관리 장치(140)로 재전송(redirect)할 수 있다.
서비스 기능 관리부(132)는 관측 데이터를 처리 및 구성하는 데이터 구성 기능, ML(machine learning) 파이프라인을 구성하여 인공지능 모델을 갱신하는 모델 파이프라인 구성 기능 및 구성된 인공지능 모델에 기반하여 인공지능 서비스를 제공하는 모델 관리 기능을 수행할 수 있다. 예를 들어, 서비스 기능 관리부(132)는 성능 관리 장치(140)로부터 모델 갱신 요청을 수신하면, 모델 갱신 요청에 포함된 모델 고유 정보에 따라 인공지능 모델의 ML 파이프라인을 재구성할 수 있다.
서비스 기능 관리부(132)는 각 기능들에 관련된 메타 정보를 관리할 수 있다. 상기 메타 정보는 예를 들면, 데이터 구성 정보, ML 파이프라인 구성 정보 및 모델 관리 정보 중 적어도 하나의 기능 관련 정보를 포함할 수 있다. 상기 메타 정보는 인공지능 모델의 모델 ID 정보와 관련하여 저장될 수 있다. 상기 메타 정보는 데이터베이스(150) 중 모델 저장소(151)에 저장될 수 있다. 상기 데이터베이스(150)는 인공지능 플랫폼(130)이 포함된 서비스 서버에 포함될 수 있다.
상술한 실시예에 따르면, 인공지능 플랫폼(130)은 인공지능 서비스의 성능 평가에 필요한 데이터를 성능 관리 장치(140)에 제공하고, 성능 관리 장치(140)에 의한 서비스 성능 확인 결과에 따라 인공지능 모델을 재구성함에 따라 인공지능 서비스의 성능 관리를 지원할 수 있다.
도 3은 일 실시예에 따른 성능 관리 장치의 구성도를 나타낸다.
도 3을 참조하면, 일 실시예에 따른 성능 관리 장치(140)는 데이터 관리부(310) 및 서비스 성능 제어부(320)를 포함할 수 있다.
일 실시예에 따르면, 데이터 관리부(310)는 인공지능 플랫폼(130)으로부터 재전송(redirect)되는 관측 데이터를 저장 및 관리할 수 있다. 예를 들어, 데이터 관리부(310)는 인공지능 플랫폼(130)으로부터 메시지 큐 방식(예: kafka, rabbitMQ)으로 발행되는 데이터를 구독(subscribe)함에 따라 실시간으로 관측 데이터를 획득할 수 있다. 다른 예를 들어, 데이터 관리부(310)는 인공지능 플랫폼(130) 내 지정된 데이터베이스(예: mysql, mongo DB)에 직접 접근하여 관측 데이터를 획득할 수 있다. 데이터 관리부(310)는 관측 데이터를 메모리(예: 도 4의 메모리(420))에 저장할 수 있다.
일 실시예에 따르면, 데이터 관리부(310)는 인공지능 서비스의 유형에 따라 관측 데이터를 달리 처리할 수 있다. 예를 들어, 데이터 관리부(310)는 관측 데이터 중에서 지정된 실시간성 데이터를 확인하고, 지정된 실시간성 데이터를 인-메모리(in-memory) 방식으로 처리할 수 있다. 데이터 관리부(310)는 지정되지 않은 비실시간성 데이터에 대해서는 로우 데이터베이스에 우선 저장하고, 저장된 비실시간성 데이터 중 일부 데이터를 ETL(extract, transform, load) 처리할 수 있다. 다른 예를 들어, 데이터 관리부(310)는 교통 속도 예측과 같은 실시간 인공지능 서비스에 대해서는 인-메모리 방식으로 관측 데이터를 저장 및 관리할 수 있다. 데이터 관리부(310)는 높은 정확도를 필요로 하는 배치(batch)형 인공지능 서비스에 대해서는 관측 데이터를 로우 데이터베이스(raw DB)에 우선 저장하고, 데이터 구성 모듈(321)에 의해 필요한 데이터를 로우 데이터베이스로부터 ETL 처리하여 서비스 성능 제어부(320)로 제공할 수 있다. 상기 로우 데이터베이스는 예를 들면, 데이터베이스(150)이거나, 성능 관리 장치(140)의 자체 데이터베이스(예: 메모리(420))일 수 있다.
일 실시예에 따르면, 서비스 성능 제어부(320)는 데이터 구성 모듈(321), 최적 모델 관리 모듈(322) 및 모델 성능 측정 모듈(323)을 포함할 수 있다. 데이터 구성 모듈(321), 최적 모델 관리 모듈(322) 및 모델 성능 측정 모듈(323)은 인공지능 플랫폼(130)에 의해 제공되는 인공지능 서비스 별로 각기 마련될 수 있다. 예를 들어, 데이터 구성 모듈(321), 최적 모델 관리 모듈(322) 및 모델 성능 측정 모듈(323)은 개별 인공지능 서비스에 매핑되어, 매핑된 인공지능 서비스의 성능을 제어할 수 있다.
일 실시예에 따르면, 데이터 구성 모듈(321)은 데이터 관리부(310)로부터 제공된 관측 데이터에 기반하여 검증 데이터를 구성할 수 있다. 예를 들어, 데이터 구성 모듈(321)은 인공지능 플랫폼(130)(예: 인공지능 플랫폼(130)의 데이터 관리부(131))로부터 데이터 구성 정보를 획득할 수 있다. 데이터 구성 모듈(321)은 데이터 구성 정보에 기반하여 데이터 관리부(310)에 저장된 관측 데이터로부터 특징 데이터를 추출할 수 있다. 데이터 구성 모듈(321)은 관측 데이터에 관련된 레이블 데이터를 획득하고, 특징 데이터 및 레이블 데이터를 관련시킬 수 있다. 데이터 구성 모듈(321)은 특징 데이터 및 레이블 데이터에 대해서 데이터 구성 정보에 따른 지정된 데이터 처리를 수행함에 따라 검증 데이터를 생성할 수 있다. 상기 검증 데이터는 예를 들면, 특징 데이터 및 레이블 데이터를 포함할 수 있다. 상기 지정된 데이터 처리는 인공지능 플랫폼(130)의 학습 데이터 생성 과정에서 적용된 방식과 동일한 방식의 데이터 정제 및 처리를 포함할 수 있다. 상기 레이블 데이터는 사용자에 의해 입력되거나, 관측 데이터 중 일부 데이터에 기반하여 생성될 수 있다. 상기 레이블 데이터는 특징 데이터에 기반한 인공지능 플랫폼(130)의 예측 결과에 대응하는 실측치일 수 있다.
일 실시예에 따르면, 데이터 구성 모듈(321)은 인공지능 플랫폼(130)의 데이터 처리와 성능 관리 장치(140)에 의한 데이터 처리 간의 오차를 확인할 수 있다. 예를 들어, 데이터 구성 모듈(321)은 데이터 관리부(310)를 통해 관측 데이터에 대한 인공지능 플랫폼(130)에 의한 데이터 처리 결과를 획득하고, 획득된 데이터 처리 결과와 검증 데이터 간의 처리 오차 값을 계산할 수 있다. 상기 처리 오차 값은 인공지능 플랫폼(130)과 성능 관리 장치(140) 간의 시스템 차이로 인한 오차 값일 수 있다. 데이터 구성 모듈(321)은 상기 계산된 오차 값을 인공지능 플랫폼(130)에 송신할 수 있다. 인공지능 플랫폼(130)은 상기 오차 값을 이용하여 학습 데이터 확보를 위해 사용하는 데이터 처리 기법을 변경할 수 있다.
일 실시예에 따르면, 최적 모델 관리 모듈(322)은 인공지능 플랫폼(130)에 탑재 가능한 복수의 인공지능 모델들에 관련된 모델 고유 정보를 관리할 수 있다. 상기 모델 고유 정보는 복수의 인공지능 모델들의 ID 정보를 포함할 수 있다. 상기 복수의 인공 지능 모델들은 인공지능 플랫폼(130)을 통해 현재 서비스중인 제1 인공지능 모델 및 기생성된 적어도 하나의 다른 인공지능 모델을 포함할 수 있다. 따라서, 최적 모델 관리 모듈(322)은 현재 서비스중인 제1 인공지능 모델을 구분하여 모델 고유 정보를 관리할 수 있다.
일 실시예에 따르면, 최적 모델 관리 모듈(322)은 모델 성능 측정 모듈(323)로 제1 인공지능 모델들에 대한 성능 측정 요청을 송신할 수 있다. 최적 모델 관리 모듈(322)은 상기 성능 측정 요청에 대한 응답으로 모델 성능 측정 모듈(323)로부터 제1 인공지능 모델과 관련된 모델 고유 정보와 관련된 모델 성능 정보를 획득할 수 있다. 상기 모델 성능 정보는 예를 들면, 예측 정확도를 나타내는 수치일 수 있다.
일 실시예에 따르면, 모델 성능 측정 모듈(323)은 최적 모델 관리 모듈(322)의 성능 측정 요청에 따라 실행되고, 데이터베이스(150)에 접근하여 모델 고유 정보에 대응하는 ML 파이프라인 구성 정보를 획득할 수 있다. 모델 성능 측정 모듈(323)은 획득된 ML 파이프라인 구성 정보에 따라 모델 고유 정보에 대응하는 인공지능 모델을 메모리(420)에 탑재할 수 있다. 모델 성능 측정 모듈(323)은 탑재된 인공지능 모델에 기반하여 검증 데이터(예: 특징 데이터)에 대응하는 예측 데이터를 생성할 수 있다.
모델 성능 측정 모듈(323)은 검증 데이터에 포함된 레이블 데이터와 예측 데이터 간 유사도에 기반하여 인공지능 모델의 예측 정확도를 확인할 수 있다. 모델 성능 측정 모듈(323)은 RMSE(root mean squared error), MSE(mean squared error), 정확도 및 민감도 중 적어도 하나의 성능 측정 알고리즘에 기반하여 상기 예측 정확도를 확인할 수 있다.
모델 성능 측정 모듈(323)은 확인된 예측 정확도를 포함하는 모델 성능 정보를 모델 고유 정보와 관련하여 최적 모델 관리 모듈(322)에 제공할 수 있다.
일 실시예에 따르면, 최적 모델 관리 모듈(322)은 모델 성능 정보에 기반하여 제1 인공지능 모델의 성능이 기준치 이상인지를 확인할 수 있다. 최적 모델 관리 모듈(322)은 제1 인공지능 모델의 성능이 기준치 이상이면, 적어도 다음 성능 평가 시까지 제1 인공지능 모델을 교체하지 않는 것으로 결정할 수 있다.
일 실시예에 따르면, 최적 모델 관리 모듈(322)은 제1 인공지능 모델의 성능이 기준치 미만이면, 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택할 수 있다. 예를 들어, 최적 모델 관리 모듈(322)은 복수의 인공지능 모델들에 대하여 각기 성능(예: 예측 정확도)을 확인하고, 확인된 성능에 기반하여 복수의 인공지능 모델들 중에서 가장 성능이 우수한 제2 인공지능 모델을 선택할 수 있다. 다른 예를 들어, 최적 모델 관리 모듈(322)은 모델 성능 측정 모듈(323)에 각 인공지능 모델들에 대한 성능 측정 요청을 송신하고, 성능이 기준치 이상인 인공지능 모델을 확인하면, 확인된 인공지능 모델을 제2 인공지능 모델로 결정할 수 있다.
일 실시예에 따르면, 최적 모델 관리 모듈(322)은 제2 인공지능 모델을 선택하면, 선택된 제2 인공지능 모델의 모델 고유 정보를 포함하는 모델 갱신 요청을 인공지능 플랫폼(130)에 제공할 수 있다. 인공지능 플랫폼(130)은 모델 갱신 요청을 수신하면, 모델 갱신 요청에 따라 제2 인공지능 모델을 탑재하고, 이후 제2 인공지능 모델에 기반하여 인공지능 서비스를 제공할 수 있다.
이하, 일 실시예에 따른 데이터 관리부(310)에 의한 데이터 관리 절차를 설명한다.
데이터 관리부(310)는 인공지능 플랫폼(130)으로부터 데이터를 수신하기 위한 방법을 설정할 수 있다. 예를 들어, kafka와 같은 메시지 큐 방식의 데이터 수신 및 인공지능 플랫폼(130) 내 직접 접근을 통한 데이터 수신 중 적어도 하나를 설정할 수 있다.
데이터 관리부(310)는 인-메모리 방식으로 처리되어야 하는 실시간성 데이터를 설정할 수 있다. 데이터 관리부(310)는 설정되지 않는 데이터는 비실시간성 데이터로 분류할 수 있다.
데이터 관리부(310)는 추가적으로 수신된 관측 데이터에 적용할 기본적인 ETL 기능 (ex., 결측치 및 이상치 제거 등)을 설정할 수 있다.
데이터 관리부(310)는 관측 데이터 또는 레이블 데이터를 저장할 데이터베이스 정보를 설정한다. 예를 들어, 상기 데이터를 파일에 저장할 경우, 파일 위치를 설정하고, 데이터베이스(150)에 저장할 경우에는 접속 계정 정보(예: ID, PW )등을 설정한다. 상기 데이터베이스(150)는 Mysql 같은 정형 DB 또는 HBase와 같은 NoSQL DB일 수 있다.
이하, 일 실시예에 따른 데이터 구성 모듈(321)에 의한 검증 데이터 생성 절차에 대하여 설명한다. 상기 절차는 인공지능 서비스에 따라 각기 다를 수 있다. 데이터 구성 모듈(321)은 인공지능 플랫폼(130)에 접근해 실시간 평가 및 검증하고자 하는 인공지능 서비스에 대한 메타 정보를 획득해야 한다. 이를 위하여, 데이터 구성 모듈(321)은 OAuth와 같은 인증 절차를 거쳐 인공지능 플랫폼(130)에 대한 적법한 접근 권한을 획득해야 한다. 이후 데이터 구성 모듈(321)은 다음의 절차로 인공지능 모델의 성능을 검증할 검증 데이터를 구성할 수 있다.
데이터 구성 모듈(321)은 인공지능 플랫폼(130)을 통해 인공지능 모델에 의해 사용되는 특징 데이터, 레이블 데이터 및 각 데이터에 수행해야 할 데이터 처리 정보를 포함하는 데이터 구성 정보를 획득할 수 있다.
데이터 구성 모듈(321)은 데이터 관리부(310)에 접근하여 데이터 구성 정보에 기반하여 관측 데이터로부터 특징 데이터를 획득할 수 있다. 레이블 데이터는 사용자(예: 성능 관리 장치(140)의 운용자)에 의해 입력될 수 있고 데이터 관리부(310) 내의 관측 데이터를 적절히 처리함에 따라 생성될 수 있다.
데이터 구성 모듈(321)은 데이터 구성 정보를 참조하여 서비스 성능 제어부(320)에 의한 데이터 처리 결과와 인공지능 플랫폼(130)에 의한 데이터 처리 결과 간의 오차 값을 계산할 수 있다. 서비스 성능 제어부(320)는 계산된 오차 값을 인공지능 플랫폼(130)에 제공할 수 있다.
이하, 이하, 일 실시예에 따른 최적 모델 관리 모듈(322)에 의한 성능 관리 절차에 대하여 설명한다. 검증 데이터가 구성되면, 최적 모델 관리 모듈(322)은 다음의 절차로 현재 서비스되고 있는 인공지능 모델의 성능을 평가 및 검증할 수 있다.
최적 모델 관리 모듈(322)은 인공지능 플랫폼(130)에 접근하여 현재 서비스되고 있는 인공지능 모델의 위치 정보, ML 파이프라인 구성 정보를 포함하는 메타 정보를 획득할 수 있다.
최적 모델 관리 모듈(322)은 획득된 메타 정보를 모델 성능 측정 모듈(323)에 인자로 넘겨 성능 측정 작업을 수행하도록 요청할 수 있다.
모델 성능 측정 모듈(323)은 상기 메타 정보를 참조하여 ML 파이프라인을 구성하여 메모리(420)에 탑재하고, 데이터 구성 모듈(321)에 의해 구성된 검증 데이터를 활용하여 그 성능을 평가 및 검증할 수 있다.
모델 성능 측정 모듈(323)은 평가한 성능 값을 포함하는 모델 성능 정보를 생성하고, 모델 고유 정보와 관련시킬 수 있다.
모델 성능 측정 모듈(323)은 서비스 성능이 지정된 인공지능 서비스에 대응하는 기준치에 부합하는지 확인할 수 있다. 모델 성능 측정 모듈(323)은 서비스 성능이 기준치 이상이면, 적어도 다음 평가 및 검증 시기까지 대기할 수 있다.
모델 성능 측정 모듈(323)은 현재 서비스 되고 있는 인공지능 모델의 서비스 성능이 기준치 미만인 경우, 서비스 성능이 기준치 이상인 다른 인공지능 모델을 검색할 수 있다. 예를 들어, 모델 성능 측정 모듈(323)은 인공지능 플랫폼(130)의 모델 저장소(152)에 접근하여 N 개 (N은 관리자가 입력)의 인공지능 모델들에 대한 서비스 메타 정보를 획득할 수 있다. 상기 모델 저장소(151)는 지금까지 학습되었던 인공지능 모델들의 메타 정보를 저장할 수 있다.
모델 성능 측정 모듈(323)은 각 인공지능 모델에 대하여, 각기 서비스 성능을 확인하여 인공지능 모델에 대하여 모델 고유 정보에 대응하는 모델 성능 정보를 생성할 수 있다.
최적 모델 관리 모듈(322)은 N개의 모델 성능 정보에 기반하여 N개의 인공지능 모델들 중에서 가장 서비스 성능이 우수한 제2 인공지능 모델을 선택할 수 있다.
다양한 실시예에 따르면, 성능 관리 장치(140)는 검증 데이터를 별도로 생성하지 않고, 인공지능 플랫폼(130)으로부터 검증 데이터를 획득하고, 획득된 검증 데이터에 기반하여 서비스 성능을 확인할 수 있다. 상기 검증 데이터는 인공지능 플랫폼(130)가 관측 데이터를 지정된 데이터 처리함에 따라 생성되어, 성능 관리 장치(140)에 제공된 것일 수 있다.
상술한 실시예에 따르면, 성능 관리 장치(140)는 현재 제공되고 있는 인공지능 서비스의 성능을 실시간으로 확인하고, 실제 환경의 데이터 특성이나, 특정 이벤트로 인해 서비스 성능이 기준치를 미달할 경우에는 인공지능 모델을 교체함에 따라 인공지능 서비스의 품질을 관리 또는 보장할 수 있다.
도 4는 일 실시예에 따른 성능 관리 장치의 구성도를 나타낸다.
도 4를 참조하면, 일 실시예에 따른 성능 관리 장치(140)는 통신 회로(410), 메모리(420) 및 프로세서(430)를 포함할 수 있다. 일 실시 예에서, 성능 관리 장치(140)는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함할 수 있다. 또한, 성능 관리 장치(140)의 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
통신 회로(410)는 성능 관리 장치(140)와 다른 장치(예: 인공지능 플랫폼(130)이 포함된 장치) 간의 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 채널은 예를 들어, LAN(local area network), FTTH(Fiber to the home), xDSL(x-Digital Subscriber Line), WiFi, Wibro, 3G 또는 4G과 같은 통신 방식의 통신 채널일 수 있다.
메모리(420)는 성능 관리 장치(140)의 적어도 하나의 구성요소(예: 프로세서(430))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 예를 들어, 메모리(420)는 인공지능 플랫폼(130)의 성능 관리를 위한 적어도 하나의 인스트럭션(instruction)을 저장할 수 있다. 메모리(420)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
프로세서(430)는 적어도 하나의 인스트럭션을 실행함에 따라 성능 관리 장치(140)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(430)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다. 프로세서(430)는 데이터 관리부(310) 및 서비스 성능 제어부(320)를 포함할 수 있다. 프로세서(430)의 각 구성요소(310, 320)는 각각 별도의 하드웨어 모듈이거나 또는 적어도 하나의 프로세서에 의해 구현되는 소프트웨어 모듈일 수 있다. 예를 들어, 프로세서(430)에 포함된 각각의 모듈들이 수행하는 기능은 하나의 프로세서에 의해 수행되거나 또는 각각 별도의 프로세서에 의해 수행될 수도 있다. 추가적으로 또는 대체적으로, 프로세서(430)는 메모리(420)에 저장된 인스트럭션에 기반하여 데이터 관리부(310) 및 서비스 성능 제어부(320)를 실행할 수 있다. 프로세서(430)는 통신 회로(410)를 통해 인공지능 플랫폼(130) 또는 데이터베이스(150)로부터 데이터를 획득할 수 있다. 프로세서(430)의 각 구성요소의 기능은 도 4에서 이미 설명되었으므로, 그에 대한 세부 설명은 생략한다.
도 5는 일 실시예에 따른 레이블 데이터 구성 방법을 나타낸다. 도 5에서는 인공지능 플랫폼(130)이 시계열 데이터(관측 데이터)에 기반한 미래 정보 예측하는 경우를 예로 들어 설명한다.
도 5를 참조하면, 인공지능 플랫폼(130)은 과거 p 주기의 특징 데이터(510)를 활용하여 t시간(p 주기 이하의 시간) 후의 레이블 컬럼 값(520)을 예측할 수 있다. 인공지능 플랫폼(130)은 상기 예측 시에 현재의 레이블 컬럼 값(530)을 특징 데이터로 이용할 수 있다. 예를 들어, 인공지능 플랫폼(130)은 과거 하루의 교통 속도(510)에 기반하여 1시간 후의 교통 속도(520)를 예측하거나, 과거 한달치의 에너지 사용량(510)에 기반하여 24시간 동안의 에너지 사용량(520)을 예측할 수 있다.
성능 관리 장치(140)는 특정 시간이 지나면, 실제 레이블(ground truth)로 사용될 측정 데이터(관측 데이터)를 획득할 수 있다. 예를 들어, 교통 속도를 예측하는 인공지능 플랫폼(130)은 1시간이 지나 측정된 교통 속도를 1시간 전에 예측된 교통 속도의 레이블 데이터로 이용될 수 있다. 다른 예를 들어, 24시간 동안의 에너지 사용량을 예측하는 인공지능 플랫폼(130)은 24시간이 지나면 레이블 데이터로 사용될 관측 데이터를 자동으로 획득할 수 있다. 이러한 경우, 성능 관리 장치(140)는 데이터를 쉬프트함에 따라 검증 데이터에 관련된 레이블 데이터를 획득(또는, 생성)할 수 있다.
도 6은 일 실시예에 따른 인공지능 서비스 성능 관리 방법의 흐름도를 나타낸다.
도 6을 참조하면, 동작 610에서, 성능 관리 장치(140)는 복수의 인공지능 모델들 중 인공지능 플랫폼(130)에 현재 탑재된 제1 인공지능 모델에 기반하여 예측 데이터를 획득할 수 있다. 예를 들어, 성능 관리 장치(140)는 인공지능 플랫폼(130)으로부터 상기 예측 데이터를 획득하거나, 인공지능 플랫폼(130)으로부터 획득된 관측 데이터에 기반하여 예측 데이터를 획득(또는, 생성)할 수 있다.
동작 620에서, 성능 관리 장치(140)는 예측 데이터와 관련된 레이블 데이터를 획득할 수 있다. 예를 들어, 성능 관리 장치(140)은 예측 데이터와 관련된 다른 관측 데이터 중 일부 특징 데이터로부터 상기 레이블 데이터를 획득할 수 있다.
동작 630에서, 성능 관리 장치(140)는 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 서비스 성능을 확인할 수 있다.
동작 640에서, 성능 관리 장치(140)는 서비스 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택할 수 있다. 예를 들어, 성능 관리 장치(140)는 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하고, 상기 적어도 일부의 인공지능 모델 중 성능이 기준치 이상인 상기 제2 인공지능 모델을 선택할 수 있다. 이와 달리, 성능이 상기 기준치 이상이면, 성능 관리 장치(140)는 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정할 수 있다.
일 실시예에 따르면, 성능 관리 장치(예: 도 4의 성능 관리 장치(140))는, 복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리(예: 도 4의 메모리(420)); 및 프로세서(예: 도 4의 프로세서(430))를 포함하고, 상기 프로세서는, 상기 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 관측 데이터에 대응하는 예측 데이터를 획득하고, 상기 예측 데이터와 관련된 레이블 데이터를 획득하고, 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고, 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택할 수 있다.
상기 프로세서는, 상기 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하고, 상기 성능이 상기 기준치 이상인 상기 제2 인공지능 모델을 선택할 수 있다.
상기 프로세서는, 상기 복수의 인공지능 모델들 중에서 가장 성능이 우수한 제2 인공지능 모델을 선택할 수 있다.
상기 프로세서는, 상기 인공지능 플랫폼으로부터 상기 제1 인공지능 모델의 메타 정보를 획득하고, 상기 메타 정보에 기반하여 상기 제1 인공지능 모델을 상기 메모리에 탑재하고, 상기 제1 인공지능 모델에 기반하여 상기 관측 데이터에 대응하는 상기 예측 데이터를 생성할 수 있다.
상기 프로세서는, RMSE(root mean squared error), MSE(mean squared error), 정확도 및 민감도 중 적어도 하나의 성능 측정 알고리즘에 기반하여 상기 성능을 확인할 수 있다.
상기 프로세서는, 상기 인공지능 플랫폼이 상기 제2 인공지능 모델을 탑재하도록 상기 제2 인공지능 모델에 관련된 정보를 상기 인공지능 플랫폼에 제공할 수 있다.
상기 프로세서는, 상기 성능이 상기 기준치 이상이면, 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정할 수 있다.
상기 프로세서는, 사용자에 의해 입력된 데이터나, 다른 관측 데이터 중 일부 특징 데이터로부터 상기 레이블 데이터를 획득할 수 있다.
상기 예측 데이터는, 지정된 시간 후의 상기 다른 관측 데이터를 예측한 것이고, 상기 프로세서는, 상기 다른 관측 데이터로부터 상기 레이블 데이터를 획득할 수 있다.
상기 프로세서는, 상기 인공지능 플랫폼으로부터 재전송된 상기 관측 데이터를 획득하고, 상기 관측 데이터에 대하여 상기 인공지능 플랫폼에 의해 적용된 데이터 처리를 수행함에 따라 검증 데이터를 생성하고, 상기 제1 인공지능 모델에 기반하여 상기 검증 데이터에 따른 상기 예측 데이터를 생성할 수 있다.
상기 프로세서는, 메시지 큐 방식으로 상기 관측 데이터를 획득하거나, 상기 인공지능 플랫폼에 관련된 데이터베이스에 접근하여 상기 관측 데이터를 획득할 수 있다.
상기 프로세서는, 상기 관측 데이터가 실시간 데이터로 지정된 경우, 상기 관측 데이터를 인-메모리(in-memory) 방식으로 획득하고, 그외 경우에는 상기 관측 데이터를 상기 메모리에 저장하고 상기 메모리에 저장된 상기 관측 데이터의 일부 데이터를 ETL 처리할 수 있다.
상기 프로세서는, 상기 인공지능 플랫폼으로부터 상기 관측 데이터에 대한 데이터 처리 결과 데이터를 획득하고, 상기 처리 결과 데이터와 상기 검증 데이터 간의 차이에 기반하여 처리 오차를 결정할 수 있다.
일 실시예에 따르면, 성능 관리 장치에 의한 성능 관리 방법은, 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 예측 데이터를 획득하는 동작; 상기 예측 데이터와 관련된 레이블 데이터를 획득하는 동작; 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하는 동작; 및 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하는 동작을 포함하할 수 있다.
상기 선택하는 동작은, 상기 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하는 동작; 및 상기 성능이 상기 기준치 이상인 상기 제2 인공지능 모델을 선택하는 동작을 포함할 수 있다.
상기 성능이 상기 기준치 이상이면, 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정하는 동작을 더 포함할 수 있다.
상기 레이블 데이터를 획득하는 동작은, 다른 관측 데이터 중 일부 특징 데이터로부터 상기 레이블 데이터를 획득하는 동작을 포함할 수 있다.
일 실시예에 따르면, 성능 관리 장치(예: 도 4의 성능 관리 장치(140))는, 적어도 하나의 인스트럭션 및 복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리(예: 도 4의 메모리(420)); 및 프로세서(예: 도 4의 프로세서(430))를 포함하고, 상기 적어도 하나의 인스트럭션은, 실행 시에 상기 프로세서가, 상기 복수의 인공지능 모델들 중 상기 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델에 기반하여 관측 데이터에 대응하는 예측 데이터를 획득하고, 상기 예측 데이터와 관련된 레이블 데이터를 획득하고, 상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고, 상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하도록 할 수 있다.
상기 적어도 하나의 인스트럭션은, 실행시에 상기 프로세서가, 상기 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하고, 상기 성능이 상기 기준치 이상인 상기 제2 인공지능 모델을 선택하도록 할 수 있다.
상기 적어도 하나의 인스트럭션은, 실행시에 상기 프로세서가, 상기 성능이 상기 기준치 이상이면, 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정하도록 할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈", "부" 및 "수단"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 성능 관리 장치(140))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)(메모리(420))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 성능 관리 장치(140))의 프로세서(예: 프로세서(430)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 인공지능 서비스에 대한 성능 관리 장치에 있어서,
    복수의 인공지능 모델들에 관련된 메타 정보를 저장하는 메모리; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    메시지 큐 방식 및 인공지능 플랫폼에 관련된 데이터베이스에 접근하는 방식 중 어느 하나의 방식을 통해 실시간으로 관측 데이터를 획득하고,
    인-메모리(in-memory) 방식으로 상기 관측 데이터를 저장 및 관리하며,
    상기 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델과 과거의 관측데이터에 기반하여 지정된 시간 후의 예측 데이터를 획득하고,
    상기 과거의 관측데이터 이후의 관측 데이터로부터 상기 예측 데이터와 관련된 레이블 데이터를 획득하며,
    상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하고,
    상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하는 것
    인 성능 관리 장치.
  2. 청구항 1에 있어서, 상기 프로세서는,
    상기 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하고,
    상기 성능이 상기 기준치 이상인 상기 제2 인공지능 모델을 선택하는, 성능 관리 장치.
  3. 청구항 1에 있어서, 상기 프로세서는,
    상기 복수의 인공지능 모델들 중에서 가장 성능이 우수한 제2 인공지능 모델을 선택하는, 성능 관리 장치.
  4. 청구항 1에 있어서, 상기 프로세서는,
    상기 인공지능 플랫폼으로부터 상기 제1 인공지능 모델의 메타 정보를 획득하고,
    상기 메타 정보에 기반하여 상기 제1 인공지능 모델을 상기 메모리에 탑재하고,
    상기 제1 인공지능 모델에 기반하여 상기 관측 데이터에 대응하는 상기 예측 데이터를 생성하는, 성능 관리 장치.
  5. 청구항 1에 있어서, 상기 프로세서는,
    RMSE(root mean squared error), MSE(mean squared error), 정확도 및 민감도 중 적어도 하나의 성능 측정 알고리즘에 기반하여 상기 성능을 확인하는, 성능 관리 장치.
  6. 청구항 1에 있어서, 상기 프로세서는,
    상기 인공지능 플랫폼이 상기 제2 인공지능 모델을 탑재하도록 상기 제2 인공지능 모델에 관련된 정보를 상기 인공지능 플랫폼에 제공하는, 성능 관리 장치.
  7. 청구항 1에 있어서, 상기 프로세서는,
    상기 성능이 상기 기준치 이상이면, 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정하는, 성능 관리 장치.
  8. 청구항 1에 있어서, 상기 프로세서는,
    사용자에 의해 입력된 데이터나, 다른 관측 데이터 중 일부 특징 데이터로부터 상기 레이블 데이터를 획득하는, 성능 관리 장치.
  9. 삭제
  10. 청구항 1에 있어서, 상기 프로세서는,
    상기 인공지능 플랫폼으로부터 재전송된 상기 관측 데이터를 획득하고,
    상기 관측 데이터에 대하여 상기 인공지능 플랫폼에 의해 적용된 데이터 처리를 수행함에 따라 검증 데이터를 생성하고,
    상기 제1 인공지능 모델에 기반하여 상기 검증 데이터에 따른 상기 예측 데이터를 생성하는, 성능 관리 장치.
  11. 삭제
  12. 삭제
  13. 청구항 1에 있어서, 상기 프로세서는,
    상기 인공지능 플랫폼으로부터 상기 관측 데이터에 대한 데이터 처리 결과 데이터를 획득하고,
    상기 처리 결과 데이터와 검증 데이터 간의 차이에 기반하여 처리 오차를 결정하는, 성능 관리 장치.
  14. 성능 관리 장치에 의한 성능 관리 방법에 있어서,
    메시지 큐 방식 및 인공지능 플랫폼에 관련된 데이터베이스에 접근하는 방식 중 어느 하나의 방식을 통해 실시간으로 관측 데이터를 획득하고, 인-메모리(in-memory) 방식으로 상기 관측 데이터를 저장 및 관리하며, 복수의 인공지능 모델들 중 인공지능 플랫폼에 현재 탑재된 제1 인공지능 모델과 과거의 관측데이터에 기반하여 지정된 시간 후의 예측 데이터를 획득하는 동작;
    상기 과거의 관측데이터 이후의 관측 데이터로부터 상기 예측 데이터와 관련된 레이블 데이터를 획득하는 동작;
    상기 예측 데이터와 상기 레이블 데이터에 기반하여 상기 제1 인공지능 모델의 성능을 확인하는 동작; 및
    상기 성능이 기준치 미만이면, 상기 복수의 인공지능 모델들 중 상기 제1 인공지능 모델을 대체할 제2 인공지능 모델을 선택하는 동작을 포함하는, 성능 관리 방법.
  15. 청구항 14에 있어서, 상기 선택하는 동작은,
    상기 복수의 인공지능 모델들 중 적어도 일부의 인공지능 모델에 대하여 상기 성능을 확인하는 동작; 및
    상기 성능이 상기 기준치 이상인 상기 제2 인공지능 모델을 선택하는 동작을 포함하는, 성능 관리 방법.
  16. 청구항 14에 있어서,
    상기 성능이 상기 기준치 이상이면, 적어도 다음 성능 확인 시까지 상기 제1 인공지능 모델을 교체하지 않는 것으로 결정하는 동작을 더 포함하는, 성능 관리 방법.
  17. 청구항 14에 있어서, 상기 레이블 데이터를 획득하는 동작은,
    다른 관측 데이터 중 일부 특징 데이터로부터 상기 레이블 데이터를 획득하는 동작을 포함하는, 성능 관리 방법.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020200012442A 2019-11-07 2020-02-03 인공지능 서비스에 대한 성능 관리 장치 및 방법 KR102377628B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190142116 2019-11-07
KR20190142116 2019-11-07

Publications (2)

Publication Number Publication Date
KR20210055560A KR20210055560A (ko) 2021-05-17
KR102377628B1 true KR102377628B1 (ko) 2022-03-24

Family

ID=76158396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200012442A KR102377628B1 (ko) 2019-11-07 2020-02-03 인공지능 서비스에 대한 성능 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102377628B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102518913B1 (ko) 2022-12-14 2023-04-10 라온피플 주식회사 인공지능 모델의 성능 관리 장치 및 방법
KR102583305B1 (ko) * 2022-09-15 2023-09-27 주식회사 와플랩 화력발전소에서 안전고리와 위치정보 및 생체정보를 융합한 안전관리 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102433830B1 (ko) * 2021-11-10 2022-08-18 한국인터넷진흥원 인공지능 기반 보안위협 이상행위 탐지 시스템 및 방법
KR102433935B1 (ko) * 2022-01-12 2022-08-19 주식회사 에이젠글로벌 Cb 사 신용 평가 모델 생성 및 관리 자동화 방법 및 이러한 방법을 수행하는 장치
WO2024063437A1 (ko) * 2022-09-22 2024-03-28 쿠팡 주식회사 인공지능 모델을 관리하기 위한 방법 및 장치
KR102545144B1 (ko) * 2023-01-13 2023-06-21 주식회사 아이브 딥러닝 알고리즘에 기반한 불량품 검사 솔루션 제공 장치 및 그 방법
KR102549857B1 (ko) * 2023-02-14 2023-06-30 주식회사 마티아솔루션 머신비전 판정 모델 서비스 플랫폼 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068710A (ja) * 2015-09-30 2017-04-06 富士通株式会社 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム
JP2018156415A (ja) * 2017-03-17 2018-10-04 株式会社リコー 診断装置、診断システム、診断方法およびプログラム
JP2019095247A (ja) 2017-11-21 2019-06-20 千代田化工建設株式会社 検査支援システム、学習装置、及び判定装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068710A (ja) * 2015-09-30 2017-04-06 富士通株式会社 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム
JP2018156415A (ja) * 2017-03-17 2018-10-04 株式会社リコー 診断装置、診断システム、診断方法およびプログラム
JP2019095247A (ja) 2017-11-21 2019-06-20 千代田化工建設株式会社 検査支援システム、学習装置、及び判定装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
기계적 모터 고장진단을 위한 머신러닝 기법(정훈 외 1명. 산업경영시스템학회지 v.40 no.1(pp.57 - 64), 2017년

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102583305B1 (ko) * 2022-09-15 2023-09-27 주식회사 와플랩 화력발전소에서 안전고리와 위치정보 및 생체정보를 융합한 안전관리 시스템 및 방법
KR102518913B1 (ko) 2022-12-14 2023-04-10 라온피플 주식회사 인공지능 모델의 성능 관리 장치 및 방법

Also Published As

Publication number Publication date
KR20210055560A (ko) 2021-05-17

Similar Documents

Publication Publication Date Title
KR102377628B1 (ko) 인공지능 서비스에 대한 성능 관리 장치 및 방법
US10565442B2 (en) Picture recognition method and apparatus, computer device and computer- readable medium
KR101676743B1 (ko) 통신 네트워크들에서 서비스 액세스 경험 품질 이슈들의 예측 및 근본 원인 추천들
US8140319B2 (en) Method and system for predicting system performance and capacity using software module performance statistics
KR102344383B1 (ko) 인공지능 기반 매장 수요 예측 방법 및 시스템
CN108985489B (zh) 一种风险预测方法、风险预测装置和终端设备
CN109218048A (zh) 对部署在云上的一个工业系统的性能测试方法和装置
CN113419941A (zh) 评估方法及装置、电子设备和计算机可读存储介质
CN111835536B (zh) 一种流量预测方法和装置
CN111507541B (zh) 货量预测模型构建方法、货量测量方法、装置及电子设备
JP2018101201A (ja) 施策導入効果予測装置、施策導入効果予測プログラム及び施策導入効果予測方法
CN110490132B (zh) 数据处理方法和装置
CN113391801A (zh) 基于云端业务的推荐引擎架构
CN113825165A (zh) 基于时间图网络的5g切片网络拥塞预警方法及装置
CN110971478B (zh) 云平台服务性能的压测方法、装置及计算设备
CN116955148A (zh) 业务系统测试方法、装置、设备、存储介质及产品
CN113626170B (zh) 通信工程任务全生命周期的控制方法及装置
US20220198335A1 (en) Method and apparatus for collecting data of artificial intelligence system
CN112733454B (zh) 一种基于联合学习的设备预测性维护方法及装置
CN112733453B (zh) 一种基于联合学习的设备预测性维护方法及装置
CN114358873A (zh) 网约车的异常订单确定方法和相关设备
JP2021082873A (ja) 予兆監視装置、予兆監視方法およびプログラム
CN117112539B (zh) 一种面向机器学习的数据模型管理系统
CN111708561B (zh) 算法模型更新系统、方法、装置及电子设备
WO2020054599A1 (ja) モデル生成装置、予測装置、モデル生成方法、予測方法、及びプログラム

Legal Events

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