본문 바로가기
IT리뷰

머신러닝 파워드 애플리케이션(2021.09.06)

by jb213 2021. 10. 24.

https://hanbit.co.kr/store/books/look.php?p_code=B8274600462

머신러닝이 고도화될수록 머신러닝 전체 흐름을 관리하고 엔지니어링을 해야할 필요성이 커진다. data science쪽은 연구/분석 쪽이고 그 이외 각종 파이프라인을 만들고 데이터를 가져온 뒤에 전처리해서(고기 손질하듯이..) 분석하기 좋게 꽤 쓸만한 재료로 만드는 일이 포지션으로 구축되고 있다. 물론 data science가 모든 걸 할 수도 있지만 정확하게 data science가 해야 할 일은 아니라고 생각된다. 그리고 사실 data science보다 그 전 단계인 data engineering이 더 필요한 것 같다. 데이터를 갖고 뭐라도 돌리려면 사실 전처리가 대부분을 차지하기 때문이다. 실무에서도 만약 어떤 이론을 가져다 쓰려고 하면 내가 그 이론 전공자가 아닌 이상 엄청나게 대거 알고리즘을 수정할 필요는 없다고 본다. 그런 건 이미 쩌어기 물건너.. 아메리카의 엄청 똑똑한 PhD분들이 다 만들어놨다. 지금 이 순간에도... ㅋ...ㅋㅋ

따라서 개미는 그저 애플리케이션이 돌아가게 만드는 것에 좀 더 집중하는 것이 좋다고 본다. 이전에도 이렇게 주장하는 한 업계분의 글을 읽은 적이 있다. 그 글을 읽기 전에는 사실 좀 data science라는 것이 어떤 마법과도 같다는 신념이 다소 무겁게 존재했기 때문에 내가 저 물건너 천상계 PhD급의 레벨이 되지도, 될 수도 없다는 생각에 좌절.. 또 좌절을 하고 말았다. 하지만 이제는 그 업계분 말이 맞다. 그러니까 새로운 '막노동' 이랄까.. 암튼 이것도 언젠가 자동화될 수도 있지만 적어도 지금은 아니라는 다른 업계분의 얘기를 듣고는 위안을 삼는 중이다. 

사실 요 몇년간의 구인공고를 보면 처음은 다들 석박사에 data science직으로 굵직하게 뽑아갔다. 하지만 그 포지션을, 그리고 그 분야를 훑어본 사람이라면 점점 느끼겠지만 이게 뭐가 답인지도 확실하지 않고 어느 순간에 IEEE 등을 통과한 천상계 이론이 똭 !! 나오면 걍 갑자기 게임 리셋이 된다. 이전 방법은 그저 히스토리로 남을 뿐. 

암튼 이런 이론의 발전이 나쁘다는 게 아니다. 좀 더 실용적인 관점에서 본다면 이 책이 소개하는 어떤 템플릿을 차라리 잘 숙지하는 게 자기계발에 좋겠다는 말이다. 실제로 요즘 공고를 보면 확실히 좀 많이 세분화되고 있다. 

 

그래서 21세기의 연금술로 떠오른 ML이 현실적으로 적용된다면 이 책에서 소개하는 방법을 숙지하는 것도 좋다.

책의 현업자들이 지적하는 대로 ML을 반드시 모든 분석 프로젝트와 앱 서비스에 넣어야 될 필요는 없다. 뭔가 그 연금술의 멋져보이는 면에 현혹되어 한 삽으로 뜨면 해결될 걸 굳이 포크레인으로 뜨는 무리는 하지 말자는 거다. 

사실 ML은 요 근 몇 년간 이론 중심적으로 많이 홍보된 게 사실이다. 그걸 전공한 석박이 강의를 해서 그럴 수도 있지만 ML서비스를 만드는 것에 관심이 있는 사람이 그 모든 이론을 꿰고 연구급의 이해력을 갖춰야 되는 건 아니라고 본다. 그저.. 잘 만들어진 알고리즘을 잘 갖다붙이는 정도만 해도 될 것 같다(이게 쉽다는 건 아님). 

 

그 유명한 박해선 님이 번역한 거라 그런지 옮긴이 특유의 주석이 많고 책을 이해하는 데 도움이 된다. 

개인적으로는 DS쪽은 업으로 대하기에 정보가 많이 부족하다고 생각한다. 특히 작년, 재작년 나왔던 공고랑 학부생들하고 한 얘기들을 종합해보면 뭔 금맥을 찾을듯이,, 찾은듯이 말하더라는... -> 올해는 좀 다름. 

이젠 좀 나오는 책들이 현실적으로 DS, ML을 적용한 사례를 많이 보여줌. 그래서 좋다고 생각한다. 

 

현실의 문제는 데이터를 '갖고오느냐!!'부터 시작한다. 저자도 이 부분을 언급하고 있음. 실제로 공장자동화 이런 부분은 데이터 협조도 안되는 경우가 많음. 갠적으론 그렇기 때문에 이런 전체적인 플로우로 데이터 분석 및 그 주변 작업? 을 소개하고 갈쳤으면 어떨까 하는데 .. 아직까지 여기에 근접한 활동은 거의 한 개 정도밖에 못봤음. 그리고 실제로 어떤 프젝을 준비하면서 맨땅에 헤딩하는 식으로 겪으면서 현타가 씨게오고(왜냐면 ML책에서는 이런 건 안 말해줬거든 ㅋㅋ) 아 여긴 내 길이 아닌가보다 하고 퇴장하는 경우도 상당히 많았다. 

 

머신러닝을 해결할 수 있는 문제는 무엇인가?

- 완벽한 규칙이 존재하는 도메인은 ML을 사용할 필요가 없다. 예) 세금 앱

- 명확한 논리가 존재하는 문제는 ML을 사용하지 않아도 된다.

- 정답이 있는 지도 학습 -> 정답이 없는 비지도 학습의 경우 일부 현업자는 부정적인 의견을 공유한 적이 있다. 

 

알고리즘을 구현하기 전에 할 것

- 직접 알고리즘이 되어보기

: 데이터를 사용하지 않고 사전 지식으로 원하는 답을 만드는 방법을 정의해보기

-> 이렇게 하는 이유: 기준 모델을 빨리 구현하고 모델을 평가하는 척도로 사용하기 위해. 즉 부분에 매몰되지 않을 수 있음.

 

ML 프로젝트에서 초점을 맞춰야 할 곳

: 성능 병목. 간단한 모델부터 시작해서 전체 파이프라인 디버깅. 즉 목표 Y값이 간단하고 쉬운 단계부터 예측하는 모델로 시작해보는 거다. 의외로 많은 문제가 이런 간단한 모델에서 끝날 수도 있음

 

전체 파이프라인 구축 후 성능 병목을 찾을 떄

: 했다치고 결과 상상하기. 즉 이 프젝을 완료했을 때 내가 SNS나 기사에 어떻게 발표할 건지. 도움이 되었는지를 생각해보라. -> 배포에 필요한 노력을 낮추도록 인프라를 구축하는 게 도움이 됨. 

 

raw data를 들여다보기

: raw data를 들여다보는 것은 항상 옳다. 수동으로 읽어보기-> data literacy가 생각나는 대목.

 

 

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

댓글