기계 학습(Machine learning)은 이제 마치 인터넷처럼 인류의 총체적 컴퓨팅 경험에 필수 요소로 자리잡아 가고 있다. 그렇다면 개발자들은 어떤 식으로 기계 학습 분야를 시작할 수 있을까? 우선 무엇을 해야 할까? 마이크로소프트가 애저 머신 러닝(Azure Machine Learning) 서비스를 그 해법을 내세우고 있다.
기계 학습의 동작 메커니즘 브리핑
기계 학습은 시간이 명시적인 프로그래밍 없이도 시간이 지나면서 경험을 통해 얻는 통찰력을 이용해 그 목표에 상관 없이 발전하는 컴퓨터 및 소프트웨어를 의미한다. 스스로 교육하고 학습하며 엄청난 양의 데이터를 예측할 수 있는 알고리즘이 고도화되면서 기계 학습 분야가 발달해왔다.
기계 학습은 특히 변수 분석(variable analysis)에서 진정한 빛을 발한다. 인간의 두뇌는 의사를 결정하거나 특정 문제에 대한 결론을 내릴 때 동시에 몇 가지 변수만 의식적으로 고려할 수 있다.
하지만 소프트웨어는 의사를 결정할 때 인간보다 훨씬 많은 변수를 고려할 수 있다. 이론적으로 훨씬 나은 고품질의 의사를 결정할 수 있는 것이다. 또, 모든 변수를 처리할 수 없어 의식적으로 결정을 내리지 않거나 성급한 결정을 내리는 것과 같은, 소위 말하는 “정보 과다로 인한 분석 불능” 문제도 없다.
데이터의 양이 18개월마다 2배로 증가할지라도 기계 학습은 그 모든 데이터를 소화하고 능동적으로 활용하여 비즈니스 문제를 해결할 수 있는 것이다.
마이크로소프트는 이에 대해 애플리케이션을 통해 처리된 과거의 데이터에 목표를 달성할 수 있도록 프로그램을 안내, 교정, 제어하는 인간의 투입 값이 합쳐진 것으로 정의하고 있다.
즉 소프트웨어를 거쳐가는 데이터가 많을수록 그리고 데이터 공학자가 소프트웨어에 제공하는 데이터가 많을수록 소프트웨어의 결과는 향상된다.
기계 학습의 예로 무엇이 있을까? 1990년대 말 요청하지 않은 상업적 이메일 증가 문제를 해결하기 위해 도입된 베이시안(Bayesian) 스팸 필터링이 가장 오래된 예다. 또한 최근의 기계 학습의 예로 다음과 같은 것들을 들 수 있다.
– 구글은 기계 학습을 이용해 지메일(Gmail) 사용자들의 받은 편지함에서 스팸을 99.9% 걸러 낸다고 밝혔다.
– 교통량 데이터, 도로 구조, 날씨 조건, 요청하는 시간대(또는 원하는 시간대)를 고려해 “집으로 가는 가장 좋은 길은?”이라는 질문에 답하는 지도 제작 및 내비게이션 서비스.
– 대화가 이루어지는 중에 하나의 언어에서 다른 언어로 자연스러운 실시간 번역을 제공하는 스카이프 번역기(Skype Translator).
– 사용자의 관계와 다른 사라의 프로필 데이터 및 활동을 살펴 소셜 네트워크에서 아직 관계를 맺지 않은 친구와의 연계점을 찾는 페이스북의 ‘알 수 있는 사람’(People You Might Know) 기능.
– 광고주에게 어떤 광고를 어떤 비용으로 표시할지 결정하기 위해 웹 페이지에서 텍스트의 문맥을 평가하기.
– 자기 주행 자동차. 구글의 무인 자동차 프로그램을 진두지휘하고 있는 크리스 어몬은 최근 다음에 할 동작을 자주적으로 결정하기 위해 차량이 처리해야 하는 데이터의 양에 대해 설명했다.
기계 학습이 어떻게 발달했는지를 살펴보면 지난 10년 동안 다양한 기법이 발달했다. 특히 이제는 네트워크에 연결되어 있는 모든 기계와 센서가 로그(Log)와 관찰 결과를 남기는 등 관련 데이터량이 폭증하고 있다.
기계 학습의 대표적인 사용자였던 마이크로소프트는 자사 클라우드 플랫폼 기능을 간단히 패키지화하여 신용 카드만 있으면 단 몇 분 만에 사용할 수 있는 애저 머신 러닝 서비스를 선보였다.
패키지형 기계 학습
즉 마이크로소프트의 애저 머신 러닝 서비스는 클라우드 기반의 기계 학습을 쉽고 빠르게 시작할 수 있도록 개발된 원스톱 샵이다.
애저 가상 머신에 가입하고 스토리지 옵션을 구성하면, 가상 네트워크를 제공해 모든 것을 연결하는 애저 포탈에서 이 서비스의 이용을 시작할 수 있다. 먼저 여기에서 ML 스튜디오(Machine Learning Studio) 작업공간과 전용 스토리지 계정을 생성하게 된다.
이것이 모든 기계 학습 소프트웨어가 상주하는 애저 서비스 영역의 “파티션”이다. 또한 이 포탈에서 애저 기계 학습 서비스의 소비를 모니터링하여 비용을 추적하고 모델을 공개할 준비가 완료되었을 때 알림을 수신하게 된다. 특히 ML API 서비스를 통해 모델을 기존의 애플리케이션과 매우 손쉽게 통합할 수 있다.
데이터 과학자들은 대부분의 시간을 ML 스튜디오에서 보내게 되는데, 매우 친화적으로 간편한 것이 특징이다. 데이터 접근 및 준비, 모델 생성/시험/교육, 기업의 기존 비전매 특허 모델을 사설 작업공간으로 안전하게 가져오기 등을 포함해 ML 스튜디오 내에서 데이터 과학 작업흐름을 단계별로 실행할 수 있다.
ML 스튜디오는 R 통계 분석 언어를 지원하며 미가공 R뿐만이 아니라 가장 인기 있는 300개 이상의 R 패키지를 이용할 수 있는 능력을 지원한다. 뿐만 아니라 마이크로소프트는 R과 함께 사용할 수 있는 여러 간편한 알고리즘을 지원하고 있다. “내 작업공간 공유” 기능을 이용해 인터넷에 연결할 수 있는 곳이면 어느 곳에서나 동료들과 협업할 수 있으며 완성된 모델은 BI 또는 데이터 환경 전체를 구성하는 대신에 수 분 만에 바로 사용할 수 있다.
ML 스튜디오 내 모델이 사용할 수 있는 데이터는 다양한 곳에서 얻을 수 있다.
– 모델은 애저 내의 데이터에 접근할 수 있다.
– 모델은 HD인사이트(HDInsight)의 빅 데이터(Big Data)에서 쿼리(Query)가 가능하다.
– 모델은 데이터 과학자의 데스크톱에서 데이터세트를 바로 가져올 수 있다.
데이터 과학자가 공개 준비를 마치면 API 서비스를 통해 시험한 모델을 개발자들에게 제공할 수 있다. 기업 사용자는 어느 곳에서나 사용하는 기기의 종류에 상관 없이 결과에 접근할 수 있다. 그리고 새로운 개발 작업 없이도 모델 업데이트로 사용 중인 모델을 갱신할 수 있다. 이것이 기본적인 서비스형 기계 학습(MLaaS)이다.
애저 기계 학습은 이미 많은 기업들이 다음의 방식으로 사용하고 있다.
– 텔레메트리 데이터 분석
– 구매자 성향 모델
– 소셜 네트워크 분석
– 예측 유지관리
– 웹 앱 최적화
– 서비스 제공자를 바꾸는 고객 분석
– 천연자연 탐사
– 일기예보
– 예측 의료 결과
– 금융사기 감지
– 생명공학 연구
– 타겟 광고
– 네트워크 침입 감지
– 스마트 미터 모니터링
기계 학습에 관한 결론
애저 머신 러닝에 대한 마이크로소프트의 전략 방향은 이미 갖고 있는 데이터와 인력이용해 손쉽게 시작할 수 있도록 하는 것이다. 애저 가입을 시작하면 작업공간을 구성하고 ML 스튜디오를 바로 이용할 수 있도록 한 점에서도 이는 뚜렷이 드러난다.
* Jonathan Hassell은 컨설팅 기업 82벤처스의 경영자다. dl-ciokorea@foundryco.com