대부분 오전 7시 40분에 기상해 준비하고 8시 10분에 출근하는 루틴을 지켰다.
최소 10분전에는 회사에 도착하려고 노력했으며 업무 준비를 시작했다.
퇴근은 6시보다 조금 지난 시간에 7시 이전에 퇴근하려고 노력했다.
칼퇴근을 위해서 최대한 업무 집중도를 높이고자 노력했다.
회사는 업무 공간, 집은 개인 공간이라는 공간 분리를 명확하게 하고자 개인 업무는 최대한 집에서 하고 회사에서는 업무만 하고자 노력했다.
나는 공간 분리가 안되면 집에서도 오늘 난 에러 생각, 회사에서도 개인 업무 생각등 잡생각으로 뭐 하나 제대로 되는게 없기 때문이다.
퇴근 후에는 최대한 개인 공부를 하려고 한다.
물론 이런 생각을 가지고 실천에 옮긴 건 아직 1달 가량이지만 10월 부터는 개인 공부를 실행했다.
조금 더 빨리 개인 공부를 하고 자기계발을 하지 않은 것이 후회된다.
회사에서 하는 업무만 열심히 해도 나를 성장시킬수 있을 것이라는 안일한 생각으로 보낸 반년이 너무 후회스럽다.
하지만 다행인건 지금이라도 생각머리를 고치고 살아가고 있다는 거 아닐까?
최소 2시간 못해도 1시간 이상은 공부나 프로젝트 개발을 계속하려고 한다.
개인 공부를 시작한 트리거는 직무 변경 때문이다.
지금 나는 머신러닝 엔지니어로 스타트업에서 일을 하는 중이다.
너도 나도 AI 라고 외치던 AI 붐을 학부 시절에 몸소 겪었다. 군대 가기전 잠시 의료 AI 연구실의 학부 연구생으로 참여한 경험 때문에 AI 공부를 조금 했었고 복학 후 임베디드 AI 연구실에 참여한 1년가량 연구를 했었다.
논문도 쓰고, 경험 살려 캡스톤 프로젝트 최우수상, 해외 학회 등 좋은 경험을 정말 많이 했다.
이런 경험에 기반해서 스타트업에 취업했고, 나는 여기서 머신러닝 엔지니어로 개발된 AI 모델에 관련된 대부분의 업무를 수행했다.
크게 5가지 업무를 진행했다.
1. 데이터 전처리
2. AI 모델 학습 관리
3. 신규 AI 모델 도입
4. AI 모델 관련 신규 프로젝트 개발
5. Vision 관련 알고리즘 개발
데이터 전처리
처음 왔을때 사용하던 Object Detection 모델을 라벨링 표준을 설정하고 대부분의 데이터 라벨링을 진행했다.
신규 탐지 개체가 생길때 마다 새롭게 라벨링을 진행했다.
대략 10000장 정도는 하지 않았을까?
최근에는 데이터세트 안정화가 어느 정도 되어서 바운딩박스 라벨링은 하지 않지만 신규 모델 도입을 위해서 새로운 라벨링을 진행중이다.
AI 모델 학습 관리
가장 신경을 많이 쓰고 어려웠던 부분이다.
먼저 현재 AI 를 사용하고 있지만 모델 학습 주기, 데이터 파이프라인 등 모델 이외의 것들은 전혀 준비 되지 않았었다.
RAW 데이터를 읽어오고 학습용 데이터로 만들고 학습 하는 과정 까지를 자동화 시키는 파이프라인을 구축하려고 했다.
현재는 학습용 데이터로 만드는 과정까지가 자동화
신규 모델 적용
기존의 2가지 딥러닝 모델을 사용하고 있었고 입사 후 나는 분류 기반 모델 하나와 Tracking 알고리즘을 기존 솔루션에 적용하는 업무를 진행했다.
결과적으로 두가지 모델 모두 성공적으로 개발하여 기존 솔루션에 탑재되었지만 몇가지 문제점이 아직 남아있다.
첫번째, Tracking 알고리즘의 속도 문제이다.
최대한 모델 경령화를 진행하고 GPU 사용량, Threading 과 같은 방법으로 추론 속도를 증가시켰지만 Tracking 알고리즘은 C# 으로 개발을 못해 여전히 Python 엔진으로 개발중이다.
두번째, 데이터세트 부족이다. 이상 감지는 항상 데이터세트가 부족하다. 최대한 정제하고 이상에 가까운 데이터만 수집해서 모델을 학습했지만 여전히 데이터가 부족하다. 또한 데이터 불균형으로 학습 결과가 좋지 못해 임시방편으로 CrossEntorpy에서 가중치를 적용해 모델 편향을 해결했지만 타 프로젝트 참여 등 다른 핵심 이슈들로 현재까지 해결하지 못하고 있다.
두가지 문제를 퇴사 전에는 해결하고 퇴사하려고 한다.
AI 모델 관련 신규 프로젝트 개발
해당 프로젝트는 회사 솔루션이 아닌 솔루션의 원천 기술을 활용한 타사 시스템 외주 프로젝트였다.
자사 솔루션에 사용하는 AI 기술을 활용해서 하드웨어 설치 부터 소프트웨어 개발까지 진행하였고
프로젝트는 마지막 크기 분석 모듈 개발 이외에 필요한 시스템을 모두 개발하였다.
프로젝트 중간에 타사 C레벨과의 의견 마찰로 인해서 일정 연기 되었고 현재까지도 대략 2개월 이상 프로젝트 진행이 연기되고 있다.
아마도 프로젝트에서 진행한 자사 시스템과의 연동 문제에서 결국 의견 조율이 되지 않아 프로젝트 자체가 무산된 듯 하다.
열심히 2달이상 투자해서 개발한 시스템이었는데 실제 현장에서 동작하는 모습을 보지 못한 것은 아쉽지만 Thread 생성을 통한 비동기, UI, 간단한 DB 설계를 해볼 수 있는 경험이라 나름 만족한다.
Vision 관련 알고리즘 개발
해당 프로젝트는 대외비로 진행되어 언급이외의 다른 것은 할 수 가 없지만.
비전 알고리즘을 많이 알았고 문서화 작업, 타사와의 협업과 같은 여러 경험을 가질 수 있어서 좋았다.
곧 재직 1년차가 되고 내년에 상반기 중 퇴사를 하려고 결심했다.
퇴사를 결심한 시점에서 객관적이고 냉정하고 회사와 나의 상태에 대해서 점검해보려 한다.
먼저 퇴사를 하려고 하는 이유이다
각각 최대 10가지를 작성한다.
회사 분위기가 사내 문화등으로 보았을때 나쁘지 않은 회사임에는 틀림없다.
하지만 앞으로 내가 개발 커리어를 쌓아가면서 과연 지금 회사에서 계속해서 경력을 쌓는 것이 정말 도움이 될까, 회사의 성장이 나의 성장으로 이어질까에 대한 의문을 던지면 아니라고 말할 것 같다.
AI 라는 분야를 더이상 연구하고 이 분야를 중점으로 하는 개발자, 연구자 보단 대중들이 사용하는 서비스를 개발하고 AI를 잘 활용하는 좋은 개발자가 되고 싶다.
핑계지만 AI에 대한 연구를 함께하는 개발자, 연구원이 존재했다면 AI라는 분야를 계속했을지도 모른다. 혼자서 끙끙대며 1년이라는 시간동안 도전하고 내가 내린 결론이다.
최종적으로 내가 원하는 교육하는 개발자가 되려면 현재에 머무르기 보단 많은 사람들이 사용하는 웹 개발이라는 새로운 분야로 넘어가 새롭게 시작하는 것이 더욱 좋다고 생각했다.
퇴사를 준비하기 이전에 내가 가져야 할 목표와 단계를 준비했다.
퇴사 예정 시점은 24년도 2월-3월 쯤에 하려고 한다.
퇴사 이후의 첫 목표는 구름톤 트레이닝 참여이다.
첫 목표 수행을 위해서 1차적인 목표를 설정하려고 한다.
먼저 Node 기반으로 개발 공부를 진행하고 이를 기반해서 프로젝트를 만들어 보려고 한다.
1월 이후의 프로젝트 진행 사항은 추가 업데이트를 한다.
현재 python, C# 이외의 언어는 잘 모르기 때문에 언어의 핵심 문법 위주로 공부 후 가장 기본인 게시판 만들기를 해본다.
11월 2주차 : 우테코 프리코스 제출(완성도 있게)
11월 3주차 : 노드 JS 강의 수강 절반 (제로초)
11월 4주차 : 노드 JS 강의 완강
12월 1주차 : 노드 JS CRUD 게시만 만들기
12월 2주차 : 클론 코딩 강의 수강
12월 3주차 : 드리퍼 프로젝트 설계
12월 4주차 : 드리퍼 데이터 테이블 설계
12월 5주차 : 드리퍼 개발 시작
2023년이 끝나가는 11월에 돌아본 나의 2023년은 바쁘고 피곤하고 힘들었지만 사실 실속 없는 한해였다.
스타트업에 입사해 5개월간 미친듯이 일했고 새로운 지식도 많이 알게 되었다.
하지만 실속은 없었다. 실질적으로 내가 하고싶은게 뭔지 몰랐고 그렇기 때문에 Step을 밟아 나가는 것 없이 그저 주어진 일에만 충실했다.
한해를 돌아보고 이제라도 나를 인지한 이 시점부터 다시 쌓아보려고 한다.
남들보다 조금 늦게 시작한 공부기 때문에 조금 더 독해져야 하고 조금 더 바빠야한다.
잠을 줄어야하고 스스로를 몰아붙어야한다.
2023년에 남은 두달간의 나의 모습을 돌아보고 노력하며 연말에 다시 스스로를 돌아보는 회고록을 작성하겠다.