2017.01.26. 인공지능의핵심인프라 고성능컴퓨팅환경의중요성 추형석선임연구원 안성원선임연구원
본보고서는 미래창조과학부정보통신진흥기금 을지원받아제작한것으로미래창조과학부의공식의견과다를수있습니다. 본보고서의내용은연구진의개인견해이며, 본보고서와관련한의문사항또는수정 보완할필요가있는경우에는아래연락처로연락해주시기바랍니다. 소프트웨어정책연구소 SW융합연구실추형석선임연구원 (hchu@spri.kr)
제4차산업혁명은인간의지적노동을대체할수있는인공지능기술의급격한발전으로부터시작한다. 현대의인공지능은영상에서객체를인식하는정확도가이미인간의수준에버금가고, 인공지능바둑프로그램이세계최고챔피언을꺾었으며, 두개의언어를동시에인식할정도로향상됐다. 이러한배경에는인터넷을통한빅데이터의대중화, 저렴한고성능하드웨어의보급, 공개 SW를통한공유의문화가확산등정보통신기술의환경변화에있다. 그가운데인프라역할을한것이저렴한하드웨어의보급이다. 지난 60년간인공지능의부침의역사를살펴보면컴퓨팅환경이항상높은장벽으로존재해왔다. 현실적인문제를해결하는도구로써의인공지능은시간과비용이허락하는한수많은시도를해보는것이일반적이다. 따라서고성능컴퓨팅인프라의대중화는인공지능발전에매우중요한역할을했다. 컴퓨팅환경의중요성은빅데이터를처리한다는점에있어서이미공감대가형성됐지만, 구체적으로얼마나필요하며어느정도중요한지에대해서는분석해볼필요가있다. 이번보고서에서는인공지능의연구사례와글로벌고성능컴퓨팅동향을분석하여제4차산업혁명시대에컴퓨팅환경의중요성을피력하고자한다. 고성능컴퓨팅 (High Performance Computing, HPC) 분야는전통적으로슈퍼컴퓨터를효율적으로다루기위해파생된학문이다. 슈퍼컴퓨터는실험이불가능한극한자연현상의시뮬레이션을수행하는부분에본질적인역할이있다. 그러나인공지능이점차현실적인문제해결의도구로각광받음에따라, 미국과중국을비롯한 HPC 선진국들은인공지능연구를위한컴퓨팅환경확보에박차를가하고있다. 특히캐나다와유럽은 HPC를플랫폼화하여산학연을아우르는연구지원체계를갖추고있다. 인간과대결하기위해개발된게임인공지능은이미슈퍼컴퓨터급환경을갖추고도전했다. 최근이세돌 9단과대결한 AlphaGo는개발당시 300위권에해당하는슈퍼컴퓨터를사용했다. AlphaGo의인공지능기술인딥러닝은행렬곱연산으로분해할수있고, 이것은전통적으로 HPC의성능을십분활용할수있는것이다. 따라서인공지능연구를진흥하기위해서는고성능컴퓨팅인프라가필수적이고가장선결돼야하는과제다.
1. 연구배경 1 2. 고성능컴퓨팅환경과인공지능 3 (1) 컴퓨팅성능의발전과이슈 3 (2) 인공지능사례분석 7 3. 고성능컴퓨팅국내 외현황 14 (1) 해외현황 14 (2) 국내현황 19 4. 결론 21 [ 부록 ] 22 (1) 인공지능과 GPU 컴퓨팅 22 (2) 게임인공지능성공사례 27
1. 연구배경 제4차산업혁명의원동력은인공지능으로, 현대인공지능의눈부신성과는고성능컴퓨팅 (High Performance Computing, HPC) 환경이핵심역할 사람의지능을모사하여지적노동을대체할수있는인공지능은현대정보통신기술발전의결정체 - 그저변에는저렴한컴퓨팅하드웨어 (HW) 의보급, 빅데이터의대중화, 공개SW 활성화등의요인이있음 - 특히지수적으로성장한고성능 HW의보급은빅데이터를효율적으로처리할수있는도구로, 그간인공지능연구의고질적인장벽이었던계산수요를해소 * 빅데이터가제4차산업혁명의원유라면, HPC 환경은원유를정제하기위한인프라이며, 인공지능은원유를효율적으로정제하기위한기술 바둑세계챔피온을꺾은인공지능프로그램 AlphaGo는슈퍼컴퓨터급계산환경활용 - AlphaGo에사용된컴퓨터는최대 1,920개의중앙연산처리장치 (Central Processing Unit, CPU) 와 280개의그래픽연산처리장치 (Graphical Processing Unit, GPU) 를보유 * 이컴퓨팅환경의연산처리능력을수치화하면세계에서약 380위에해당하는슈퍼컴퓨터 ( 개발당시 2015년 11월기준 ) 인공지능연구에연산능력이중요한이유는빅데이터를활용한다는관점에서설득력있게다가오지만, 기술적인측면에서분석한정량적정보와글로벌동향을토대로그중요성을구체화할필요가있음 그동안 HPC의본질적인역할은과학기술시뮬레이션에있었으나, 해외동향을살펴보면인공지능분야에도컴퓨팅수요를반영 HPC는우주시뮬레이션, 나노단위의물성변화, 전지구시뮬레이션등물리적인실험이힘들거나불가능한자연현상을모사하는것이주된목적 1
최근인공지능에도 HPC의수요가급증하면서제4차산업혁명의핵심기술을육성하기위한인프라로재조명 HPC는국가 R&D 능력을대변하는지표로서, 선진국은보다강력한계산자원을확보하기위해국가차원에서의확보전략을수립 - 미국은지난 2015년 7월엑사스케일컴퓨팅프로젝트 (ECP) 1) 를발족하여 2020년대중반까지약 10억달러의규모투자 * ECP에서도향후응용분야로데이터분석과기계학습에활용할계획 - 중국은 HPC의신흥강국으로지난 3년간세계최고의슈퍼컴퓨터보유국으로발돋움 * 지난 2016년 6월 1등을차지한슈퍼컴퓨터선웨이타이후라이트 (Sunway TaihuLight) 는중국자체기술로이룩한성과로미국기술의존성을낮춤 - 우리나라는 국가초고성능컴퓨터활용및육성에관한법률 이 2014년실행되어차세대슈퍼컴퓨터도입과초고성능컴퓨팅기술확보를위한연구개발이진행중 최근연산처리장치제조업체들도인공지능연구에최적화된방향으로 HW 를설계 * GPU의세계최대벤더인 NVIDIA는딥러닝 (Deep Learning) 2) 전용워크스테이션 DGX-1을출시 인공지능으로대두되는제4차산업혁명의대비는 HPC 환경확보가선결돼야하는과제 컴퓨팅성능의발전과정을분석하여현대연산처리장치의특성고찰 인공지능연구의성공사례와 AlphaGo의인공지능기술을계산량측면에서분석하여 HPC 환경의필요성증명 글로벌 HPC 동향을통해제4차산업혁명을대비할 HPC 환경확보전략파악 1) Exascale Computing Project, https://exascaleproject.org/exascale-computing-project/ 2) 딥러닝은인간의뇌를모사한인공신경망에서발전된예측 분류기법으로최근이미지인식, 음성인식등에활용되어사람수준과가까운성능을보임 2
2. 고성능컴퓨팅환경과인공지능 (1) 컴퓨팅성능의발전과이슈 현대연산처리장치의성능 스마트폰의어플리케이션연산처리장치 (Application Processor, AP) 의이론성능은약 20년전세계에서가장빠른슈퍼컴퓨터성능에육박 Flop/s( 초당부동소수점연산수 ) - 계산성능의척도 Ÿ Flop/s 는 Floating-point operations per second 의약자로초당부동소수점연산수를의미 연산처리장치의연산능력을표현하는지표로슈퍼컴퓨터의성능비교등에사용 알고리즘을실제로구현했을때필요한연산수를나타냄 현대슈퍼컴퓨터의성능을나타내는단위는테라플롭스 (TeraFlop/s, 초당 1 조 ), 페타플롭스 (PetaFlop/s, 초당 1 천조 ), 엑사플롭스 (ExaFlop/s, 초당 1 백경 ) 등이있음 Ÿ 부동소수점 (Floating-Point) 연산한개의기준은보통덧셈이나곱셈한개이나, 최근에는덧셈과곱셈을하나의연산으로간주 수치적인연산이대부분덧셈과곱셈이동시에이루어지므로, 이를통합한기능이연산처리장치에탑재 ( 예, FMA 3) ) * 예를들어, 100 차원벡터두개를요소별로더하는알고리즘의연산수는 100flop 유효숫자 (precision) 에따라서성능이구분 * 16-bit half precision, 32-bit single precision, 64-bit double precision - [ 그림 1] 은삼성갤럭시 S7 에탑재된 Mail-T880 MP12 의이론성능은 265.2 GigaFlop/s, 1996 년 6 월세계에서가장빠른슈퍼컴퓨터 4) 의성능은 220.4GigaFlop/s 3) Fused Multiply-Add, https://en.wikipedia.org/wiki/multiply%e2%80%93accumulate_operation 4) 도쿄대학의 Hitachi SR2201/1024, 당시대슈퍼컴퓨터의도입비용은약 5 천만달러 3
자료 : top500.org, Performance Development https://www.top500.org/statistics/perfdevel/ Samsung Exynos, Wikipedia https://en.wikipedia.org/wiki/exynos 중앙연산처리장치 (Central Processing Unit, CPU) 의성능은냉각비용대비연산속도 (Clock speed) 가한계에다다름에따라점차멀티코어 (Multi-core) 화됨 - 고성능 CPU 5) 의경우 22개의코어와약 1.5 TeraFlop/s 의이론성능보유 [ 그림 2] 그래픽연산처리장치 (Graphical Processing Unit, GPU) 는그래픽출력에필요한연산을수행하는장치였으나, 성능이점차향상되어고성능컴퓨팅의필수도구로진화 - GPU는수천개의연산코어 6) 를탑재한매니코어시스템으로최신 GPU의경우약 10 Teraflop/s의이론성능보유 [ 그림2] - 2008년 Nvidia가 C언어기반의 GPU 프로그래밍툴 CUDA(Compute Unified Device Architecture) 를공개함으로써 GPU 활용의진입장벽을낮춤 * GPU 프로그래밍은 SIMD 7) 기반의대규모병렬처리에기반을두고있음 5) Intel Xeon Processor E5-2699 v4 (http://ark.intel.com/products/91317) 6) GPU 코어는 CPU 의물리적코어와는다르게사칙논리연산유닛 (Arithmetic Logic Unit) 에중점을둔 RISC 모델 7) Single Instruction Multiple Data, 하나의동일한연산에서로다른데이터를처리하는기법. 예를들면, 100 차원벡터의요소별합연산은덧셈이라는동일한연산에서로다른 100 개의데이터를처리 4
- AMD의 ATI 그래픽카드의경우병렬컴퓨팅표준플랫폼언어인 OpenCL (Open Compute Language) 활용 그밖에 Intel Xeon Phi, FPGA(Field Programmable Gate Array) 등가속기 (Accelerator) 도고성능계산에활용중 자료 : Intel Xeon Processor E5-2699 v4, http://ark.intel.com/products/91317 Nvidia Tesla P100, http://www.nvidia.com/object/tesla-p100.html Intel Xeon Phi 7120P, http://ark.intel.com/products/75799 최신연산처리장치의활용측면에서의이슈 계산자원의이론성능은하드웨어적으로측정된값으로실제응용프로그램 에서는달성하기어려움 - 실행환경, 알고리즘의특성과병렬화가능성등에따라성능차이존재 - 특히메모리전송대역폭과계산성능의불균형으로인해같은알고리즘이 라도다른계산자원에서현격한성능차이가발생 * 이이슈는폰노이만연산처리장치아키텍처상에서빈번히발생하는문제로 90 년대이전에는메모리전송대역폭이계산성능보다우월했으나, 현대의계산자원은계산성능이비약적으로향상되어메모리전송대역폭에병목이발생 특히계산자원의멀티코어 매니코어화기조에따라병렬컴퓨팅 (Parallel Computing) 이필수기반기술로부상 함. 만약계산자원이 10 개의컴퓨팅코어를보유하고있다면 1 개의컴퓨팅코어가 10 개의덧셈을처리하는방식. 5
- 병렬컴퓨팅기술은과거클러스터형태의슈퍼컴퓨터를활용하기위한것이었으나, 계산자원자체가병렬화됨에따라현대고성능컴퓨팅의핵심기술 - 알고리즘의병렬화는크게데이터기반 (data-parallel) 과태스크기반 (task-parallel) 으로나뉘는데 GPU와같은매니코어시스템에서는대부분데이터기반을주축 루프라인 (Roofline) 모델 알고리즘의메모리전송량과계산량의비율로달성가능한최대성능 (Roofline) 을표현 자료 : How will the fast multipole method fare in the exascale era? (2013.07) - 연산강도 (Operational Intensity) 는알고리즘의총연산수와메모리전송량의비 율을나타내며, 계산강도가높을수록전송량대비계산량이많은것을의미 - 앞서기술했듯이현대계산자원은메모리전송대역폭보다계산성능이우 월하므로루프라인이선형적으로증가하는부분은메모리전송량이계산량 보다많은경우를나타냄 * 메모리전송에소요되는시간동안연산처리장치가유휴상태 (idle) 에처하기때문 병렬계산의효율성 Q. 12 개의원소를갖는두벡터의합을구하는연산이있다고가정하자. 만약 4 개의코어를갖는연산처리장치를활용한다면단일코어대비 4 배의성능향상을달성할수있는가? A. 반드시 4 배의성능향상을보장할수없다. 위연산의연산강도를계산해보면약 1/16 8) 으로, [ 그림 3] 에서추정할수있듯이메모리전송량에의해최대성능을달성하기어렵다. 6
(2) 인공지능사례분석 인공지능연구에는막대한규모의계산이소요 AlphaGo의딥러닝은한번연산하는데약 30 GigaFlop이필요 9) - AlphaGo의컴퓨팅환경은바둑게임의초읽기 30초동안약 10만개의경우의수를탐색 - 30초동안계산해야하는연산수 6 PetaFlop (6천조번연산 ) * 딥러닝알고리즘에국한된연산수. 10만개의경우의수를탐색하기위해필요한딥러닝연산은 20만번으로총연산수는 6 PetaFlop [ 그림 2] 의연산처리장치를기준으로 6 PetaFlop을처리하는데소요되는시간은다음 [ 그림 4] 와같음 - [ 그림 4] 에서볼수있듯이인공지능연구에는 HPC환경이필수 * 계산자원별성능은이론성능의 80% 로계산. (AlphaGo환경은 176개 GPU) * 딥러닝알고리즘은연산강도가높기때문에확장성 (Scalability) 이보장됨 8) 위문제를수식으로나타내면, 여기서 는 12 개의원소를갖는벡터임. 12 개의원소 를갖는실수형벡터의메모리크기는 4byte 12 = 48byte. 계산에필요한벡터 와결과값을저 장하는벡터 가계산을위해연산처리장치의레지스터에전송되고, 결과값 를다시내려받아야하기때문에 4 번의 12 차원벡터전송이발생. 따라서메모리전송량은총 192byte 인반면계산량은 12 번이기때문에연산강도는 1/16 9) AlphaGo 의연산량에관한자세한내용은후술 7
게임인공지능연구에활용된컴퓨팅환경 [ 부록참조 ] 그동안의대표적인인공지능연구성과는슈퍼컴퓨터급성능을갖는컴퓨팅환경으로부터시작 - 개발당시의컴퓨팅환경은 top500.org 10) 기준으로약 2~300위수준. < 표 1> 참조 - CPU의성능이지속적으로향상됨에따라, Deep Blue와같이전용체스칩에의존하던경향에서 CPU 중심의클러스터로변화 * 이후 AlphaGo에이르러 GPU와같은가속기가도입되면서방대한계산에적합한컴퓨팅환경도입 학습에요구되는데이터의양이증가할수록고성능컴퓨팅환경이필수적 - IBM Watson은초당 500 Gigabyte에해당하는정보를처리할수있음 * 500 Gigabyte는약백만권의책에해당하는용량 - AlphaGo는 16만개의프로바둑기사의기보를수순에따라약 3천만개의바둑판상태로재구성하여학습함 * 콘볼루션신경망의입력값인바둑판상태는 48가지의특징으로추출. 최종적으로수치화된데이터의용량은약 1.85 Terabyte IBM Deep Blue IBM Watson Google AlphaGo 11) 30 노드 90 노드 약 35~40 노드 연산처리장치 POWER2SC (120Hz) POWER7(3.5GHz, CPU 1,920 코어 VLSI 체스칩 480 개 8 코어, 32 쓰레드 ) GPU 280 장 연산성능 11.38 GigaFlop/s (VLSI 제외 ) 80 TeraFlop/s 약 300 TeraFlop/s 12) top500 순위 259 위 (1997 6 월 ) 192 위 (2011 6 월 ) 382 위수준 (2015 년 11 월 ) 10) 세계슈퍼컴퓨터성능을 1 위부터 500 위까지공개하는웹사이트 11) AlphaGo 의경우구글클라우드를활용하여연산을수행했기때문에, 정량적으로정확한계측이불 8
AlphaGo 의인공지능알고리즘 콘볼루션신경망 Ÿ AlphaGo 에적용된딥러닝기술은알고리즘측면에서계산강도가높은행렬곱연산이대부분을차지 Ÿ 행렬곱연산은현대 HPC 의최대성능을활용할수있는것으로 GPU 를비롯한고성능가속기의효용성이증대 Ÿ 또한경험적인지식이중요한딥러닝기술은다양한시도가매우중요하므로, 계산을수행하기위한인프라확보가제 4 차산업혁명을대비하기위해반드시선결돼야하는과제 AlphaGo의인공신경망구조는 13층의콘볼루션신경망 - 콘볼루션신경망 (Convolutional Neural Network, CNN) 은인공신경망중에서도이미지분석에특화된방법론 * Facebook의얼굴인식알고리즘은 9층의콘볼루션신경망으로구성되고, 4백만장의얼굴이미지를학습하여약 98% 의정확도달성 - 콘볼루션의수학적의미는두함수의합성을표현한것으로, 일반적으로는임의의두함수가겹치는영역을적분한값을나타냄 [ 그림 5] 자료 : Convolution, https://en.wikipedia.org/wiki/convolution - 이미지에서의콘볼루션은이미지의경계를찾거나 (edge detection), 흐리게 또는선명하게하는데사용되는필터를의미함 가능함 12) GPU 의개당성능을 1 Tflop/s 로추정했을때의전체적인성능치 9
자료 : ios Developer Library - vimage Programming Guide * [ 그림 6] 은이미지의콘볼루션과정을표현하는데 3x3 행렬로표현된콘볼루션필터가이미지를이동하며각픽셀값을곱해서합하는연산으로계산됨 * 따라서콘볼루션필터의역할은이미지의특징을추출하는것으로, 콘볼루션필터자체의값에따라부각하고자하는관점이달라진다고볼수있음 - 콘볼루션신경망에서의콘볼루션필터는데이터를통해학습되고, 이것을콘볼루션층 (Convolutional Layer) 으로지칭 * [ 그림 7] 은콘볼루션층의구조를나타냄. 특징맵 (feature map) 은이미지의속성을나타내는것으로, 일반적인이미지에서 RGB(Red, Green, Blue) 의세가지속성이특징맵으로사용됨 * 콘볼루션필터로계산된값은다음층특징맵의원소값으로대응되고, 이값 을보정하기위해활성함수를적용 10
콘볼루션신경망에서콘볼루션의과정은행렬곱연산으로구성 - 콘볼루션필터와계산을위한특징맵을행렬에서벡터형태로전개할경우, 두벡터의내적 13) 이결과값으로다음층특징맵의원소로대응 * 콘볼루션필터는고정되어있는상태에서해당하는특징맵이변화하므로, 다수의독립적인벡터내적은곧행렬곱으로표현할수있음 14) - [ 그림 8] 는콘볼루션필터의계산이어떻게행렬곱으로대응되는지를설명 자료 : cudnn : Efficient Primitives for Deep Learning, https://arxiv.org/pdf/1410.0759.pdf * [ 그림 8] 에서이미지는 D, 콘볼루션필터는 F라고볼때, 과 은행렬데이터를벡터화 * 따라서이미지전체에콘볼루션필터를적용한다는것은행렬 과 의곱으로표현됨 - 행렬곱연산은연산강도가높은대표적인알고리즘으로현대의계산자원의성능을십분활용할수있음 [ 부록참조 ] * 행렬곱은 [ 그림 11] 의 Dense Linear Algebra(BLAS3) 의연산에해당 13) dot product. 두벡터의원소의곱을모두합한값 14) 콘볼루션의과정을상세하게소개한강의자료참고. http://cs231n.github.io/convolutional-networks/ 11
AlphaGo 의계산량분석 Ÿ AlphaGo 의계산의대부분은콘볼루션신경망의계산 15) [ 그림 9] 로비유해서표현하자면, 필터행렬인 의크기는 192 9, 바둑판기보행렬에대응하는 의크기는 9 69312 AlphaGo 의첫번째콘볼루션층은 19 19 바둑판을 48 가지관점에서분류한특징맵이입력값으로사용 16) * 48 가지관점은예를들어흑돌의위치, 백돌의위치, 빈칸의위치, 활로, 꼬부림등이진수로표현가능 * 첫번째콘볼루션필터의크기는 5 5 이고총 192 개의서로다른필터를사용하여다음콘볼루션층에사용될 192 개의특징맵을생성 * 따라서 48 개의 19 19 입력값에 192 개의 5 5 필터와콘볼루션하는데필요한계산량은약 4.159 GigaFlop 17) 두번째에서열세번째콘볼루션층은 192 개의 19 19 의정보가입력값이고필터의크기와개수는각각 3 3 과 192 개 * 첫번째콘볼루션층과동일하게계산할경우총 23.715 GigaFlop 18) 따라서특정바둑판상태가입력된경우착수확률분포를계산하거나승산을계산할때약 30 GigaFlop 의계산량이필요 19) * NVIDIA 의계산전용그래픽카드인 K40 의 cudnn 실측성능은약 1.2 TeraFlop/s 20) 로초당약 40 번의콘볼루션신경망계산가능 Ÿ AlphaGo 의콘볼루션신경망은정책네트워크와가치네트워크두가지로구성 21) 정책네트워크는프로바둑기사의착수선호도를예측하는것으로특정바둑판이입력되면빈칸에대한착수확률의분포를산출 * 바둑게임의탐색에서착수가능한모든지점을고려하지않고높은착수확률분포를갖는지점을기준으로탐색 ( 게임트리의폭을줄이는과정 ) 가치네트워크는현재바둑판상태의승산을근사 * 예측한승산이정확할수록게임트리를깊게탐색해야하는소요를줄일수있음 ( 게임트리의깊이를줄이는과정 ) 특정바둑판상태에서성공적인탐색을위해서는정책과가치네트워크를모두계산해야함 * 앞서소개한콘볼루션신경망계산량에따르면 176 개의 GPU 22) 를활용하면초당 7,040 번의콘볼루션신경망의계산이가능하나정책 / 가치네트워크를모두계산해야하므로초당 3,520 번의착수를계산할수있음 따라서 30 초의초읽기가주어진다면, 176 개의 GPU 를활용하여약 100,000 개의바둑판상태에대하여착수확률분포와승산을계산할수있음 * 프로바둑기사가 30 초초읽기동안약 100 수정도의수읽기를진행할수있다고본다면 AlphaGo 는이에대해약 100 배의성능을보유 정책과가치네트워크를학습하는과정은위계산량에더하여네트워크의가중치를조정하는오류역전파법에대한계산을고려해야함 12
AlphaGo 의컴퓨팅파워 AlphaGo 의컴퓨팅환경은다음 < 표 2> 와같음 구분 탐색쓰레드 CPUs GPUs 단일 (single) 40 48 8 분산 (distributed) 40 1202 176 인공신경망학습 - - 50 자료 : AlphaGo 의인공지능알고리즘분석, 소프트웨어정책연구소 (2016) 인공신경망학습에소요된전력량을분석해보면약 8,400 kwh가필요 - 한개의 GPU가 200Wh를소모한다고가정했을때, AlphaGo의신경망학습에소요되는시간은총 5주 23) 로 50개의 GPU가총 8,400 kwh를소모 - 이계산을가정집에서계산한다면누진세가적용되어약 360만원의전기요금이부과됨 24) 인공신경망학습은 hyper-parameter 의존재로경험적으로많이계산해보고결과를유도하는것이일반적 - 5주에해당하는계산을여러번수행하여최상의결과활용 15) Mastering the game of Go with Deep neural networks and tree search, Nature (2016) 16) 자세한신경망구조는다음보고서참고. AlphaGo 의인공지능알고리즘분석, 소프트웨어정책연구소 (2016) 17) 19 19 바둑판 * 48 개특징맵 * 5 5 필터 * 25 덧셈 ( 원소끼리곱한후더하는과정, 내적에서의덧셈 ) * 192 개필터 * 2 개연산 ( 활성함수계산 ) = 4.159 Gflop 18) 19 19 바둑판 * 192 개특징맵 * 3 3 필터 * 9 덧셈 ( 원소끼리곱한후더하는과정, 내적에서의덧셈 ) * 192 개필터 * 2 개연산 ( 활성함수계산 ) * 11 층 = 23.715 Gflop 19) 콘볼루션층만을계산할때는이론적으로 27.874 Gflop 이필요하나, 활성함수의계산, fully connected layer 등을고려해볼때도합약 30 Gflop 이필요함 20) cudnn : Efficient Primitives for Deep Learning, https://arxiv.org/pdf/1410.0759.pdf 21) 자세한내용은 AlphaGo 의인공지능알고리즘분석 보고서참고, https://spri.kr/post/14725 22) 판후이 2 단과의대국당시사용된분산 AlphaGo 의 GPU 개수 23) 정책네트워크학습 (3 주 ), 정책네트워크강화학습 (1 주 ), 가치네트워크학습 (1 주 ) 24) 전기요금계산기, http://cyber.kepco.co.kr/ckepco/front/jsp/cy/j/a/cyjapp000.jsp, 주택용 ( 저압 ) 기준 13
3. 고성능컴퓨팅환경의국내 외현황 (1) 해외현황 HPC 분야는세계최대의연산처리장치생산국인미국이선도했으나, 최 근 3 년간중국이풍부한자금력과기술력을앞세워양강구도를형성 HPC 기술력은 슈퍼컴퓨터 로대변되고, 매년 2 회에걸쳐세계에서가장 빠른슈퍼컴퓨터를 1 위에서 500 위까지공개 - 매년 6 월유럽의 ISC(International Supercomputing Conference) 와 11 월미 국의 SC(Supercomputing Conference) 에서발표하고결과는홈페이지 (top500.org) 에게시 - top500.org 에서는슈퍼컴퓨터전용수치해석라이브러리인 HPL 25) 을활용하 여실측성능을측정 * 이론성능와실측성능을모두게시하고, 순위는실측성능을기준으로함. 이론성능과실측성능 Ÿ 이론성능은하드웨어스펙에따라달성가능한최대성능을지칭하는반면, 실측성능은 LINPACK 과같은수치라이브러리를실제로실행했을때얻을수있는성능 Ÿ SW 아키텍처의측면에서이론성능과실측성능의차이를좁히는것이기술력 2016 년 11 월순위를기준으로, 세계 1 위슈퍼컴퓨터는 93.0 PetaFlop/s 의성 능을보인중국의 선웨이타이후라이트 로지난 6 월에이어 1 위자리를 지킴 - 선웨이타이후라이트는중국이자체기술력으로개발한 SW20160 연산처리 장치를탑재 - 2 위는 33.8 PetaFlop/s 의성능을보이는중국이 2013 년 6 월에공개한텐허 2 로, 이는중국이막대한자금력을바탕으로기술까지갖춘 HPC 강국으로 진입함을보임 * 중국은지난 3 년간 top500 순위에서 1 위를고수 25) High Performance Linpack, 여기서 Linpack 은 Linear Algebra Package 의약어로과학기술시뮬레이션의가장밑바탕이되는수치해석알고리즘을뜻함 14
중국의자체개발연산처리장치 Ÿ Sunway( 약자로 SW) 는중국이자체개발한연산처리장치로자세한내용은공개되지않았으나계산에특화된 RISC 26) 타입 2006 년부터지속적으로성능을개선하여듀얼코어 (SW-2, 2008 년 ), 16 코어 (SW1600, 2010 년 ) 개발에성공 Ÿ SW26010 은매니코어 27) 연산처리장치로총 260 개의컴퓨팅코어를보유 SW26010 의이론성능은 3.06 TeraFlop/s 로선웨이타이후라이트에 40,960 개가탑재 HPC 의글로벌트랜드 - 엑사스케일 (Exascale) 컴퓨팅 슈퍼컴퓨터성능은 [ 그림 9] 과같이지수적으로 (exponential) 발전 - 2016 년 6 월기준전세계고성능컴퓨팅성능의합은 593.4 PetaFlop/s 수 준으로 10 년전보다약 212 배빨라짐 - 세계 1 위의컴퓨팅성능은 93.0 PetaFlop/s 이며, 세계최고수준의컴퓨팅 성능과 500 위에해당하는컴퓨팅성능에는약 8 년이상의격차를보임 자료 : Top 500. 재편집 26) Reduced Instruction Set Computing, 범용연산처리장치가아닌특수목적에의해서고안된연산처리장치로명령어집합이기능에최소화됨 27) 매니코어는일반적으로수백개이상의연산처리코어를탑재한 HW 아키텍처로 GPU 에서사용되는방식. SIMD(Single Instruction Multiple Data) 기반의연산수행 15
그간의발전양상을볼때향후 5년내에세계최고수준컴퓨터는엑사스케일 (Exascale) 급으로현실화가예상 - 미국을비롯한 HPC 선진국은 < 표 3> 와같이엑사스케일컴퓨팅달성을위해체계적 R&D를추진 - 특히주목할부분은제4차산업혁명을대비하기위한움직임으로인공지능분야에의 HPC 환경지원이반영 국가미국일본중국 내용 Ÿ 법 ž 제도적인체계확보를통한기술개발주도 테러대응다음으로중요한국가연구개발사업으로지정 1991 년세계최초로고성능컴퓨팅법제정 Ÿ 지속적이고적극적인투자로 HPC 시장선도 2013 년 NITRD 28) 프로그램은예산의 1/3 이상인약 1.5 조원을슈퍼컴퓨팅관련분야에투자 Ÿ Exascale Computing Project(ECP) 발족 ECP 에서도향후응용분야로데이터분석과기계학습에활용할계획 Ÿ 그간세계 2 위의슈퍼컴퓨터제조국으로국가경쟁력강화를위한전략적육성추진 1980 년대후반부터국가지원으로슈퍼컴퓨터를개발하고, 2011 년세계 1 위수준의 K 컴퓨터를개발 2014 년부터약 1,300 억엔을투자하여엑사스케일을목표로한 Flagship2020 과제추진 29) Ÿ 2018 년 1 분기에인공지능전용슈퍼컴퓨터공개예정 ABCI(AI Bridging Cloud Infrastructure) 는일본의인공지능연구를진흥하기위해개발중인 33 페타플롭스급의슈퍼컴퓨터 (195 억엔투자 ) Ÿ 국가주도적인집중투자로인해신흥강국으로부상 2013 년약 4,300 억원을투자하여세계 1 위슈퍼컴퓨터 Tianhe-2 를개발 현재는자체기술로개발한세계 1 위수준의슈퍼컴퓨터인 Sunway TaihuLight 를보유 연간 1 조원규모이상을슈퍼컴퓨터관련연구에투자 28) Networking Information Technology R&D : 미국연방정부가연구자금을지원하는네트워킹및정보기술연구개발 29) Flaghip2022 로변경, https://www.top500.org/news/japan-runs-into-detour-on-exascale-roadmap/ 16
Ÿ 유럽내 25 개국이참여하는 PRACE 30) 프로젝트로컴퓨팅환경에대한공동활용체제구축 유럽 Ÿ 인간의뇌를구현하는프로젝트인휴먼브레인진행 2023 년까지약 11 억유로를지원 Ÿ 영국은슈퍼컴퓨팅소프트웨어개발프로젝트에약 3,500 만파운드 ( 한화약 497 억원 ) 를지원 출처 : 한국과학기술정보연구원, HPC 기본및동향, 2016. HPC의수요는과학기술시뮬레이션에특화된컴퓨팅기술에서국가의정책을통해공공플랫폼으로발전 국가주도의초고성능컴퓨팅, 학술및연구목적의공공인프라, 기업과산업체연구소를위한분야, 개인또는엔터테인먼트및워크스테이션급분야로세분 Canada Compute Ÿ 캐나다정부에서관리및지원하는컴퓨팅플랫폼으로자국의산 ž 학 ž 연의 R&D 를위한계산자원을지원 Canada Foundation for Innovation (CFI) 로부터재정적지원을받으며현재 3500 개가넘는리서치그룹과 1 만명의연구진을보유 성능은 20 PetaByte/s 이상의처리속도를보이며, 현재까지 5518 저널, 58 개특허, 28 개투자, 23 개스핀오프 (Spinoff) 의실적을보임 Ÿ 고성능의빅데이터, GPU 컴퓨팅과스토리지, 테라바이트 (Tera Bytes) 이상데이터의공유및전송을지원 특정소프트웨어에대한확장성제공 글로버스포탈, 유전자데이터베이스제공 각자의클라우드및관리서버 50GB 제공 * Outwardfacing IP 주소제공및사용자의데스크탑을기반으로데이터스토리지및백업시스템제공. 30) Partnership for Advanced computing in Europe : 유럽의과학자와기술자에게최고급슈퍼컴퓨팅서비스를제공 17
PRACE Ÿ 유럽내여러나라에산재되어있는 HPC 환경을통합하여범유럽차원의 HPC 생태계구성하고고수준의 HPC 환경및서비스제공을목적하는비영리단체로벨기에의브뤼셀 (Brussels) 에서설립 시스템및운영을위해스페인, 이탈리아, 독일, 프랑스등의 4 개주요국이 4 억유로를부담하며, EU 에서 6 천 7 백만유로를지원 Ÿ PetaFlop, ExaFlop 급의슈퍼컴퓨팅을지원하는범유럽규모의 Tier-0 부터국가내규모의 Tier-1, 지역내시스템인 Tier-2 로구성됨 유럽내기업들의연구를지원하기위해연 2 회선정을통해 Tier-0 급의리소스를일정기간동안무상으로제공 Ÿ 오픈소스프로젝트를지원하고참여국내의전문가를활용 프로젝트가진행되는동안다수에의한검증및코드재활용측면의오픈소스로인한장점을가짐 Ÿ GPU 를활용한최적화된병렬처리를제공하며 SW 활용분야를확장 Ÿ 중소기업의경쟁력향상을위해중소기업의요구사항에부합하는 HPC 시스템서비스인 SHAPE 31) 를제공 중소기업이수행하려는프로젝트에적합한 HPC 환경및전문가네트워킹제공 31) SME(Small and medium enterprise) HPC Access Programme in Europe 18
(2) 국내현황 국내슈퍼컴퓨터현황 국내슈퍼컴퓨터는기상청이보유한미리와누리슈퍼컴퓨터가각각 36위, 37위를차지했고, 500위권에 7개의슈퍼컴퓨터가등재되었으며, 전세계컴 퓨팅파워중 1.1% 차지 (2016년 6월기준 ) 보유기관 명칭 제조사 도입년도 성능 (TFlop/s) 순위 기상청 미리 Cray 2015 2,395 36 기상청 누리 Cray 2015 2,395 37 제조업체 - HP 2015 824 296 기상청 우리 Cray 2014 345 395 대구경북과학기술원 아이렘 HP 2016 307 455 서비스제공업체 - HP 2014 295 475 서비스제공업체 - HP 2014 295 476 KISTI 타키온2 SUN 2009 274 500위밖 삼성전자 SRD CAE HP 2014 262 500위밖 자료 : Top500 에서추출 (2016 년 6 월기준 ) 자료 : top500.org statistics https://www.top500.org/statistics/list/ 19
국가슈퍼컴퓨팅센터에서는차세대슈퍼컴퓨터 5호기를도입할예정이고, 그성능은약 30 PetaFlop/s 으로현재 500위권슈퍼컴퓨터중 2 ~ 3위에해당하는성능 이와동시에세계상위 10위권수준의슈퍼컴퓨터기술확보를위해 국가초고성능컴퓨터사업 을추진하여슈퍼컴퓨터기술의국산화를위한노력을기울이고있음 국내에서는지난 2011 년 6 월세계 2 번째로슈퍼컴퓨팅관련육성법을제정 국가초고성능컴퓨터활용및육성에관한법률 을제정하고, 국내 HPC 산업을육성하기위한계획수립및전담기관 (KISTI) 을지정하여산업전반 의활용을촉진 국가초고성능컴퓨터활용및육성에관한법률 Ÿ IT 융합형국가혁신체제구축및국가초고성능기본계획을수립 (2011.6.) ( 목적 ) 국가초고성능컴퓨터의효율적인구축과체계적인관리를통하여지속가능한활용을도모하고과학기술의발전기반을조성함으로써국민의삶의질향상과국가경제발전에이바지함 Ÿ 전략과목표 신규수요창출을통한초고성능컴퓨팅활용확대 세계 Top10 수준의초고성능컴퓨팅서비스기반구축 초고성능컴퓨팅자체개발역량확보및산업화토대마련 Ÿ 국가초고성능컴퓨팅육성기본계획으로 3 대전략 -10 대전략과제를수립하고매년시행계획을수립 < 표 5> 3 대전략 10 대전략과제 3 대전략 10 대전략과제 초고성능컴퓨팅활용확대 초고성능컴퓨팅서비스기반강화 초고성능컴퓨팅기술개발ž산업화촉진 과제 1. 국가초고성능컴퓨팅활용국가연구개발활성화과제 2. 초고성능컴퓨팅을활용한산업혁신강화과제 3. 초고성능컴퓨팅기반공공 민간응용서비스확대과제 4. 초고성능컴퓨팅이해확산을위한국민참여활동확대 과제 5. 미래수요대응초고성능컴퓨팅자원확보과제 6. 효율적인국가초고성능컴퓨팅서비스체계구축과제 7. 수요기반초고성능컴퓨팅전문인력육성 과제 8. 초고성능컴퓨팅시스템자체개발역량확보과제 9. 차세대초고성능컴퓨팅원천기술 R&D 확대과제 10. 초고성능컴퓨팅관련산업기반육성 자료 : 제 1 차국가초고성능컴퓨팅육성기본계획 (ʼ13~ʼ17) 20
4. 결론 학습기반인공지능의범용기술인딥러닝은 HPC 환경의성능을십분활용할수있는핵심기술 딥러닝은연산강도가높은행렬곱연산으로세분화되어 HPC의유연한확장성을보장 - 컴퓨팅환경이커질수록계산의효율이증대하고시간적비용절감이가능 - 또한행렬곱연산의병렬처리를비롯한딥러닝알고리즘은텐서플로우등인공지능공개SW에접목되어 HPC에대한진입장벽이낮아짐 제4차산업혁명의핵심동력인인공지능기술은연구의범위와규모가급속히확장됨에따라이수요를충족할수있는컴퓨팅인프라확보가반드시선결돼야하는과제 - 인공지능을활용한서비스나제품은빠른출시와사용자경험이중요하므로, 시의성있는대응을위해 HPC 환경이필수적 현대인공지능의눈부신성과와글로벌동향을살펴보면인공지능의핵심인프라는고성능컴퓨팅환경 그동안인간과대결하여승리한인공지능의원천은슈퍼컴퓨터급계산환경으로인공지능연구분야의혁신은 HPC 인프라없이는불가능 - 체스그랜드마스터를꺾은 IBM의 Deep Blue, 퀴즈우승자와대결하여승리한 IBM의 Watson, 세계최정상바둑기사를꺾은 Deepmind의 AlphaGo는당시세계 2~300위권의슈퍼컴퓨터를활용한결과 글로벌 HPC 동향을살펴보면제4차산업혁명의기조에따라기계학습, 데이터과학분야의환경조성을위한노력이반영 - 미국의엑사스케일프로젝트, 일본의 ABCI 슈퍼컴퓨터는인공지능기술을선도하기위한환경조성 - 중국역시풍부한자금력과세계 1위의슈퍼컴퓨팅기술력을통해인공지능연구를주도하기위한공격적인투자가진행중 21
[ 부록 ] (1) 인공지능과 GPU 컴퓨팅 인공지능의세번째황금기와 GPU 1980년대중반소개된인공신경망의학습방법인오류역전파법 (Error backpropagation method) 은신경망의구조가깊어질수록계산량이폭발적으로증가 - 경험적으로인공신경망의구조를최적화하므로많은시도를통해결과를도출하는것이필수 - 따라서인공신경망자체를학습하는부분에도시간이많이소요되지만, 다양한모델을시험해봐야한다는관점에서계산비용이기하급수적으로증가 GPU는이렇게막대한계산량을극복할수있는대안으로부상 - GPU는 3D 게임이나 CAD와같은그래픽작업에최적화되어발전해왔는데연산처리장치의비약적인발전으로범용목적 (General Purpose) 에활용가능해짐 - 최신 GPU의연산성능은동일가격대비 CPU와비교했을때약 10배의성능보유 GPU 컴퓨팅과딥러닝알고리즘 GPU 성능의원천은수천개에이르는연산처리코어 - 루프라인모델 [ 그림 3] 은알고리즘이대량의연산처리코어를동시에활용할수있다는것을전제 * 병렬처리가불가능한알고리즘의경우단일코어에서실행하는환경과동일하므로활용도가급격히저하 - GPU의성능을십분활용하기위해서는알고리즘의병렬처리가선결과제 22
알고리즘의병렬화 Ÿ 소스코드에서반복문을병렬화 : 반복문내부에데이터의의존성 (dependence) 이없는경우각각의연산이독립적이므로병렬화가능 // 벡터덧셈연산 for(j = 0 ; j < n ; j++) y[j] = alpha*x[j] + y[j]; 병렬화 // myid 는 0 부터 n 까지무작위로정해짐 idx = myid; y[idx] = alpha*x[idx] + y[idx]; 만약 n 개의연산처리코어가있다면, 각각의코어에서부여받은 myid 번째연산을수행 Ÿ 병렬화가불가능한경우 : 반복문내부에데이터의의존성존재 // 피보나치수열의 n 번째원소계산 x[0] = 1; x[1] = 1; for(j = 2 ; j < n ; j++) x[j] = x[j-1] + x[j-2]; GPU 컴퓨팅의성공분야와한계 - GPU는막대한이론성능을보유하고있으나이것은매우제한적인상황에서달성가능한수치 * 높은연산강도, 고속계산을위한정확도의희생, GPU 아키텍처에맞는메모리패턴, 병렬화과정에필요한모수의최적화등여러가지요인이복합적으로충족되어야함 * 따라서 GPU 컴퓨팅은병렬화과정뿐만아니라아키텍처에기반한최적화가성능측면에서매우중요한요소이기때문에진입장벽이높음 - GPU의이론성능을달성할수있는알고리즘은벡터-행렬연산 * 기본선형대수루틴 (Basic Linear Algebra Subprogram, BLAS) 은벡터-행렬연산을계산복잡도에따라세가지단계로구분 * BLAS 알고리즘은대부분반복적이고독립적인계산으로이루어져있기때문에병렬화가능성이높으므로루프라인모델에의해성능이좌우됨 - [ 그림 11] 는다양한알고리즘 32) 에대한연산강도를나타내며, 현대의연산처리장치나고성능 GPU에서는연산강도가높을수록이론성능에가까워짐 32) SpMV 희소행렬과벡터곱알고리즘, FFT 고속푸리에변환둥 23
자료 : Roofline Performance Model https://crd.lbl.gov/departments/computer-science/par/research/roofline/ 행렬곱연산의병렬화 Ÿ 행렬곱연산은 [ 그림 11] 의 Dense Linear Algebra 에해당하는것으로연산강도가행렬의크기가커질수록높아짐 GPU 를비롯한대부분의계산자원에서이론성능을십분달성가능 특히데이터의재사용성이높기때문에캐쉬메모리의활용효율이높음 다양한수치라이브러리의가장기반이되는알고리즘 ( 이미지처리, 행렬분해, 딥러닝등에활용 ) Ÿ 병렬화과정은다음 [ 그림 12] 와같은개념으로설명할수있음 33) // C = A*B // 각행렬은 n n 차원행렬 // 행렬곱의순차코드 for(j = 0 ; j < n ; j++) for(k = 0 ; k < n ; k++) for(l = 0 ; l < n ; l++) C[j][k] += A[j][l] * b[l][k] 병렬화 // 특정 block_size 로행렬을나누어 // 한쓰레드에서해당하는 block 의 // 한원소를계산 ridx = my_block_row_id; cidx = my_block_col_id; for(j = 0 ; j < n ; j++) Cvalue += A[ridx*n+j]*b[j*n+cidx]; C[ridx*n+cidx] = Cvalue; 24
딥러닝의학습과정은병렬화효율이높은 BLAS 알고리즘으로구성 - NVIDIA에서는 GPU 전용 BLAS인 cublas 34) 를라이브러리형태로제공 * 계산전용그래픽카드인 NVIDIA K40m 모델에서 precision별 cublas 연산의성능 ( 행렬곱, 행렬해법등 ) [ 그림 13] 자료 : cublas Performance https://developer.nvidia.com/cublas - cublas를토대로딥러닝라이브러리 cudnn(cuda Deep Neural Network libraries) 35) 는기계학습공개소프트웨어와연동하여사용가능 * TensorFlow, Caffe, Theano, Torch, CNTK 등지원 * 다수의 GPU에서도사용가능한환경제공 33) 병렬화과정에대한자세한내용은다음문헌참고 CUDA Toolkit Documentation, NVIDIA, https://docs.nvidia.com/cuda/cuda-c-programming-guide/ 34) cublas, NVIDIA, http://docs.nvidia.com/cuda/cublas/ 35) cudnn : Efficient Primitives for Deep Learning, https://arxiv.org/pdf/1410.0759.pdf 25
인공지능전용컴퓨팅환경 Ÿ 지난 5 월구글은기계학습에특화된연산처리장치 TPU(Tensorflow Processing Unit) 을공개 36) 계산에필요한유효숫자 (precision) 를최소화하여트랜지스터당계산의효율을극대화 구글의검색알고리즘인 RankBrain 과 Street View 에활용 구글의기계학습공개소프트웨어인 TensorFlow 와클라우드서비스인 Cloud Machine Learning 과연계하여서비스예정 Ÿ AlphaGo 개발진 Deepmind 는미분가능한신경컴퓨터 (Differentiable Neural Computer, DNC) 기술을소개하여기존인공신경망의새로운학습방법을제안 DNC 의특징적인개념은기존인공신경망의기능에정보저장의기능을추가한것으로, 정보의조각들로부터사실을추론하는사람의뇌의기능과더욱유사한방향을제시 특히메모리에읽고쓰는작업만으로신경망을학습할수있다는기술을소개하여대용량데이터에대한효율적인학습체계를제시 자료 : Differentiable neural computers, Deepmind (2016) 36) Google supercharges machine learning tasks with TPU custom chip (2016. 05) https://cloudplatform.googleblog.com/2016/05/google-supercharges-machine-learning-tasks-with-customchip.html 26
(2) 게임인공지능성공사례 (1997, IBM Deep Blue) 세계체스챔피언개리카스파로프와대결하여승리 Deep Blue는 1985년카네기멜론대학의 ChipTest 37) 프로젝트로부터시작했으며, 체스게임을수행하기위한컴퓨터를디자인하는것이목표 1996년 2월챔피언과의대결에서 4-2로패배하였으나, 1997년재대결에서 3½-2½로승리 ( 비긴경기는 ½로환산 ) Deep Blue의체스경기전략은 brute force로제한시간안에최대한많은수를고려하여최적의착수를결정 - 체스의경우의수는약 35 80 ( 트리로생각한다면너비가 35, 깊이가 80) - 알고리즘적인측면보다컴퓨팅파워에의존성이큼. Deep Blue의계산성능은 1초에 2억번의수를탐색할수있음 자료 : Deep Blue https://www-03.ibm.com/ibm/history/exhibits/vintage/vintage_4506vv1001.html http://stanford.edu/~cpiech/cs221/apps/deepblue.html 37) 1985 년 VLSI(Very-Large-Scale Integration) 기술을활용하여체스프로그램을개발. 초당 5 만번의수롤연산할수있는능력보유 27
(2011, IBM Watson) 퀴즈쇼제퍼디! 에서과거우승자에게승리 IBM Watson은자연언어처리를통해질문에답하는컴퓨터시스템으로 퀴즈쇼제퍼디! 에서우승하기위한인공지능을만드는것이목표 2011년 IBM Watson은과거우승자인 Brad Rutter, Ken Jennings와대결하여백만달러를가장먼저달성함으로써우승을차지함 - IBM Watson은약 4 테라바이트에해당하는 2억건의정보 ( 위키피디아포함 ) 를학습했고, 대결도중에는인터넷을사용안함 - Ken Jennings 30만달러 (2위), Ban Rutter 20만달러 (3위) Watson은자연어처리 (natural language processing), 정보검색 (information retrieval), 지식표현 (knowledge representation), 기계학습 (machine learning) 기법을활용하여문제의답을유도 ( 약 100가지이상의기법을사용함 ) 자료 : Watson (computer) https://en.wikipedia.org/wiki/watson_(computer) 자료 : IBM Watson, https://www-03.ibm.com/press/uk/en/presskit/36929.wss 28
(2016, Google AlphaGo) 세계최정상의바둑기사에게 4:1로승리 AlphaGo는바둑인공지능프로그램으로공개당시프로수준의바둑실력을보유하고있었으며, 지난 3월세계정상급기사인이세돌 9단에게도전함 그결과 AlphaGo는 4:1이라는성적으로이세돌 9단에게승리를거둠으로써인공지능의대중적관심을일으킴 AlphaGo의승리전략은프로바둑기사의기보를학습하여무한대에가까운바둑의경우의수를선택적으로좁힘 - 바둑의경우의수는약 150 250 - AlphaGo는콘볼루션신경망을활용하여프로바둑기사의기보 16만개를학습 - 또한강화학습기법을활용하여자체대국을통해정확도를향상시킴 - 착수전략은몬테카를로트리탐색 (Monte Calro Tree Search, MCTS) 기법을활용하여제한시간안에최적의수를결정함 AlphaGo는구글클라우드를활용하여기보를학습했고, 실제대국에서도미국소재의클라우드컴퓨터에접속하여경기를수행 - 매니코어시스템인 GPU를다수활용 - 구글클라우드에서사용된구체적인계산자원모델은공개하지않음 자료 : AlphaGo 의인공지능알고리즘분석, 소프트웨어정책연구소 (2016) 29
[ 참고문헌 ] 1. 국외문헌 Silver, D. et al., Mastering the game of Go with Deep neural networks and tree search, Nature vol 529, pp. 484-489, 28 Jan 2016. cudnn : Efficient Primitives for Deep Learning, https://arxiv.org/pdf/1410.0759.pdf Barba, Lorena A., and Rio Yokota. "How will the fast multipole method fare in the exascale era." SIAM News 46.6 (2013): 1-3. 2. 국내문헌 AlphaGo 의인공지능알고리즘분석, 소프트웨어정책연구소 (2016) 3. 기타 ( 신문기사등 ) Convolutional Neural Network, http://cs231n.github.io/convolutional-networks/ cublas, NVIDIA, http://docs.nvidia.com/cuda/cublas/ CUDA Toolkit Documentation, NVIDIA, https://docs.nvidia.com/cuda/cuda-c-programming-guide/ Deep Blue https://www-03.ibm.com/ibm/history/exhibits/vintage/vintage_4506vv1001.html Exascale Computing Project, https://exascaleproject.org/exascale-computing-project/ Fused Multiply-Add, https://en.wikipedia.org/wiki/multiply%e2%80%93accumulate_operation Top500, http://www.top500.org Intel Xeon Processor E5-2699 v4, http://ark.intel.com/products/91317 Intel Xeon Phi 7120P, http://ark.intel.com/products/75799 Japan Runs into Detour on Exascale Roadmap https://www.top500.org/news/japan-runs-into-detour-on-exascale-roadmap/ Nvidia Tesla P100, http://www.nvidia.com/object/tesla-p100.html Roofline Performance Model https://crd.lbl.gov/departments/computer-science/par/research/roofline/ Samsung Exynos, Wikipedia https://en.wikipedia.org/wiki/exynos Watson (computer), Wikipedia, https://en.wikipedia.org/wiki/watson_(computer) 30
주의 1. 이보고서는소프트웨어정책연구소에서수행한연구보고서입니다. 2. 이보고서의내용을발표할때에는반드시소프트웨어정책연구소에서수행한 연구결과임을밝혀야합니다. [ 소프트웨어정책연구소 ] 에의해작성된 [SPRI 보고서 ] 는공공저작물자유이용허락표시기준제 4 유형 ( 출처표시 - 상업적이용금지 - 변경금지 ) 에따라이용할수있습니다. ( 출처를밝히면자유로운이용이가능하지만, 영리목적으로이용할수없고, 변경없이그대로이용해야합니다.)