인공지능 컴퓨팅 환경 확보 방안 및 전략 2016. 08. 25. 2016 정보과학회 HPC연구회 하계 워크샵 추형석 소프트웨어정책연구소 선임연구원 신기술확산연구팀
목 차 1. 연구 목적 2. 컴퓨팅 파워와 병렬 컴퓨팅 3. AlphaGo의 계산량 분석 4. 결 론
1. 연구목적
배경및필요성 컴퓨팅환경확보는인공지능연구를위해선결되어야하는과제 인공지능연구에왜 컴퓨팅파워 가중요한지에대한논리적근거마련 최신컴퓨팅하드웨어에대한현황과분석 구체적인인공지능성공사례분석 ( 딥러닝 ) 인공지능컴퓨팅환경확보전략연구 중소기업, 스타트업, 대학의인공지능연구활성화를위한컴퓨팅환경확보방안 국내외클라우드 GPU instance 분석 4
2. 컴퓨팅파워와병렬컴퓨팅
부동소수점연산수 (floating-point operations, flop) 알고리즘을실제로구현했을때필요한연산수를나타냄 한개의연산은일반적으로덧셈, 곱셉, 비교로간주하나, 계산자원구조에따라덧셈과곱셈을하나의연산으로보기도함 FMA(Fuzed Multiply and Add) 는곱셈과덧셈을한번에처리하는유닛 유효숫자 (Precision) 에따른성능차이가존재 32-bit 부동소수점 (float, 유효숫자 7자리 ) 과 64-bit 부동소수점 (double, 유효숫자 16자리 ) 에대한연산성능이다름 ( 일반적으로 float에대한성능이높음 ) 초당부동소수점연산수 (floating-point operations per second, FLOPS or FLOP/s) 연산처리장치의연산능력을표현하는지표로슈퍼컴퓨터의성능비교등에사용됨 2016년 6월세계에서가장빠른슈퍼컴퓨터의성능은 93 PetaFLOP/s ( 중국국립슈퍼컴퓨터센터 ) 선웨이타이후라이트 : 10,649,600 cores ( 한국기상청, 36위 ) 누리 : 2.4PetaFLOPS, 69,600 cores 6
Samsung Galaxy S7 Processing Power AP : Exynos 8890 (4+4 core, 2.3+1.6GHz) GPU : Mali-T880 MP12 (265.2 GFLOPS) Top500.org Performance Development 1996/06 1 st supercomputer University of Tokyo SR2201/1024 ($50M) Peak Performance (220.4 GFLOPS) 7
CPU (Central Processing Unit) GPU Accelerator Intel Xeon Processor E5-2699 v4 NVIDIA Tesla P100 Intel Xeon Phi 7120P 22 cores (hyper-threading 44cores) Clock Speed : 2.2GHz(Turbo 3.6GHz) Price : $4,115 Performance : 1549 GFLOPS (single) 744 GFLOPS (double) 3584 cores Clock Speed : 1.3GHz (Turbo 1.4GHz) Price : TBA (around $5000) Performance : 10608 GFLOPS (single) 5304 GFLOPS (double) * NVlink : 160 GB/s (CPU-GPU) 61 cores (244 threads) Clock Speed : 1.3GHz Price : $4,129 Performance : 2416 GFLOPS (single) 1208 GFLOPS (double) 8
Roofline model 계산량과메모리전송량을대비하여달성할수있는성능을나타냄 일반적으로계산성능 (clock speed) 이메모리대역폭 (memory bandwidth) 보다높음 계산강도 (arithmetic intensity) 가높을수록효율이증대 알고리즘의병렬화 병렬화가불가능한알고리즘은 many-core 기반계산자원에서성능이급격히저하 HW 아키텍쳐에따라병렬화의효율이결정 이론성능은달성하기어려움 9
for loop 의병렬화 // Simple saxpy operation for(j = 0 ; j < n ; j++) y[j] = alpha * x[j] + y[j]; // idx is assigned randomly from 0 to n idx = myid; y[idx] = alpha * x[idx] + y[idx]; Parallelization Memory : 4*(2*n+1) byte Computation : n operations Arithmetic Intensity : 1/8 피보나치수열의경우병렬화? // Fibonacci series for(j = 2 ; j < n-1 ; j++) x[j] = x[j-2] + x[j-1]; 10
BLAS 3 SGEMM // C = A*B where each matrix is n by n matrix 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] Arithmetic Intensity 메모리전송량 : 4 4byte n 2 = 12n 2 계산량 : n 3 Arithmetic Intensity : n/12 행렬이커질수록이론성능에가까워짐 11
Source : https://crd.lbl.gov/departments/computer-science/par/research/roofline/ 12
3. AlphaGo 계산량분석
Source : https://spri.kr/post/14725 14
바둑세계챔피온을꺾은최초의인공지능바둑프로그램 딥러닝으로바둑프로기사의기보 16만개를학습 무한대에가까운바둑의경우의수를프로바둑기사의관점으로좁힘 정책네트워크 : 프로바둑기사들의착수선호도 + 스스로대국하여튜닝 가치네트워크 : 현재바둑판상태의승률을근사 정책과가치네트워크를활용한경로탐색으로최적의수를결정 몬테카를로트리탐색 (MCTS) 알고리즘활용 정책네트워크가치네트워크 MCTS 알고리즘 Source: Mastering the game of Go with deep neural networks and tree search, Nature 15
AlphaGo 의딥러닝구조 콘볼루션뉴럴네트워크 콘볼루션뉴럴네트워크는이미지를학습하는데탁월한성능을가짐 이미지의국지적인패턴을인식하여전체를재구성 AlphaGo에서는바둑판상태를 48가지특징맵으로전환하여국지적형세를판단함 13 층의콘볼루션층을활용하여프로기사들의기보를성공적으로학습 16
이미지분석에특화된딥러닝기법 컨볼루션필터 를학습 컨볼루션이란? f g t = f τ g t τ dτ Source : ios Developer Library vimage Programming Guide https://developer.apple.com/library/ios/documentation/performance/conceptual/vimage/c onvolutionoperations/convolutionoperations.html Source: https://en.wikipedia.org/wiki/convolution Source: https://en.wikipedia.org/wiki/kernel_(image_processing) 17
특징맵 컨볼루션필터 TO BE TRAINED 특징맵 Rectifier Nonlinearity 18
Source : http://cs231n.github.io/convolutional-networks/ 19
20
AlphaGo Fm : 192 x 9 D : 9 x 69312 F3 F2 F1 F0 F3 F2 F1 F0 F3 F2 F1 F0 G3 G2 G1 G0 G3 G2 G1 G0 G3 G2 G1 G0 21
ConvNet Inference (estimation) 1층 : 19x19 바둑판 * 48개특징맵 * 5x5 콘볼루션 * 25 덧셈 * 192개필터 * 2개연산 ( 활성함수계산 ) = 4.159 GFLOP 2~13층 : 19x19 바둑판 * 192개특징맵 * 3x3 콘볼루션 * 9 덧셈 * 192개필터 * 2개연산 ( 활성함수계산 ) * 11층 = 23.715 GFLOP 약 30 GFLOP ( 학습시는반복한번에필요한계산량 ) NVIDIA K40 GPU의 cudnn( 딥러닝패키지 ) 의성능은 1.2 TFLOP/s GPU 한개당 1초에약 40번의 inference 가능 Memory 16 만개의기보 : 1.85 Tbyte(single), 58 Gbyte(boolean) 13 층의 ConvNet weights : 약 3Mbyte 22
CPU Intel Xeon CPU E5-2643 v2 @ 3.5 GHz GPU GeForce GTX Titan Black Source : http://www.amazon.com/hp-712775-l21-e5-2643-3-5ghz-processor/dp/b00pytvvwi 코어수 / 스레드수 : 6 cores / 12 threads 성능 : 66.61 GFLOP/s 최대 CPU 구성 : 2 가격 : $ 1552 발매일 : Q3 2013 Source : http://www.nvidia.co.kr/gtx-700-graphics-cards/gtx-titan-black/ 코어수 : 2880 cores 성능 : 5.1 Tera FLOP/s (single), 1.7 Tera FLOP/s (double) 가격 : $ 999 발매일 : March 25, 2014 Source : Maddison, Chris J., et al. "Move evaluation in go using deep convolutional neural networks." arxiv preprint arxiv:1412.6564 (2014). CPU Performance, https://setiathome.berkeley.edu/cpu_list.php List of NVIDIA Graphics Processing Units, https://en.wikipedia.org/wiki/list_of_nvidia_graphics_processing_units 23
분산 머신 싱글 머신 CPU cores : 48 개 CPU cores : 1202 개 12cores(with HTT) x 4 CPUs, or 8cores x 6 CPUs GPU 개수 : 176 개 약 40대 내외의 싱글머신으로 구성 GPU 개수 : 8 개 노드 구성은 (4 CPU sockets + 8 PCIes)를 탑 재한 고성능 계산서버로 추정 (최대1920) (최대280) 한화 약 22 ~ 25억 원 or (6 CPU sockets + 8 PCIes) 가격은 약 5만불 정도이고 시간당 소비전력은 2500 Watt 수준 Supermicro MB 4CPUs + 4PCIe + (4PCIe) $1,278 8 VGAs 예시 24
인공지능연구에왜컴퓨팅파워가중요한가? 인공신경망학습에필요한계산량이막대함 경험적으로추정가능한 hyper-parameter 존재 ( 여러번시도하는것이최상책 ) AlphaGo 의인공신경망학습은 50 개의 GPU 를사용하여 3 주동안학습함 약 5MWh, 가정집에서소모할경우누진세가적용되어약 330 만원의전기요금소요 GPU 는인공지능연구에최적화된장비 인공신경망학습방법인오류역전파법 (Error Backpropagation Method) 는기본적인선형대수루틴 (Basic Linear Algebra Subroutines) 으로이루어짐 BLAS는 GPU에최적화된라이브러리중하나 국내인공지능연구활성화를위한컴퓨팅환경확보전략 가성비가좋은 GPU 컴퓨팅환경을확보할필요성이있음 25
4. 결론
인공지능연구를위한컴퓨팅환경조성 : 클라우드 GPU 클러스터구성시하중, 전력공급, 쿨링등설계상의많은제약이존재 또한 GPU의교체주기가매우짧음 따라서직접구축하는것보다클라우드형태로계산하는것이효율적 클라우드 GPU 서비스관련동향 해외글로벌 IT 기업을필두로 GPU instance 보급 세부내용 Amazon AWS G2 - CPU : Intel Xeon E5-2670 - GPU : NVIDIA GRID K520 (1,536 core, 4GB GDDR) - 클러스터네트워킹지원 - GRID GPU 는 CAD 와같은 3D 작업에적합 SOFTLAYER IBM Cloud Aliyun - CPU : Intel Xeon E5-26xx - GPU : NVIDIA Tesla M60, K80 지원 - CPU : Intel Xeon E5-26xx - GPU : NVIDIA Tesla M40, K40 지원 * 중국내서비스만가능 국내에는 SK C&C 가 SOFTLAYER 측과협력하여데이터센터오픈예정 ( 16.9 월중 ) 27
컴퓨팅환경확보관련현황조사 Compute Canada 기타해외선진사례분석 국내중소기업및스타트업의수요조사 클라우드 GPU instance 조사및분석 ( 계속 ) 국내외현황파악 인공지능컴퓨팅환경확보방안제시 28