기술개요 NVIDIA GPU CLOUD 딥러닝프레임워크 NVIDIA GPU Cloud 의최적화된프레임워크컨테이너가이드
소개 인공지능은전염병의조기발견및치료법찾기, 교통사고사망률감소, 중요한인프라에서불완전한요소를찾아안전위험이발생하기전에방지등인류가직면한가장복잡한문제를해결하는데도움을주고있습니다. AI 및딥러닝사용의가장큰장애물중두가지는성능극대화와기반기술의끊임없는변동률을관리하는것입니다. NVIDIA 는 NGC (NVIDIA GPU Cloud) 를통해이러한문제를해결합니다. NGC 는 AI 연구자에게퍼포먼스엔지니어드딥러닝프레임워크컨테이너를제공하여 IT 에드는시간을줄이고더많은시간을실험, 통찰력확보, 결과도출에투자하도록합니다. NVIDIA AI 를통한딥러닝 NVIDIA GPU Cloud 는이제딥러닝에최적화된 GPU 가속클라우드플랫폼을제공합니다. NGC 는 NVIDIA GPU 를활용하는완전하게통합되고최적화된딥러닝프레임워크컨테이너의카탈로그를관리합니다. 이러한프레임워크컨테이너는 CUDA 런타임, NVIDIA 라이브러리및운영체제와같은모든필수종속성을포함하여즉시사용가능하도록제공됩니다. 이러한컨테이너는 NVIDIA Volta ( 곧제공예정인추가클라우드 ) 및 NVIDIA DGX 시스템을탑재한 Amazon EC2 P3 인스턴스에서실행되도록 NVIDIA에의해조정, 테스트및인증되었습니다. NVIDIA 는매월컨테이너를업데이트하여계속해서최고의성능을제공합니다. 원하는때원하는곳에서시작및실행 NVIDIA GPU Cloud 를통해제공되는 NGC 컨테이너레지스트리는최신 NVIDIA GPU 의성능을간단하게활용하도록합니다. 사용자는이제 NVIDIA GPU 의모든성능을활용하는사전통합된컨테이너를사용하여심층신경망 (DNN) 을쉽게생성할수있습니다. 따라서데이터과학자, 연구자및엔지니어는 장비를완비한연구소에서일하거나클라우드인프라를활용하거나관계없이 예전에는불가능하다고여기던문제를 AI 를통해그어느때보다쉽게해결할수 있습니다. > > 몇주단위가아닌몇분안에이루어지는혁신 - TensorFlow, PyTorch, MXNet 등과같은최고의딥러닝프레임워크는 NVIDIA Tesla V100 GPU 및 NVIDIA DGX 시스템을탑재한 Amazon EC2 P3 인스턴스에서최고의 성능을발휘하도록 NVIDIA 에의해조정, 테스트및인증되었습니다. 프레임워크는사전통합된사용이간편한컨테이너로제공되므로 사용자는즉시딥러닝작업수행을시작하여시간이많이걸리고직접 수행하기어려운소프트웨어통합을제거할수있습니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 1
> > 플랫폼전반에걸친딥러닝 - 데이터과학자및연구자는데스크톱, 데이터센터및클라우드의 NVIDIA GPU 에서심층신경망을신속하게 구축, 훈련및배포할수있습니다. NGC 는이들에게가장적합한환경에서 작업할수있는유연성을허용하고필요할때즉시확장성을제공하여가장 복잡한 AI 문제를해결하도록돕습니다. > > 언제나최신상태유지 - NGC 에서사용가능한컨테이너는지속적인 NVIDIA 개발로부터혜택을받아최신 NVIDIA GPU 에서각딥러닝 프레임워크를가능한한가장빠르게교육받을수있도록조정했는지 확인합니다. NVIDIA 엔지니어는라이브러리, 드라이버및컨테이너를 지속적으로최적화하여사용자가딥러닝에투자하여시간이지날수록 점점더많은수익을낼수있도록보장하기위해매월업데이트를 제공합니다. NGC 컨테이너레지스트리 NGC 컨테이너레지스트리는 GPU 가속딥러닝소프트웨어의카탈로그입니다. 여기에는 CUDA 툴킷, DIGITS 워크플로우, NVCaffe, Caffe2, Microsoft Cognitive Toolkit (CNTK), MXNet, PyTorch, TensorFlow, Theano 및 Torch 딥러닝프레임워크가포함됩니다. NGC 컨테이너레지스트리는이러한프레임워크의컨테이너화된버전을제공합니다. 모든필수종속성을포함하는이러한프레임워크가 NGC 딥러닝스택을형성합니다. 맞춤형딥러닝솔루션을구축하는데더큰유연성이필요한사용자의경우각컨테이너이미지는전체소프트웨어개발스택과함께맞춤형수정및개선사항을지원하기위한프레임워크소스코드도포함합니다. 플랫폼소프트웨어의설계는서버에최소 OS 및드라이버를설치하고 NVIDIA Docker 레지스트리를통해 NVIDIA Docker 컨테이너에모든애플리케이션및 SDK 소프트웨어를프로비저닝하는것을중심으로합니다. 그림 1 은 NGC 딥러닝스택계층의그래픽레이아웃을보여줍니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 2
그림 1: NVIDIA Docker 는 NVIDIA 드라이버및 GPU 의사용자모드구성요소를 Docker 컨테이너로출시시장착합니다. 컨테이너화된 애플리케이션 애플리케이션 DEEP LEARNING SDK CUDA 툴킷 장착된 NVIDIA 드라이버컨테이너 OS 컨테이너화 도구 DOCKER 엔진 NVIDIA 드라이버호스트 OS NGC 딥러닝스택 GPU 를활용하는 Docker 이미지의이동성을지원하기위해 NVIDIA 는 NVIDIA 드라이버및 GPU 의사용자모드구성요소를출시시 Docker 컨테이너에장착하는명령줄도구를제공하는오픈소스프로젝트인 NVIDIA Docker 를개발했습니다. nv-docker 는기본적으로 GPU 에서코드를실행하는필요한구성요소로컨테이너를투명하게프로비저닝하는 Docker 주변의래퍼입니다. Docker 컨테이너는실행환경이항상동일하고어떤 Linux 시스템에서도동일한호스트의인스턴스사이에서실행되도록모든라이브러리, 구성파일및환경변수로 Linux 애플리케이션을번들링하는메커니즘입니다. Docker 컨테이너는사용자모드뿐이므로컨테이너의모든커널호출은호스트시스템커널에서처리됩니다. 계층화접근방식 딥러닝프레임워크는여러계층으로구성된소프트웨어스택의일부입니다. 각 계층은스택에서그아래에있는계층에의존합니다. 이소프트웨어아키텍처는 여러이점이있습니다. > > 각딥러닝프레임워크는별도의컨테이너에있기때문에각프레임워크는 libc, cudnn 와같은여러라이브러리버전을사용하면서서로간섭하지 않을수있습니다. > > 계층화컨테이너를두는주된이유는사용자에게필요한사항을위한 경험을목표로할수있기때문입니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 3
> > 딥러닝프레임워크가성능또는버그수정을위해개선됨에따라새로운 컨테이너버전이레지스트리에서제공됩니다. > > 시스템은유지하기쉽고 OS 이미지는애플리케이션이 OS 에서직접 설치되기때문에깨끗한상태를유지합니다. > > 보안업데이트, 드라이버업데이트및 OS 패치를원활하게제공할수 있습니다. 프레임워크를사용하는이유는무엇입니까? 프레임워크는연구및딥러닝적용을더효율적으로수행하고더쉽게액세스할 수있도록하기위해구축되었습니다. 프레임워크사용의주요혜택은다음과 같습니다. > > 프레임워크는심층신경망 (DNN) 트레이닝에필요한연산에따라고도로 최적화된 GPU 지원코드를제공합니다. > > NVIDIA 의프레임워크는가능한최고의 GPU 성능에맞게조정및 테스트되었습니다. > > 프레임워크는간단한명령줄또는 Python 과같은스크립팅언어 인터페이스를통해코드에대한액세스를제공합니다. > > 많은강력한 DNN 이 GPU 또는컴파일된복잡한코드를작성할필요없이 이러한프레임워크를사용하여훈련및배포가능하지만동시에 GPU 가속화로제공되는훈련속도향상의혜택을볼수있습니다. NGC 딥러닝스택컨테이너 NVCAFFE Caffe 는유연성, 속도및모듈성을염두에두고제작된딥러닝프레임워크로, 원래 BVLC (Berkeley Vision and Learning Center) 및커뮤니티기여자에 의해개발되었습니다. NVCaffe 는특히다중 GPU 구성에서 NVIDIA GPU 에맞게조정되고 NVIDIA 가유지관리하는 BVLC Caffe 의포크입니다. NVCaffe 는다음을포함합니다. > > 혼합정밀도지원. 64, 32 또는 16 비트형식으로데이터를저장및 / 또는 연산할수있게합니다. 정밀도는각계층에서정의될수있고 ( 전진및후진 단계도다를수있음 ) 또는전체망에대해기본값으로설정될수있습니다. > > cudnn v6 과의통합. > > 최고의 cudnn 나선형알고리즘자동선택. > > 향상된 GPU 확장을위한 NCCL 라이브러리 v1.3.4 와의통합. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 4
> > 데이터및매개변수스토리지, I/O 버퍼및나선형계층용작업공간을위한 최적화된 GPU 메모리관리. > > I/O 성능향상을위한병렬데이터구문분석기및변환기. > > 다중 GPU 시스템의병렬역전파및증감률감소. > > 무게및기록업데이트를위한융합된 CUDA 커널로빠른솔버구현. > > 다중 GPU 전체에서고른메모리로드를위한다중 GPU 테스트단계. > > 이전 BVLC Caffe 및 NVCaffe 0.15 와의호환성. > > 확장된최적화모델세트 (16 비트부동소수점예제포함 ). CAFFE2 Caffe2 는예를들어, 나선형신경망 (CNN), 회귀신경망 (RNN) 등과같은 모든모델유형을쉽게표현하도록설계된딥러닝프레임워크이고또한친숙한 Python 기반 API 에서고도로효율적인 C++ 및 CUDA 백엔드를사용하여 모델을실행합니다. 따라서간편한시각화를제공하는동일한 Python 인터페이스를통해실행하거나 생성된모델을직렬화하고직접기본 C++ 구현을사용하기전에높은수준의 표현식연산을조합하여추론을위해서든트레이닝을위해서든사용자가모델을 수집할수있는대규모유연성을제공합니다. Caffe2 는다중노드실행지원과함께단일및다중 GPU 실행을지원합니다. 다음목록은 NGC 딥러닝스택 Caffe2 최적화및변경사항을요약합니다. > > 성능미세조정 > > GPU 가속이미지입력파이프라인 > > 최고의나선형알고리즘자동선택. MICROSOFT COGNITIVE TOOLKIT Microsoft Cognitive Toolkit ( 이전 CNTK) 은사용자가피드포워드심층신경망 (DNN), CNN 및 RNN과같은인기있는모델유형을쉽게실현하고결합할수있는통합딥러닝툴킷입니다. Microsoft Cognitive Toolkit 은다중 GPU 및서버사이에서자동구별및병렬처리를통해 SGD (Stochastic Gradient Descent) 학습을구현합니다 Microsoft Cognitive Toolkit 은 Python 또는 C++ 애플리케이션의라이브러리로호출하거나 BrainScript 모델설명언어를사용하여독립형도구로실행할수있습니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 5
다음목록은 NGC 딥러닝스택 Microsoft Cognitive Toolkit 최적화및변경 사항을요약합니다. > > 향상된다중 GPU 확장을위한최신버전 NCCL 과 NVLink 지원통합. NCCL 및 NVLink 는데이터병렬 SGD 를사용하여 ResNet-50 의 트레이닝성능을 2 배로높입니다. > > 이미지리더파이프라인개선으로 AlexNet이초당 12,000 개이상의 이미지트레이닝가능 > > 다중 GPU 트레이닝에대한 GPU 메모리오버로드를 GPU 당최대 2GB 로 감소 > > 팽창된나선형지원 > > 최적화로 cudnn 작업공간에필요한메모리설치공간감소 MXNET MXNet 은효율성과유연성모두를고려하여설계된딥러닝프레임워크로기호 및명령프로그래밍을혼합하여효율성과생산성을극대화할수있습니다. MXNet 의핵심은즉각적으로기호및명령연산모두를자동으로병렬처리하는 동적인종속성스케줄러입니다. 스케줄러뿐만아니라그래프최적화계층이기호 실행을신속하고메모리효율적으로만들어줍니다. MXNet 은휴대가가능하며 경량으로다중 GPU 및다중시스템으로확장합니다. 다음목록은 NGC 딥러닝스택 MXNet 최적화및변경사항을요약합니다. > > 이미지처리를위한향상된입력파이프라인 > > 최적화 CUDA 커널 > > 최적화텐서방송및감소 CUDA 커널 PYTORCH PyTorch 는다음두가지고도의기능을제공하는 Python 패키지입니다. > > 강력한 GPU 가속화포함 Tensor 연산 (Numpy와유사 ) > > 테이프기반 autograd 시스템에구축된심층신경망 numpy, scipy 및 Cython 과같은좋아하는 Python 패키지를다시사용하여 필요할때 PyTorch 을확장할수있습니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 6
다음목록은 NGC 딥러닝스택 PyTorch 최적화및변경사항을요약합니다. > > 최신버전 NCCL 과 NVLink 지원통합. > > NCCL 이전달하는매개변수의버퍼링으로지연시간오버로드감소 > > 팽창된나선형지원 > > 데이터의불필요한사본을방지하는최적화및버퍼제로화 TENSORFLOW TensorFlow 는데이터흐름그래프를사용하는수치연산을위한오픈소스 소프트웨어라이브러리입니다. 그래프의노드는수학적연산을나타내고 그래프가장자리는수학적연산사이를흐르는다차원데이터어레이 ( 텐서 ) 를 나타냅니다. 이유연한아키텍처를통해코드를다시작성하지않고데스크톱, 서버또는모바일장치에서하나이상의 CPU 또는 GPU 에연산을배포할수 있습니다. TensorFlow 는원래머신러닝및심층신경망연구를수행하는 Google 의머신 인텔리전스연구조직내 Google 브레인팀에서연구하는연구자및엔지니어에 의해개발되었습니다. 시스템은다양한기타도메인에도적용가능할만큼 충분히일반적입니다. TensorFlow 결과를시각화하기위해 TensorFlow Docker 이미지는 TensorBoard 도포함합니다. TensorBoard 는시각화도구패키지입니다. 예를 들어, 트레이닝기록은물론모델의모습도볼수있습니다. 다음목록은 NGC 딥러닝스택 TensorFlow 최적화및변경사항을요약합니다. > > 향상된다중 GPU 확장을위한최신버전 NCCL과 NVLink 지원통합. NCCL 및 NVLink 는데이터병렬 SGD 를사용하여 ResNet-50 의 트레이닝성능을 2 배로높입니다. > > 기본적으로융합된색상조정커널지원 > > 기본적으로비융합 Winograd 나선형알고리즘의사용지원 THEANO Theano 는다차원어레이와관련된수학적표현식을효율적으로정의, 최적화및평가하는 Python 라이브러리입니다. Theano 는 2007 년이후대규모연산이필요한집약적과학조사를지원해왔습니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 7
다음목록은 NGC 딥러닝스택 Theano 최적화및변경사항을요약합니다. > > 런타임코드생성 : 보다빠른표현식평가 > > 광범위한유닛테스트및자체검증 : 여러유형의오류감지및진단 TORCH Torch 는딥러닝알고리즘에대한광범위한지원을갖춘과학연산 프레임워크입니다. Torch 는간편하고빠른스크립팅언어인 Lua 및기본적인 C /CUDA 구현덕분에사용이간편하고효율적입니다. Torch 는사용이간편하면서도최대의유연성을제공해복잡한신경망토폴로지 구축을지원하는인기있는신경망및최적화라이브러리를제공합니다. 다음목록은 NGC 딥러닝스택 Torch 최적화및변경사항을요약합니다. > > 다중 GPU 확장개선을위한최신버전 NCCL 과 NVLink 지원통합. NCCL 및 NVLink 는데이터병렬 SGD 를사용하여 ResNet-50 의트레이닝 성능을 2 배로높입니다. > > NCCL 이전달하는매개변수의버퍼링으로지연시간오버로드감소 > > 소형배치의성능을크게향상하는영구버전포함회귀네트워크 (RNN, GRU, LSTM) 에대한 cudnn 바인딩 > > 팽창된나선형지원 > > cudnn 루틴에대한 16 및 32 비트부동소수점 (FP16 및 FP32) 데이터 입력지원 > > FP16 텐서의연산지원 (FP32 연산사용 ) DIGITS DIGITS NVIDIA DIGITS (Deep Learning GPU Training System) 를통해엔지니어및 데이터과학자들은딥러닝의힘을직접활용할수있습니다. DIGITS 는프레임워크가아닙니다. DIGITS 는명령줄에서직접처리하기보다 해당프레임워크에그래픽웹인터페이스를제공하는 Caffe 및 Torch 용 래퍼입니다. NVIDIA GPU CLOUD 딥러닝프레임워크 기술개요 8
DIGITS 는이미지분류, 세분화및물체감지작업을위해고도로정확한심층심경망 (DNN) 을빠르게트레이닝하는데사용할수있습니다. DIGITS 는데이터관리, 다중 GPU 시스템에서신경망설계및트레이닝, 고급시각화로실시간성능모니터링, 배포를위해결과브라우저에서최고성능모델선택과같은일반딥러닝작업을단순화합니다. DIGITS 는데이터과학자가프로그래밍및디버깅보다네트워크설계및트레이닝에집중할수있도록완벽하게상호적입니다. NVIDIA GPU Cloud 로 AI 가속화 NVIDIA GPU Cloud 는통합되고최적화된딥러닝소프트웨어의종합적인카탈로그를제공합니다. NVIDIA 는다년간의 AI 연구및개발을활용하여 NGC 컨테이너레지스트리에서모두를위한바로실행할수있는퍼포먼스엔지니어드소프트웨어를제공하고딥러닝프레임워크의개선사항으로오픈소스커뮤니티에다시기여합니다. 새로운버전의프레임워크, 드라이버및하드웨어가구축됨에따라 NVIDIA 는지속적인개선및업데이트를수행하여모든것이최적으로최고의성능을발휘하여함께작동하도록함으로써사용자의지속적인테스트및통합부담을제거합니다. NGC 컨테이너레지스트리에서사용가능한프레임워크를통해데이터과학자및연구자는거의모든분야및산업에딥러닝혁신을제공하고 AI 를통해우리시대최대의문제를해결하도록돕습니다. NGC에대해자세히알아보고시작하기동영상을시청하려면 www.nvidia.com/cloud NGC에등록하려면 www.nvidia.com/ngcsignup 2017 NVIDIA Corporation. All rights reserved. NVIDIA, NVIDIA 로고및 Tesla 는 NVIDIA Corporation 의상표및 / 또는등록상표입니다. 모든회사및제품이름은연관된각소유자의상표또는등록상표입니다.