1. 머리말 인공지능(AI, Artificial Intelligence)의 핵심기술인 기계학습(ML, Machine Learning)은 현재 다양한 산업분야 및 시장에서 활용되고 있다. 특히 영상처리, 자연어처리, 자율주행 등의 분야에서는 사람 수준 혹은 그 이상의 성능을 보이며 사진 보정, 물체 인식, 챗봇(Chat-Bot), 자율주행 자동차, 로봇 등 다양한 어플리케이션과 제품으로 시장 가치를 창출하고 있다. 일반적으로 고성능의 기계학습 모델을 개발하기 위해서는 대용량의 학습데이터, 학습을 처리하기 위한 대용량의 리소스, 복잡한 학습 모델 등이 필요하여 온프레미스(on-premise) 환경에서 구축하기 어려움이 있다. 이를 클라우드 컴퓨팅 환경에서 간편하고 효과적으로 제공하기 위한 서비스가 서비스형 기계학습(MLaaS, Machine Learning as a Service)이다. 서비스형 기계학습은 구글, 아마존, 마이크로소프트, 네이버, LG CNS 등의 클라우드 기업이 서비스를 제공하고 있으며, 최근 관련 시장 규모가 급격히 성장하였다. 본 논문에서는 기계학습의 개요 및 클라우드 환경에서의 이점 등을 설명하고, 관련 시장 및 대표적인 표준인 ITU-T Y.3531을 소개한다. 2. 서비스형 기계학습(MLaaS)의 개요 2.1 기계학습 개발 프로세스 및 특징 기계학습은 데이터를 통해 기계가 스스로 학습하여 주어진 문제를 해결하는 컴퓨터 알고리즘의 분야이다. 기계학습은 개발자가 특정 상황에서 특정 반응을 논리적(logical) 혹은 규칙 기반(Rule-based)으로 구현하는 명시적 프로그래밍(explicit programming)과는 다르게, 자료를 통하여 특정 상황에서의 반응을 자동적으로 배우게 하는 암시적 프로그래밍(implicit programming) 방식을 사용한다. 이러한 기계학습 모델의 개발은 일반적으로 [그림 1]과 같이 학습 데이터의 수집 및 레이블링, 학습 데이터 전처리, 모델 학습 및 검증 단계, 학습된 모델 배포의 프로세스를 갖는다. Y.3531(20)_F6-1 [그림 1] 일반적인 기계학습 개발 절차[1] Ⅰ 기술표준이슈 ----• ICT Standard Weekly 제1065호 • --------------------------------------------------------------- 2 여러 기계학습 방식 중 현재 가장 많이 쓰이는 기계학습 방식은 복잡한 인공신경망(artificial neural network) 구조를 기반으로 데이터를 학습하는 딥러닝(deep learning)이다. 딥러닝의 복잡한 인공신경망은 다층의 레이어로 구성되는 노드들이 서로 연결된 망(network)의 형태로 구성된 것을 의미하며, 학습 데이터를 통해 노드 사이의 연결된 파라미터(parameter) 혹은 가중치(weight) 값을 조정하는 방식으로 학습이 진행된다. 일반적으로 딥러닝은 데이터의 양이 많아질수록 학습 정확도가 증가하는 특징이 있으며[2], 고성능 딥러닝 모델의 경우 복잡하고 방대한 파라미터 수를 요구한다[3]. 현재 자연어처리 분야에서 가장 뛰어난 알고리즘으로 알려진 OpenAI의 GPT-3 모델에는 총 1,750억개의 파라미터와 약 5,000억개의 학습 데이터가 모델 개발에 사용되었다[4]. 딥러닝의 성능이 오버피팅(overfitting)이나 기울기 소멸(vanishing gradient) 등의 문제로 인하여 반드시 데이터의 양과 모델의 복잡도에 비례하여 증가하는 것은 아니지만, 대부분의 고성능 딥러닝 모델은 상당한 양의 데이터와 파라미터를 요구한다[2]. 이러한 부담에도 불구하고 딥러닝을 사용하는 이유는 인지, 예측, 생성 등 다양한 업무에서 기존 기술에 비하여 현저하게 뛰어난 성능을 보이기 때문이다. 최근에는 이를 전문적이고 효율적으로 처리하기 위한 신경처리장치(NPU, Neural Processing Unit)까지 개발되었다. 이를 활용하면 신경망의 컴퓨팅 처리에서 기존 CPU와 GPU보다 높은 에너지 효율과 단축된 학습시간 성능을 얻을 수 있다. 2.2 MLaaS 개요 및 클라우드 환경의 장점 서비스형 기계학습(MLaaS)은 클라우드 환경에서 기계학습 시스템을 개발하는데 필요한 프레임워크 및 개발 환경을 제공하기 위한 서비스이다. 앞서 2.1절에서 설명한 것처럼 기계학습은 전체 프로세스 중 모델 학습 과정에서 상대적으로 많은 양의 컴퓨팅 리소스를 요구하게 된다. 특히 복잡한 구조의 딥러닝의 경우 대규모의 가중치를 계산하기 위한 리소스가 학습 프로세스 단계에서 한시적으로 필요하게 되는데, 한시적으로 사용되는 리소스를 위해 고비용의 시스템을 구축하는 것은 인공지능 개발자 혹은 기업에 큰 부담이 될수 있다. MLaaS는 클라우드 환경에서 이러한 부담을 해결할 수 있는 솔루션으로 개발자 및 사업체의 수요가 큰 시장이다. 클라우드 환경에서 개발자는 딥러닝 학습을 위한 고비용의 컴퓨팅 환경을 자체 구축할 필요 없이, 학습 단계에서만 컴퓨팅 자원을 임대하여 학습을 진행할 수 있다. 단발성 프로젝트의 경우 이러한 클라우드 컴퓨팅 환경을 사용해 학습 단계 이외에는 필요 없는 고비용의 시스템을 단기간에 구축할 수 있기에 비용과 시간 측면에서 상당히 효율적일 수 있다. 학습 데이터 수급의 측면에서도 클라우드는 개발자에게 이점을 제공한다. 특히 기존 클라우드의 빅데이터 서비스나 서드파티의 데이터 생태계를 활용하여 기계학습 시스템 개발에 필요한 학습 데이터에 손쉽게 접근할 수 있다. 학습 데이터의 적절성이나 품질 역시 서비스 제공자를 통해 감사(audit)되기 때문에 사용자는 고품질의 데이터를 만들기 위해 들어가는 비용과 시간 등의 수고를 절약할 수 있다. 이 밖에도, 최근 클라우드 시장에서 서비스형 기계학습 생태계가 확장되면서 이미 검증된 기