네이버 AI파워 비밀무기 'nsml' 뭐길래

머신러닝 클라우드 플랫폼…자원 효율배분 역할도

컴퓨팅입력 :2017/10/17 18:02    수정: 2017/10/19 08:35

손경호 기자

클로바AI리서치(CLAIR)는 네이버 내에서도 인공지능(AI) 관련 연구의 가장 앞단에 선 선행기술연구조직이다.

이곳에서 연구 중인 핵심 주제 중 하나는 어떻게 하면 AI 연구자들이 더 쉽고 빠르게 원하는 결과를 볼 수 있도록 도울 수 있는가다.

17일 네이버 개발자 컨퍼런스 데뷰 2017(DEVIEW 2017)에서는 이런 노력이 반영된 프로젝트가 처음으로 공개됐다. 클라우드 기반 머신러닝 플랫폼인 'nsml'이 그것이다.

이날 세션 발표를 맡은 CLAIR 성낙호 리더는 "머신러닝 연구를 위해 아마존웹서비스(AWS), 텐서플로 혹은 기업 내부 자원 등 여러가지 리소스가 쓰이는데 이를 더 효율적으로 활용할 수 있는 방법을 고민하는 과정에서 nsml이 나오게 됐다"고 설명했다.

네이버 클로바 AI 선행기술 연구팀 CLAIR 성낙호 리더.

이에 대해 내년 1월부터 CLAIR에 합류하는 홍콩과기대 김성훈 교수는 "플랫폼이 있어서 복잡한 과정을 생략해도 알아서 학습하고 결과를 내면 굉장히 편하고 좋을 것이라는 생각에서 연구자들이 모델 개발과 데이터에만 집중할 수 있도록 돕는 것이 nsml"이라고 말했다.

최근 몇 년 새 AI 연구의 한 방법인 딥러닝에 대해 연구자들이 폭발적으로 몰리고 있다. 이 때문에 저명한 AI 관련 학회인 NIPS는 내년에는 일주일만에 참가권이 매진될 것이라는 얘기가 나온다.

그러나 딥러닝 연구자들이 늘어나는 만큼 문제도 생겨난다. 딥러닝 모델을 개발해 학습시키는 과정에 많은 컴퓨팅 자원이 필요하나 이런 자원이 한정된 탓에 효율적으로 분배하지 않으면 개별 연구자들이 저마다 빠르게 성과를 내기 어려워진다.

(자료=네이버)

■ nsml, 딥러닝 연구 쉽고 빠르게 만든다

성낙호 리더는 이런 문제를 개선하기 위해 nsml이 3가지 해결책에 집중했다고 밝혔다.

먼저 AI 연구자들이 클라우드 기반 GPU 클러스터를 활용하더라도 로컬PC에서 딥러닝 모델을 돌리는 것과 거의 같은 사용자 경험, 빠른 응답속도를 낼 수 있게 한다는 것이다. 이를 위해 CLI 명령어 몇 가지만 알고 있어도 손쉽게 데이터셋을 할당된 GPU에 등록해 학습시킬 수 있도록 했다.

이전까지 연구자가 딥러닝 모델을 학습시키기 위해서는 각 서버마다 GPU를 특정 사용자에게 수동 분배하는 방식을 썼다. 다른 연구자들은 남은 GPU를 활용해야했다. 문제는 이 과정에서 어떤 연구자는 리소스가 부족한데 미리 GPU를 배정받은 다른 연구원은 리소스가 남아도는 상황이 발생한다는 점이다. 이를 해결하려고 해도 GPU 리소스를 이동시키는 것도 복잡한 문제였다. 더구나 연구자들이 다른 버전의 텐서플로를 쓰는 경우에는 충돌오류가 발생했다.

문제를 해결하기 위해 nsml은 컨테이너 기술 중 하나인 도커를 활용했다. GPU 리소스를 가상화해 시스템 구성에 사용한다. 또한 연구자들이 GPU 리소스를 할당 받아 놓고 쓰지 않고 놀고 있는 상황도 해결했다.

두번째로는 마치 해커처럼 한정된 컴퓨팅 자원을 활용하더라도 동시에 여러가지 아이디어를 병행해서 실험해 볼 수 있도록 하고, 이를 통해 나온 결과들을 서로 조합해 볼 수 있도록 지원한다.

nsml에서는 세션, 모델이라는 개념이 도입됐다.

세션은 GPU를 할당받아 정해진 시간에만 한시적으로 작동하는 프로그램이다. 연구자들이 쓰지도 않는 GPU를 점유하지 않고 필요한 시간 만큼만 쓰도록 한 것이다.

모델은 실험 중인 연구를 진행 중인 실험 상태를 저장하거나 재개하기 쉽게 만들었다.

CLAIR 웹사이트에 올라온 알파테스트 관련 게시글(자료=네이버)

■ 성과 좋은 모델에 GPU 우선 배정…경쟁적인 개발환경 만드는 '리더보드'

세번째는 다른 사람이 진행한 실험을 쉽게 재현해 볼 수 있도록 돕는 것이다. 이를 통해 해당 딥러닝 모델을 더 빠르게 검증해 개선할 수 있게 한다.

여기에는 스케쥴러라는 방식이 쓰였다. 연구자들의 여러 실험 중 높은 성능을 낼 가능성이 큰 모델에 우선적으로 GPU를 할당해 더 많은 작업을 처리하도록 지원한다.

또한 연구한 딥러닝 모델을 웹애플리케이션에서 직접 실행해 보고 결과를 확인할 수 있는 기능도 제공한다.

관련기사

리더보드는 어떤 프로젝트에 대해 상금을 걸고 경쟁적으로 개발하는 케글과 같은 방식으로 활용할 수 있도록 했다.

현재 nsml은 알파 테스트를 진행 중이며 내년부터 CLAIR에서 진행할 연구에 적용하며 관련 내용은 오픈소스로 공개할 예정이다.