현장에 필요한 데이터 교육
빅데이터, 머신러닝, AI 등 누구라도 한 번쯤 들어봤을법한 단어들이다. 4차 산업혁명이라는 큰 거대한 담론 아래 한국은 정부 차원에서의 간접 지원뿐 아니라, 민간 차원에서도 수 많은 교육 프로그램과 컨텐츠들이 제공되고 있다. 또한 단기간의 데이터 교육을 통해 커리어를 전환할 수 있다는 홍보에 필자도 흥미를 가지고 업계의 상황을 주의깊게 관찰해 왔다.
코드스테이츠 역시 데이터 관련 직군을 채용하기 위해 6개월 전부터 하루에 2시간 이상 씩 개인의 업무 시간을 할애하고 있다. 석, 박사 출신 뿐 아니라 여러 데이터 코스(학원) 출신 분들의 서류를 검토하고, 인터뷰 또한 진행하게 되었다. 서류 검토 상에서의 아쉬움이 있었는데, 지원자 분들이 무엇을 공부했고, 교육기고나에서 제공하는 프로그램을 수료했다의 정보로는, 실제로 무얼 할 수 있는지 알기 어려웠다. 하지만, 이 부분은 이력서 작성의 이슈일 수 있다고 덮고 넘어가 보자. 문제는 실제 면접에서 관찰한 부분들인데, 바로 현실의 데이터 업무 상황과, 학습 환경 사이의 큰 갭(gap)이 존재한다는 점이다.
현장에선 모호한 목적을 가지고 데이터를 분석하는 경우는 별로 없다. 어떤 문제가 있거나, 아니면 구체적인 목표를 두고 데이터를 만지게 된다. 그런데 데이터 공부의 목적으로 제공된 데이터 앞에서 여러 다양한 잠재적 목적을 두고 데이터를 탐색하고, 가공해 나가는 데 문제도 있었다. 목적이 모호하거나 가변적이니, 이 데이터를 작업한 결과에서 어떠한 인사이트를 도출해 내기란 어려웠던 것 같다. 더욱이, 실제로 문제가 될 법한 상황을 전제로 데이터를 만지게 되니, 이후 그 결론, 인사이트에 대한 검증 또한 쉽지 않았다.
또한, kaggle 등, 잘 정리된 데이터로만 학습을 할 때의 우려되는 상황은 다음과 같다. 실제 현장에서 데이터가 없거나, 데이터가 이상한 형태로 존재해서 바로 분석을 시작할 수 없는 경우가 많다. 이 때 분석 작업을 시작하기 위한 환경을 만들어 나아가야 하는데 공부나 연습에서 커버하기 어려운 부분이다.
물론 언제나 예외 사항은 있다. 다양한 데이터가 엄청 자주 쌓이는 기업의 경우 나름대로의 전처리가 되어 BI 툴로 바로 분석을 할 수 있는 환경도 분명 존재할 것이다. 그러나 필자가 만나 본 현장의 10의 9는 전자의 경우로 분석 및 머신러닝 모델을 적용하기 위한 환경을 만드는데 대부분의 시간을 쏟고 있었다.
다시 말하지만 실제 현장과 동일한 상황을 학습 환경에 적용하기란 쉽지 않다. 무작정 교육 기관들을 비난하긴 쉽지만, 그래서 대안이 있느냐, 하고 물으면 쉬이 대답이 나오지 않을 것이다. 그럼에도 불구하고 교육기관으로서 반드시 고민해야 하는 부분이다. 한 가지 비유를 들어보자.
요리 학원의 이야기
요리 학원을 등록하면, 수강생의 기대 사항은 아마 다음과 같을 것이다. 깨끗한 주방 공간에 필요한 모든 재료들이 적당한 사이즈로 놓여있고, 심지어 필요한 도구들도 이미 정리되어 있다. 불 온도 조절, 칼 사용법, 어떻게 예쁘게 장식을 해서 마지막 결과물을 인스타그램에 올리게 될 것이란 기대감에 벅차 있다.
그런데 반전은 다음과 같다. 학원에 나왔더니 일단 주방이 없다. 무엇을 해야 한다는 지시사항도 없다. 아마도 재료가 필요할 것 같아 장을 보려 하는데, 무엇을 구매해 오라는 명확한 리스트도 없어 스스로 찾아봐야 한다. 뭐, 어떻게든 재료를 구매해 왔더니, 깜빡한 게 있어 시장을 벌써 3번이나 다녀왔다. 고생해서 구매해 온 재료 중 사용에 어려움이 있는 재료도 구매 후에나 발견되었다. 주방이 없어 사무실 구석에 주방 역할을 하는 공간을 어설프게 마련하고 필요한 도구를 직접 배치해야만 한다.
구매해온 재료를 가지고 음식 재료로 사용할 수 없는 부분을 제거하고 필요한 부분들을 준비하니 아아, 벌써 요리에 필요한 일정의 80%가 지나가 버렸다. 이후에 실제 해 보고자 했던 본격적인 요리 기술에 대해 실습해 나가는 것이다. 누가 순서대로 이렇게 하세요, 라고 가르쳐 주지도 않는다. 눈치껏 돌아다니면서 옆 주방에선 어떻게 하고 있는지 어깨 너머 보기도 하고 슬쩍 물어도 보고 하면서 말이다.
필자는 실제 현장에 필요한 데이터 교육은 위 이야기와 같아야 한다고 생각한다. 실제 현장에선 pre-cook 된 냉장식품처럼, 바로 팬에 넣어 요리할 수 있는 상태로 데이터가 전달되지 않는다. 교육에서 필요한 것은 학습자가 실제로 시장에 나가서 직접 재료를 골라보고 요리를 할 수 있는 주방환경을 만들어내는 것까지 경험할 수 있어야 한다. 이때문에 화려해보이는 머신러닝 모델만을 사용해 본 수강생 분을 채용하여 바로 현장에서 퍼포먼스를 기대하기 어려웠다.
어느 커리어로든지 일을 시작하든, 현재 위치, 업무 범위 안에서 데이터 과학의 지식을 이용하여 여러가지 다양한 문제들을 풀어볼 수 있다. 명확한 목표를 위한 데이터 전처리 및 가공, 시각화, 구체적인 목적을 위한 구체적인 모델 훈련 및 예측값 적용을 할 수 있을까? 이와 같이 저 멀리 우주에 있는 혜성이 지구와 충돌할까와 같은 화려해 보이는, fancy 한 예측이어야만 할까? 일상의 루틴한, 지루한 상황에서 문제를 해결해 보는 연습을 많이 해 보는 것이 더욱 현실적이고 더 빨리 시도해볼 수 있는 것들이지 않을까. python, tensorflow가 필요 없을 수도 있고, 대부분 엑셀, 스프레드시트에서도 해 볼 수 있는 내용들일 것이다. 물론 과정과 튜닝을 위해 python, R 등의 프로그래밍 언어를 사용해 보는 것도 나쁘지 않다. 그렇게 나의 주어진 업무 범위 안에서 여러 문제들을 데이터 과학을 할용하여 해결해 보는, 작은 성공들을 많이 경험해보는 것이 중요하다. 그런 의미에서 반드시 데이터 직군으로가 아니더라도, 어느 포지션이든, 업무 경험이 있다면 도움이 된다고 생각한다. 무겁게 아니더라도, 요즘 어떤 포지션에서든 데이터를 다루지 않는 직업이 있는가?
그러나 이렇게 업무 환경 안에서 데이터 과학, 분석 적용이 어려운 경우, 교육기관은 고민해야 한다. 실전 데이터 분석이라고 해서 그냥 실전과 비슷한 데이터 분석을 강의해선 이 문제가 해결되지 않을 것이다. 왜냐하면 이미 이 강의 안에 강의자가 데이터를 학습해 나가는 삽질은 빠진 채로, 노하우와 인사이트만 공유될 가능성이 크기 때문이다. 학습자는 중간에 생략된 삽질을 모른채 깨끗하게 전개되는 로직이 당연하리라 오해하게 된다.
필자가 생각하는 데이터 교육의 가장 큰 우선순위는, 학습자가 데이터를 직접 스스로의 손으로 만지고 굴려보고 뒤집어 볼 수 있도록 충분한 시간을 제공하는 것이다. 시간만 제공하는게 아니라, 학습자 스스로가 문제 정의를 하고, 올바른 질문을 이 데이터 상황, 맥락(context) 안에서 던질 수 있도록 기다려주어야 한다. 학습자는 분명 많이 힘들어하고, 많이 찾아보고, 좌절하고 포기하는 경우도 많을 것이다. 지금까지 이렇게 자유도가 높게 설정된 문제는 경험해 보지 못했을 것이기 때문이다. 그래서 너무 다양한 문제를 얕게 건드리게 하기보단, 적은 몇 개의 주제를 가지고 충분히 탐색하고 충분히 가공할 수 있고, 충분히 다양한 문제제기를 할 수 있도록 격려해주고 기다려주어야 한다. 이에 9개월이라는 상대적으로 조금 더 여유있는 기간의 학습 기간을 확보하였다.
또한 데이터 분석을 위한 데이터 수집, API 서버 구축 및 배포 기술까지 배울 수 있도록 백엔드 소프트웨어 엔지니어링까지 커리큘럼에 추가했다. 백엔드, 데이터 엔지니어가 따로 없거나 있어도 데이터 분석하는 사람을 위해 업무에 여유를 두고 기다리고 있지 못할 가능성이 높다. 따라서 원할한 데이터 주방을 만들어내기 위해서 데이터 분석하는 본인이 직접 장바구니 가지고 장 보러 가고, 구매한 물품을 언박싱 해서 주방까지 가져다 놓는 기술은 탑재할 필요가 있다는 현장의 목소리를 반영했다.
지난 6개월 동안, 현장에 필요한 데이터 교육을 위해 많은 기업 채용담당자와 대표님들, 그리고 현장에 이야기를 듣기 위해 현업자 분들을 많이 만났다. 대부분 수 많은 교육 프로그램 출신에 대해 이미 한 번씩 채용의 상처를 받은 분들이 많았다. 실제 현장에 필요한 인재를 양성하기 위해 코드스테이츠가 데이터 코스를 만든다면 어때야 할까? 수개월간 고민해가며 내린 고민의 결과가 코드스테이츠 데이터 사이언스 부트캠프 1기로 기획이 되었다. 학습자가 많이 고민하고 데이터를 만지게 하는 교육, 그래서 현장에 투입 되어도 지저분한 데이터 상황에 당황하지 않고 묵묵히 필요한 재료를 사러 시장에 나갔다 오는 그런 인재를 양성하는 교육을 해 내고 싶었다. 이는 한 번에 되지 않을 것이다. 1기가 진행되는 동안에도 기업과 현직자들의 인터뷰를 멈추지 않고, 필요하다면 내용과 순서, 방법을 바꾸어야 할 것이다. 현장과의 괴리를 줄여나가는 최적화 과정이 우리의 숙제다.
Head of Data Science R&D at Schroders 인 Kamil Bartocha 은 다음과 같이 이야기한다. (원문 링크 https://www.linkedin.com/pulse/inconvenient-truth-data-science-kamil-bartocha/)
- Data is never clean. 데이터는 절대 깨끗한채로 존재하지 않는다
- You will spend most of your time cleaning and preparing data. 당신은 대부분의 시간을 데이터를 클리닝하고 준비하는데 시간을 사용할 것이다.
- 95% of tasks do not require deep learning. 일반적인 경우 95%의 확률로 딥러닝을 필요로 하지 않을 것이다.
- In 90% of cases generalized linear regression will do the trick. 90%의 경우 일반적인 선형회귀로도 문제를 해결할 수 있을 것이다. (fancy한 머신러닝 모델이 필요하지 않을 수도 있다는 이야기)
- Big Data is just a tool. 빅데이터는 도구일 뿐이다.
- You should embrace the Bayesian approach. 베이지안적인 접근을 받아들여야 한다.
- No one cares how you did it. 아무도 당신이 어떻게 했는지는 신경쓰지 않는다.
- Academia and business are two different worlds. 학계와 실제 현장 비즈니스는 두 개의 완전히 다른 세계이다.
- Presentation is key — be a master of Power Point. 프레젠테이션이 핵심이다. 파워포인트(발표 도구)의 마스터가 되어라.
- All models are false, but some are useful. 모든 모델들은 실패했지만 몇몇은 유용하다.
- There is no fully automated Data Science. You need to get your hands dirty. 자동화된 데이터 과학이란 것은 없다고 봐야 한다. 언제나 사람의 손이 개입되어야 한다.