김종혁 컨설턴트는 클루커스에 입사하기 전 건축학과를 졸업하고 관련 업계에서 일했다. 이처럼 DS(Data Scientist) 팀은 구성원들의 출신 배경이 다양하다는 게 특징. 김종혁 컨설턴트는 "DS 업무는 다양한 산업에서의 도메인 지식이 있어야 한다"며 "다른 산업을 경험한 분들이라면 그런 부분이 DS 업무에 있어서 장점이 될 것"이라고 설명한다. DS팀의 업무를 좀 더 자세히 들여다봤다.
자기소개 부탁드립니다.
안녕하세요 저는 DA (Data Analytics) 그룹에서 DS (Data Scientist) 팀으로 일하고 있는 김종혁이라고 합니다.
DS는 일반적으로 데이터의 이해, 분석, 시각화, 인사이트를 도출하는 업무를 맡고 있는데, 클루커스의 DS 는 이것 외에 주로 클라우드 환경(Azure, AWS, NCP, GCP)에서의 적합한 파이프라인을 생성해, MLOps를 구현하기도 해요. 이때, 코그니티브 서비스와 같은 여러 벤더사 플랫폼에 있는 서비스를 활용하죠.
클루커스 DS 팀은 어떤 일을 하나요?
주로 팀원들과 함께 가설을 세운 후 검증해보고 최종적으로 모델을 빌드해요. 예를 들어 ‘마케팅 동의 철회한 고객들이 나이에 따라서 어떠한 영향이 있을 것이다’라는 가설을 세워보고 그걸 검증을 해봐요. 데이터를 넣고 코드를 짜요. 통계적으로 보죠. 그러면 그걸 가지고 팀원들과 자유롭게 의견을 나눠요. 이런 커뮤니케이션을 하기 위해서는, 자기가 세운 가설을 합리적이고 논리적으로 다른 사람들에게 설득시킬 수 있는 능력이 있어야 해요.
또 일주일에 한번 씩 진행했던 프로젝트에서 세웠던 가설들에 대해 혹은 기술적인 것들, 어려웠던 점들을 공유하고 있어요. 서로 피드백도 주고 받고요.
쿠팡, 넷플릭스 같은 경우는 도메인이 특화되어있는데요. 클루커스 DS 는 많은 산업군의 데이터를 다뤄볼 수 있다는 게 장점이에요. 저는 병원, 게임, 제조업, 통신 등의 산업군을 다뤄봤어요. 그들의 데이터를 접할 수 있고, 원하는 목적과 그것을 위한 파이프라인도 다 알 수 있다는 게 장점이죠.
데이터 파이프라인을 구축한다는 건 어떤 의미인가요?
파이프라인은 데이터를 어디서부터 끌어와서 무엇을 할 건지에 대한 모든 것이 담겨 있어요. 파이프라인을 만드는 건, 전체 모델링 과정을 자동화하기 위함도 있어요.
이해하기 쉽게 설명 드리면, 수도관이 있다고 생각해 봐요. 수원에서 물이 출발을 하죠. 거기서 독소를 제거하고 마실 수 있게끔 전처리도 할 거고 그 다음에 한군데 모아 두었다가 유통을 하기위해 또 나눠서 수도관에 따라 이동을 하게 되겠죠. 데이터도 그렇게 흐른다고 보시면 돼요. 원천 데이터라는 고객의 수원을 다른 곳에 옮겨서 처리하고 가공, 보관하는 모든 과정을 ‘파이프라인을 만든다’라고 표현하는 거죠. 이 전 과정을 DA (Data Analytics) 그룹에서 다 하는데 이중에서 DS (Data Scientist) 팀이 하는 건 모델링, 분석, 결과모니터링 부분이구요.
그렇군요, 그럼 나머지 부분은 누가 하나요?
DE (Data Engineer) 팀은 데이터를 끌어와요. 데이터 베이스에서 튜닝도 하고 그렇게 해서 1차적으로 전처리된 데이터를 DP (Data Platform)팀이 전달 받아요. DP팀은 플랫폼을 전담 하는데, 클라우드 플래폼 내에서 파이프라인 구축을 해요. ETL도 하고 분석하기 쉽게끔 파이프라인을 최적화 하는거예요. 아까 말한, 독소를 제거하고 전처리하는 과정을 거치는거죠. 그 다음에 처리된 물(데이터)로 DS팀이 고객이 원하는 것에 따라 가공하여 모델을 만드는 작업을 해요. 일종의 최종산출물로 비유하자면 요리도 할 수 있고, 세척도 할 수 있는 거죠.
Cognitive Service란 무엇인가요?
데이터가 있어야 모델을 만들 수 있어요. 데이터가 있어야 모델을 학습시킬 수 있는거죠. 이 인풋 데이터, 그러니까 X 변수로 들어가는 데이터가 좋은 양질의 데이터여야지 양질의 모델이 나와요. 그럼 이 데이터가 많은 회사가 어디냐하면, 구글이나 MS같은 이런 벤더사겠죠.
벤더사의 이 수많은 데이터를 가지고 수많은 연구원들이 만든, 프리 트레이닝 된(사전에 학습된) 모델들을 사용해요. 카메라로 사람을 인식하고, 개와 고양이를 나누고, 산업 현장에서 ‘어떤 사람이 쓰러졌다’는 걸 구분해서 알람을 울리고, 자동차나 기동체에 달린 카메라에서 오브젝트 디텍션을 사용해서 사람을 피해야하고 도로를 따라서 주행해야하고. 이런 것들을 다 인식하는거죠. 이런 모델들이 클라우드 서비스에 다 탑재가 되어있어서 가볍게 쓸 수 있어요. 완전한 커스터마이징은 못하지만 고도화된 모델들을 쓸 수가 있는 거예요.
Auto ML은 뭔가요?
일종의 자동화된 머신 러닝인데요. 파이프라인이 자동화된다고 했잖아요. 소스 데이터에서 데이터를 가져와서 마사징한다음 모델을 학습시켜요. 원래는 이 모든 과정을 모두 사람들이 일일히 모두 코드로 다 전처리 해야하는건데, AutoML은 클라우드 내의 리소스 형태로, 쉽게 GUI 베이스로 클릭만으로 자동화 해주는 기능이죠.

자습서: AutoML 학습 회귀 모델 - Azure Machine Learning | Microsoft Docs
이런식으로요. 제가 말씀드린 프리-트레인된 모델들도 다 autoML에 속한거에요. Azure 포털에서 재학습/재배포 주기 관리를 포함해서 MLOps라고 해요.
DS 분들은 개발 능력도 필요하겠네요.
네, 그렇죠. 주로 파이썬과 R을 다뤄요. DE 팀의 DBA분들은 또다른 언어를 써요. DB단의 언어를 쓰시죠.
어떤 기술을 선호하세요?
개인적으로는 주피터를 사용하고 있는데, 주피터는 코드를 짜고 실행시켜주는 환경이에요. VS code 도 가능하지만 저는 주피터를 선호해요. 코드를 쓰고 클릭하면 in 과 out 의 결과물을 바로 볼 수 있고, 그 다음 코드를 연결해서 쓸 수 있어요. 하나하나 작성하다보면, 결국 파이프라인을 만들게 되는 거죠.
정말로 큰(Big) 데이터를 분석하고 핸들링하려면 그 만큼의 컴퓨팅 파워가 있어야해요. 이런걸 편리하게 해줄 수 있는 게 데이터브릭스예요. 이런 워크 플레이스를 오토스케일링해줘요. 그래서 합리적인 비용으로 사용할 수 있죠.

출처: https://papers.nips.cc/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html
Hidden Technical Debt in Machine Learning Systems (nips.cc). 이게 구글에서 낸 논문인데, 클라우드 기반 데이터 플랫폼이 각광받는 이유가 나와 있어요.
데이터 분석에 있어 실질적인 분석업무는 위 그림과 같이 큰 비중을 차지하고 있지 않아요. DS가 하는 일이 이만큼이라면 분석을 위한 인프라, 데이터 수집, 시스템 등을 관리하고 구축하는 데 더 많은 비용과 시간이 소요되는거죠. 클라우드 기반 데이터 플랫폼을 사용할 경우, 분석 외적인 부분에 대한 관리가 상대적으로 용이하게 돼요.
확장성, 유연성 기반의 비용 효율성이 있고, 빠른 구축이 가능하구요. 물리적인 서버가 필요하지 않고 플랫폼에 대한 버전 관리를 자동으로 업데이트 해주기 때문에 데이터 분석가가 분석 업무에 집중할 수 있는 환경을 제공해 준다는 강점이 있어요.
기존 온프레미스에서의 데이터 분석 방법은 어땠나요?
과거의 SAS, SPSS, Matlab, R 등의 통계 특화 Tool이 있었지만, 다양한 Machine Learning, Deep Learning 환경을 구축하기 위해서는 온프레미스에 손수 분석 환경을 구축해야 했죠.
그럼 클라우드 기반 데이터 플랫폼을 통해 데이터를 분석할 경우, 어떠한 장점이 있나요?
클라우드 환경에서 빅데이터 처리는 'Cloud Scale;이라는 단어가 생길 정도로 빅데이터 처리에 유용해요. 확장에 대한 고민 없이 무제한에 가까운 확장 가능한 데이터 용량 및 컴퓨팅 파워를 사용할 수 있어요.
확장 뿐 아니라 사용한 만큼만 과금 되기 때문에, 필요시에는 많은 리소스를 사용하고 사용하지 않을 때는 비용을 줄일 수 있고요.
특히나 빅데이터 처리를 위해서는 강력한 컴퓨팅 파워를 가지고 빠르게 데이터 처리할 수 있는 하드웨어가 필요한데요. 그런 환경을 온프레미스에 구축한다면 운영 초기부터 스펙 및 스케일 산정에 어려움이 있고, 비용에 대한 부담이 큰 게 사실이에요.
클라우드에서는 활용하고자 하는 데이터의 양(Volume), 처리 속도(Velocity), 형태(Format)등을 파악하여 가장 합리적인 스펙과 스케일을 선택할 수 있어요. 클라우드에서 실시간 모니터링 할수 있고, 또 언제든 변경할 수 도 있죠. 클라우드에서 제공되는 보안을 통해서 데이터를 안전하게 관리할 수 있고요.
클라우드 기반 데이터 플랫폼이 갖고 있는 특별한 기능이 있을까요?
기본적으로 수집, 저장, 통합, 분석, 활용 등 5가지 단계로 진행되는 것은 온프레미스 환경과 크게 다르진 않아요. 가장 큰 차이점은 편의성이에요.
라이브러리나, 플랫폼 자체에 대한 버전 관리를 자동으로 업데이트 해주기 때문에 데이터 분석가가 분석에만 집중할 수 있는 환경을 제공하는거죠. 그래서 신기술에 대한 접근성이 용이해지고, 방법론에 대한 다양한 선택지가 있다는 것이 특징이에요. 이렇게 다양한 스펙을 선택할 수 있어서 환경 자체가 유연해지는 거죠. 그러다보니 비용도 효율적으로 최적화 되어 합리적이에요.
수집, 저장, 통합, 분석, 활용 등 5가지 단계로 프로세스 정리할 수 있다고 하셨는데, 설명을 좀 더 부탁드려요.
위와 같은 리소스들을 각 단계별로 사용할 수 있어요. 기본적으로 수집 저장 단계에서는 모든 리소스가 오토스케일링을 제공하고요.
또 오픈소스를 포함한 다양한 종류의 DB와 Databricks, SparkBeyond 등의 3rd Party 데이터 솔루션을 활용해서 클루커스에서는 기술의 최전선에서 좀 더 차별화된 데이터 분석을 하실 수 있어요. 시각화 서비스를 사용해서 고객사 업무의 효율을 높여드리는데, 고객이 더 나은 의사결정을 하도록 도와드려요.
데이터 사이언티스트가 된 계기도 궁금합니다.
저는 전공이 건축이에요. 대학 졸업하고 바로 건설회사에 들어갔어요. 당시 회사에는 누적된 사진과 데이터 같은게 되게 많았거든요. 이런 데이터를 잘 활용할 수 있을 것 같고, 자동화해서 업무 프로세스를 훨씬 효율적으로 만들 수 있을 것 같았어요. 하지만 회사에서는 그렇게 새로운 것을 시도하는데에 리스크와 비용에 대한 부분만 생각을 하더라구요.
그런 데서 오는 문화의 차이도 있었고, 주도적으로 일을 하고 싶다는 생각에 데이터에 대해 공부하게 됐습니다. 제가 직접 공부해보고 다뤄봐야 알 수 있을거라고 생각했어요. 6개월 정도 공부하고, 클루커스에 오게 됐죠. 보수적인 회사의 문화보다 주도적으로 일할 수 있는 환경이라, 제가 원하는 문화를 가진 회사라고 느껴요.
이직 결정이 쉽지 않았을 것 같은데요.
저도 처음엔 엄청 두려웠고 걱정됐고, 후회도 많이 했어요. 저는 비전공자였잖아요. 코딩을 처음 배울 때 많이 힘들었죠. 바로 이해도 안 되고. 전공자들도 이걸 배우고 있는데 '비전공자인 내가 어떻게 이기나, 어떻게 경쟁력이 있을까?'라는 생각이 들었죠.
DS업무는 다양한 산업에서의 도메인 지식이 있어야해요. 물론 수학적인 부분도 잘 해야하지만, 전체적인 산업이 흘러가는 흐름도 잘 파악해야해요. 그런 부분에서는 또 경험이 있고, 내 의견을 적절하게 내세우면서 논리적으로 말할 수 있는 능력이 있다면 괜찮겠다 그런 생각이 들었어요. 말하는 습관을 계속 들이고 있는 거죠. 저희 팀원들끼리도 그렇게 의사소통 하고 있고요.
어떤 사람이 DS 업무에 잘 맞을까요?
꼼꼼하고 호기심 많은 사람이라면 이 직무가 잘 맞을 것 같아요. 인풋데이터를 몇 백개를 넣어야 한다고 가정할 때 하나하나 다 볼 수는 없겠죠. 그런데 어느 순간 어떤 부분이 다를 때 ‘이게 왜 이러지?’하고 호기심이 들어서 파헤치다 보면 흥미롭고 재밌게 일할 수 있을 거 같아요. 저는 호기심이 많아서 데이터를 직접 까봐요. 왜 그런지 궁금하니까. 그런데 호기심만 있어서는 안되고, 왜 그런지 물고 늘어지는 끈기도 있어야 하죠.
클루커스의 일하는 문화는 어떤가요?
이직할 때 딱 두 가지를 고려했는데, 바로 직무와의 적성과 문화였어요. 아무래도 전 직장에서의 보수적인 분위기에서 여러 한계를 느꼈거든요.
저희는 내가 한 일에 대해서 같은 DS들한테 피드백을 받아요. 위계가 없으니까 피드백이 자유롭죠. 내가 할 수 있는 일을 발전시키기에 더 좋은 형태인 것 같아요. 물론 피드백을 주거나 크리틱을 할 때는 가감없이 주고 받더라도 일에서의 위계는 필요해요. 업무상 끌고 가는 사람이 있어야 하는데, 리딩하는 사람의 말을 안 듣고 맘대로 일처리를 한다, 이런 건 안 되는 거죠. 이걸 잘 구분해야 해요.
DS로서 가져야할 자질은 뭘까요?
커뮤니케이션이나 논리적으로 설명할 수 있는 능력, 가설 검증에 대한 코딩능력 등이 필요할거 같아요. 호기심을 가지고 들여다보고 탐구하는 자세도 중요하고요. 원인을 파헤쳐보는 성향의 사람이 업무에 잘 맞을 것 같아요.
어떻게 보면 모든 분야가 다 연결되어 있어요. 그래서 다른 필드에 있던 사람들도 전공자가 아니더라도 도메인 지식이라는 게 있으니까 게임사, 병원, 제조업 쪽에서 오신 분들도 계시거든요. 전혀 다른 산업에서 있던 분들도 하실 수 있어요. 통신사의 데이터를 분석한적도 있는데, 요금제가 어떻게 구성되어 있고 할인율은 어떻게 매겨지는지와 같은 부분도 전부 도메인 지식이에요. 그런 모든 걸 경험 해 볼 수 있다는 게 클루커스 DS의 장점이구요.
마지막으로, DS를 꿈꾸는 분들에게 어떤 말을 해주고 싶으세요?
다른 사람이 무슨 일을 하는지 옆에서 보고 배우면, 그 모든 게 쌓인다고 생각해요. DS 라고 해서 ‘난 무조건 DS 일만 해야 해!’라는 사람에게는 일이 힘들 수 있어요. 크게보면 모든 일이 다 연관되어 있거든요.
클루커스에서의 업무는 기존에 없던 새로운걸 개척하는 일이다 보니 내가 밤을 새서 전진하면 회사에게 좋다기보다, 나 스스로에게 좋은 거라는 생각이 들어요. 내 실력이 쌓이니까요. 전에는 단일화된 반복적인 업무를 하다보니 정체된 느낌이 있었어요. 하지만 IT와 클라우드, 그리고 데이터 쪽 기술은 계속 변화하고 고도화되고 있기 때문에 정말 끊임없이 공부를 해야하죠. 그러다 보니 많이 배우고 성장의 기쁨이 있는 일인 것 같아요. 기술 발전의 최전선에 있다 보니, 그걸 리드하고 따라가려면 멈추지 말아야죠.
저작권은 (주)클루커스에 있으며, 무단 배포를 금지합니다.