개발자로서 머신러닝이란 것에 대해 흥미가 있기도 했고, 기존에 개발자로 일하던 분들이 머신러닝으로 전공을 전환하는 분들도 많다고 들어 좋은 기회가 될 것 같아 <구글 머신러닝 부트캠프>에 지원했습니다.
합격 통보를 받고 나서는 약간은 두근거렸습니다. 미리 파이썬 한 번 더 점검을 해 둬야 하나 싶기도 해서 최신 버전 TensorFlow도 설치 하고 머신러닝 기본 개념 관련된 문서들을 뒤적거리기도 했습니다. 다 쓸모없더군요. 결론적으로 부트캠프를 진행하며 처음부터 공부를 전부 다 다시 했습니다. functional API 같은 함수형 프로그래밍 개념의 도입이라든지, 다양한 시각화 라이브러리, 생소한 데이터 처리 관련 프레임워크 및 서비스들이 엄청 많이 등장해서 꽤나 고생을 했습니다. 초심자의 마음으로 정말 열심히 했습니다.
머신러닝 개발자가 되기 위한 여정
참가자가 달성해야 되는 목표는 TensorFlow 기반의 코세라 딥러닝 특화과정, TensorFlow, GCP Data/ML Engineer와 같은 구글 머신러닝 관련 제품 자격증 취득, 캐글 프로젝트 참가 세 가지 부분으로 나눌 수 있습니다. 코세라의 강의료 및 자격증 1회 응시료는 기본적으로 지원해 주며 수료자들에게는 다양한 혜택을 제공해 줍니다. 열정을 가지고 달려들면 꽤나 많은 것을 얻을 수 있습니다.
<코세라 딥러닝 특화 과정>
코세라 수업은 TensorFlow 2.x를 기반으로 한 앤드류 응(Andrew Ng) 교수의 "딥러닝 특화 과정"을 매주 수강하는 것이었습니다. 외국어로 된 강의라서 처음에는 상당히 애를 먹었습니다. 하지만 유명한 강의이기에 인터넷에서 찾아보면 수업 내용을 쉽게 풀이한 글도 찾을 수 있고, 수업에서도 참고 논문 링크를 제공해서 강의에 적응만 한다면 충실히 공부할 수 있습니다.
코세라 강의와는 별 상관이 없는 여담이지만, 부트캠프 참가자들이 주최한 온라인 ‘모각코’에 참가했던 것이 기억에 많이 남습니다. ‘모여서 각자 코딩’의 줄임말이라는데, 일반적으로는 카페나 스터디룸에서 각자 코딩을 하는 활동이라고 합니다. 코로나 시대라서 대면으로 만나는 대신 게더타운이나 구글 Meet에서 카메라를 켜 두고 각자 코딩하는 식으로 진행을 했는데 남들과 같이 공부한다는 생각을 하니 마음에 위안도 되고 좋더군요.
<머신러닝 자격증>
머신러닝 관련 자격증을 캠프 기간 내에 따면 되는데, 전 GCP ML Engineer에 도전했습니다. 구글 클라우드를 써 보면서 ML 서비스를 어떻게 클라우드에서 쓸 수 있을지 궁금하기도 했습니다. 그동안 GCP는 써 볼 기회가 없었기 때문에 GCP를 공부할 겸 해서 도전해 봤습니다. GCP ML 자격증을 위한 특화 과정도 코세라에 있어 바로 수강했습니다. 그러나 코세라 코스보다는 구글에서 운영하는 GCP상에서 AI 운영 및 유스케이스를 제공하는 웹페이지가 시험에 더 도움이 되었습니다.
<캐글 프로젝트 참여>
캐글은 흥미가 가는 프로젝트가 진행되고 있지 않기도 해서 배운 내용을 정리할 겸 TPS에 도전해 보았습니다. TPS는 Tabular Playground Series의 약자로, 캐글 입문자와 본격적인 캐글러 사이의 초중급용 프로젝트입니다. 입문자용 프로젝트인 타이타닉 생존자 예측보단 조금 더 어려운 난도로, 테이블 형태로 된 데이터를 제공하여 결과값을 예측하는 프로젝트입니다. 지금까지 배운 것들을 정리해 보면서 데이터 분석, feature engineering, 하이퍼파라미터 튜닝 등을 시도해 보기에 좋은 프로젝트라고 생각해서 도전을 해 봤습니다.
개인적으로는 좀 더 잘할 수 있었는데 하는 생각이 들어 굉장히 아쉬웠습니다. 모델을 개선하거나 성능을 향상시킬 아이디어가 많더라도 그런 것들을 적용하고 실험하는 데 생각보다 시간이 많이 걸렸습니다. 모델 학습에 이렇게 시간이 많이 걸리는지 미리 알았더라면 코세라, 자격증, 캐글 프로젝트를 처음부터 같이 진행하며 시너지 효과를 낼 수 있었을 텐데 하는 생각도 해봤습니다. 사실 캐글 참여에 지레 겁을 먹고 제일 뒤로 미뤄둔 것은 아닌가 하는 생각도 드네요. 너무 부담감을 느낄 필요 없이 그냥 하면 됐는데, 주저하기만 하다 또 뒤늦은 후회만 했습니다.
<테크 토크 및 커리어 토크>
그 이외에도 다양한 활동이 있는데, 매주 특정 주제에 대한 테크 토크 및 회사 리크루팅 시간도 있습니다. 인력을 채용하고 싶어 하는 회사들이 초대되어 회사 소개 및 채용 포지션 소개, 입사 관련 질의응답 시간을 가집니다. 현직 머신러닝 엔지니어들이 직접 나와서 회사에서 어떤 모델, 혹은 어떤 데이터를 가지고 비즈니스적인 문제를 해결해 나아가는지 설명하는 회사도 있고, 어떤 인력을 찾고 있는지 적극적으로 소개하는 회사도 있었습니다. 저는 잘 몰랐지만 연사들 중에서는 업계 유명인들도 꽤나 있었다고 하더군요. 개인적으론 채용과 업계 동향 정보 수집에 모두 도움이 되는 시간이었습니다. 이론으로만 들었던 기술을 이런 곳에도 쓸 수 있구나 하는 생각과 인공지능 쪽에 투자를 하려면 어떻게 해야 할까 하는 이런저런 아이디어가 끊임없이 떠오르는 굉장히 자극이 되는 세션이었습니다.
테크 토크 이외에도 쉬어가는 코너로 진로 상담 및 이력서, 레쥬메 리뷰 등의 코너도 있었습니다. 구글 머신러닝 부트캠프 운영팀이 직접 캠프 참가자들의 질문을 받고 대답도 하고 커리어에 대해 조언을 해 주는 시간도 가졌습니다. 여러 섹션에 참여하며 인상 깊었던 점은 부트캠프 운영진과 테크 토크에 참여한 많은 회사 관계자들이 정말이지 피가 되고 살이 되는 값진 조언을 많이 해 주시고, 캠프 참가자들에게 도움을 주고 싶어서 안달이 나 있다는 점입니다. 사회에서 냉정하게 현실을 이야기하는 사람도 없고, 발전을 위해 아낌없는 조언과 멘토링을 해 주는 사람이 얼마나 드문지 알던 터라 개인적으론 더 감사하고 감동했던 것 같네요.
머신러닝 부트캠프를 마치며..
구글 머신러닝 부트캠프는 정말 구글스럽습니다. 본인이 원한다면 스스로 움직이라는 의도가 강하다는 생각이 들었습니다. 열심히 하는 만큼 얼마든지 성장을 도와줄 수 있다는 말이 빈말이 아닌 게, 전설적인 프로그래머인 제프 딘(Jeff Dean)을 킥오프 세션에서 봤고, TensorFlow 교육과정을 만든 로렌스 모로니(Laurence Moroney)까지 불러서 AMA 섹션을 진행할 정도이니 말 다 했죠.
캐글 프로젝트 팀원들도 자유롭게 짜도록 해서 조별 과제의 악몽에 시달리지 않아도 됩니다. 테크 토크나 채용 설명회 등에서 언급된 내용들을 과제로 요구하지도 않습니다. 오직 자유롭게, 대신 원한다면 업계 최고의 지원을 해 주겠다, 다만 자기가 알아서 공부하도록 놔둔다 정도였기에 아무래도 느슨하다는 생각이 들 수도 있을 것 같습니다.
배경이 각기 다르지만 머신러닝 엔지니어 및 개발자를 목표로 하는, 공통된 목표를 가진 사람들을 만날 수 있었던 것도 흔치 않은 기회였다고 생각합니다. 좋은 사람들과 이야기도 나누면서 스터디도 하고 온라인 모각코 같은 새로운 경험도 한 색다른 경험이었습니다. 일천하기 그지없는 지식으로 꽤나 열심히 공부하지 않는가 하는 헛소리도 속으로 되뇌이긴 했지만, 결국 지기 싫어서 남들보다 더 열심히 이것저것 해 봐야지 하는 생각으로 열심히 참여했습니다.
결론은 "뭐든지 해 봅시다"입니다.
개인적으로는 만족스러운 시간이었습니다. 머신러닝에 대해 좀 더 편안해졌고, 결과적으로 새롭게 자리 잡은 직장에서 머신러닝 관련된 사항은 제가 좀 더 세심하게 살펴볼 수도 있게 되었습니다. 새로운 것에 대한 도전이야 개발자에겐 늘 있는 일이지만, 이런 행사에 도전한 것 자체가 다른 의미로의 도전이라 즐거웠습니다.
부트캠프는 끝났지만, 몇몇 분들은 계속해서 스터디나 프로젝트를 진행한다고 하는군요. 저도 다른 분들과 같이 공부하고 싶어서 활동을 잘하시던 분들에게 문의도 해 보고 스터디도 가입하겠다고 손을 들긴 했지만, 제가 공부하고 싶은 분야랑은 달라서 결국 혼자 공부하게 되었습니다. 혼자 공부한다고는 하지만, 유용한 정보를 슬랙에서 공유해 주시는 분들도 많아 캠프가 끝났지만 계속해서 도움을 받고 있습니다.
한동안은 재미있게 가지고 놀 수 있는 질리지 않는 장난감을 가지게 된 기분입니다. 자그마한 토이 프로젝트부터 천천히 시작해 봐야겠습니다.
머신러닝 개발자 양성 프로그램인 <구글 머신러닝 부트캠프> 3기는 2022년 하반기에 진행 될 예정이며 모집 안내는 이 블로그를 통해서 확인하실 수 있습니다.