- 100개의 AI 모델을 3명이서 운용하는 도코모 -- 예측 정밀도를 유지하는 비결은?
-
- 카테고리AI/ 로봇·드론/ VR
- 기사일자 2023.4.5
- 신문사 Nikkei X-TECH
- 게재면 online
- 작성자hjtic
- 날짜2023-04-15 21:50:34
- 조회수216
Nikkei X-TECH_2023.4.5
100개의 AI 모델을 3명이서 운용하는 도코모
예측 정밀도를 유지하는 비결은?
NTT도코모가 ML(기계학습) 모델의 개발, 운용을 자동화하는 기반을 정비했다. 일반적으로 ML 모델은 운용 중에 예측 정밀도가 점점 떨어지지만, 모델 마다 설정된 주기로 새로운 데이터를 사용해 모델을 다시 만들면서 정밀도 저하를 막고 있다.
2023년 3월 말 기준, 마케팅에 활용하는 이진 분류(Binary Classification) 모델을 중심으로 약 100개 모델을 담당자 3명이 운용한다. 도코모가 정비한 ML 모델 운용 개발 기반의 아이디어를 살펴보자.
적은 인원으로 효율적으로 모델을 다시 만들 수 있는 비결은 ML 모델의 재학습 공정을 자동화한 데 있다고 한다. 기반 구축을 담당한 데이터플랫폼부의 요시다(吉田) 과장은 “도코모 전체의 데이터 활용을 추진하는 환경 조성이나 서포트의 일환이다”라고 말한다.
-- 3개의 툴을 조합 --
도코모는 ML 모델의 운용 개발 기반으로서 미국 AWS(아마존 웹 서비스)의 가상 프라이빗 클라우드 환경을 활용한다. AWS 상에 미국 DataRobot이 제공하는 ML 모델 개발 지원 기능 ‘Automated ML(AutoML)’과 컨테이너 관리 서비스 ‘쿠버네티스(Kubernetes)’, 워크플로우 관리 툴 ‘Apache Airflow’의 3가지를 조합해 기반을 구축했다.
AWS 상에 Kubernetes를 전개해 컨테이너 환경에서 DataRobot의 AutoML을 가동시킨다. AutoML로 ML 모델 개발 공정을 자동화한 후에 DataRobot의 툴이 자동으로 컨테이너 이미지로 만든다. 완성된 ML 모델을 DataRobot 이외의 환경에서도 사용할 수 있도록 하기 위해서다. ML 모델을 예측에 이용할 때는 AWS의 가상 머신 서비스 ‘EC2’를 자동으로 기동해 필요에 따라 확대시킨다.
모델의 트레이닝이나 디플로이 등에 사용하는 Python 코드는 Jupyter Notebook에서 작성한다. 트레이닝용으로 작성한 Python 코드를 DataRobot의 AutoML에게 읽게 하거나 완성된 ML 모델을 컨테이너 이미지로 만들어 디플로이하는 공정은 Apache Airflow에서 자동 실행한다.
운용 중인 ML 모델은 일정 기간마다 Apache Airflow가 자동으로 재학습을 시작하기 때문에 ML 모델의 정확도 저하를 막으면서 ML 모델의 운용과 재학습 사이클을 자동으로 실행할 수 있다.
-- Jupyter Notebook 활용도 연구 --
도코모는 이 툴을 사용하는데도 코드나 Jupyter 환경의 재현성을 담보하기 위해 연구하고 있다. 목표는 코드의 재현성과 배치 처리에 내장하는 것이다.
Jupyter Notebook에서 작성한 Python 코드의 재현성을 담보하기 위해 AutoML 기능과 마찬가지로 Jupyter Notebook도 Kubernetes의 컨테이너 환경에서 이용하고 있다.
게다가 복수의 엔지니어가 같은 Jupyter Notebook 환경에서 작업할 수 있도록 하기 위해 ‘JupyterHub’라는 오픈 소스 소프트웨어(OSS)를 도입. JupyterHub는 관리자가 구축한 Jupyter 환경에 다른 사용자가 참여할 수 있도록 하는 툴로, JupyterHub도 Kubernetes 상에서 가동시킨다.
Jupyter Notebook을 그대로 Apache Airflow의 워크플로우로 자동 실행하기 위해서 도코모는 ‘Papermill’이라는 OSS를 이용한다. Papermill은 Jupyter Notebook을 배치로 처리할 수 있도록 하는 툴이다.
Jupyter Notebook은 원래 노트북에 함수 인수를 설정할 수 없으며, 배치 실행을 위해서는 노트북을 리팩터링하거나 배치를 실행할 때마다 노트북을 편집하거나 해야 한다. 3명이서 100개 정도의 ML 모델을 관리하는 것이 기반 구축의 목적이며, 그때그때 처리하는 것은 현실적이지 않았다.
또한 원래 보수 대상의 ML 모델 수를 너무 늘리지 않도록 대책도 세우고 있다. DataRobot 계정을 사내에 널리 배포하고 있다. 한편으로 도코모는 데이터 웨어하우스에 쌓이는 로그 등을 바탕으로 ML 모델의 운용 빈도를 확인하고, 사용하지 않는 것은 작성한 부서에 문의한 후에 필요에 따라서 삭제한다. 보수가 어려운 ML 모델을 늘리지 않기 위한 연구도 진행하고 있다.
-- 끝 --
Copyright © 2020 [Nikkei XTECH] / Nikkei Business Publications, Inc. All rights reserved.