
지난 글에서는 Coursera와 Kaggle과 관련된 이야기와 온라인 세션과 네트워킹에 대해 다뤘다. 해당 내용은 이전 기수의 커리큘럼과 거의 동일했지만, 이번 기수에서는 기존에 선택사항으로 존재하던 Tensorflow 자격증 획득을 지원해주는 대신, Gemma를 이용한 Sprint Project가 신설되었다. Google의 오픈 LLM 모델을 파인튜닝을 통해 특정 목적을 수행하는 앱이나 코드를 배포하거나, 그와 관련된 모델을 배포하는 과정이다.
이를 설명하기 이전에, 취직 및 이직을 목표로 하는 대부분의 참여자들이 큰 동기부여를 받을 수 있었던 파트너 기업 오피스투어와 관련된 이야기도 해보려고 한다.
앞서 파트너 기업들과의 채용과 관련된 온라인 세션을 진행했었는데, 이 때 사전 질문을 한 참가자들에게 우선권을 부여해 오피스 투어를 희망하는 사람들을 선착순으로 모집했다. 공지된 시간에 올라오는 Google Form에서 신청을 하면 됐고, 대학교 수강신청만큼 빡센 경쟁률이었다...
물론 올클이 일상이었던 나는 실력으로(?) 관심을 가지고 있던 기업 세 곳의 오피스투어를 성공적으로 갈 수 있게 되었다.

첫 번째 오피스투어는 강남에 위치한 당근(구 당근마켓)에서 진행했다. 교보타워 양쪽 타워에 세 개 층에 입주해있고, 좌우대칭으로 이루어져있다. 입장하면 가운데에 라운지를 두고 양쪽으로 사무공간이 위치해있다. 방문자들은 사무공간에는 출입할 수 없어 우리는 라운지에서 주로 실무자들과 QnA를 하는 시간을 가졌다. 당근 오피스 자세히 보기

중고거래 플랫폼을 시작으로 인지도를 얻은 기업으로, 추천 시스템 및 검색 분야 등에서 AI를 접목한다고 한다. 특화된 기계학습 모델을 개발하기는 하지만, 직접적으로 LLM 모델을 개발할 정도로 규모 및 리소스는 충분하지 않아 주로 빅테크에서 개발한 모델을 파인튜닝하는 쪽에 가깝다는 설명이다. 당근 채용사이트에 현재 모집중인 직군과 기대역량, 그리고 채용절차가 설명되어있다.
아쉬운 점이 있다면, 시간에 비해 오피스에서 눈으로 본 것이 별로 없다는 것이다. 라운지에서 무료로 음료를 한 병씩 고른 후 이를 마시면서 이야기를 나눴는데, 한 시간 반동안 열댓명의 학생들이 실무자 두 명과 채용 페이지를 보면서 채용과 ML 업무에서 기대하는 역량과 각자의 궁금한 점을 나누는 시간이었다. 특별히 온라인 오피스 아워와 차별점이 없다고 느껴졌다...
두 번째는 서초에 위치한 보이저엑스였다. 보통 사람들에게 인지도가 높은 기업이라고 말하기는 어렵지만, 텍스트 기반 영상편집 프로그램인 Vrew와 한국어 문서 스캐너 앱인 vFlat을 개발한 AI분야의 저명한 스타트업이다. 네오위즈에서 세이클럽을 개발하고 B612(스노우)를 창업한 남세동 대표가 설립한 회사로, 알파고로 딥러닝이 주목을 받기 시작한 2017년에 설립됐다. 당근과 마찬가지로 15명의 인원이 1시간 반동안 투어를 진행했지만, 보이저엑스는 날짜를 나누어 두 번에 걸쳐 이루어졌다(총 30명).
보이저엑스 채용사이트를 확인해보면, 정직원 포지션과 인턴 포지션이 나누어져 있다. 인턴은 기본적으로 5개월 근무할 사람을 찾으나, 대부분 정규직 전환을 전제로 채용을 진행하기 때문에 일반적인 인턴보다 허들이 높다는 설명이다. 인턴도 일반 직원처럼 실제 서비스를 하나 맡아서 개발할 수 있도록 권한을 부여하며 인재를 육성하는 데 많은 공을 들이는 스타트업이라는 인사 관계자의 설명이다. 이후에는 인턴에서 정규직으로 전환되어 근무중이신 부트캠프 출신에 비전공 출신이신 개발자님들을 멘토로 모셔 취업 과정 및 사내 업무와 관련된 이야기를 나눴다.

이 회사의 특이한 점은, 지원 전 기술 질문과 관련된 자가점검 문제를 게시해놨다. 이에 충분히 답변할 수 있다고 하면 지원을 바란다고 한다. 심지어 전 직군 상시채용이다. 자유 형식의 자기소개서와 함께 별도의 코딩테스트는 없고, 화상 면접을 통해서 연쇄적으로 기술면접을 진행한다고 하며, 특히 CS 지식을 중요시한다고 한다. 다소 폭이 넓긴 하지만 기초에 기반하여 질문을 진행하며, 개발 경험 등 여러 이야기에 대해 심도 있고 길게 진행한다고 한다.
또한 부서 내 팀 이동 및 개설이 자유롭고, 수평적인 구조로 업무가 진행된다는 것을 강조했다. 주 40시간 근무를 기본으로 하지만, 주 2회는 재택근무가 자유롭다는 점 역시 특별하게 다가왔다. 어쩐지 건물 층 전체를 사용하는데 사람이 별로 없었다. 개발자들이 업무에 집중하고 즐길 수 있는 환경을 제공해주고, 스타트업임에도 불구하고 인력의 성장에 많이 투자한다는 것, 그리고 자유롭게 프로젝트를 수행할 수 있다는 점에서 스타트업만의 개방적인 업무 환경이 매력적으로 다가왔다. 이야기를 들을수록 회사가 이렇게 운영될 수 있다는 것이 신기하게 느껴졌다.
세 번째는 판교에 위치한 넥슨코리아였다. 이제는 모르는 사람을 더 찾기 힘든, 우리나라 게임 업계를 선도하고 대표하는 대기업이다. 인원도 앞선 오피스 투어에서는 1회당 15명이였는데, 이번에는 30명 정도를 모집했다. 외부 인원 30명을 수용할 수 있는 시설을 가지고 있다는 것부터 스케일의 차이가 느껴진다.
채용팀에서 인텔리전스랩스 중심의 채용 프로세스와 AI 활용 사례에 대한 설명, 그리고 넥슨만이 가지는 복지 등에 대한 이야기를 나눈 후, 카페, 야외공원, 편의점, 헬스장 등 넥슨코리아 사옥의 사원들을 위한 복지 공간과 외부인들도 출입 가능한 공용 공간을 중심으로 투어를 진행했다. 회사만의 아이덴티티를 살릴 수 있는 단독 사옥이 주는 쾌적함이 앞선 두 기업에서는 느끼기 어려웠던 것이라 색다르게 다가왔다.

인렐리전스랩스 테크블로그와 게임스케일에도 AI 서비스와 관련 글들이 게시되고 있는 것을 확인할 수 있다. 대개 사용자 경험 개선과 코스트 절감과 연결되는 분야에서 이용되고 있으며, 넥슨 채용사이트에도 이와 관련된 수많은 직군에서 구인 관련 글이 올라온다. 넥슨에서 주요 AI 활용사례라고 한다면 다음과 같다.
넥슨은 기본적으로 서류 이후 직무 테스트가 있다. 게임프로그래밍 등 일반적인 개발직의 경우는 코딩테스트를, AI 연구개발 등 분석가 직무의 경우는 데이터 분석 및 모델링 과제를 기한내로 끝내는 것을 요구한다. 이후에는 실무 역량과 컬처 핏과 관련된 것을 확인하는 면접을 2회 전후로 진행한다고 소개했다. 이는 신입이든 경력이든 모두 해당하는 채용절차로 보이며, 세부적인 차이는 직군마다 다르니 이는 채용사이트를 참고하면 좋을 것 같다.
약 1시간 가량은 인텔리전스랩스 소속 생성형AI 파트장님과 멘토링 시간을 가졌다. 넥슨의 경우 교육을 통한 성장보다는 실무 투입이 바로 가능한 인재를 선호하기도 하며, 팀마다 요구하는 인재상이 상이해 좋은 스펙과 실력을 가지고 있어도 핏이 맞지 않으면 채용이 어렵다는 이야기를 나누기도 했다. 이와 관련돼 데이터 분석가로서 고민중인 주요 안건들에 대해 솔직하게 공유해주기도 하셨다.
기존 계획으로는 약 3시간동안 진행되는 세션이었지만, 양질의 질의응답이 계속되면서 30분 더 연장됐다. 채용 팀 관계자분들과 멘토로 오신 인랩 파트장님 모두 재미있고 솔직한 이야기를 공유해주셔서 개인적으로는 세 번의 오피스 투어 중 가장 만족도가 높았다. 조만간 정규직 전환형 인턴을 모집하는 넥슨의 신입공채라고 불리는 채용형 인턴십 '넥토리얼'이 시작되니 관심도 커졌다.
구글이 오픈 LLM/LMM으로 Gemma를 공개하면서 이를 이용한 프로젝트를 제작하는 것을 필수 수료 조건으로 채택했다. 스프린트 시작 당시 Gemma2가 따끈따끈하게 공개됐던 터라 Gemma2 2B/9B/27B 모델, 그리고 비전언어모델인 Paligemma 중 하나를 파인튜닝해서 1~3인으로 구성된 팀에서 시연 및 사용이 가능한 무언가를 만드는 것을 목표로 했다.
기존에는 (1)Gemma Fine-tuned Model을 HuggingFace나 Kaggle에 업로드해 결과물로 제출하는 것으로 계획되었지만, (2)웹 또는 앱 형태의 서비스나 코드, (3)유튜브 또는 블로그에 관련 튜토리얼을 업로드하는 것으로 범위를 확대했다. 대신 모델 배포를 권장한다는 차원에서 (1)을 수행한 사람들을 한정으로 기념 굿즈를 제공한다.
나의 경우 프로젝트를 재미있게 풀어내는 것을 목표로 전업을 살려 유튜브에 튜토리얼을 올리는 방향으로 잡았다. 혼자서 생각하고 있는 것을 자유롭게 하고 싶은데, 완성도에 있어서는 자신감이 아직 부족해 결과물을 제출한 후에도 지속적으로 사용할 수 있을 만한 프로그램으로 발전시키기 위해 개선할 계획이다

인터넷방송을 오래 즐기고 있는 시청자들은 한국판 나이트봇인 트위치의 '싹둑이'를 기억하고 있을 것이다. 치지직에는 '클린봇'을 자체적으로 서비스하면서 비매너 및 욕설과 관련된 채팅은 검열하는 역할을 하고 있다. 이를 LLM을 활용해 제작하면 어떨까라는 생각에 해당 아이템으로 프로젝트를 진행해봤다.
누가봐도 물을 흐리는 심한 욕이나 사회적 물의를 일으킬 수 있는 발언을 마스킹하는 일반적인 챗봇은 LLM을 사용하지 않는 것이 오히려 더 빠르게 처리할 수도 있을 것이라고 생각하지만, 방송마다 제각각인 채팅 규칙과 명령어에 대한 대답이 적용된 클린 챗봇은 개인화(AI Personalization)를 거쳐야 할 것이기 때문에 LLM이 경쟁력을 가질 수 있을 것이라고 판단했다.
궁극적으로는 멀티모달 모델을 도입해 AI가 방송의 현재 상황을 이해하고 이와 무관하거나 방해하는 채팅들(분탕, 중계 등)도 검열하는 것을 목표로 하고 있지만, 그러기엔 아직 나는 딥러닝과 관련돼 지식이 많이 부족해 우선 LLM을 이용한 범용적인 클린봇을 구현하는 첫 계단부터 맞춰가보려고 한다.
아프리카에서는 운영자인 '클린아티'가 출동해 단속하는 서비스를 하고 있는데, 이를 스마트한 자동화로 대체했으면 좋겠다는 작은 소망이 있어 아프리카TV를 기준으로 프로젝트를 진행했다.
시청각 자료와 함께 영상 형태로 튜토리얼을 작성했으며, 유튜브에 게시했다. 코딩애플st 편집
영상 설명란에 관련 코드가 포함된 깃허브 레포지토리로 연결되니 코드를 보고 싶다면 그 쪽을 확인해보자. 아직 개선해야 할 점들이 많아 연말까지는 지속적으로 수정하지 않을까 싶다.