본문 바로가기

AI tech

2024 상반기 회고: Everything Everywhere All At Once

반응형

많은 일이 있었던 것 같지만 빠르게 흘러간 2024년.. 무슨 일이 있었는지 되돌아보며 앞으로를 생각해보고자 한다.

 

내 2024년은 크게 부스트캠프와 그 이후로 나누어진다. 일단 상반기 회고에서는 부스트캠프를 하며 느꼈던 점들과, 그 이후 어떤 활동을 하며 시간을 보냈는 지를 기록했다. 하반기는 고용노동부에서 주관하는 인턴십 프로그램을 하다가 ML Engineer로 취업을 했는데, 기회가 된다면(또는 반응이 좋으면) 하반기 회고 글을 작성할 예정이다. 그럼 시작!

 

1월

네이버 부스트캠프를 진행하며 한창 바빴던 시기. 당시 Level 2에서 다음 Task 대회를 진행했다.

  • KLUE 데이터셋을 활용한 문장 내 단어들의 관계 추출(링크)
  • Data Centric 에서 기사 헤드라인 주제 분류

당시 일정을 소화하는데 과부하를 느끼면서, 시간 계획의 중요성을 깨달았던 시기였다. 그래서 나만의 새로운 노션 일정 관리 페이지를 시작했다..! 페이지가 금새 할 일 목록으로 넘쳐났지만, 기록을 하다 보니 적어도 까먹어서 빠뜨리는 일은 생기지 않았다.

 

데이터 전처리와 성능 향상을 목표로 다양한 기법을 적용하면서 대회에 임했다. 전처리와 모델링을 통한 성능 향상이 목적이긴 했지만, 그 과정에서 성능 변화의 원인을 명확히 분석하고 데이터 품질을 검수하는 것이 중요함을 다시금 깨닫게 되었다. 그리고 실험 횟수를 늘리기 위한 개발환경 구축의 필요성을 느꼈었다.

 

이력서 작성과 코딩테스트 준비 계획도 세우면서, 이 많은 일정들을 시스템화 할 수 있는 요소가 필요했었다. 나에게는 이게 스터디였고, 이력서도 주변사람들에게 피드백을 받으며 보완하곤 했었다. 스터디에 참여하면 책임감이 생겨서 반드시 하게 되었기에, 나에게는 나름 성과가 있었던 것 같다.

 

그리고, 최종 프로젝트였던 ‘안녕 자비스’를 떠올리던 시기. 이 때는 아무 계획 없이 그저 ‘나 대신 면접 답변을 해주는 챗봇이 있으면 재밌겠다~’ 라는 생각 정도였다. 심지어 이걸 할 것이라는 확신도 없었다. 근데 이를 바탕으로 구상해놓은 아이디어와 계획으로 팀원들이 결성되었고, 최종 프로젝트 기획부터 끝까지 잘 마무리된 것이 신기하고 뿌듯할 따름이다. 팀원들이 없었다면 절대로 나 혼자 하지 못했을 것이다. 무한 감사!

 

2월

네부캠에서 Level 2 마지막과 Level 3(최종 프로젝트) 시작을 하던 시기로, 대회와 최종 프로젝트 준비를 병행하던 시기. 다음 활동이 중심이었다.

  • 위키피디아 데이터셋을 활용한 기계독해(링크, MRC - Open-Domain Question Answering)
  • 논문 스터디에서 첫 논문 리뷰(링크)
  • 최종 프로젝트 데이터셋 일부 구축

팀원들과 머리를 맞대며 Retriever 성능을 어떻게 향상시킬 지 고민하던 순간이 기억에 남는다. 당시 DPR(Dense Passage Retrieval)을 구현해보려고 노력했지만 끝내 실패로 돌아갔었는데, 지금 생각해보면 복잡한 코드를 보며 끝내 입출력 차원을 제대로 못 맞춰준 것 같다. 그렇게 치열했던 경험이 지금 업무에서 도움이 되고 있는 것 같다.

 

논문스터디를 하면서 힘들어했던 기억이 난다..! 당시 RAG에 관심이 생겨서 최신 논문을 하나 리뷰해 보겠다고 읽었는데, 발표만 6시간 넘게 준비했다. 처음 치고 잘 한지 모르겠지만, 최종 프로젝트와 병행하기엔 부담이 되어서 한 번으로 끝난 슬픈 에피소드가 있다. 이 때부터 논문 공포증을 극복하기 시작해서 지금까지도 꾸준히 관심 분야 논문은 읽어보고 있다.

 

'IT 직군의 기술면접을 도와주는 ‘안녕 자비스’ 챗봇 서비스'. 우리 팀이 하기로 한 최종프로젝트 주제이다.(깃헙 링크, 이 때 기획이 확정되진 않았었고 지속적으로 논의를 이어갔다.) 초창기 때 데이터셋 구축을 위해 분야 별 면접 질문을 나누어서 구축하기로 했다. 각자 모은 면접 질문 데이터에서 서로 중복을 제거하고, 정제를 통해 품질이 좋은 답변을 달아주는 작업까지 진행했었다. 일명 노가다를 진행하면서 데이터를 모으는 과정이 아주 노동 집약적이라는 것을 깨달았다.

 

3월

최종 프로젝트(링크)에 몰입했던 시기였고, 부스트캠프 마무리를 준비했다. 유사한 서비스를 운영하는 티키타카와의 커피챗을 요청하고 진행하며 신기한 경험(인터뷰 링크)을 하기도 했다.

  • 카카오 로그인 기능 구현
  • 랭체인을 활용한 프롬프팅
  • 몽고디비 털림 이슈

첫 주엔 강의와 퀴즈, 과제 이력서 피드백 보완, 최종 프로젝트를 병행했다. 시간이 없는데 좀처럼 나아가지 않아 촉박한 느낌이 들었었다. 그래도 걱정보단 그냥 꾸준히 하면서 최대한 많이 나아가보고자 노력을 했다. 지금 생각해봐도 이 때는 진짜 뭘 하더라도 시간이 턱없이 부족했다.

 

카카오 로그인 기능을 구현했었다. 당시 JWT와 OAuth 2.0을 활용했는데, 생각보다 복잡했고 현업에서는 토큰 탈취를 방지하기 위해 refresh 토큰을 활용한다는 점을 깨달았다. 그리고 동시접속 문제를 해결해야 했는데, 이 과정에서 세션이라는 개념을 얕본 자신에게 후회하며 공부를 했다. 그리고 화룡점정으로 Streamlit과 세션을 함께 활용하면서, 데모가 아닌 실제 서비스에서는 Streamlit을 웬만하면 쓰지 않겠다고 다짐했다..!

 

랭체인으로 서비스를 구현하면서, 프롬프팅에 일부 관여했었다. 일전에 인프런 프롬프팅 강의를 팀원들과 함께 구매해서 스터디를 했었다. 당시 few shot이나 take a step back 등의 프롬프팅 기법들을 보면서 최종 프로젝트에 적용시켰더니, 성능이 향상되는 것을 확인했다. 부가적으로 Solar나 라마, 제미나이 등의 다른 LLM도 테스트해봤지만 당시에는 GPT만 한 성능의 모델을 찾을 수 없었다.

 

몽고디비가 털렸다고 팀원이 보여줬었는데 너무 신기했다.. 디비가 전부 지워지고 암호화 폴더에 백업되어 있다면서 비트코인 (0.61인가? 어쨋든 5~60만원 상당)을 요구하는 메시지가 있었다. 서비스 런칭 전에 겪어서 다행이었지만, 실제 구현할 때 조심해야겠다는 다짐을 했었다.

 

4월

부스트캠프가 끝이 났고, 새로운 시작을 준비했다.

  • 빅데이터 분석기사 필기시험
  • 본격적인 취업 준비와 입사 지원(이력서, 포트폴리오, 자소서)
  • 미래내일 일경험 프로젝트(링크)

부스트캠프가 끝나고 할 일이 없을 줄 알았지만, 막상 끝나보니 복습이나 이어져 오던 스터디들, 그리고 면접 준비 등에 많은 시간 투자를 했었다.

 

빅분기를 하나 따 놓으면 좋겠다는 막연한 생각에 등록을 했는데, 1주일 전까지 부스트캠프를 하느라 아무런 준비를 하지 않았다..! 그래도 시험은 잡아놓았기에 어찌저찌 1주일 동안 벼락치기를 해서 준비를 했더니, 필기 합격을 했다. 역시 끝까지 해보는 게 중요한 것 같다고 느꼈다.

 

포트폴리오 작성을 본격적으로 진행하면서, 이곳저곳 입사 지원을 했다. 4월에만 한 20곳 이상 지원을 한 것 같다. 부스트캠프 측에서 채용연계를 진행해준 것 까지 포함하면 한 30곳 정도? 나름 열심히 썼던 것 같다.

 

고용노동부에서 주관하는 미래내일 일경험 프로젝트에 참여했다. 기존에 부스트캠프에서 팀원이었던 사람들 중 나를 포함해서 4명이 함께했다. 다 아는 팀원들이라서 든든했고, 새로운 시작에 설레임도 있었다. 역시 인맥이 중요하다 킥킥

 

5월

취업 준비 그 잡채라고 할 수 있다.

  • 코딩테스트와 기술면접 준비(CS, AI 공부)
  • 각종 기업 지원 및 면접
  • 빅데이터 분석기사 실기 및 ADsP
  • 안녕자비스 서버 운영

일경험 프로젝트를 병행하되, 취업 준비를 중심으로 움직인 한 달이었다. 부스트캠프 때부터 계속 해오던 면접 스터디와 AI 스터디(밑바닥부터 시작하는 딥러닝)를 계속했다. 스터디에서 각종 채용공고도 공유하고 서로 실력도 쌓아가며 인연을 지속해나갔다. 부스트캠프가 끝났어도 그 안에서 만났던 사람들과의 인연은 계속 이어진다는 것을 새삼 느끼게 되었다.

 

아래는 내가 5월에 지원한 기업들 목록이다. 직무는 주로 AI/ML Engineer, LLM 관련 직무, Backend Develop 등이 있었다.

  • 당근, 펄어비스 채용연계형 인턴십, KTDS, 크래프톤, LG유플러스, 달파, 채널톡, 래블업

그 외에도 있었지만 기억이 나지 않는다. 이 중 당근, 펄어비스, KTDS만 면접까지 갔었고, 나머지는 서류나 코딩테스트 이후에 탈락했었다. 기업의 특성에 따라 핏이 맞는 직무가 따로 있다는 느낌을 받았다. 떨어졌다고 해서 내가 별로인 사람이 아니라, 그저 원하는 부분이 서로 다르다고 생각하기로 했다.

 

빅분기와 ADsP 자격증을 준비하되, 너무 많은 시간은 쏟지 않았다. 사실 필요성을 크게 느끼진 못했지만, 그냥 없는 것 보단 낫겠다 싶었다. 자격증에 대한 내 개인적인 생각이다. 결국 나는 딱 점수를 받을 수 있을 정도로만 공부해서 두 자격증 모두 취득했다.

 

부스트캠프 최종프로젝트로 진행했던 안녕자비스 서버를 지속적으로 운영했다. 가비아 도메인을 구매했었는데 기한이 1년이었고, 팀원이 AWS 무료 인스턴스를 지원해줘서 지속적으로 운영할 수 있었다. (무한 감사!) 부캠 이후 우리 서비스를 면접 준비에 사용하는 사람들이 은근 있어서 뿌듯했다.

 

6월

5월과 비슷하지만, 일경험 프로젝트의 비중을 높였다.

  • 스터디, 취업 준비
  • 입사 지원 및 면접
  • 미래내일 일경험 프로젝트

각종 스터디와 면접 준비를 이어서 진행했다. 면접 연습에 가장 큰 도움이 되었던 건 역시 실제 면접이었다. 스터디원들의 면접 경험담과 내가 본 면접들을 복기해보면서, 어떤 인재를 주로 원하는 지를 파악했었다. 참 유익했던 스터디였다.

 

마찬가지로 입사 지원 및 면접을 지속적으로 진행했다. 기존에 부스트캠프에서 진행했던 포트폴리오 특강을 참고했고, 유튜브를 보며 3C4P, STAR 기법 등을 알게되었다. 그 후에 그럴듯 한 것들 위주로 내 자소서, 이력서, 포트폴리오에 적용시켰다. 참 고된 일이기도 했지만, 그 과정에서 내가 정확히 뭘 했는지와 어떤 깨달음이 있었는지를 알아볼 수 있었다.

 

미래내일 일경험 프로젝트에서 빅뱅 이라는 팀이 탄생했다. 음성인식과 RAG 기반 컨퍼런스 매니저를 개발했고, 원래 하던 팀원들끼리라 그런 지 나름 수월(?)하고 재미있게 진행되었다. 나는 모델 전처리 및 학습 파이프라인을 구축하고, FastAPI 리퀘스트 송수신 등을 담당했다. 기업 측에서 V100 GPU와 하이퍼클로바 API key를 제공해주셔서 프로젝트에 큰 도움이 되었다. 그리고 이 프로젝트를 계기로 일경험 인턴십 프로그램 이라는 것을 7월에 하게 된다..!

 

마무리

여기까지가 상반기의 회고 내용이다. 삶의 지도를 쓸 때도 느꼈지만, 뭔가 커다란 깨달음을 쓰며 마무리를 해야 하려나? 싶기도 하다. 하지만 글을 쓰고 나서 드는 생각은 ‘그저 많은 일들이 있었구나~’ 라는 생각 정도이다. 그리고 매 순간의 인연은 소중하다 정도?! 최근에 업무를 하면서 내가 갈 길이 멀다고 느꼈지만, 앞으로를 위해 오늘을 충실히 사는 것이 제일 중요하다고 느끼고 있다. 나중에 또 어떻게 성장할 지 기대를 하며 이 글을 마친다. 모두 화이팅!

 

반응형