2024년을 되돌아보며
2024년은 마음AI에 입사하고 multimodal agent 연구자이자 개발자로서 커리어를 시작하고 쌓아나간 해이다. 정말로 많은 일들이 있었고 많은 것들을 이뤘다.
- 2월
- 작년과 똑같이 QHack Coding Challenge에 참가했고 저번의 4등보다 높은 3등을 달성했다. 다만, 이번에는 저번과 달리 그때 일정이 바빠 많이 참가하지 못한 것이 아쉽다. 각 테마별로 Level 5에 해당하는 최고 문제를 저번에는 여럿 풀었는데 이번에는 첫 날 하나 풀고 회사 일을 하기 위해 이탈했다.
- Deepest 사람들과 함께 ECCV 2024에 2저자 자격으로 논문 하나를 투고했고 붙었다. 내가 맡은 파트는 전반적인 ideation에 참가하는 것과 reward model의 서빙으로, RLAIF에 사용하는 reward model을 서빙했다. reward model은 CLIP, Grounding DINO, Stable Diffusion과 같이 여러 모델을 이어붙인 파이프라인으로 동작하였으며 전체 파이프라인의 throughput을 최적화 하기 위해 이들을 여러 GPU에 서로 다른 개수로 띄우는 굉장히 특이한 경험을 했다. 학습도 아닌 reward model에 DGX A100 하나가 붙는 것도 굉장히 특이한 경험이었다.
- 마음AI에 입사했으며, 입사 동기는 엔드투엔드 자율주행을 목표로 하고 있는 팀이 재밌어보이기 때문이었다. 실제로 들어와서도 2월 한달 동안 자율주행 리서치 맥락을 공부하며 간단한 실험들을 돌렸다.
- 3월
- 이제부터 하는 이야기는 마음AI에서 한, 또는 연관된 이야기가 많다.
- 내가 기억하는 게 정확한지 모르겠는데, 이때즈음 나는 연구 맥락을 열심히 따라가다가 자율주행과 로보틱스 역시도 일맥상통한다는 판단 하에 로보틱스 논문들을 봤었다. 그때 Sergey Levine의 RAIL의 GNM-ViNT-NoMaD 시리즈물을 읽었고 꽤 감명받았다. 그때 마침 같은 팀의 다른 사람이 실험 목적으로 Turtlebot3을 구입하고 세팅하고 있었는데, 그것을 가져다가 NoMaD가 돌아가도록 세팅했다.
- 사람도 피하고 박스도 피하고 주행은 잘 한다. 인공신경망에 기반해 end-to-end로 작동하는 로봇을 처음 본 입장에서는 굉장히 놀라웠다.
- 그리고 몸소 체험했다. 충돌은 안 하지만, 정말 쓸모가 없구나! 그 이유는, 사용하기가 너무 불편해서이다. 목적지의 이미지를 주는 방식으로 user instruction을 입력하는데, 이게 너무 자세하면 당연히 사용자가 불편하고 그렇지 않으면 문제가 ill-defined된다. topological graph를 모델에게 적절한 입력을 feeding하는 도우미로서 사용하는데 이 역시도 휴리스틱하다보니 한계가 크다.
- 그래서, 이때 처음 SketchDrive를 기획했다. SketchDrive에 대한 설명은 회사 테크블로그에서 보시면 도움이 됩니다.
- 4월
- 3월부터 자율주행/로보틱스/게임/UI 등 다양한 도메인의 에이전트에 대한 논문 100편 이상을 리뷰하여 노션에 기록했다.
- 기록에는 notero를 아주 잘 사용하고 있다.
- 3월에 터틀봇을 주행시킨 것이 기대감을 너무 높혔는지, 5월 1일 엑스포 시연이 무리하게 잡혔다. 나도 경력 2개월차였다보니 그게 가능하지 않을까 생각을 해버렸었고, 스트레스만 많이 받고 지나가는 것으로 끝났다.
- 5월
- 그 어떤 연구를 하려고 해도 환경(이 환경은 강화학습 맥락의 용어이다)가 없다. 데이터를 모을 수도 없고, 학습한 모델이 있다고 쳐도 돌려볼 수가 없다. 돌려볼 수가 없으니 평가할 수도 없으며 평가 결과에 기반해 개선을 할 수도 없다. 이 점이 4월부터 너무나도 스트레스였으며 따라서 이를 해결하기 위해 데스크탑 위의 게임 환경을 탐험했다.
- 다양한 게임 연구를 따라갔으며, 여러 아이디어를 제시했다. 이때 생각했었지만 지금까지도 실험 못한 게 여럿 있다.
- JAT라는 연구에서 대규모 데이터셋을 만들어서 써먹기 정말 좋겠다 하고 써봤는데 정말 좋지 않다는 것을 몸소 체험당했다. 이때, 인간이 만들지 않은 데이터는 쓰레기라는 것을 확신하게 됐다.
- 세상에 인공지능이 배우는 방식은 인간에게 배우는 방법과 그렇지 않은 방법이 있다. 그리고 후자'만'을 통해 인간의 지성을 일정 수준 이상 보인 사례는 인류 역사상 존재하지 않는다. 전자는 ChatGPT가 증명했다. 간과하기 쉬운 사실인데, 인터넷의 글은 인간의 산물이며 애초에 인터넷 그 자체부터 인간이 만든 것이다.
- 알파고 같은 예시는 뛰어나지만 인간 같지 않다. 일반적으로, RL은 일반화에 앞서 말한 '후자'에 속하는데, 이는 일반화가 지속적으로 문제로 대두되어 왔다. RL은 리워드가 정의되는 상황에 굉장히 좋은 최적화 방법론을 제시하지만, 리워드가 정의되지 않으면 사용할 수 없다. 그리고 일반화에 대한 리워드를 잘 정의되지 않는다. 여러 태스크에 대해 적당히 잘 일반화될수록 단조증가하는 스칼라 값? 그런 건 최소한 아직은 없다.
- JAT 데이터셋에는 "단순히 사람이 만들지 않음"으로 요약되지 않는 다양한 치명적인 문제가 존재한다. 궁금한 점은 따로 물어보시면 알려드리겠습니다.
- 6월
- 5월에 합류한 동료와 함께 SketchDrive를 본격적으로 시작했다.
- 7월
- SketchDrive의 첫 커밋이 올라온 달이다. 이때부터 9월까지 작성된 SketchDrive 파이썬 줄 수는 22000줄이다.
- 9월
- SketchDrive의 첫 성과를 논문화해 ICRA 2025와 NeurIPS Workshop Open World Agents에 제출했다. 이 둘에 제출한 이유는 별 게 없는데 빠르게 연구 성과를 외부에 알리기 위해서이다. 이 두 학회/워크샵은 각각 single-blind와 non-proceeding으로 이미 공개된 연구를 제출해도 상관이 없다. 또한 9월에 성과가 나왔고, 최대한 빨리 공개를 해야 했는데, 두 학회/워크샵의 제출 기한이 9월 15일 즈음이었다. 이게 전부다.
- 팀원 모두가 더 좋은 학회에 내고 싶었으나 위에서 말한 이유(빠르게 공개해야 함) 그러지 못했다. 팀에서 사내에 공개할 성과도 크지 않았으며 특히, 외부에 공개된 성과가 아무것도 없다보니 채용에 굉장히 큰 어려움을 겪었기 때문이다. 그래서 빠르게 연구 성과를 공개해야만 했다.
- 논문도 9월부터 15일 동안 작성하여 제출했고 ICRA가 겨우 6페이지가 분량이다보니 담지 못한 내용이 매우 많다. 그렇다보니 CANVAS의 압도적인 장점들의 일부만이 실험을 통해 검증되고 논문에 담겼다. 논문에서 소개하지 못한 다른 장점들은 후술한다.
- 10월
- SketchDrive의 첫 성과를 이용해 회사에서 매우 큰 호재를 얻었다.
- 성과를 인정받아 매우 좋은 위치에 올라오고 많은 권한을 얻었다.
- 이때부터 12월까지 채용과 DGX Cluster 구축을 리딩하며 미래 연구주제를 활발히 찾고 있는 중이다.
- 11월
- 서울대학교 공학관 302-105에서 채용 세미나를 진행했다. 이 글의 미리보기 이미지가 채용 세미나를 진행할 때 찍힌 사진이다.
- 12월
- NeurIPS 2024에 갔다왔다. 나름 좋은 경험이었다.
- 워크샵이지만, Oral presentation을 진행하고 100개 중 상위 3개 페이퍼에 선정되어 outstanding paper awards를 수상했다.
- 진행중이던 open-world-agents 프로젝트에서 최근 desktop-env를 공개했다. 이 프로젝트의 목적은 현재 부재한 오픈소스 에이전트 연구의 1. 환경 2. 데이터 3. 오픈소스 구현체 3가지 문제를 모두 해결하는 것이다. desktop-env는 high-frequency video를 효율적으로 얻는 키보드/마우스 기반 데스크탑 환경을 구현함으로써 환경의 문제를 해결하며 동시에 데이터의 문제를 해결하기 위해 recorder을 제공한다. 자세한 내용은 추후 더 공개할 예정이다.
전체적으로, SketchDrive의 이야기라고 해도 좋을 정도로 SketchDrive의 비중이 높게 소개했다. 나는, SketchDrive를 만들고 발전시켜 나간 사람으로서, 이 프로젝트와 아이디어의 연구적/상업적 가치가 모두 매우 막대하다고 확신한다. 이전의 방식들(modular, rule-based)와 비교할 수 없을 정도로 성능이 좋으며 scalable하며 instructable하다.
- 성능은 과수원 주행에서 rule-based baseline의 주행 성공률이 0%인 것에 비해 SketchDrive는 67%인 것으로 증명했다.
- 아래 링크의 Table III에서 확인 가능하다.
- scalable함은, 위의 유튜브 영상이 15일 동안 한 줄의 코드도 작성하지 않고 만든 모델이라는 사실로 증명했다.
- 논문 제출 당시 9월 15일의 모델은 정적인 scene에 대해서만 학습했으며 human, stop sign, grass를 모두 본 적이 없었다. 9월 15일부터 10월 1일까지 이들 모두를 가르쳐서 영상을 찍었으며, 이 과정에서 작성한 코드는 0줄이다.
- 이에 반해 기존 rule-based, modular 방식은 task를 scale하기 위해서는 핵심 엔지니어의 scale이 필요하다. 데이터/연산은 scaling이 가능한 반면(심지어 데이터는 많이, 다양하게 모을수록 positive transfer가 일어난다), 엔지니어는 그렇지 않다는 점을 고려하면, SketchDrive가 훨씬 scalable하다.
- instructable함은, 겨우 아이패드에 띄워둔 약도 이미지에 펜으로 선을 긋는 것으로 간다는 점에서 증명했다.
- 선을 그대로 따라 가는 것은 이미 이전에 있던 방법이다. SketchDrive는 선을 그은 지시자의 의도를 읽고 인간과 같이 "적절히" 따라간다. 이에 대해 자세한 내용은 https://worv.ghost.io/intro-to-sketchdrive/ 을 참고하면 좋다.
이 분야에 대해 많은 자료를 읽어보며 굉장히 많은 고민을 했으며, 한 명의 연구자로서 굉장히 많은 성장을 이뤄 나의 연구 트랙 레코드에 대한 확신을 가지게 됐다. 인공지능 분야의 방향성에 대해서도 많은 확신을 가지게 됐다. (가끔 이 블로그에 글로 옮기고 있다.) 다만, 항상 사람이 부족한 점은 아쉽다. 같이 일할 똑똑한 사람이 더 있으면 지금보다 훨씬 많은 일을 할 수 있을텐데 하는 아쉬움이 항상 남는다.
저 또는 마음AI의 WoRV팀에 대해 궁금한 점이 있다면 언제든 커피챗 요청을 환영합니다.
아, 마지막으로, 내년에 뭐할지도 간단히 소개하겠다. 지금 내 연구적인 관심주제는 다음과 같다. 아마 다음 내용들을 탐험하며 SketchDrive의 상용화에 힘쓸 것 같다.
- multimodal agent의 기억 문제를 어떻게 풀어내는가?
- 인간의 기억력은 인간의 생각보다 너무나도 막대하며 이것은 굉장히 많은 태스크의 해결에 막대한 도움을 준다..
- multimodal agent의 pretraining이란 어떻게 해야 하는가?
- LLM과 같은 여러 목적의 multi-stage training이 multimodal agent에서도 진행될 것이다. 문제는 이때 각각의 stage가 multimodal agent에서는 어떻게 대응이 될 것이냐, 하는 문제이다.
- 인터넷 영상(특히 egocentric)을 부을 것이냐? 새로운 영상 데이터를 얻을 것이냐(Project Aria, Meta)? 실시간으로 전세계에서 버려지고 있는 막대한 데스크탑 사용 데이터를 얻을 방법을 찾을 것이냐?
- multimodal agent의 in-context learning
- 기억 문제와 얽히는 문제이다.
- multimodal agent의 환경과 벤치마크 구축
- 위에서 간단히 언급한 open-world-agents와 이어지는 주제이다. 벤치마크가, 없다.