Kakao Brain Pathfinder Review
카카오브레인 패스파인더2기 후기 : 언어모델사업실 PathFinder TF
Last updated
카카오브레인 패스파인더2기 후기 : 언어모델사업실 PathFinder TF
Last updated
개요
2023년 6월 28일부터 8월 29일까지 진행된 카카오브레인 패스파인더 2기 채용연계형 인턴십 프로그램에 참가했습니다. 이글에서는 선택 과정과 인턴 활동에 대한 경험을 공유하려 합니다.
(이 후기는 인턴 동료 Carp(Yeonjun Yoon)이 작성한 원본 블로그의 주요 내용을 참고 하였습니다. "저작권 고지: 이 블로그의 모든 글은 별도로 명시되지 않는 한 CC BY-NC-SA 3.0 라이선스 하에 있습니다."를 준수합니다. )
모집과정
모집은 4월 말부터 5월 초까지 대략 2주 동안 이뤄졌고, 세 가지 전공 분야에서 지원을 받았습니다.
모바일 앱 개발
프론트엔드 개발
백엔드 개발
제가 지원하는 동안 가장 걱정됐던 점은, "이 회사가 AI 전문 기업인데, AI에 대한 지식이 필요할까?" 였습니다. 다행스럽게도, AI 기술에 관한 지식이나 경력은 필수 사항이 아니었고, 소프트웨어 개발 능력만을 기대했습니다. 물론, AI 관련 프로젝트를 경험한 이력이 있다면 그게 이점이 되기는 했습니다.
전형 절차는 대체로 흔히 볼 수 있는 방식으로 이루어졌습니다.
서류 심사
코딩 테스트
기술 및 인성 면접
서류 접수는 이력서 및 몇 가지 질문의 답변을 제출하는 형식이었으며, 이력서는 PDF로 받아들였다는 점이 특이했습니다. 코딩 테스트는 온라인으로 진행되었고, 각 직무에 따라 그 방식이 약간씩 달랐습니다. 백엔드 개발자는 알고리즘 문제 7개를 풀었고, 모바일 및 프론트엔드 지원자들은 알고리즘 문제와 프로젝트 과제 두 가지 유형이 제공되었습니다. 6시간에 걸쳐 코딩 테스트가 있었고, 전날 블라인드 테스트를 진행해본 덕분인지, 제게는 비교적 수월했습니다. (아쉽게도, 문제 유형이나 난이도에 관한 구체적인 정보는 공유할 수 없습니다.)
면접은 기술과 인성 면접이 연속으로 진행되었으며, 총 1시간 동안 비대면으로 이루어졌습니다. 기술 면접 준비는 면접 스터디와 다른 회사들에서의 면접 경험을 바탕으로 준비했습니다. 그렇지만 AI 지식과 수행한 프로젝트에 관한 질문에 대한 대비가 다소 부족해 이 부분이 준비 과정에서 큰 부담으로 다가왔습니다. 구체적인 면접 내용이나 절차는 공개할 수 없으나, 인성 면접의 질문들이 더 많은 비중을 차지하였고, 부트캠프에서의 경험들과 그 때의 대처 경험으로 원활하게 대응할 수 있었습니다.
결과적으로 6월 초에 최종합격 소식을 듣게 되었고, 6월 말부터 패스파인더 프로그램에 참여하게 되었습니다.
팀빌딩: 눈치게임
입사하기 약 2주 전, 다양한 서류 준비와 함께 업무에서 사용할 영어 이름(Joon)을 결정해야 했습니다. 또한, 총 32명으로 구성된 패스파인더 팀과 소통할 수 있는 공간이 마련되었고, 각자 자기소개를 작성하여 서로를 알아가는 시간을 가졌습니다.
3일간의 온보딩 과정은 대여 장소에서 진행되었으며, 카카오브레인의 상징적인 노란색 사원증과 업무용 맥북을 받았습니다. 비록 인턴이지만 제 사진이 담긴 사원증을 받아서, 지금까지의 노력이 어느 정도는 보상받은 느낌이었습니다. 그러나 그 기쁨도 잠시,
"3일 내에 자유롭게 소통하여 4인 1팀을 구성해주세요."
라는 관계자의 말에, 32명 모두가 피눈물 나는 눈치 게임에 돌입하게 되었습니다. 순수한 소통보다는 서로를 분석하는 데에 더 집중하게 되었고, 팀을 구성하는 과정에서 신중하게 행동해야 했지만, 너무 망설이면 기회를 잃을 수도 있어 곤란했습니다. 작년 9월부터 시작하여 개발 기간이 제일 짧았던 저에게는 큰 부담이었습니다. 패스파인더 인원들 중 대다수가 이미 다른 활동에서 한번씩 만났거나, 커넥션이 있었던 반면, 저는 아무도 모르는 상황이어서 바쁘게 소통을 하고 제 어필을 했어야 했습니다. 다행히 저와 비슷한 도메인에 관심을 갖고 계신분들을 만나서 늦지 않게 팀빌딩을 마무리할 수 있었습니다.
판교로의 출근
오피스에 첫 출근하게 되었고, 입구 스크린에서 저희를 환영하는 LDAP을 발견할 수 있었습니다. 사무실은 그리 크지 않았고, 자율 출퇴근제로 인해 많은 좌석이 비어 있었습니다만, 이 공간이 얼마나 편안한 근무 환경을 제공하는지 느낄 수 있었습니다. 나중에야 알게 되었는데, 카카오브레인은 풀재택 근무를 실시하고 있어서, 사무실에는 개발자들이 별로없었습니다.
출근을 하게 만드는 춘식도락과 급여
카카오의 구내식당 춘식도락은 출근의 주된 동기부여이자, 제 생각에는 카카오의 최고 복지 혜택이었습니다. 매일 네 가지 다른 메뉴가 제공되고, 각각이 매우 맛있어 보여서 항상 어떤 것을 선택할지 고민이 되었습니다. 또한, 만약 양이 부족하다면 모든 반찬을 더 받을 수 있었습니다. 운좋게도 패스파인더 프로그램이 진행되는 동안 춘식도락의 주년 기념일이 있어, 특별한 식사를 즐길 기회가 있었습니다. 왕갈비탕이나 돈마호크 커틀렛과 같은, 일반적인 구내 식당에서 보기 어려운 메뉴를 맛볼 수 있었습니다.
춘식도락 외에도, 상당히 높은 급여를 받았습니다. 인턴으로서 받는 월급이라고 생각하기 어려울 만큼 많았으며, 일반 회사 직원들의 급여보다도 대체로 높았습니다. (카카오브레인 인턴이 국내 기업 가운데 가장 높은 급여를 받는다 라는 얘기가 괜히 있는게 아니더군요). 이외에도, 각 팀에는 법인 카드가 제공되었습니다. 회사의 여건상 1기 때처럼 개인법카가 주어져서 출퇴근을 택시로 하지는 못했지만, 상대적으로 제약 없이 사용할 수 있었습니다.
LLM...!
카카오브레인이 패스파인더 2기에게 원하는 것을 간단하게 한 문장으로 표현하면 다음과 같았습니다.
“각 팀 별로 생성형 AI를 이용한 기가 막힌 서비스 아이디어를 생각해 와!
패스파인더 프로젝트는 기획 측면에 무게를 둔 프로그램으로 진행되었습니다. AI를 사용해서 기획을 해야했지만, 1기와는 다르게 생성형 AI, 특히 대규모 언어 모델(LLM)을 활용한 서비스 기획이 필수적이었습니다. 개발자들에게 기획의 임무를 부여하는 것 자체도 쉽지 않았지만, LLM이라는 동시에 구체적이고도 포괄적인 프레임워크 내에서 아이디어를 제약해야 했기에 많은 팀이 상당한 도전을 경험했습니다.
카카오브레인에서 기대하는 기획의 퀄리티도 매우 높았었습니다. 카카오브레인에서는생성형 AI 및 LLM을 활용한 비즈니스 아이디어를 탐색하고 있었기에, 패스파인더를 통해 이러한 아이디어를 발견할 수 있을거라는 기대를 했던 것 같습니다. 따라서 기획 단계에서는 비즈니스 모델을 포함하여 타서비스와의 경쟁력 역시 고려해야 했습니다. 추가로, 한가지 기획에 대하여 잠재 고객을 직접 찾아내어 수요와 가설을 검증하고, 이 서비스가 실제로 얼마나 많은 사용자에게 가치를 제공할 수 있는지 직접 탐색하고 알아냈어야 했습니다. 이러한 다양한 역량은 개발자들에게는 다소 부족했기에, 여러 팀이 어려움을 겪었고, 프로젝트 기간 동안 여러 팀의 기획이 큰 변화를 겪는 사례도 자주 있었습니다.
비록 카카오브레인의 요구사항들이 까다로웠지만, 에자일 프로세스라는 전략적인 방법론도 제공해주었습니다. 이는 외부 사이드 프로젝트 같은 곳에서 쓰이는 가벼운 애자일이 아니라, 현업에서 사용되는, 열정적이고 몰입도 높은 애자일이었습니다. 각 팀에는 애자일 코치가 배정되어 애자일 프로세스의 이해와 적응에 도움을 주었고, 그들의 깊은 노하우 덕분에 많은 것을 배울 수 있었습니다. 이 과정에서 데일리 스크럼, 위클리 플래닝, 팀별 회고 등의 활동을 통해 MVP와 Sprint Goal을 선정하고, 팀워크를 통한 지속적인 발전을 경험했습니다.
이 애자일 프로세스는 패스파인더 활동에서 가장 가치 있게 얻은 지식 중 하나로, 아이디어를 신속하게 형체화하고 고객 검증, 제품 개발로 이어지는 전체 과정에 대한 인사이트를 제공하였습니다.
LLM이 패스파인더의 중심 주제로서, LLM을 기반으로 한 사업 서비스를 고안하기 위해 LLM에 대한 깊은 이해가 필요했습니다. 채용 과정에서 AI 역량은 테스트 대상이 아니었기에 프로젝트 초기에는 모든 팀들이 생성형 AI와 LLM에 대해 시간을 들여 공부하였습니다. 패스파인더가 진행한 모든 프로젝트의 핵심 기능은 모두 LLM의 활용이었고, 서비스의 품질은 LLM의 성능에 크게 의존하였습니다. Fine-Tuning 같은 기술이 어려웠기 때문에, LLM의 성능을 향상시키는 유일한 방법은 프롬프트 엔지니어링이었습니다.
프롬프트 엔지니어링이란, ChatGPT 같은 LLM으로부터 더 나은 답변을 얻기 위해, AI에게 어떻게 질문해야 하는지를 연구하는 과정을 의미합니다. 질문의 문맥이 조금씩 변함에 따라 답변이 달라졌고, 이러한 미묘한 차이가 전반적인 성능에 큰 영향을 미쳤습니다. 저희 팀을 포함하여 모든 팀들이 프롬프트 튜닝에 집중하게 되었고, 인턴 마지막날까지도 끊임없는 도전이 이어졌었습니다.
Unthinkable Question을 위한 사투
저희의 처음 기획한 도메인은 의료였습니다. 카카오브레인에서 이미 AI를 활용한 의료 기술을 제공하고 있었고, 사업적으로도 매력있는 키워드라고 생각했었습니다. 하지만 불안정한 LLM을 활용하여 서비스를 만들어야하는 상황에서, 의료쪽은 어려울거라는 피드백을 받게 되었고 다른 도메인으로 피벗팅을 하게 됐습니다.
두번째 도메인은 교육이었습니다. 대학교 강의 시간 필기를 하느라 집중을 하지 못하고 있는 학생들을 위해 노트 필기, 실시간 퀴즈 생성을 해주는 서비스를 기획하게 됐었습니다. 하지만 음성 인식에 대한 어려움이 생겨서 정확도가 많이 떨어졌었습니다. 다시 아이디어 회의 지옥에 빠지게 됐었습니다.
세번째 도메인은 게이미피케이션이었습니다. 무한히 생성되는 퀴즈를 통해 뉴스와 시사를 재밌고 빠르게 접할 수 있는 서비스를 만들려고 했었습니다. MVP를 하루만에 개발하게 되었고 다른 팀들의 피드백은 좋았었습니다. 다만, 카카오브레인에서는 LLM을 더 활용하면 좋겠다는 피드백을 받고 해당 아이디어는 접게 됐습니다.
세번의 부정적인 피드백을 받을 시기에는 이미 2주라는 시간이 지났을 무렵이었습니다. 이미 100가지 이상의 아이디어가 나와있는 상태에서 다들 지쳐있는 와중에 마지막 아이디어가 나왔습니다.
PeterPen: 주어진 Rubric에 따른 서술형 답안 첨삭 및 생성 서비스
LLM의 강점들을 고려하여 저희는 마지막 아이디어를 냈습니다. 주어진 점수표를 기준으로 서술형 문제를 첨삭, 채점해주고, 생성해주는 서비스를 기획하였고, 이를 구체화하기 위한 대상은 토플(TOEFL) 영어 시험이었습니다. 유저들이 겪고 있는 페인포인트도 확실했고, 사업적으로도 매력있는 주제였습니다.
저희가 생각한 페인포인트는 3가지 였습니다.
사람마다 다른 기준, 주관적인 평가
첨삭 시간이 첨삭자의 일정에 종속적
사람의 첨삭 서비스에 대한 높은 금전적 비용
위 페인포인트를 해결하기 위해 LLM을 도입하면 아래와 같은 효과를 얻을 수 있을거라 기대했습니다.
저희의 아이디어에 대해 3주차 마지막날 Curtis(카카오브레인 대표)의 피드백을 받게 되었는데,
"특정 전문가 영역의 가치를 AI로 전달하려고 하는 측면에서 신뢰성과 품질에 집중해야 합니다. 문법 오류와 철자 오류만 수정할 것은 아닐 것입니다. 문장 구조, 문체, 논리적 일관성 등 더 깊은 수준의 첨삭을 제공할 것인지 고려해야 합니다. 그리고 AI가 첨삭한 결과가 얼마나 신뢰할 수 있는지 검증하는 체계가 필요할 수도 있습니다."
"더 많은 국제 언어 시험으로 확장하거나 커버레터 확장을 한다던가 하는 횡적 확장은 나중에 고민해도 될 것 같습니다. 지금은 아무거나 하나 정해서, 전문가가 첨삭해주는 수준 그 이상의 경험을 줄 수 있는지에 집중하는게 좋겠습니다."
"다른 것들을 포기하더라도, 기술 품질에 대한 시간은 충분히 쓰실 수 있도록 하는 것이 좋겠습니다."
라는 피드백을 받았고, 그동안 받았던 피드백 중 가장 긍정적이었기에 (더 이상 지체할 수도 없기에) 진행하게 됐습니다.
첫번째 역경: 익숙하지 않은 주제 -> 강사 초빙
저희의 첫 역경은 토플에 대한 이해도가 낮았다는 것입니다. 시험을 몇번 치뤄봤던 경험이 있는 저를 제외하고는 다들 경험이 없었고, 어떤식으로 진행이 되는지 시간을 들여서 공부를 했어야 했습니다. 그리고 LLM의 결과를 저희가 평가하기가 어렵다보니, 불확실한 상황에서 실험을 계속 진행했었습니다.
이를 해결하기 위해 성능 검증에 대한 실험 설계를 구체적이고 효율적으로 했어야 했고, 이 과정에서 유명 학원 강사들을 초빙해야 했습니다. 서술형 문제가 주관적인 평가이다 보니, 많은 강사분들을 모셔야했었고, 이로 인해 일주일이라는 시간이 소요됐고, 그만큼 프로젝트 진행 및 개발에 차질이 생기게 됐었습니다.
두번째 역경: 토플 서술형 문제 유형 변화 -> 위기를 기회로
패스파인더 기간 도중 갑자기 토플 서술형 문제의 유형이 바뀌는 사태가 생겼었습니다. 토플이 생긴기 처음으로 해당 유형이 바뀌게 됐고, 이로 인해 새로운 유형에 대한 데이터가 없다보니, 성능 검증이 불가능해졌었습니다.
이를 해결하기 위해 기존의 독립형(Independent), 통합형(Integrated) 문제에 대해 충분히 검증을 한 후 새로운 유형(Academic Discussion)에 적용을 해보는 걸로 결론을 내렸었습니다. 피벗팅을 하기에는 너무 늦었고, 다른 타경쟁서비스들도 똑같은 위기를 겪고 있다고 생각하며 이 상황을 기회로 바꿀 수 있다고 판단했습니다.
세번째 역경: 명확하지 않은 채점 -> 필터링
저희는 저희의 핵심 기능이자 프로젝트의 성공과 실패의 유무를 판단할 수 있는 LLM의 성능이 기대치에 못미치는 상황을 마주쳤습니다.
"AI가 첨삭해준 결과를 다시 AI에게 첨삭 요청했을 때, 더 높은 점수가 나와야하고, 과첨삭이 되면 안된다"
라는 허점을 발견하였습니다. LLM의 채점 점수가 항상 높게 나오지 않았었고, 한번 첨삭을 해준 부분에 대해서 다시 첨삭을 해주는 상황이 발생했습니다. 저희는 점수와 과첨삭의 상관관계를 높게 가정하여 개발하였고, 과첨삭으로 인해 점수가 크게 변동되는 것을 확인했습니다.
이를 해결하기 위해서, postgre-pgvector를 이용하여 유사도 측정을 했습니다. 단어, 문장, 문단을 기준으로, 한번 채점이 된 부분을 필터링하여 재채점을 방지했습니다.
회고
저희 팀이 최종적으로 기획한 서비스는 서술형 문제 첨삭 및 채점 서비스로, 패스파인더 팀들 중 가장 시장성이 큰 프로젝트였었던 것 같습니다. 여러 방면으로 확장을 계획했던 초기 기획과는 다르게 성능 문제로 인해 구현할 시간이 없었지만, 길고 긴 줄다리기 끝에 성능적으로 만족스러운 결과는 얻을 수 있었던 것 같습니다.
많은 역경들이 있었지만 대표적으로 위 3가지가 가장 크고 중요했으며, 결과적으로는 만족스러운 프로젝트가 된 것 같아서 뿌듯했습니다. 비록 오픈 후 많은 유저를 끌어모으진 못했지만, 클로즈 베타 기간동안 엄청 많은 학생들이 신청을 해주셨고, 기대 이상 수준의 긍정적인 피드백을 학생들, 강사님들에게 받았습니다.
여러번 피벗팅으로 인해 계속해서 기존의 코드를 지우고 새로 코드를 작성해야 했었지만, 프로젝트 초기에 API서버와 AI서버를 구분하였던 점으로 인해 큰 어려움이 없었던 것 같습니다. 프로젝트 전체를 봤을때 개발적인 능력을 발휘하지 못했던 점이 아쉬웠던 것 같습니다. 개발 외적의 문제들이 생기다보니, 다양한 시도를 못해봤던 것 같습니다.
Post PathFinder
패스파인더라는 프로그램이 종료되고 느낀점은,
첫째, 패스파인더 프로그램이 인턴들의 개발 능력보다 카카오브레인의 사업 아이템 탐색에 중점을 두고 진행되는 점이 보여서 인턴들의 사기가 떨어지는게 보여서 아쉬웠습니다.
둘째, AI에 전문적인 지식을 가진 인턴들이 아니었기 때문에, LLM을 이해하는데 시간이 오래걸렸을 뿐더러, 다양한 시도를 하지 못했던 것 같아서 아쉬웠습니다.
셋째, 문제해결 능력, 개발 능력이 많이 뒤처지는 것을 느꼈습니다. 비전공자와 전공자가 어떤 차이를 갖고 있는지 직접 체험할 수 있었습니다.
카카오브레인에서 얻어가는 것들
애자일 프로세스 방식
LLM의 가능성과 한계점
Python, FastAPI, Vector db 등 기술적 능력
맥북 사용법
새벽 회의의 낭만
유능한 팀원들 및 패스파인더 동기들과 함께한 한 여름의 추억
유튜브에 공개될 패스파인더의 기록