01.29
주요뉴스
뉴스홈 > 칼럼
[기고] 머신러닝, 개발자 역할 바꾼다짐 헤어(Jim Hare) 가트너 VP 애널리스트

[컴퓨터월드]

   
▲ 짐 헤어(Jim Hare) 가트너 VP 애널리스트

분석

애플리케이션 개발자는 팀 내 다른 개발자나 외부 개발자가 사용해 왔던 사전 구축된 템플릿, 또는 애플리케이션 코드의 모듈, 구성요소, 서비스를 활용해 애플리케이션을 구축한다. 다시 말해 개발자들은 기업에 애플리케이션을 제공하기 위해 필요한 요소를 조합하는 것이다.

그러나 애플리케이션 개발자들은 본인들의 책임이 변하고 있음을 인지하고 있다. 이들의 포트폴리오는 API 콜(call)을 통해 액세스할 수 있는 머신러닝 모델을 포함하는 것으로 점차 확장되고 있으며, 이러한 API 콜은 애플리케이션에 기능성을 더해주고 있다.

기업 비즈니스 강화를 위한 AI 활용이 점차 늘어나는 추세다. 초기의 AI 활용은 예측 가치를 제공하고, 자산을 분류하거나 비즈니스 프로세스를 자동화해 경영을 개선하는 머신러닝 모델에 초점이 맞춰져 있었다. AI의 활용은 여전히 낮지만, 빠르게 성장하고 있다.

가트너는 기업들의 AI 도입 상황을 알아보기 위해 2020년 CIO 설문조사를 실시했다. 이미 AI를 도입한 조직의 비율은 19%로 나타났지만, AI 도입률은 2018년 4%에서 2019년 14%로 증가하며 가파른 성장세를 보였다. 해당 설문조사에서 AI 도입에 관심이 없다고 답한 기업은 8%에 불과했다.

데이터 사이언스와 머신러닝 분야의 인재 부족 문제를 고려해볼 때, 머신러닝 모델을 구축, 사용, 모니터링하고 유지하는 것은 기존 애플리케이션 개발팀의 몫이 되고 있다. 이들 개발팀이 텐서플로우(TensorFlow), 카페(Caffe) 등의 툴이나 딥러닝 모델 구축과 관련된 기법을 새로 배울 가능성은 매우 낮다. 대신 머신러닝 모델의 구축을 자동화하는 서비스를 사용할 확률이 더 높다.


비즈니스 앱을 개선하기 위해 머신러닝 모델 사용하는 기업 증가

머신러닝 모델을 추가하면 많은 애플리케이션을 향상시킬 수 있다. 일례로 영업사원에게 잠재 고객 리스트를 제공하는 애플리케이션을 살펴보자. 머신러닝 모델은 잠재 고객이 영업사원으로부터 상품을 구입할 가능성을 반영해 점수를 매긴다. 이 점수가 애플리케이션에 추가되면 리스트는 보다 개선될 수 있다. 예측 머신러닝 모델이나 범주화 머신러닝 모델은 애플리케이션의 가치를 향상시킬 수 있는 수많은 기회를 제공할 것이다.

애플리케이션 리더들은 데이터 사이언스 및 데이터 관리 전문가들과 협력해 이러한 모델을 구축하는 데 사용할 수 있는 데이터 소스를 식별해야 한다. 데이터소스는 완전성, 정확성, 다양성, 편향성 및 적합한 크기 등의 기준으로 평가돼야 한다. 개발팀은 머신러닝 모델을 구축하는 데 사용되는 데이터 소스의 적합성을 평가하는 데 필요한 기술을 습득해야 할 것이다.

제언
■ 머신러닝 모델을 통해 비즈니스를 향상시킬 수 있는 애플리케이션을 파악하라. 또한 머신러닝 모델을 구축하는 데 사용될 수 있는 데이터 소스를 갖고 있는지 확인하라.
■ 예측 정확도를 원하거나 데이터 세트에 다수의 관측치 또는 변수가 있는 경우, 머신러닝을 사용하라. 주 목적이 예측이 아닌 설명이라면 통계모델을 사용하는 것이 좋다.


클라우드 제공업체, 머신러닝 모델 구축 자동화 서비스 제공

애플리케이션 리더들은 아마존, 구글, IBM, 마이크로소프트뿐만 아니라 H2O.ai, SAS Viya, Prevision.io 등 새로운 업체까지 다양한 공급업체의 자동화된 머신러닝 서비스를 평가해야 한다. 이들 플랫폼의 유효성을 확인해 머신러닝 모델 창출 기회를 이끌어낼 수 있다. 이 때, 생산된 모델의 성능 뿐 아니라 툴의 기능, 팀 내 개발자가 가진 기술과의 합을 고려해야 한다.

개발팀은 이러한 서비스로 머신러닝 모델을 획득하고, 모델의 성능과 애플리케이션의 가치를 제공할 수 있는 능력을 테스트해야 한다. 이러한 머신러닝 모델을 성공적으로 구축하기 위해서는 툴링(tooling)과 서비스에 친숙해지는 것이 중요하다.

배치 옵션도 고려해야 할 요소다. 배치 옵션에는 퍼블릭 클라우드 호스팅이나 가상 프라이빗 클라우드 또는 온프레미스 컨테이너 배포가 포함된다. 주어진 상황에 대한 올바른 선택은 모델 출력의 민감도와 기업이 현재 사용하고 있는 솔루션의 아키텍처에 달려 있다. 배치 옵션은 개발팀에게 익숙한 영역이기 때문에 머신러닝 모델이 이러한 활동을 확대할 수도 있다.

애플리케이션 리더들은 새로이 부상하는 머신러닝 환경에 보다 잘 적응하기 위해 직원들의 프로그래밍 기술 개발 또한 고려해야 한다. 파이썬(Python)은 많은 AI 머신러닝 환경에서 선호되는 언어로 떠오르고 있다. Java, Perl, C++ 및 기타 여러 언어에 능숙한 프로그래머들은 AI 머신러닝 프로젝트에 필요한 파이썬 기술을 습득할 수 있다.

제언
■ 클라우드로 호스팅되는 자동화된 머신러닝 서비스를 이용해 머신러닝 모델을 구축하라.
■ 이미 배포된 애플리케이션에서 API를 통해 호출할 수 있는 머신러닝 모델을 구축하라.


머신러닝 모델 구축하는 개발자 계속 증가

가장 먼저 해야 할 일은 머신러닝을 위한 개발자 서브셋을 선택하는 것이다. 개발자들은 기본 통계모델을 이해할 만큼의 수학 실력을 갖춰야 한다. 또한 이들은 머신러닝 모델 구축에 있어 데이터 및 분석과 데이터 사용에 대해 알고 있어야 한다. 개발자들은 데이터 사이언티스트들과 협력하거나 학습과 교육을 통해 아래와 같은 요소를 기본적으로 이해해야 한다.

■ 잠재적인 데이터 자산 – 기업체 및 외부 데이터 저장소에 있는 모델을 구축하는 데 사용할 수 있는 데이터
■ 데이터 품질 – 머신러닝 모델을 구축하는 데 사용할 수 있는 체계적인 데이터 세트를 구성하는 요소. 이는 데이터 편향성과 데이터 다양성에 대한 기본적인 이해를 포함한다.
■ 데이터 양 – 자동화된 머신러닝 서비스를 사용하여 모델을 구축하는 데 필요한 데이터의 양
■ 잠재적 사용 사례 – 머신러닝 모델 통합을 통해 개선할 수 있는 애플리케이션

개발팀이 머신러닝의 장단점을 이해하는 것은 중요하다. 또한 개발팀은 학습 데이터가 모델의 결과에 어떻게 영향을 미치는지 이해해야 한다. 머신러닝 비즈니스 애플리케이션은 수 없이 많다. 일반적으로 머신러닝은 다양한 유형의 문제를 해결한다.

머신러닝 장점
■ 분류 – 대상을 분류해야 할 때 머신러닝은 훌륭한 툴이 된다. 머신러닝은 대상, 예컨대 고객, 제품, 장비, 장면 이미지 또는 대상의 이미지 등을 미리 설정된 둘 이상의 그룹으로 분리하는 데 사용할 수 있다.
■ 클러스터링 – 머신러닝은 대량의 데이터에서 패턴을 발견한다. 머신러닝은 사용자들이 데이터 포인트 간의 유사점을 찾고 유사한 그룹으로 대상을 구분할 수 있게 한다. 이 그룹들을 미리 구분할 필요는 없다. 머신러닝은 이전에 보지 못했던 그룹들도 식별할 수 있다. 예를 들어, 머신러닝은 이전에 알 수 없었던 구매 패턴, 질병의 지역분포, 투표 선호도, 여행 선호도, 언어 사용 추세 등을 파악하기 위해 사용될 수 있다.
■ 회귀(혹은 예측) - 머신러닝으로 미래의 결과나 스팟 트랜드를 예측할 수 있다. 머신러닝은 일반적으로 과거 데이터 및 추가적인 상황 데이터로 나타나는 데이터 세트의 입력을 사용해 가장 가능성이 높은 숫자 값을 추정한다. 머신러닝은 주식이나 부동산 가격, 소비자 행동 또는 장비의 마모 등을 예측하는 데 사용될 수 있다.
■ 차원 축소 – 머신러닝은 가장 중요한 데이터를 선택할 수 있게 해준다. 또한, 데이터 그룹화의 패턴과 데이터를 요약할 수 있는 방법을 파악하는 데에도 사용될 수 있다. 실제로 장바구니 분석, 사진 처리, 텍스트 분석 등의 분야에도 사용된다.

머신러닝 단점
■ 예측이 아닌 설명인 경우 – 주목적이 예측이 아닌 설명이라면 통계모델이 더 적절하다. 통계모델은 변수 사이의 관계를 정량화하는 데 사용되며, 그 관계는 과거에 생성된 데이터에만 존재한다. 반면, 머신러닝 모델은 과거 데이터로 학습하면서도 현재와 미래 데이터에 기반을 두고 예측을 수행한다.
■ 충분한 데이터가 없는 작업일 경우 – 머신러닝은 막대한 데이터에 기반해 작업하도록 설계 되어있다. 학습 데이터 세트가 너무 적으면 모델은 편향될 것이다.
■ 잡음 데이터 – 머신러닝 내의 ‘잡음’은 데이터 세트에서 무관한 정보다. 잡음 데이터가 너무 많으면 모델은 신호 대신 잡음을 학습하기 때문에 예측 정확도가 낮아질 수도 있다.
■ 데이터 내의 편향 식별 – 머신러닝 모델은 데이터에 기반해 고정된 방식으로 작동한다. 데이터에 편향성이 있는 경우, 머신러닝 모델은 이를 식별할 수 없다. 예를 들어, 직원 채용 모델을 주로 성공한 현재 직원을 대상으로 적용한다면 머신러닝 모델은 이전의 편향성을 채용에 반영하는 것이다.

제언
■ 머신러닝 모델의 잠재력을 활용하고자 하는 숙련된 개발자의 서브셋을 확인하라.
■ 개발자들에게 데이터 준비와 머신러닝 모델의 적절한 사용에 대해 교육하라.

인기기사 순위
(우)08503 서울특별시 금천구 가산디지털1로 181 (가산 W CENTER) 1713~1715호
TEL : 02-2039-6160  FAX : 02-2039-6163  사업자등록번호:106-86-40304
개인정보/청소년보호책임자:김선오  등록번호:서울 아 00418  등록일자:2007.08  발행인:김용석  편집인:김선오