인공지능 칩 강자는 누구? GPU vs FPGA vs ASIC (1)
상태바
인공지능 칩 강자는 누구? GPU vs FPGA vs ASIC (1)
  • 이나리 기자
  • 승인 2017.06.13 16:14
  • 댓글 0
이 기사를 공유합니다

딥러닝 빠른 연산처리와 데이터센터 에너지 효율, 하드웨어가 ‘핵심’

[CCTV뉴스=이나리 기자] 인공지능 기술을 구현하기 위해서는 빅데이터와 플랫폼도 중요하지만 이를 빠르게 연산처리하기 위한 하드웨어 기술이 뒷받침돼야 한다. 인공지능이 가능하게 된 이유는 크게 3가지로 요약되는데, 하나는 인터넷과 웹에 의한 대량의 디지털 데이터를 쉽게 구할 수 있게 된 것, 두 번째는 CPU(Central Processing Unit)를 넘어 GPU(Graphics Processing Units)처럼 고속 연산 처리가 가능한 범용적인 하드웨어가 등장한 것, 그리고 세 번째는 연구자들과 기업들이 꾸준히 연구 성과를 쌓아 온 것이다.

앞서 언급했듯이 인공지능의 필수 요소 중 하나인 머신러닝(Machine Learning)은 기존 데이터의 패턴을 기반으로 스스로 학습하는 형태의 알고리즘이다. 그러나 머신러닝을 위한 데이터가 방대해지고 복잡해지면서 인공지능은 예측에 필요한 양질의 데이터만 수집하기 위한 심층적인 학습이 필요했고, 이때 등장한 딥러닝(Deep Learning) 기술은 지도학습에 기반한 인공신경망(Artificial Neural Network)의 진화된 기술로 보다 심층적인 학습을 할 수 있다.

따라서 이런 고도화된 딥러닝을 구현하기 위해서는 기존의 CPU를 넘어 보다 빠른 연산 처리를 실행해주는 하드웨어 기술이 요구되고 있다. 다시 말해 인공지능은 웹, 소프트웨어, 하드웨어 등의 기술 진보가 끊임없이 연구, 개발되고 결합된 결과다. 반도체 업계에서는 GPU, FPGA, 주문형 반도체(ASIC)를 중심으로 인공지능에 최적화된 하드웨어를 개발하기 위한 움직임이 일어나면서 변화의 시기에 놓여져 있다.

컴퓨터 연산 기술에 있어서 인텔은 고성능 CPU를 생산해 왔고 이를 바탕으로 PC 프로세서 시장(약 80%의 시장점유율)뿐 아니라 서버 CPU 시장에서도 독점적인 지위를 누려오며 반도체 업계의 1위를 지켜왔다. 그러나 인공지능 시대가 본격 시작됨에 따라 인텔은 더 이상 안심할 수 없을 것으로 보여진다.

대량의 데이터와 고도의 연산능력을 기반으로 하는 머신러닝과 여러 인공지능 기기들의 급성장으로 인해 시장은 세분화되고 있으며, 컴퓨터 연산과 관련된 설계분야는 반도체 발전 속도에 따라 지금까지 믿어져 왔던 무어의 법칙(Moore’s law) 마저도 점차 한계를 드러내고 있기 때문이다(무어의 법칙: 1965년 고든 무어가 정의한 것으로 마이크로칩에 저장할 수 있는 데이터양이 18개월마다 2배씩 증가한다는 법칙). 또 PC 시장의 성장 둔화도 한몫 했다.

반면, PC 게임용 그래픽카드로 유명한 엔비디아는 인공지능으로 인해 GPU의 급격한 매출액 증가로 상승세를 타고 있다. 그 이유는 개인용 컴퓨터에서 원활한 게임속도를 지원하는 용도로 사용되어 왔던 GPU가 높은 컴퓨팅 연산능력을 필요로 하는 인공지능의 데이터 처리를 지원하기 위한 도구로 각광받고 있기 때문이다.

실제로 엔비디아의 2016년 4분기 매출(2016년 11월~2017년 1월)은 전년 동기 대비 55% 늘어난 22억 달러를 기록했고, 회사의 주가는 2016년에만 4배가 올랐다. 더불어 반도체 시장조사기관 IC인사이츠에 따르면 2016년 상위 20개 반도체 기업 매출실적에서 엔비디아는 전년대비 가장 높은 성장률(35%)을 기록한 업체로 조사됐다. 2016년 3분기 실적에서 엔비디아의 데이터센터 사업 부분은 전년 분기 대비 무려 193%의 성장률을 기록했다. 이는 인공지능 수혜로 인한 결과이며, 엔비디아의 게임(63%), 자동차 애플리케이션(61%)과 비교해서 압도적인 성장을 보인 것이다. 반면 반도체 업계 1위인 인텔의 2016년 매출은 전년 대비 8%의 성장률로 소폭 성장했다.

◇ 병렬처리 가능한 GPU, 딥러닝용 연산처리에 적합

그렇다면 인공지능에서 CPU와 GPU의 연산능력은 어떤 차이점이 있을까? 기본적으로 CPU와 GPU는 서로 다른 목적을 위해 상이하게 설계, 구성돼 있다. 기본적으로 CPU와 GPU에는 탑재되는 코어의 수가 다른데, 여기서 코어는 ‘프로세서가 동시에 풀 수 있는 문제의 수’라고 볼 수 있다. 즉 CPU는 직렬처리(Serial Processing)에 최적화된 몇 개의 코어로 구성돼 명령어가 입력된 순서대로 순차적으로 데이터를 처리한다. 반면, GPU는 CPU에 비해 훨씬 더 많은 코어를 탑재해 여러 명령어를 동시에 처리할 수 있도록 병렬처리(Parallel Processing)에 최적화된 프로세서다.

따라서 명령어나 데이터의 종류에 따라 처리 속도는 CPU가 빠를 수도, GPU가 빠를 수도 있다. CPU는 컴퓨터의 중앙에서 모든 데이터를 처리하고 제어하는 장치로 시스템 전체를 제어하기 위해 개발됐으며, CPU 제조사들은 인터넷 서핑이나 문서작성 등의 작업을 보다 빠르게 수행하도록 설계한다.

반면 GPU는 동시 계산량이 많이 요구되는 그래픽을 위해 고안됐기 때문에 수천 개의 코어를 탑재해 대량의 연산이 빠르게 필요한 3D 그래픽 렌더링이나 그래픽 시뮬레이션 작업에 맞게 설계되고, 이를 통해 성능 향상을 거듭해왔다. 예를 들어, 같은 양의 짐을 운반할 때 CPU는 빠른 비행기로 여러 번에 나누어 짐을 목적지에 전달할 수 있다면 GPU는 속도는 더 느리지만 적재용량은 더 큰 기차로 한번에 짐을 전달하는 것이라 할 수 있다.

컴퓨터는 데이터를 디지털인 0과 1의 수로 구분해 저장하는데, 간단한 정수 외에 실생활에서 널리 사용되는 실수를 디지털로 저장하기 위해서는 고정소수점 또는 부동소수점이라는 데이터 저장방식을 활용한다. 고정소수점은 10비트(bit)를 기준으로 총 1024개의 숫자를 표현할 수 있는 반면, 부동소수점은 2비트로 자릿수를 표현해 최대 25만 5000개의 숫자 표현을 할 수 있다. 즉, 부동 소수점이 고정소수점에 비해 더 정밀한 표현을 할 수 있다는 것을 뜻한다. 

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.