클라우드

[데뷰2017] 베일 벗은 네이버 클라우드 머신러닝 플랫폼 ‘NSML’

백지영

[디지털데일리 백지영기자] 네이버가 사내 선행연구조직인 클로바AI리서치(CLAIR)에서 연구 중인 딥러닝 클라우드 플랫폼 ‘NSML’을 처음으로 외부에 공개했다.

네이버에 따르면, NSML은 CLAIR의 효과적인 연구를 위해 시작된 머신러닝 플랫폼이다. 모델 연구 및 개발에 필요한 복잡한 과정들을 대신 처리해 연구 개발자들이 모델 개발에만 전념할 수 있도록 해 주는 플랫폼으로 발전하고 있다.

성낙호 네이버 CLAIR 리더는 네이버 개발자 컨퍼런스인 ‘데뷰2017’의 둘째날인 17일 세션 발표에서 “최근 머신러닝 연구를 위해 텐서플로우 등 다양한 라이브러라나 리소스가 활용되는데, 이를 더 효율적으로 쓰기 위한 방법을 고민하면서 NSML이 나오게 됐다”며 “한국형 텐서플로우 등의 얘기가 발표 전에 나왔는데, 조금 과장인 것 같다”라며 운을 뗐다.

현재 구글은 오픈소스로 공개한 텐서플로우를 클라우드 기반으로 제공하며 AI 생태계를 확장시키고 있다. 네이버 역시 NSML을 통해 독자적인 AI 기반 환경을 만들겠다는 것으로 보인다.

성 리더에 따르면, NSML은 스스로 일을 찾아서 하는 사람은 그렇지 않은 다수에 비해 탁월한 성과를 낼 수 있다는 ‘자기결정이론(SDT)’을 적극 활용해 설계됐다.

그는 “딥러닝 연구할 때 모델 만드는 것 자체도 힘든데 연구자들은 그래픽처리장치(GPU) 남는 서버 찾아 설정하고, 확인하는 등 복잡한 과정을 겪어야 한다”며 “NSML은 사용자 친화적인 클러스터 등을 제공해 CLI 명령 몇 개만 알면 여러 GPU 노드 구성 필요없이 로컬 PC를 쓰듯 싶게 사용할 수 있다”고 설명했다.

기존에는 연구자가 딥러닝 모델을 학습하기 위해선 각 서버마다 GPU를 특정 사용자에게 수동으로 분배하는 방식을 취했다. 그렇다보니 연구자 간 GPU 배분이 효율적으로 이뤄지지 않았다.

또, 서로 다른 버전의 딥러닝 라이브버리를 사용하는 경우 환경 충돌이 발생했다. 때문에 “우리 실험실은 텐세플로 버전 0.12만 써”라는 규칙까지 생겨났다. 이러한 환경 충돌을 해결하기 위해 NSML은 도커 컨테이너를 활용했으며, GPU 리스소 가상화를 통해 컴퓨팅 자원을 과도하게 할당받는 것을 제어했다.

이와 함께 GPU를 할당받아 한시적으로만 작동할 수 있는 ‘세션’이라는 개념과 평가를 통해 별도의 스토리지에 보관하는 ‘모델’이라는 개념도 도입했다. 이밖에 활용되지 못하고 방치되는 GPU를 최소화하기 위해 ‘스케줄러’를 도입해 상황에 따른 우선 순위 자원 배정이 가능하도록 했다. 협업을 위해 캐글(Kaggle)과 같은 리더보드도 도입했다. 캐글은 데이터와 해결과제를 등록하면, 데이터 과학자들이 이를 해결하는 모델을 개발하고 경쟁한다. 승자는 상금 등 보상을 받는 체계다.

성 리더는 “어떤 모델이 어떤 설정에서 잘 동작하는지 한눈에 볼 수 있어, 연구의 방향과 목표에 대한 인사이트를 얻을 수 있다”며 “또, 학습한 모델을 바로 사용할 수 있는 데모 웹, REST서버를 통해 연구와 개발의 경계를 없앨 수 있다”고 말했다.

궁극적으로는 명령어 하나로 데이터는 클라우드에 던지고, 텐서플로우나 파이터치 등 모델 코드를 GPU 클라우드에 물릴 수 있어 연구자들은 모델 개발에만 집중할 수 있다.

성 리더는 “현재 NSML은 알파테스트를 모집 중이며, 향후 오픈소스로 공개할 예정”이라고 밝혔다.

<백지영 기자>jyp@ddaily.co.kr

백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널