세계 최초 딥 러닝 전용 슈퍼 컴퓨터, 엔비디아 DGX-1 탄생 스토리

by NVIDIA Korea

세계 최초 딥 러닝 전용 슈퍼 컴퓨터, 엔비디아 DGX-1 탄생 스토리

우주선이든 스포츠카이든 어떤 제품을 처음 개발할 때는 반드시 ‘출발점’이 존재합니다. 그렇다면, 세계 최초의 딥 러닝 전용 시스템엔비디아 DGX-1을 완성한 엔지니어링 팀은 출발은 어떻게 시작되었을까요?

쥬얼리샵의 진열장에 어울릴 듯한 깔끔한 디자인과 컴팩트한 크기를 자랑하는 129,000 달러의 딥 러닝 전용 슈퍼컴퓨터, ‘DGX-1’은 지난 4월 GTC (GPU Technology Conference) 2016에서 첫 선을 보였습니다. 차세대 파스칼(Pascal) GPU 아키텍처 기반의 새로운 테슬라 P100 GPU 8대를 탑재한 턴키 시스템으로 250대의 x86 서버와 맞먹는 최대 170 테라플롭(teraflop)이라는 괴물 같은 연산력을 자랑하죠.

DGX-1은 강력한 하드웨어와 더불어 그에 걸맞은 획기적인 딥 러닝 소프트웨어가 장착되어 있습니다. 또한 클라우드 시스템과의 연동으로 빠른 실행 및 시스템 업데이트가 가능하며, 별도의 조립 없이 누구나 간편하게 사용할 수 있죠. ^^

이 밖에도 애플리케이션 확장성 극대화를 위한 엔비디아 NVLink™ 고속 인터커넥트, 혁신적인 에너지 효율을 위한 16nm FinFET 제작 기술, 빅 데이터 워크로드를 위한 HBM2 탑재 CoWoS, 21 테라플롭스 이상의 최고 성능을 제공하는 새로운 반정밀도 명령 등 딥러닝 연구를 위한 모든 성능과 기술들이 이 작은 슈퍼컴퓨터 하나에 통합되어 있다는 사실, 놀랍지 않으신가요? ^^


본격적인 인공지능(AI) 시대 개막을 위해 태어나다

이처럼 DGX-1은 누구든 딥 러닝을 보다 신속하고 간단하게 활용할 수 있는 강력한 GPU 가속 컴퓨팅 성능을 제공하는 것이 특징입니다. 이로써 그 동안 여러 학자들이 컴퓨터가 처리할 수 없다고 주장했던 작업들이 가능해졌는데요, 특히 인간의 능력과 동등하거나, 이를 뛰어넘는 초인적인 능력을 갖춘 인공지능 시스템의 개발은 이러한 변화를 더욱 가속화시키고 있습니다.

이미 수억 명의 사람들이 음성인식, 실시간 음성번역 및 영상 검색 등을 위한 딥 러닝 기반 서비스에 의존하고 있으며, 앞으로 더욱 많은 이들이 이러한 인공지능 기반 서비스를 찾게 될 것입니다. 하지만 이러한 이질적인 요소들을 가지고 딥 러닝 시스템을 만들기 위해서는 적지 않은 시간과 인력이 요구되죠. 바로 이러한 고민을 해결하기 위해 DGX-1은 탄생했습니다.

DGX-1이 생산되기까지의 과정

DGX-1의 제작 과정은 마치 레이싱과도 같았습니다. 한 엔지니어 팀에서 새로운 딥 러닝 시스템의 일부를 완성하면, 바로 다음 단계의 엔지니어 팀에게 전달하는 방식으로 제작이 이어졌습니다.

이 프로젝트에 참여한 메인 엔지니어 중 한 명인 마이크(Mike)는 다음과 같이 후기를 남겼습니다. “DGX-1은 하드웨어와 소프트웨어가 결합한 하나의 완성된 시스템입니다. 그렇기에 3개의 UI 버튼을 조합하는 것 만으로도 모든 기능을 활용할 수 있어 사용이 간편하죠.”

빛의 속도로 진행된 개발 과정

DGX-1의 제작은 지난 GTC 2015에서 엔비디아 젠슨 황(Jensen Huang) CEO가 내건 약속에서부터 시작됐습니다. 바로 엔비디아의 11세대 GPU 아키텍처인 파스칼(Pascal)이 주요 딥 러닝 작업에 있어 1년 내 10배 더 뛰어난 성능을 발휘할 것이라는 말이었죠. 다만 이 약속을 지키기 위해서는 여러 학자들과 기업들이 이 새로운 GPU를 기반으로 한 머신을 구축하고 이를 활용하기 위해서는 수 주일, 또는 수 개월 등 시간이 너무 많이 소요될 것이라는 문제점이 있었죠.

발표로부터 수 개월 후, 젠슨 황 CEO는 임원 회의에서 엔비디아의 엔지니어링 팀들에게 2016년 4월에 열릴 GTC 2016에 맞춰 파스칼 기반의 서버 시스템을 만들어내라는 지시를 내렸습니다. 누구라도 스위치만 켜면 8개의 파스칼 GPU를 통해 딥 러닝을 활용할 수 있도록 만들 계획이었죠.

이 서버를 만들기 위해서는 당시엔 존재하지 않던 칩을 기반으로 하드웨어를 제작하는 것은 물론, 수많은 구성 요소들이 필요했습니다. 우분투(Ubuntu) 운영체제, 디짓(DIGITS) 딥 러닝 훈련 시스템, 쿠다(CUDA) 심층신경망 라이브러리(cuDNN), GPU 가속 기본 라이브러리, 엔비디아 드라이버를 비롯한 25개 조각으로 구성된 DGX-1의 소프트웨어 ‘스택(stack)’이 조화를 이뤄야 제대로 작동될 수 있는 상황이었습니다.

젠슨 황 CEO는 엔지니어들이 정말 ‘빛의 속도’로 이 조각들을 맞춰 나갈 수 있도록, 근본적인 한계점이 무엇인지 파악해 극한까지 밀어붙여야 한다고 확신했었습니다.

이에 10개가 넘는 엔지니어링 팀이 프로젝트에 투입되었는데요. 제품 아키텍트이자 수석 엔지니어인 존(John) 씨는 당시를 회상하며 다음과 같이 말했습니다. “엔비디아는 독특하고 효율적인 협업 구조를 가지고 있습니다. 소수의 리더들만 선정하면, 이들이 알아서 목적 달성에 필요한 사람을 또 찾아내는 식이죠.”

구체적인 과정은 다음과 같습니다.

  • 2015년 5월 – 엔지니어링 팀이 DGX-1 내부의 각기 150억개의 트랜지스터가 사용된 8개의 GPU를 결합시킬 혁신적인 토폴로지의 밑그림을 그립니다. 해결책은 큐브 메쉬(cube mesh)입니다. 이 설계를 통해 8개의 GPU를 모두 딥 러닝 작업에 투입하거나 2개의 하위시스템으로 나누어 일반적인 고성능 연산 작업에 사용할 수 있습니다. 하지만 성공 여부는 7개월이 지나야 알 수 있습니다. 그리고 최초의 파스칼 GPU 샘플은 2015년 4분기가 되어야 볼 수 있었습니다.  이 샘플에는 메쉬의 기반이 되는 엔비디아의 고속 인터커넥트 기술인 NVLink 가 사용되었습니다. (” NVLink란?” 참고).
  • 2015년 9월 – 소프트웨어 엔지니어 팀에서 엔비디아의 집합 통신 라이브러리인 NCCL이라는 이름의 시스템 소프트웨어를 만들기 시작했습니다. NCCL은 DGX-1의 큐브 메쉬 토폴로지(topology) 위에서 작동했습니다. 그리고 다른 팀에서는 카페(Caffe), 시애노(Theano), 토치(Torch), 텐서플로(TensorFlow), CNTK과 같이 가장 널리 사용되는 딥 러닝 및 고성능 연산 도구가 포함되며 NCCL 위에서 구동되는 소프트웨어 스택에 대한 작업을 시작했습니다.
  • 2015년 11월 – 엔지니어들이 칩 팹(chip fab), 또는 공장에서 파스칼의 첫 샘플을 어렵게 뽑아내기 시작했습니다. 이 작업은 보통 작업과는 다릅니다. 파스칼의 경우 엔비디아의 GPU 디자이너들은 사용자가 딥 러닝 관련 문제를 해결하는데 도움이 되는 기능이 포함된 새로운 아키텍처를 만들어냈습니다. 또한 파스칼은 크기가 16nm에 불과합니다. 손톱이 1분당 자라는 길이의 4분의 1에 불과하죠. (‘엔비디아, 테슬라 P100 가속기를 이용한 딥 러닝 및 HPC 어플리케이션 분야에 엄청난 발전을 이루다’ 참고).
  • 2015년 12월 – 이제 파스칼 GPU가 구동되는 가운데 엔지니어들이 드디어 작동 가능한 시스템의 작업을 시작했습니다. 다만 문제는 DGX-1의 첫 케이스는 1월 말이 되어야 나온다는 점이었습니다. 그래서 이들은 철판과 접착 테이프, 플렉시글라스(plexiglass)를 사용해서 임시방편으로 케이스를 만들었지만, 그 과정에서 손을 베고 상처를 입기도 했습니다. 그리고 2개의 GPU를 연결하고 3개까지 연결했지만 문제가 생겨 4개를 연결하는 데 실패했습니다. 알고 보니 코드에서 괄호가 빠져 있었다는 점을 찾아냈습니다. 한 엔지니어는 다음과 같이 말하기도 했습니다. “괄호 키를 눌러 입력을 마치니 네트워크가 작동하기 시작했습니다. 마치 기다리고 있었다는 듯이요.”
  • 2016년 1월 – DGX-1의 내부가 완성된 상황에서, 엔비디아의 산업 디자인 팀에서는 DGX-1의 베젤과 기계가공된 알루미늄 인클로저(aluminum enclosure)를 모델링하기 시작했습니다. 이 과정에서는 아이레이(Iray)라는 이름의 새로운 디지털 렌더링 툴이 사용되었습니다. 3월에는 항공기에 사용되는 가볍고 매우 튼튼한 재질인 금속 피막 처리된 발포고무로, 일반적인 다공 철판보다 더 빨리 찬 공기를 빨아들이는 기능을 추가할 수 있었습니다.
  • 2016년 3월 29일 – 최종 서버 프로토타입용 인클로저를 한국의 모델링 숍에서 항공기로 공수해옵니다. GTC가 1주일도 남지 않은 상황에서 드디어 DGX-1의 모든 조각들이 맞춰진 것입니다. 이 시스템은 이제 단 몇 일만에 곧 발표될 8개의 테슬라 P100 GPU를 기반으로 만들어졌는데요. 한때는 20시간이 넘게 걸리는 작업들을 2시간 내에 완료함으로써 알렉스넷(AlexNet) 딥 러닝 벤치마크에서 10배 이상의 성능 개선을 자랑하게 됩니다.
  • 2016년 4월 3일 – GTC 개막 하루 전, DGX-1은 AlexNet에서 12배 빠른 성능을 기록합니다.
  • 2016년 4월 5일 – 젠슨 황 CEO가 첫 DGX-1 서버를 세상에 공개합니다. 쉴 새 없이 카메라 셔터들이 터지고, 기자들은 관련 기사를 작성해 배포하기 시작했죠.

  • 2016년 5월 30일 – 엔비디아 엔지니어들이 고객에게 판매될 첫 DGX-1을 준비합니다. 하루라도 더 빨리 받고 싶어하는 고객들도 있습니다. 한편 GTC에서 공개된 첫 DGX-1은 이제 엔비디아의 실리콘 밸리 본사의 서버 랙(server rack)에서 돌아가고 있습니다. 구체적으로는 DRIVE PX 자율주행 플랫폼을 위해 뉴저지의 자율주행 팀에서 수집한 데이터를 처리하는 중입니다. 한 엔비디아 직원은 DGX-1을 바라보며 말합니다. “여기까지 온 이상 계속 달려가야죠.”

이처럼 DGX-1이 탄생되기까지의 과정은 짧은 기간이었지만 다사다난하였답니다. 하지만 이 DGX-1을 출발점으로 딥 러닝 산업의 발전이 더욱더 가속화되는 인공지능 시대의 개막, 그 미래가 더욱 기대되네요! ^^