새 시대의 GPU, 그리고 인공지능
상태바
새 시대의 GPU, 그리고 인공지능
  • 이건한 기자
  • 승인 2019.08.01 09:00
  • 댓글 0
이 기사를 공유합니다

그래픽 가속 장치에서 AI 연산기로 재발견된 GPU 이야기

[테크월드=이건한 기자] 흔히 컴퓨터 그래픽 가속을 담당하는 칩으로 잘 알려져 있는 ‘GPU(Graphics Processing Unit)가 PC 역사에 처음 등장한 건 1980년대다. 

초기 모듈 형태의 GPU는 별달리 화려한 그래픽 요소가 없던 당시 PC 환경에서 CPU에 비하면 별로 주목받는 장치가 아니었는데, 정식 명칭조차 없어 '그래픽 가속기'나 '비디오 디스플레이 프로세서(VDP)' 같은 다양한 이름으로 불리곤 했다. 지금의 GPU란 명칭이 일반화된 시기는 등장 후 한참이 지난 1999년 엔비디아가 자사의 첫 지포스(Geforce) 그래픽카드였던 '지포스 256'을 세계 최초의 GPU라고 홍보한 이후부터다. 

NVIDA Geforce 256 (자료= 위키백과 지포스 256)

현재 GPU는 컴퓨팅 시장에서 CPU만큼, 혹은 그 이상으로 주목받는 주요 장치로 떠올라 있다. 이는 과거에 비해 GPU의 사용 범위가 크게 넓어졌으며, GPU와 새롭게 맞닿게 된 영역이 바로 미래 기술 사회의 핵심이라는 인공지능(AI)이기 때문이다. 그럼 본격적인 이야기에 앞서 CPU에 대해 잠시 알아보자.

보통 우리가 아는 CPU는 '컴퓨터의 두뇌'라고 부를 만큼 범용적이고 속도도 빠른 것으로 알려져 있다. 이게 틀린 말은 아니지만, 사실 CPU라고 모든 작업에 능한 건 아니다. 구조적 한계 때문인데, CPU에 사용되는 '직렬 연산' 방식은 명령어를 한 번에 하나씩 순서대로 빠르게 처리하는 데 효과적인 기법이다. 

이 방법은 PC 구동에 요구되는 복잡하고 다양한 명령어 처리를 빠르게 처리하는 데 효율적이다. 반면, 그래픽 데이터처럼 단순하지만 방대한 데이터가 동시에 쏟아지는 처리 환경에서는 이야기가 달라진다.

사진=게티이미지뱅크

비교적 단순한 웹서핑이나 문서 작업과 달리 3D 게임을 플레이하거나 고화질 영상을 재생할 땐 화면 내 이미지 표현을 담당하는 픽셀들이 다양한 색 정보를 안고 시시각각 변화한다. 가령 표준화된 1920x1080(Full HD) 해상도에서 60fps 영상을 구현하려면 컴퓨터는 이론적으로 초당 1억 2441만 6000개의 픽셀을 그려내야 한다. 점차 대중화되고 있는 4K 해상도에서는 필요한 픽셀 수가 거의 5억 개에 이른다.

요즘 CPU 성능이 아무리 좋아졌다지만 이를 직렬처리 방식의 CPU만으로 계산하려 하는 건 대단히 비효율적이다. 이는 마치 절구에 넣고 한 번에 빻을 수 있는 깨를 도마에 올려놓고 공이로 하나씩 깨는 것과 같다. 어쨌든 모든 그래픽 데이터를 CPU로만 처리할 경우 과도한 양의 데이터가 CPU로 집중되며 미처 처리되지 못한 데이터는 자신의 차례를 무한정 기다리며 멈추게 되는 병목 현상에 빠지게 된다. 자연히 전체 PC 속도도 크게 하락할 수밖에 없다.

 

병렬 연산과 GPGPU의 등장

따라서 CPU의 그래픽 처리 능력을 보완하기 위해 개발된 GPU는 다량의 데이터를 실시간 처리하는 데 특화된 ‘병렬 연산’ 구조를 사용한다. 소량의 고성능 코어를 탑재한 CPU와 달리 GPU는 작고 미세한 코어를 칩 하나에 수백~수천 개씩 탑재하고 이를 통해 다량의 그래픽 데이터를 분산 처리한다. 

CPU와 GPU의 구조 차이
CPU와 GPU의 구조 차이

얼핏 듣기엔 GPU의 방식이 CPU보다 나아 보일 수 있지만 반드시 그렇진 않다. 반대로 만약 GPU로 CPU를 대체할 경우 '노는 코어'가 많고 코어당 계산 능력은 떨어져 오히려 PC 속도는 더 느려질 가능성이 높기 때문이다. 즉, 직렬이나 병렬 어느 하나가 더 뛰어난 개념이 아니라, 용도에 따른 효율이 다르다고 생각해야 한다. 

GPU의 등장과 성장은 특히 게임 그래픽 향상에 큰 공헌을 했다. 최신 고사양 게임이 보여주는 실사 수준의 정교하고 부드러운 광원 효과, 머리카락 한 올까지 자연스레 휘날리는 애니메이션, 일렁이는 불길의 묘사 등은 모두 고성능 GPU와 로직 계산을 담당하는 CPU가 함께함으로써 가능해진 일이다. 4K, 8K로 상징되는 최신 고화질 영상 재생 역시 마찬가지이며, 여기까지가 GPU와 그래픽카드의 잘 알려진 기본 역할에 속한다. 

하지만 GPU엔 향후 그래픽 가속보다 중요하고 무한한 잠재력을 보여줄 기능이 하나 더 있다. 바로 GPU를 CPU처럼 활용하는 GPGPU(General-Purpose computing on Graphics Processing Units, GPU 상의 범용 계산) 기술이다.

 

GPU의 새로운 무대, 딥러닝 인공지능

GPGPU는 GPU의 실시간 대량 연산 특성을 활용해 특정 영역에서는 CPU보다 나은 계산 능력을 보여줄 수 있다. 그것이 바로 서두에 이야기한 인공지능과 딥러닝(Deep Learning) 영역이다. 딥러닝은 인공지능이 데이터를 학습하는 기계학습(Machine Learning) 방법론 중 하나로, 실제 인간의 학습 메커니즘과 가장 유사한 형태로 알려져 있다.

가령 어린 아기에게 엄마를 가리키며 반복해서 "엄마"라고 말하다 보면 어느 순간 아이도 그 사람을 보는 순간 그와 '엄마'란 개념을 함께 연상하게 된다. 지속된 반복 학습에서 아이 스스로 엄마의 여러 외형적 특징을 학습하게 된 것인데, 딥러닝의 학습 과정도 이와 비슷하다.

예를 들어 인공지능에게 고양이 사진 수백 만장을 보여준 뒤, '이것은 고양이'라고 반복해서 알려주면(이를 '지도학습'이라고 한다) 딥러닝 알고리즘은 이 고양이 사진 안에서 고양이란 개체가 지닌 다양한 외형적 공통점을 스스로 추출해 '고양이'란 개념을 이루는 하나의 데이터셋을 생성한다.

그것은 사람이 고양이를 구분할 때처럼 '뾰족한 귀'나 '세로로 쭉 찢어진 동공' 같은 것일 수도 있고, 사람의 기준과는 전혀 다른 것일 수도 있다. 하지만 기준과 상관없이 학습을 잘 마친 인공지능은 이제 어떤 고양이 사진을 보여주더라도 그것이 고양이임을 정확하게 구분해낼 수 있게 되는 것이다. 이게 딥러닝의 기본이다. 

딥러닝이 학습한 고양이 이미지 (자료=구글 블로그)
딥러닝이 학습한 고양이 이미지 (자료=구글 블로그)

자, 여기서 중요한 키워드는 '반복'이다. 딥러닝은 수천만 개의 학습 데이터에서 특징을 추출하기 위한 일련의 계산 알고리즘을 무한히 반복한다. 그리고 이 작업은 당연히 서너 개의 코어를 지닌 CPU보다 수천 개의 코어로 분산 처리할 수 있는 GPU가 훨씬 유리할 수밖에 없다는 사실을 어렵지 않게 이해할 수 있을 것이다.

그래픽 처리를 위해 개발된 병렬 처리 구조의 컴퓨팅 칩이 우연찮게 미래 인공지능 구현을 위한 핵심 기술 연산에 잘 맞아떨어지게 된 케이스다. 

인공지능 기계학습에서 CPU와 GPU의 성능 격차가 잘 드러난 사례를 알아보자. 지난 2012년 AI 분야의 세계적인 권위자인 앤드류 응(Andew Ng) 교수는 구글과 협력해 CPU 서버 1000개를 병렬로 연결한 딥러닝 인프라 '구글 브레인(Google Brain) 신경망 시스템을 개발했다. 

이 시스템은 유튜브에서 3일간 추출한 200x200 해상도의 이미지 1000만 개를 분석해 그중 고양이 이미지를 정확히 찾아내는 인지 능력을 보여줬는데, 구글 브레인은 아직 알파고도 등장하지 않았던 시절 딥러닝이 지닌 미래의 가능성을 일부나마 보여준 획기적인 제품이라고 볼 수 있다. 

그러나 문제는 너무 비싼 운영 비용이었다. 당시 구글 브레인 시스템은 CPU 서버 1000대를 구입하기 위한 하드웨어 가격으로만 무려 50억 원 정도가 필요했으며, 운영을 위해서는 다시 60만 와트(W)에 달하는 엄청난 전력을 공급할 수 있어야 했다. 사실상 극히 소수의 대기업만 운용할 수 있는 꿈의 시스템이었던 셈이다.

하지만 이후 엔비디아가 자사의 GPU 가속화 서버 3대면 구글 브레인과 동일한 성능을 낼 수 있다고 주장하며 해당 사실 여부에 대한 한바탕 확인 논란이 있었다. 이에 구글 브레인 개발에 참여했던 앤드류 응 교수가 엔비디아와 함께 직접 검증에 나섰는데, 놀랍게도 엔비디아의 주장은 사실로 드러났다.

심지어 비용도 훨씬 저렴했다. 구글 브레인 수준의 GPU 서버 구축 비용은 고작 3300만 원 수준이었으며, 전기 소모량도 4000와트에 불과했다. 엔비디아는 해당 내용을 2013년 국제기계학습학술대회(ICML)에서 공개했다.

이후 GPU는 AI 연산 부문에 있어 완전한 대세로 떠오르게 된다. 이 같은 움직임은 인공지능의 비전 인식 성능을 겨루는 글로벌 경진대회 이미지넷(ImageNet)에서도 확인할 수 있는데, 2013년 당시 참가 기관 중 일부는 여전히 GPU 대신 CPU를 사용하고 있었지만 논문이 공개된 이후 2014년 대회에서는 모든 참가 기관이 GPU를 사용한 것으로 알려졌다.

 

GPU와 CUDA, 엔비디아의 체질을 바꾸다

그런데, 그래픽카드 회사인 줄 알았던 엔비디아가 어떻게 갑자기 AI 분야에서 두각을 나타내게 된 걸까? 사실 '갑자기'는 아니다. 전 세계 GPU 시장의 독점적 사업자인 엔비디아는 GPU 기반의 범용 연산이 지닌 가능성을 일찍부터 알아보고 관련 기술 연구에 몰두해왔다. 그 결과가 2006년 공개한 ‘CUDA’ 병렬 컴퓨팅 플랫폼이다. 

CUDA 이전까지 개발자들에게 GPU 프로그래밍은 극히 소수만이 가능한 고급 기술에 속했다. CUDA는 이를 C/C++처럼 일반 개발자들에게도 익숙한 고급 언어와 문법으로 만들어 GPU 리소스에 대한 접근성을 크게 개선하며 관련 개발 생태계의 확장을 이끈 1등공신이다.

엔비디아는 10여 차례에 걸친 CUDA의 성능 개선을 통해 관련 생태계에 대한 지원을 지속했다. 그 결과 이젠 거의 모든 딥러닝 개발 프레임워크가 CUDA와 관련 라이브러리 ‘cuDNN’을 최우선으로 지원하게 됐으며, 이들은 사실상 GPU 기반 AI 개발의 표준처럼 인식되고 있다. 

다만 엔비디아가 단독 개발한 CUDA는 엔비디아의 GPU만 지원하는 식의 폐쇄성이 짙어, 이를 대신하기 위한 범용 GPU 연산 플랫폼 OpenCL이 등장하기도 했다. 이는 인텔처럼 주로 엔비디아와 경쟁 관계에 있는 기업들이 지원하곤 하지만 전체 딥러닝 프레임워크 지원 비중이나 성능은 CUDA와 비교해 상대적으로 낮은 편이다. 

한편, AI 시장에서 핫플레이어로 주목받게 된 엔비디아는 더이상 자신들을 GPU 개발 기업이라고 부르는 대신, 'AI 컴퓨팅' 기업으로 불러주길 바라고 있다. AI 시장에서의 주도권을 놓치지 않기 위해 아예 기업 체질을 바꾸고 있는 셈이다.

AI 컴퓨팅 기업이 된 엔비디아 (자료=엔비디아 공식 홈페이지)
AI 컴퓨팅 기업이 된 엔비디아 (자료=엔비디아 공식 홈페이지)

엔비디아와 AI는 아직 일반인에게 다소 낯설게 들릴 수 있지만, 실제로 딥러닝과 관련된 각종 GPU 플랫폼을 가장 폭넓게 개발하고 관련 개발자 양성에 투자하는 기업이 엔비디아이니 'AI 컴퓨팅 기업'이라는 말은 크게 틀리지 않다. 아래는 딥러닝 개발과 서비스에 활용할 수 있는 엔비디아의 제품 포트폴리오인데, 고성능 그래픽카드부터 슈퍼컴퓨터, GPU 기반의 AI 가속기까지 거의 모든 분야에 투자하고 있음을 확인할 수 있다. 

자료=엔비디아
자료=엔비디아

GPU ‘반짝 천하’, 무한 경쟁의 시작

그러나 엔비디아와 GPU가 인공지능 시장을 전부 집어삼켰다고 볼 순 없다. 잠시 ‘그럴 뻔’도 했지만, 최근 들어 FPGA와 ASIC 반도체가 AI 시장에서 GPU의 점유율을 맹추격하는 중이다.

컨설팅 전문 업체 ‘딜로이트(Deloitte)’는 지난 2016년 전 세계 AI 프로세서 판매량을 약 10만 개로 추산했었는데, 당시엔 이 중 대부분이 GPU 기반이었다. 하지만 불과 2년이 지난 2018년에는 GPU 프로세서 50만 개, FPGA와 ASIC는 각 20만 개와 10만 개가 판매되며 두 반도체의 점유율이 GPU의 절반가량을 따라잡은 것으로 나타났다. 

FPGA(Field Programmable Gate Array)는 ‘프로그래밍 가능한 반도체’ 정도로 표현할 수 있다. ASIC(Application Specific Integrated Circuit)은 ‘주문형 반도체’다. 둘 모두 GPU처럼 인공지능 연산에 특화된 성능을 보일 수 있도록 맞춤 제작할 수 있는 특수목적 반도체에 속한다. 

FPGA의 경우 프로그래밍이 가능한 장점을 활용해 필요에 따라 회로를 조금씩 수정해 사용할 수 있으며, ASIC은 설계 변경이 불가능한 대신 특정 시스템에 가장 빠르고 최적화된 형태의 개발이 가능하다는 장점이 있다.

여담이지만 비트코인을 비롯한 암호화폐 채굴 광풍이 일었던 2017년~2018년에도 암호화폐 채굴에 필요한 반복 계산에 GPU가 효과적이란 사실이 알려지며 한때 특정 그래픽카드가 전문 채굴 업체에 의해 ‘싹쓸이’됐던 시기가 있었다.

테크월드 9월 22일자 기사
테크월드 9월 22일 기사 中

하지만 지금 규모가 좀 있다는 채굴 업체는 대부분 GPU 대신 직접 주문 제작한 ASIC 채굴기를 사용한다. AI와는 조금 다르지만 FPGA나 ASIC이 가격과 범용성을 앞세운 GPU의 왕좌를 계속해서 위협할 수 있다는 반증이기도 하다. 심지어 이들은 GPU의 고질적인 단점인 발열과 전력 소모 면에서도 앞선다.

반면 엔비디아는 아직 여유로운 모습이다. FPGA나 ASIC의 장점은 인정하지만 가격이나 범용성은 역시 GPU가 훨씬 뛰어나다는 입장이다. GPU의 단점을 극복하기 위한 노력도 지속하고 있다고 한다. 과연 5년, 10년 뒤에는 누가 시장을 장악하고 있을지 궁금해지는 싸움이다.

어쨌든 다시 GPU 이야기로 돌아와, 수년 전만 해도 고사양 게임 플레이를 위한 고가의 그래픽카드 정도로만 여겨지던 GPU의 이미지와 입지가 빠른 속도로 변화하고 있다는 사실은 이제 누구도 부정할 수 있는 흐름이다. 아마 앞으로도 GPU는 그래픽 처리 능력 그 자체보다는 GPU만의 특별한 연산 능력과 AI를 포함해 향후 새롭게 개척될 응용 분야들에서 더 큰 조명을 받게 될 것이다.

이젠 전 세계에서 가장 빠른 슈퍼컴퓨터도 CPU가 아닌 GPU를 사용한다. 특수 반도체의 도전을 받고 있긴 하지만 인공지능 시장에서 GPU가 그동안 쌓아 올린 기반도 당분간 쉽게 무너지진 않을 것으로 보인다.

과거 CPU가 주도하던 ‘무어의 법칙’이 멈춰버린 세상, 새롭게 부상한 GPU는 향후 컴퓨팅 시장의 판도를 결정할 ‘메인 플레이어’다. 과연 GPU가 주도하는 기술 산업은 또 어떤 변화를 맞게 될까? 이후를 기대해본다.