나의 이야기

NLP개발자의 2020년 상반기 회고

seokhyun2 2020. 7. 5. 20:50

글또라는 블로그 모임을 하면서, 글또 다짐글을 작성했었습니다.

글또에서 이번 블로그 마감은 상반기 회고록을 작성해보는 아이디어를 공유해주셔서 회고록을 처음으로 작성해보게 되었습니다.

 

2020년 상반기가 끝나는 현재 시점은 사실 저에게는 지금 회사를 다닌지 만 3년을 딱 채운 시점이기도 합니다.

그래서 상반기 회고를 하고 또 3년 동안의 회고도 조금 같이 해볼까 합니다.

회고를 시작하기에 앞서 제가 어떤 일을 하는지 소개드리면, NLP 개발자로 회사에 재직 중에 있습니다.

 

2020년 상반기 회고

2020년은 사실 29살이 되면서, 아홉 수에 대한 걱정과 두려움에다가 내년에는 서른이라는 압박감을 많이 느꼈습니다.

글또 다짐글에서는 2020년 목표로 1일 1커밋, 영어공부, 블로그 활성화라는 3개의 목표를 적었었습니다.

1일 1커밋의 경우에는, 처음엔 알고리즘을 하루에 한 문제씩 풀어서 소스코드를 커밋을 많이 하다가, 최근에는 다른 소스코드도 올리기 시작하여 1일 1커밋은 꾸준히 유지하고 있습니다. 가끔 귀찮을 땐 readme만 수정하기도 했지만 readme가 잘 마무리되면 뭔가 진짜 레포지토리가 된 거 같은 기분이 들긴 합니다.

영어공부는 아직 시작을 못하였네요. 하반기에는 꼭 시작을 해야겠습니다.

블로그는 글또를 통해 그래도 지속적으로 글을 작성하면서 최근에는 평일 기준으로 평균 일 방문자 수가 100명 대가 되면서 점점 활성화되고 있는 것 같습니다. 앞으로는 검색에 좀 더 잘 노출이 될 수 있도록 제목을 작성해보려고 합니다.

 

다짐글에서 적은 부분이랑은 별도로 회사에서 상반기에 했던 내용도 조금 회고해보겠습니다.

회사에서 딥러닝 기반의 서비스를 개발하는 것이 점점 더 중요해지면서, 딥러닝 자체에 대한 부분 보다는 CS 이론과 서비스 개발에 대하여 많이 신경을 썼던 것 같습니다.

상반기에 제가 딥러닝 기반으로 회사 내부에서 사용하는 서비스를 개발하면서, 확장성에 대해서 많이 고민을 하였고 그래서 다른 머신러닝 서비스 관련 프레임워크를 많이 공부해보았고 그래서 도커를 적용하여 확장성을 가져갈 수 있었습니다. Kubeflow에서 아이디어를 얻어서, 간단하게 설계에 대해 말씀드리면 한 종류의 자연어처리 어플리케이션을 하는 솔루션인데 사용자는 코딩을 하지 않고 활용할 수 있는 서비스를 만들었습니다. 그래서 프론트에서는 데이터를 업로드하고 정제하고 태깅 할 수 있으며, 학습을 관리하고 학습된 모델을 배포도 할 수 있는 그런 서비스를 개발하였습니다. 만들어둔 도커 이미지를 기반으로 컨테이너를 run 하는 방식을 활용하여 모델을 학습하거나 학습된 모델을 서비스로 배포하도록 하였습니다. 이 부분은 나중에 한 번 정리하여 따로 블로그에 한번 포스팅을 해볼까 합니다.

 

정리해보면, 2020년 상반기에는 글또 다짐글에서 작성했던 올해 목표 중에 영어 공부를 제외하고 1일 1커밋과 블로그 활성화는 잘 지키고 있어서 하반기에는 계속 유지하면서 영어공부를 꼭 시작해보려 합니다.

회사에서는 딥러닝을 활용하면서, 서비스로 잘 패키징 하는 것에 많이 신경을 쓰면서 도커를 적용하여 처음으로 서비스를 패키징 해보았습니다. swagger도 적용하고 DB와 통신하는 부분도 개발하면서 서비스 개발에 대하여 많이 공부했던 상반기였습니다.

자랑 아닌 자랑도 하나 하자면, 이번에 회사에서 NLP 파트장을 맡게 되었습니다. 그래서 앞으로는 소스코드 관리와 커뮤니케이션에도 많이 고민을 해보고자 합니다.

 

회사 생활 3년 회고

2017년 7월 초에 입사를 하여, 2020년 상반기가 끝나는 시점이 저에게 딱 회사 생활이 3년이 지났기에, 3년의 회사 생활도 조금 같이 회고를 해볼까 합니다.

현재 회사에는 전문연구요원으로 입사를 하여, 3년 동안 회사를 다녔고 이제 전문연구요원은 2달도 채 안 남은 시점이 되었습니다.

처음 회사에 입사했을 땐, 자연어처리 개발을 맡게 되었는데 사실 여기 회사에 취직하기 전에 석사를 할 때는 이미지 프로세싱을 했었습니다. 그래서 자연어처리를 전혀 모르는 상황이였는데 회사에서 좋은 기회를 주셔서 입사를 할 수 있었기에 정말 열심히 공부했던 것 같습니다. 그때가 딥러닝 자체를 경험해본 사람이 많이 없었기에 운이 좋았던 것 같습니다.

 

그래서 2017년 하반기에 2018년 상반기는 퇴근하고도 항상 공부하고 논문을 보면서 시간을 보내면서 자연어처리에 대해서 감을 많이 익혔고, 2018년에 처음으로 딥러닝 기반의 자연어처리 솔루션을 납품을 해보았습니다. 그때 솔루션을 납품하면서 tensorflow 모델을 병렬처리하고 그런 부분에 대해서 많이 공부하고 고민을 했었던 것 같습니다.

 

2019년은 2018년 연말 쯤 등장한 BERT로 인해서 2019년은 많은 시간을 BERT에 할애했던 것 같습니다. 회사에서 BERT 자체 모델을 만들면서, BERT를 활용해서 형태소분석, 개체명인식부터 시작하여 기계 독해, 분류 등 많은 task와 dataset에 대하여 BERT를 적용해보았습니다. BERT를 적용하면서 대부분의 dataset에서 기존 솔루션에 비해 훨씬 뛰어난 성능을 보여주어 BERT를 활용하여 서비스에 적용을 하기 시작하였습니다. BERT는 모델 자체가 매우 무겁다보니, 서비스에 대해서 고민을 많이 했었습니다. CPU를 기반으로 서비스를 하기에는 어느 정도의 성능을 포기해야 했었던 부분도 있어서, CPU 서비스 뿐만 아니라 GPU를 활용한 서비스도 시작하게 되었습니다. GPU를 활용할 때 배포를 하는 방법에 대해서 많이 고민하고 공부를 많이 하여 지금은 multi-gpu를 통해 서비스를 하고 있습니다.

 

그렇게 2019년은 대부분을 BERT와 함께 하였고, 2020년 상반기에는 실제 서비스에 좀 더 집중하면서 좋은 서비스를 위한 도커나 swagger 등 여러가지를 공부하며 적용을 해보았습니다.

 

마무리

회고해보니, 3년 동안 정말 열심히 공부하면서 회사 생활을 했던 것 같습니다. 이제는 파트장을 맡아서 제 혼자만을 위한 공부가 아닌 파트원들을 위한 공부도 해야되지 않을까하고 생각을 하고 있습니다.

 

앞으로는 블로그에 목표와 회고도 꾸준히 작성하여, 단기 목표와 장기 목표도 좀 더 세부적으로 설정하고 그 목표에 맞춰 계획을 짜고 열심히 노력해보고자 합니다. 

그래서 글또 다짐글에선 깃헙 1일 1커밋이라고만 작성하였는데, 1일 1커밋은 지키되 NLP나 tensorflow, pytorch 프레임워크 관련된 예제 소스코드, 그리고 python에서 서비스를 개발할 때 사용한 라이브러리에 대한 예제 코드도 많이 업로드하려고 합니다.

 

2020년 연말에 회고를 할 때는 또 발전된 저를 볼 수 있었으면 좋겠습니다.

'나의 이야기' 카테고리의 다른 글

huggingface/transformers에 컨트리뷰트 해보기  (0) 2022.05.28
글또 7기 다짐글  (0) 2022.05.11
글또 5기 회고  (0) 2021.05.02
글또 5기 다짐  (0) 2020.11.14
글또 다짐글  (0) 2020.03.01