AI테크

'논문만 보고 실제 코딩 구현해' 상 받은 별난 AI팀... 양서연·이승현씨 인터뷰

AI타임스 2021. 9. 2. 16:52

구글·허깅페이스 주최 ‘Jax/Flax 챌린지’서 100팀 중 2등 수상
한국인 4명·외국인 6명의 다국적 코딩 개발팀 탄생
CLIP과 NeRF 기법 활용해 Jax 언어로 뉴럴 렌더링 구현하는 방식
상금 외에도 대회 동안 멘토링·TPU 지원 등 혜택 이어져
“앞으로 Jax 언어 기반의 NeRF 모델 만들어 오픈소스로 공개할 것”

 

구글과 프랑스 소재 자연어 개발 스타트업 허깅페이스가 공동주최한 Jax/Flax 챌린지에서 2등을 수상한 이승현·양서연씨. (사진=박유빈 기자).

논문에 나온 방법론만으로 코드를 만들어낸다는 건 여간 어려운 일이 아니다. 그러나 이를 해낸 별난 팀이 있다. 그것도 모자라 전 세계 100여개 팀이 겨룬 챌린지에서 당당히 2위에 올랐다.

 

팀명은 ‘CLIP+NeRF’. 딥러닝을 좋아해 관련 온라인 커뮤니티에서 친분을 쌓아온 양서연씨(서울대 컴퓨터비전 박사과정 1년차)와 이승현씨(인하대 컴퓨터공학 통합 박사과정 5년차)를 중심으로 한국인 4명, 외국인 6명이 모였다.

 

이들이 참가한 대회는 ‘Jax/Flax 챌린지’다. 지난 7월 7일부터 14일까지 2주간 열린 Jax/Flax 챌린지는 구글과 ‘트랜스포머(Transformer)’로 유명한 자체 자연어 개발 스타트업 허깅페이스가 공동으로 주최했다. 허깅페이스가 주최한 첫 번째이자 가장 큰 행사로, 각자 제안한 프로젝트를 기간 내에 Jax와 Flax 코딩문법에 맞춰 구현하는 자리였다.

 

CLIP+NeRF는 난다 긴다 하는 글로벌 AI인재들이 모인 대회에서도 가장 어려운 프로젝트를 수행한 팀이다. 우선, 저자가 코드를 공개하지 않은 상태에서 논문의 내용을 이해하는 과정이 필요했다. Jax/Flax 기반으로 코드를 작성하는 것은 그다음 일이었다. 논문 저자는 AI와 로봇 분야에서 거장으로 불리는 피터 아빌(Pieter Abbeel) UC버클리대 교수의 컴퓨터랩 소속 연구원.

 

지난 4월 발표된 이 논문은 단 8장의 이미지로 3D 모델을 구축할 수 있는 NeRF 기법을 제안하고 있다. 서연씨는 “3D 모델을 적은 수의 2D 이미지로 빠르게 구성하고, 3D 모델에서 주어지지 않은 새로운 시각이나 각도를 렌더링한 뷰(view) 결과를 얻을 수 있다”고 설명했다.

 

이어 “논문은 적은 수의 이미지로 3D 모델을 구축하기 위해 NeRF에 CLIP 시맨틱 로스(Semantic Loss)를 적용했다”며 “CLIP을 통해 2D 슈퍼비전을 3D에 주는 방식, 그래서 팀 이름이 CLIP+NeRF가 됐다”고 덧붙였다.

 

팀원들은 한국, 홍콩, 인도, 방글라데시로 뿔뿔이 흩어져 사는 탓에 모이기도 쉽지 않았다. 시차는 물론 온라인에서 만나 영어로 소통하며 임무를 분배하고 협업하는 과정까지 어렵지 않은 게 없었다. 그러나 모두가 열정을 갖고 즐겁게 매달렸다. 줌을 비롯한 노션, 디스코드, 깃허브 등 온라인 플랫폼을 활용해 코드 구현이라는 한 가지 목표를 갖고 모두가 매진했다.  서로 내뿜은 좋은 기운이 모여 결과로 나타난 것.

 

대회 준비부터 구성, 관리를 맡아 CLIP+NeRF팀을 이끈 서연씨와 승현씨를 만나 구현 과정과 수상 이후 앞으로의 계획 등을 들어봤다.

 

알고 가자...

 

 CLIP이란?

 

오픈AI가 컴퓨터비전과 자연어처리(NLP)를 결합해 제시하는 텍스트로 이미지를 생성·분류하는 기술이다. 대조언어(Contrastive Language)와 이미지 사전훈련(Image Pre-training)의 앞글자를 따 CLIP라고 부른다. 팀에서는 CLIP에서 학습된 ViT를 임베딩할 때 사용했다.

 

 NeRF란?

 

Neural Radiance Fields를 줄여 부르는 용어로, 2D 멀티 뷰 사진을 통해 암시적(Implicit) 3D 모델을 학습하는 AI 기법을 뜻한다.

 

 ViT란?

 

Vision Transformer, 비전 트랜스포머의 줄임말. 2017년 구글이 발표한 자연어처리(NLP) 신경망 구조인 ‘트랜스포머’를 비전 분야에 적용한 것이다.

 

 Semantic Loss란?

 

시맨틱 로스, 의미론적 ‘손실’이란 뜻으로 객체의 개념을 나타내는 용어.

 

다음은 일문일답

 

Q. Jax/Flax가 무엇인가

 

이승현 쉽게 말해 텐서플로우나 파이토치 같은 프레임워크·라이브러리다. 아직 개발자 사이에서 수요는 다른 것과 비교했을 때 떨어지는 편이다. 이번에 구글이 허깅페이스와 대회를 개최한 것도 많이 알려지지 않은 이들을 활용해 다양한 프로젝트를 해보라는 취지였다.

 

Q. 챌린지(대회)에 참가하게 된 계기가 궁금하다

 

양서연 딥러닝을 좋아하는 사람들끼리 모인 ‘딥 플레이’라는 단톡방이 있다. 페이스북 커뮤니티 내에서 딥러닝으로 유명한 분들이 모여있다. 어느 날 페북에서 ‘텐서플로우 코리아’ 운영진 박찬성씨가 톡방에 Jax 관련 대회 정보를 올렸다. TPU 지원부터 교육, 멘토링 등 혜택에 관심이 갔다. 저는 현재 대학원에서 NeRF를 주제로 연구하는 동안 Jax 언어가 많이 쓰이는 이유로 해당 언어를 공부 중이었다. 그래서 제가 프로젝트 제안서를 작성했고, 페이스북에 관련 게시글을 올려 팀원을 모집하기 시작했다. 그 글을 보고 승현씨와 또 다른 팀원인 성현씨가 “재밌겠다”고 댓글을 달았다. 이 둘에게 제가 함께 하자고 설득해 팀이 구성됐다.

 

Q. 두 분은 원래 아는 사이인가

 

양서연 딥러닝 커뮤니티에서 항상 소통을 해오다 실제로는 이번 대회를 준비하면서 처음 만났다. 승현씨는 우리 팀이 이번 대회에서 입상하는 데 큰 역할을 한 일등공신이다. 며칠 밤을 새면서 코딩을 하는 도중 난관에 부딪히기도 했는데, 결국 승현씨가 완성했다. 코딩을 정말 잘한다.

 

Q. 그렇다면 승현씨는 특별히 코딩을 잘하는 이유가 있나

 

이승현 여러 코딩 언어 가운데 텐서플로우를 가장 좋아한다. 거의 ‘팬보이’급으로 좋아하는데, 텐서플로우를 파고들다 보면 자연히 코딩실력이 늘 수밖에 없다. 대부분 파이토치를 써서 텐서플로우 코드는 아무도 올리지 않기 때문이다. 새로운 논문이 나와도 당연히 파이토치 기반인 경우가 허다했다. 그래서 직접 코드나 알고리즘을 짜다 보니 그 실력 덕분에 남들보다 코딩에 관한 전문적 지식이 생겼다.

 

Q. Jax/Flax 대회에서 여러분이 연구한 프로젝트에 대해 설명해달라

 

양서연 한마디로 논문에 나온 내용을 첫 번째로 구현하는 프로젝트다. 피터 아빌 교수 밑에서 연구 중인 한 박사과정 연구원이 발표한 건데, 저자가 아직 코드를 공개하지 않은 상태에서 논문의 내용을 이해한 후 대회 취지에 맞게 Jax/Flax 기반으로 코드를 작성해야 했다.

 

저자는 논문에서 CLIP의 ViT로 임베딩한 이미지를 Semantic Loss로 이용하는 DietNeRF를 제안했다. 해당 Loss를 이용하면 적은 수의 이미지로도 모델을 구성하는 퓨샷러닝(few-shot learning)이 가능하다. 단 8개의 이미지만 갖고도 3D 모델을 학습할 수 있다.

 

결국 우리 CLIP+NeRF팀은 해당 코드를 최초로 구현해냈고, papers with code 사이트에 등록됐다.

 

Q. 팀 구성원에 대해 소개해달라

 

CLIP=NeRF 팀원들. 대회 기간 동안 줌을 통해 회의를 이어갔다. 왼쪽 첫번째 줄부터 알렉스 라우(Alex Lau), 양서연, 칼리드 사이풀라(Khalid Saifullah), 하스완스 에쿨라(Haswanth Aekula), 사시칸스 코티(Sasikanth Kotti), 김현수, 정재영, 이승현, 김승현. 사진에는 없지만 아스윈 퍄큐렐(Aswin Pyakurel)까지 모두 10명이다. (사진=양서연). 

양서연 한국, 홍콩, 인도, 방글라데시인으로 구성돼있다. 총 10명이 시차를 고려해 매번 스케줄을 짰고, 줌에서 만나 프로젝트를 완성했다. 그런데도 너무 재미있었다. 미리 코드를 구현해 오는 다른 팀에 비해 우리는 논문을 처음부터 구현하는 거라 조금 더 어려웠던 게 사실이다. 시간이 꽤 필요한 프로젝트였다. 밤샘이 일상이 되는 날들이었다.

 

이승현 팀워크는 가장 좋았던 팀이라고 자부한다. 연구에 따라 10명을 CLIP·NeRF·클라우드 등 세 팀으로 나누기도 했는데, 협업도 각 팀의 연구 진행도 차질없이 잘 이어졌다. 특히나 우리가 밤새 고생해서 코드를 만들면 외국팀원들이 이해하기 쉽도록 예쁘게 블로깅 해주거나 깃허브에 상세하게 설명을 적어서 디자인을 해주었다. 10명의 팀원이 모두 적극적이었고, 역할분배도 잘 됐다고 자부한다.

 

Q. 저자로부터 반응은 어땠나? 구현 과정에서 힘든 점이 있었다면

 

양서연 완성한 후 트위터에 올리자 허깅페이스 측에서 NeRF 관련 유명 저자들을 태그해 응원을 보냈다. 정말 많은 수의 유명 트위터 피드에서 공유됐다. 저자도 공유했다. 그걸 보고 우리가 직접 메시지를 보내 서로 대화를 이어갔다. AI계에서 거장으로 불리는 아빌 교수님의 팬인데 그분도 좋아요를 눌러주셨다. 영광이다. 그 밖에 많은 스타트업과 공부하는 학생들에게도 이메일을 받았다.

 

이승현 힘든 부분은 역시 구현상의 문제였다. 논문만 보면 실제로 CLIP을 적용하기 위한 정보가 부족했다. 군데군데 구멍이 많았다. 이걸 어떻게 Jax/Flax 언어로 만들어낼 수 있을지 고민했다. Jax를 처음 제대로 공부한 다음 구현해야 하는 점도 어려웠다. 자원도 부족했다. 사비로 콜랩 프로계정을 5개나 사용해야 할 정도였다. 그런데 감사하게도 후원을 자처한 분이 계셨다.

 

어느 날 서연씨가 “GPU가 없어서 힘들다”는 내용의 게시글을 올렸는데, 커먼컴퓨터의 김민현 대표님이 선뜻 직접 도와주겠다고 댓글을 남기셨다. 커먼컴퓨터는 블록체인 클라우드와 AI 기술 개발업체로, 대표님은 GPU 대여업도 겸업하고 계신다. 이 분이 V100이라는 고가의 GPU를 선뜻 4개나 빌려주셨다. 덕분에 시간 안에 모든 코드를 구현해낼 수 있었다. 이 자리를 빌어 다시 한번 감사 말씀을 드리고 싶다.

 

Q. TOP3 안에 들었는데 혜택이 궁금하다. 세계적 대기업 구글에서 주최한 대회인데 상금은 얼마인가

 

양서연 허깅페이스 스웩 키트(Swag Kit)와 다음 프로젝트를 위한 구글의 TPU 클라우드 지원이 제공된다. 상금은 1250달러(약 144만원)를 받는다고 알고 있다. 액수만 놓고 보자면 적다고 볼 수 있다. 더군다나 팀 인원이 총 10명이니 이걸 공평하게 쪼개면 얼마 안 될 거다(웃음).

 

그러나 상금에 견줄 수 없는 다양한 혜택이 있었다. 구글 브레인과 딥마인드, 허깅페이스의 엔지니어들이 3일간 세미나 형식으로 교육과 자세한 멘토링을 해주었다. 또 코드 에러나 문제점을 슬랙에 올리면 즉시 피드백을 받을 수도 있었다.

이런 대회가 아니면 언제 이런 최고의 전문가들에게 수업을 받겠나. 가장 좋은 것은 그들과 전부 친구가 된 것이다.

 

이외에도 오는 11월에 있을 허깅페이스 웨비나에서 우리 프로젝트 결과를 발표하는 기회도 주어졌다. 현재는 기업으로부터 요청을 받아 공식 블로그에 게재될 프로젝트 관련 포스팅을 팀원들과 함께 작성하고 있다. 돈보다 경험을 통해 커리어를 쌓고, 연구 활동 범위가 넓어졌다는 데에 더 큰 의미가 있는 대회였다.

 

Q. 향후 계획이 있다면

 

양서연 Jax 언어를 기반으로 NeRF 모델 Zoo를 만드는 오픈소스 프로젝트를 이어갈 예정이다. Zoo는 쉽게 말해 여러 NeRF 모델을 하나로 묶은 것을 뜻한다. NeRF와 관련해 다양한 개선모델이 등장하고 있다. 그 속도는 이전 GAN 모델이 처음 나왔을 때만큼 폭발적이다.

 

반면 아직 공개된 논문 구현체들은 적은 편이다. 이렇게 다양한 NeRF 모델들을 Jax로 만들어 많은 사람들이 공유할 수 있도록 팀원들과 오픈소스 프로젝트를 열어보려 한다. 첫 번째로 픽셀 NeRF를 구현하기 위해 논의 중이다. 해당 프로젝트를 구글의 jax nerf repository에 편입시키는 게 목표다.

 

AI타임스 박혜섭 기자 phs@aitimes.com

 

Copyright © '인공지능 전문미디어' AI타임스 (http://www.aitimes.com/)
무단전재 및 재배포 금지

 

 

'논문만 보고 실제 코딩 구현해' 상 받은 별난 AI팀... 양서연·이승현씨 인터뷰 - AI타임스

논문에 나온 방법론만으로 코드를 만들어낸다는 건 여간 어려운 일이 아니다. 그러나 이를 해낸 별난 팀이 있다. 그것도 모자라 전 세계 100여개 팀이 겨룬 챌린지에서 당당히 2위에 올랐다.팀명

www.aitimes.com