“이제 인공지능은 AIFactory에게 맡기세요”라는 주제로 이야기를 하고자 합니다. 본 발표는 AI 프렌즈의 멤버쉽데이에서 이루어지며 ETRI의 손영성님이 이어서 “사물지능, 미완의 꿈”이란 주제로 발표가 진행됩니다.

img

  • 일시: 2020년 1월 15일 PM7~
  • 장소: 대전 대덕테크비즈센터 1층

발표소개

인공지능 교육부터 실제 운영 시스템 구축까지 해보면서 입문부터 활용까지의 갭이 상당히 크다는 것을 매번 할 때마다 느낍니다. 이러한 갭을 채우기 위해서는 사실 많은 기술요소들이 필요합니다. 인공지능 기술 열풍으로 인해 인공지능 개발을 위해서는 적절한 문제정의와 평가방법, 그리고 데이터셋이 필요하다는 것을 대부분 알고 있습니다. 모델 개발도 AutoML이나 하이퍼파라미터튜너 기술 발전으로 최적 모델 개발에 더욱 더 쉽고 빠르게 다가갈 수 있습니다. 캐글 같은 머신러닝 경연대회 플랫폼도 크라우드 소싱 기반의 협업 툴로서 자리매김을 하고 있습니다. 하지만 모델 개발에 성공하였다 하더라도 실제 인공지능 모델을 운영하기 위해서는 여러가지 고려해야할 것들이 있습니다. 데이터셋 변동, 평가척도 변경에 따른 태스크 관리과 모델 모니터링 및 최적화가 필요하고 또한 모델을 서비스하기 위해서는 별도의 클라우드 시스템이 필요할 지도 모릅니다. 이러한 것들을 AIFactory이란 이름으로 하나로 조립하여 인공지능 적용을 가속화시키는 플랫폼을 제안합니다.

img


요소설명

위 그림에서 블록으로 표현된 각 요소에 대해서 간단하게 기술해봤습니다.

기본구성

  • Task(태스크)
    • 인공지능을 통해서 해결하고자 하는 문제를 정의하는 것입니다. 문제가 지도학습인지 비지도학습인지 또한 강화학습인지 등 방법론에 대해서 정하고, 분류 문제인지 예측 문제인 지 등 문제 유형을 정하거나 입출력 데이터 형태에 대해서 정의합니다.
    • 문제를 정의할 때 함께 정의해야하는 것이 평가방법입니다. 메트릭(metric)이라고도 불리는 데요, 개발한 인공지능 모델을 객관적으로 평가할 척도를 정하는 겁니다. 대게 앞서 정의한 문제 정의에 따라 평가 척도가 정해지기도 하지만 사용처에 따라 사용자 정의 매트릭을 사용하기도 합니다.
  • Dataset(데이터셋)
    • “데이터셋”은 “데이터”와 구분되는 용어인데요. 이 “셋” 구성을 보면, 훈련셋, 검증셋, 시험셋으로 나눠집니다. 이 셋은 샘플들의 집합인데요, 하나의 샘플은 X와 Y로 구성됩니다. X는 모델에 입력하는 데이터 즉 문제이며, Y는 모델을 통해 얻기를 희망하는 값 즉 정답을 의미합니다.
    • 참고: 데이터셋 이야기
  • Model(모델)
    • 데이터셋을 통해 학습하는 대상인 인공지능 모델을 의미합니다. 모델의 범주가 학습에 대해서만 국한되는 것은 아닙니다. 훈련셋없이 알고리즘을 통해서만 모델을 개발할 수 있습니다. 하지만 전통적인 방법으로 알고리즘을 개발한다하더라도 검증셋과 시험셋으로 평가를 해볼필요는 있습니다.
    • 머신러닝 모델이나 딥러닝 모델을 데이터 기반의 모델이기 때문에 훈련셋이 필요합니다.
  • Operation(운영)
    • 태스크, 데이터셋, 모델 이렇게 3가지 요소는 별개로 구성할 수 있는 것이 아니라 서로 연관되어 있으며, 하나가 변경되었을 때 다른 것에 영향을 미칩니다.
    • 따라서 3가지 요소가 따로 놀지않고 유기적으로 지속적으로 운영될 수 있도록 해줘야 합니다.

시스템구성

  • Management(관리)
    • 하나의 데이터셋에 여러 태스크가 만들어질 수 있으며, 반대로 하나의 태스크에 여러 버전의 데이터셋이 존재할 수 있습니다. 각 버전마다 모델을 개발하다보면 관리하기가 용이치 않습니다. 언제 구동으로 하더라도 재현성이 보장되는 모델을 관리하려면 별도의 버전관리가 필요합니다.
  • Big Data(빅데이터)
    • 인공지능 학습에 필요한 데이터셋을 생성하기 위해서는 선행적으로 수집되는 대량의 데이터를 수집할 수 있는 기술이 필요합니다.
    • 개발 가능한 인공지능 모델 범위가 현재 시점에서 판단하기 힘들기때문에 가능한 대부분의 데이터를 수집하는 경우가 대부분인데, 이를 효율적으로 그리고 확장가능한 시스템이 필요합니다.
  • Learning(러닝)
    • 모델을 학습시키기 위한 러닝 시스템이 필요합니다. 아래 중 한가지라도 해당한다면 도입에 대해서 고려해야합니다.
      • 내/외부 연구자가 시스템에 접근해서 학습을 시키는 경우
      • 스트리밍 데이터나 신규 데이터 수집 시 Online Learning이 필요한 경우
      • Active Learning이나 Human in the Loop 컨셉 등 데이터셋 생성 시 모델을 활용하는 경우
      • AutoML이나 튜닝을 자동으로 하고자 하는 경우
  • Service(서비스)
    • 개발한 인공지능 모델을 외부 기기 혹은 웹을 통해서 서비스하기 위한 시스템이 필요합니다. 동시 접속자가 많은 웹 서비스나 응답속도가 빨라야 하는 IoT기기에 연결하거나 이러한 상황에도 잘 동작할 수 있도록 시스템 구성에 대해서 고려해야합니다.

비즈니스 및 솔루션 연계

  • Consulting(컨설팅)
    • 인공지능을 현업에 적용하기 위한 “기본구성” 및 “시스템구성” 전반에 대해서 컨설팅을 수행합니다.
  • Annotation(어노테이션)
    • “데이터”로부터 “데이터셋”을 생성하는 과정을 말하며, 효율적으로 생성하기 위한 어노테이션 툴이나 자동화 기법이 적용됩니다.
  • AutoML
    • 주어진 데이터셋에 대해서 최적 모델을 인공지능 모델이 자동으로 인공지능 모델을 만드는 기술입니다. 지원하는 태스크가 늘고 있으며, 데이터 전처리까지 수행하는 솔루션도 개발되고 있습니다.
  • Tuner
    • 모델의 하이퍼파라미터에 대해서 튜닝을 수행합니다. 이미 튜닝이 되었다고 하더라도 데이터셋이 변동되거나 평가방법이 변경이 생겼을 경우 하이퍼파리미터 튜닝을 다시해야 합니다.
  • KubeFlow
    • 머신러닝에 필요한 학습, 하이퍼파라미터 튜닝, 서빙, 노트북을 올 패키지로 제공하고, TensorFlow, PyTorch, CXNet등 다양한 딥러닝 프레임워크를 제공하므로, 개발자는 인프라에 대해서 깊게 알 필요없이 머신러닝을 쉽게 사용할 수 있도록 합니다. 도커 관리 솔루션인 쿠버네티스(Kubernetes)라는 것이 있는 데, 쿠브플로우(Kubeflow)는 이 쿠버네티스 위에서 동작합니다.
  • Azure(애저)
    • 마이크로소프트 클라우드 서비스이며 머신러닝에 관련된 여러 툴을 제공합니다. AutoML, MLOps 등이 주요기술이며, 클라우드이기 때문에 실제로 서비스 가능한 endpoint 제공도 쉽게 할 수가 있습니다.

발표자료


신청하기


둘러보기

인공지능 및 머신러닝 관련된 커뮤니티입니다. 편하게 놀러오셔요~

케라스 코리아 커뮤니티

캐글 코리아 커뮤니티

MLOps KR 커뮤니티