본문 바로가기

주절주절

글또를 시작하는 마음 (앞으로 6개월 간의 토이프로젝트)

서문

 오랜만에 포스팅을 합니다. 글쓰는 또라이 (글또) 라는 모임에 들었습니다. 개발과 관련된 다양한 사람들 (다양한 직군, 또는 학생, 취준생 분들 등)이 각자 개발과 관련된 글을 꾸준히 올리는 모임입니다. (자세한 사항은 글또 소개글 참고)

 

 그래서 앞으로 6개월 간 다시 꾸준히 포스팅을 할 예정입니다. 사실 이 블로그를 처음 운영했을때와 비슷합니다. 당시에도 공부를 꾸준히 하기 위해 + 부가적인 이유들로 인해 이 블로그를 만들었고, 그때도 4개월 정도 글을 꾸준히 올렸습니다. 그때는 일주일에 3개 정도를 목표로 글을 작성했었죠.

 

 이번에는 2주에 한번씩 글을 포스팅 할겁니다. 4년전에는 딥러닝을 공부하면서 관련 내용을 정리했었습니다. 이번에도 딥러닝과 관련된 주제에 관해 포스팅을 하려고 합니다. 다만 이전에는 딥러닝과 관련된 이론적인 얘기에 치중했다면, 이번에는 딥러닝을 서비스 하는 토이 프로젝트를 만들어서 관련 주제로 포스팅을 하려고 합니다.

 

어떤 글을 쓸지

 어떤 ‘가치’를 어떤 ‘고객’에게 주기 위해 어떤 ‘서비스’를 만든다고 했을 때, 이 ‘서비스’를 어떻게 할 것인지에 대한 얘기입니다.

 프로젝트의 큰 그림은, 위의 ‘서비스’를 위한 머신러닝 모델이 있다고 했을때, 크게 다음과 같은 순서로 진행할 예정입니다.

  1. 가장 가볍게, local에서도 서빙할 수 있도록 웹프레임워크를 이용한 서빙.
  2. 확장성, 안정성 등의 요소를 서버를 클라우드에 올려서 서빙 (AWS, GCP 등을 이용)
  3. 더 큰 서비스를 위해서 쿠버네티스(k8s)를 이용한 서빙

 그리고 중간 중간 아래와 같은 내용의 글도 작성할 예정입니다.

  1. ML 코드의 테스트 코드는 어떻게 작성해야 하는가?
  2. ML 서비스의 CI / CD는 어떻게 진행해야하는가? (꾸준한 업데이트를 어떻게 진행해야하는가)
  3. 실제 외부에서 나의 API를 사용하게 하려면 어떻게 해야하는가? (사용하는 입장에서 생각해보기)
  4. (옵션) 서빙을 위해 ML 모델을 최적화 하는 방법은 무엇이 있을까?

 그리고 시간이 허락한다면 (제가 게으르지 않다면) 기술적 이지 않은 부분도 작성해보려고 합니다. 가령 현재 AI(ML, DL)를 활용한 유료화 서비스에는 무엇이 있는지, 그 서비스에 대해 분석해보는 글 등을 쓰려고 합니다. 기술적인 부분도 굉장히 중요하지만, 결국 비즈니스 적인 측면에서 어떤 고객에게 어떤 가치를 주는지가 굉장히 중요하다고 요즘 들어서 특히 많이 생각하기 때문입니다.

 

글또에서 얻고자 하는 바는

 위에서 앞으로 6개월 간 무슨 글을 쓸지를 얘기했다면, 이번에는 좀 더 개인적인 얘기를 해보겠습니다. 왜 6개월간 위의 주제로 글을 포스팅 하려고 하는지, 그리고 그런 6개월의 글또 활동을 통해서 무엇을 얻고자 하는지 입니다.

 

 위의 주제를 선택한 이유는 간단합니다. 제가 업무를 진행하면서 추가로 공부가 필요하다고 생각되면서, 재미도 있을 것 같은 부분들입니다. 일부분 업무에서 이미 진행한 부분도 있지만, 개인적으로 다시 공부를 할 때는 업무 때와는 다른 관점으로 바라볼 수 있다는 점을 기대하고 있습니다. 또한 일종의 정리된 과정을 통해서 프로젝트를 진행하면서, 전체적인 구조를 바라봄으로써 얻을 수 있는 인사이트도 기대하고 있습니다. (예를 들어, 회사의 구조에서 비효율적으로 작동하고 있는 부분을 캐치한다거나 하는 점이죠 ㅎㅎ)

 

 글또 활동을 하면서 얻고자 하는 점은 크게 세가지 입니다.

  1. 관심 있는 분야에 대한 공부를 통해 전문성 향상 - ‘위의 주제 선택 이유 부분’ 으로 이미 설명했습니다.
  2. 공개적인 블로그를 통한 문서 작성 능력 향상
  3. 커뮤니티 활동을 통한 다양한 정보 습득

 문서 작성 능력 향상

 저는 회사 업무를 진행하면서도 문서를 꽤 많이 남기는 편입니다. 추후에 업무를 다시 진행할 때 확인하는 용도 이기도 하고, 다른 팀원들이 보고 지식을 얻거나, 업무 진행에 도움이 되었으면 하는 생각으로 남깁니다. 그런데 아무래도 회사 내부에서만 볼 수 있게 문서를 작성하고, 그 문서를 볼 인원이 많지 않다보니, 내가 보기 좋게 남기는 경향이 생겼습니다.

 

 예를 들어, 회사의 업무 특성상 업무를 진행하기 위해서는 알아야 할 선행지식들이 꽤 많이 있습니다. 원론적인 지식이든, 기존 업무의 타임라인 등이 그 예시입니다. 근데 회사에서 제가 작성하는 문서들의 주요 독자가 ‘본인’ 이다 보니까 다른 팀원분들이 보기에는 문서에 구멍이 군데 군데 나있다고 볼 수 있다는 것이죠. (이 부분은 팀원분들의 좋은 피드백 덕분에 작년 초부터 차차 고쳐나가는 중에 있습니다.)

 

 이와 관련된 문서 작성 능력을 향상을 공개적인 블로깅이 분명 도움을 줄것이라고 생각합니다. 일반적으로 같은 팀원보다는 훨씬 선행지식이 적을 것이고, 그에 따라 제가 문서를 더 잘 정리된 형태로 작성을 해야하기 때문이죠. 기술적인 내용을 담은 글의 ‘잘 정리된 형태’ 라 함은, 목적에 따라, 적절한 구조로, 정확한 내용을 의미합니다. 추가적으로 독자분들이 모를만한 선행지식에 관한 내용, 또는 글을 끝까지 읽을 때까지 뒤로가기를 안누르도록 흥미롭게, 또는 필요한 정보를 잘 찾을 수 있도록… 등의 내용이 있겠네요.

 

 커뮤니티 활동

 현재 다니고 있는 회사에 아주 초기에 입사해서, 머신러닝 엔지니어로 근무를 하다보니, 자주 궁금증이 생깁니다. 이와 같은 문제사항을 다른 회사는 어떻게 풀었을까? 혹시 더 좋은 해결책은 없었을까? 공개된 자료를 찾아보고, 컨퍼런스 등을 참여하고, 검색을 해보아도 나오지 않는 결과물이 많습니다. 회사 차원에서 공개하길 꺼려할 수 도 있고, 어쨌든 공개를 하려면 무언가 문서화가 되어있어야 하기 때문이죠.

 

글또 활동을 하시는 다른분들의 글을 보고, 대화를 나눠보면서 이런 궁금증 해소에 약간이나마 도움이 되지 않을까 하는 기대감도 분명 있습니다.

 

마지막으로...

위에서 쓴 내용을 바탕으로, 앞으로 한동안 또 알찬 글 내용으로 포스팅을 하도록 해보겠습니다.