성공적인 성능 개선

계속 금요일날 일을 못하다 보니 일이 좀 밀려 있었고, 몇몇은 선행 작업들이 연기되면서 덩달아 나 자신의 성과도 내기가 쉽지 않았다.  일도 중간에 자주 끊기는거 같기도 하고 말이다.

근 3주동안 컨퍼런스콜에서 거의 업데이트를 못하고 있다가,  고향 내려가기 전날 오늘…의미심장한 결과를 컨퍼런스콜에서 이야기 할 수 있었다.

무엇보다 오늘 발표한 작업이 서브 프로젝트였으며, 다른 개발자의 작업 결과를 기다리는 동안 수행한 프로젝트 였다. 그래서 빨리 성과를 보여주고 싶었던게 사실이였다.

3일간 코딩하고 어제 새로운 모델 빌드할 때만해도 이 머신러닝이라는게 작업한 코딩량에 성능향상이 절대 비례하지 않을거라는 생각을 되새김질 하고 있었는데, 살다보니 긍정적인 결과도 본다. 굉장히 운 좋은 케이스다.  운좋게도 방향을 찍은게 산 정상을 가리킨 경우라고 할 수 있겠지.

간단히 내가 수행한 부분에 대한 이야기 하자면, 모델이 빌드될 시점때마다. 사람이 평가한 데이터가 추가될게 없더라도 로그를 기반으로 심장을 바꿔끼는 기능이 추가된거다. 한마디로 로그만 잘 먹여주면 살아있는 것처럼 진화(혹은 퇴보)를 하는 그런 기능이다.

여튼, 슬슬 내가 이 서비스에 해야되고 하고 싶었고, 꼭 해야만 했던 것들을 하나하나씩 만들어 가고 있고, 그 리스트에 있는 목록들도 점점 줄어만 간다. 일단 실험에 대한 대 내외적인 검증을 받고 코드리뷰를 하는 과정을 거치게 되겠지만 힘든 작업은 거의 끝난 셈이다. 참.. 그리고 이번 기회에 기존 코드를 변경시키지 않기 위해서 디자인 패턴을  사용했는데, 그 덕을 톡톡히 본듯 하다. 이래서 OOP언어를 쓰자고 하나 보다. ㅋ

게다가 얼마전에 책에서 봤던 귀절인, “간단한 알고리즘에 수많은 데이터로 만든 모델이 복잡한 알고리즘에 적은 데이터들로 만든 것보다 더 낫다”는 구글 엔지니어말에 완전 공감하는 순간이다. 마지막으로 한가지 또 생각해본 것은,  스스로 만든것들을 깨지 않으면 절대 발전이 없다는거… 결국 나 자신의 발전은 스스로를 부정함으로 인해 할 수 있다는것을 말이다.

그러면 담주에는 뭐에 또 도전해 볼까나???

여튼 내일 고향에나 내려가서 연휴나 즐겨 보자구…

CC BY-NC 4.0 성공적인 성능 개선 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.