데이터 과학자가 클라우드로 가야하는 이유 5가지

InfoWorld
데이터가 범람하는 세계에서 데이터 과학자의 역할은 기업이 통찰력과 예측을 통해 더 현명한 비즈니스 의사 결정을 내리도록 하는 것이다. 일반적으로 데이터 과학자는 통계 분석과 수학 모델링 전문가이며 R, 파이썬과 같은 프로그래밍 언어에 능숙하다.

그러나 소수 대기업을 제외하면 대부분의 데이터 과학은 여전히 노트북이나 자체 서버에서 실행되는 실정이고, 그 결과 오류와 지연이 잦고 비효율적이다. 필자는 그동안 몇몇 첨단 기업이 데이터를 활용하는 방식을 자세히 관찰한 바, “노트북 데이터 과학”은 곧 사라진다고 단언할 수 있다. 비효율적이고 협업에 불리하며 최선의 결과도 얻지 못하기 때문이다.

ⓒ GettyImagesBank

데이터 과학자가 노트북 또는 로컬 서버에서 벗어나 클라우드로 가야 하는 5가지 이유를 살펴보자.
 

데이터 과학은 팀 스포츠

알고리즘과 머신러닝 모델은 기업을 위한 고급 분석과 머신러닝 퍼즐에서 하나의 조각을 구성한다. 비즈니스 의사 결정을 위한 데이터에 근거한 통찰력을 제공하기 위해서는 데이터 과학자, 데이터 엔지니어, 머신러닝 엔지니어, 데이터 분석가, 그리고 시민 데이터 과학자가 모두 협력해야 한다.

노트북에서 모델을 빌드하는 데이터 과학자는 데이터 엔지니어가 만든 데이터 집합을 다운로드해서 머신러닝 모델을 빌드하고 학습시켜야 한다. 간혹 빌드와 학습을 위해 자체 서버를 사용하기도 하지만 대부분은 노트북을 사용한다. 노트북과 자체 서버의 계산 용량이나 메모리는 제한적이므로 데이터 과학자는 데이터를 샘플링해서 더 작고 관리 가능한 데이터 집합을 만들어야 한다. 이와 같은 샘플 집합은 프로젝트를 처음 시작할 때는 유용하지만 데이터 과학 수명 주기의 후반 단계에서 수많은 문제를 일으킨다.

데이터 부패(staleness) 문제도 있다. 로컬에 저장된 데이터를 사용하는 데이터 과학자가 예측을 구축하기 위한 기반으로 사용하는 스냅샷은 현재의 세계를 정확히 반영하지 않을 수 있다. 중앙 클라우드에 저장된 더 크고 더 정확한 대표성을 지닌 샘플을 사용하면 이 문제를 완화할 수 있다.
 

빅 데이터가 지능형 알고리즘 지배

최근 인공 지능과 머신러닝에 대한 관심이 폭증한 배경에는 대용량의 구조적, 비구조적, 반구조적 데이터를 빠르게 가공 및 반복(머신러닝 모델의 학습과 튜닝)할 수 있는 기능이 있다. 대부분의 경우 머신러닝은 더 많은 양의 더 대표적인 샘플 집합을 사용해 학습할수록 더 유리하다.

기업은 반구조적 상호작용 데이터(웹사이트 상호작용 로그, 이벤트 데이터)와 비구조적 데이터(이메일 텍스트, 온라인 리뷰 텍스트)를 구조적 트랜잭션 데이터(ERP, CRM, 주문 관리 시스템)와 결합함으로써 강력한 사용 사례를 구축할 수 있다. 머신러닝에서 비즈니스 가치를 끌어내기 위한 열쇠는 트랜잭션 데이터와 상호작용 데이터를 결합한 다량의 데이터 집합을 확보하는 것이다. 이처럼 규모가 커지면 클라우드 또는 대규모 온프레미스 클러스터에서 데이터를 처리해야 하는 경우가 많다. 이 과정에 노트북이 들어가면 전체 흐름에 병목 현상이 발생하고 이는 지연으로 이어진다.
 

데이터 과학에는 유연한 인프라 필요

오늘날 데이터 과학자는 R, 사이킷-런(Scikit-learn), 스파크 MLlib(Spark MLlib), 텐서플로우(TensorFlow), MXNet, CNTK를 비롯한 수많은 오픈소스 머신러닝 프레임워크를 활용할 수 있다. 그러나 이런 프레임워크를 위한 인프라, 구성, 환경을 노트북이나 자체 서버에서 관리하기란 상당히 번거롭다. 인프라 관리에 따른 부가적인 오버헤드로 인해 중요한 데이터 과학 활동에 써야 할 시간이 낭비된다.

SaaS(Software as a Service) 모델을 사용하면 이 오버헤드가 대부분 사라진다. 클라우드의 사용량 기반 가격 모델은 간헐적으로 짧은 기간 집중되는 머신러닝 워크로드의 속성과 잘 맞는다. 클라우드를 사용하면 모델 호스팅과 배포 옵션을 제공하는 클라우드 업체를 통해 다양한 머신러닝 프레임워크를 더 쉽게 살펴볼 수도 있다. 또한 아마존 웹 서비스, 마이크로소프트 애저, 구글 클라우드를 비롯한 클라우드 서비스 제공업체는 지능형 기능을 서비스 형태로 제공한다. 이 서비스를 통해 새로운 제품 또는 애플리케이션에 지능형 기능을 더 수월하게 통합할 수 있다.
 

중앙 저장소로 데이터 정확성과 모델 감사 가능성 개선

머신러닝 모델을 사용한 예측의 정확성과 대표성은 머신러닝 모델 학습에 사용된 데이터의 정확성과 대표성을 그대로 반영한다. 현대의 모든 AI와 머신러닝 구현이 가능한 이유는 고품질 데이터에 있다. 예를 들어 내비게이션 앱은 오래 전부터 존재했지만 지금은 대량의 데이터 덕분에 예전에 비해 훨씬 더 정확하다.

따라서 AI 머신러닝 관련 작업의 상당 부분은 데이터 로지스틱스를 중심으로 돌아간다. 데이터 로지스틱스란 머신러닝으로 모델링하고자 하는 실제 세계를 반영하는 데이터 집합을 수집, 라벨링, 분류, 관리하는 과정이다. 다수의 데이터 사용자가 있는 기업에서는 이미 데이터 로지스틱스가 복잡한 상황이다. 이러한 사용자들 사이에 여러 로컬 데이터 세트 사본이 흩어져 있다면 복잡성 문제는 더욱 악화된다.

또한 보안과 프라이버시에 대한 우려도 점차 커지는 중이다. 기업 데이터 프로세스는 데이터 프라이버시 및 보안 규정을 준수해야 한다. 모든 데이터 집합의 중앙 저장소를 두면 데이터 관리와 통제가 간소화될 뿐만 아니라 데이터 일관성과 모델 감사 가능성도 보장된다.
 

데이터 과학은 빠를수록 비즈니스에 유리

이상의 이유는 모두 노트북 기반 데이터 과학에서 가치 창출 시간을 지연시킨다. 노트북 또는 자체 서버에서 작업하는 데이터 과학자의 일반적인 워크플로우에서 첫 번째 단계는 수동으로 데이터를 샘플링하고 로컬 시스템으로 데이터 집합을 다운로드하거나, ODBC 드라이버를 통해 데이터베이스에 연결하는 것이다. 두 번째 단계는 R스튜디오(RStudio), 주피터 노트북(Jupyter Notebook), 아나콘다(Anaconda) 배포판, 머신러닝 라이브러리, 그리고 R, 파이썬, 자바와 같은 언어 버전 등 필요한 모든 소프트웨어 툴과 패키지를 설치하는 것이다.

모델을 프로덕션에 배포할 준비가 되면 데이터 과학자는 머신러닝 엔지니어에게 모델을 전달한다. 그러면 머신러닝 엔지니어는 코드를 자바, 스칼라, C++ 등의 프로덕션 언어로 변환하거나, 최소한 코드를 최적화하고 애플리케이션의 나머지 부분과 통합해야 한다. 보통 코드 최적화는 데이터 쿼리를 ETL 작업으로 재작성하고 코드를 프로파일링해서 병목 지점을 찾고 로깅, 내결함성 및 기타 프로덕션 수준 기능을 추가하는 작업 등으로 구성된다.

이와 같은 각 단계는 지연을 일으키는 병목 지점이 된다. 예를 들어 개발 환경과 프로덕션 환경 간의 소프트웨어 또는 패키지 버전이 일치하지 않아 배포 시점에 문제가 발생할 수 있다. 또한 윈도우 또는 맥 환경에서 빌드된 코드는 리눅스에 배포 시 거의 대부분 작동하지 않는다.

노트북에서 데이터 과학을 실행하는 데 따르는 이상의 모든 문제점은 비즈니스 가치의 손실로 이어진다. 데이터 과학은 데이터 준비, 모델 빌드, 모델 검증에 많은 리소스를 투입해야 한다. 데이터 과학자는 해결하고자 하는 비즈니스 문제에 적합한 모델을 찾기 위해 일반적으로 다른 기능, 알고리즘, 모델 사양으로 수백 번 과정을 반복한다. 이러한 반복에는 상당한 시간이 소비된다. 인프라 및 환경 관리, 배포, 협업에 병목 현상이 발생하면 기업의 가치 창출 시간은 더욱 지연된다.

노트북 또는 로컬 서버에 의존하는 데이터 과학자는 머신러닝 모델을 시작할 때의 편리함을 위해 확장 및 상품화의 편리함을 포기하는, 현명하지 못한 거래를 하는 셈이다. 데이터 과학 팀은 노트북 또는 로컬 서버에서 작업하면 더 신속하게 준비하고 시작할 수 있지만 클라우드 플랫폼은 무제한 컴퓨팅 및 스토리지, 용이한 협업, 더 쉬운 인프라 관리 및 데이터 거버넌스, 가장 중요한 더 빠른 제품화 시간 등 장기적으로 더 큰 이점을 제공한다.

클라우드에서 데이터 과학과 머신러닝을 시작하기 위한 가장 빠르고 비용 효율적인 방법은 클라우드 기반 데이터 과학 및 머신러닝 플랫폼을 사용하는 것이다. 적어도 이 사용 사례에서 노트북의 수명은 얼마 남지 않았다.  editor@itworld.co.kr