GPU와 셰이더 인공지능 시대의 두뇌
[김국현의 만평줌] 제67화
엔비디아의 주가가 아름답다. 요즈음 이렇게 지수 함수적 상승 곡선을 그리는 회사가 또 있을까 싶다. 연초에만 주식을 샀어도 지금 3배의 수익이 났을 것이다.
엔비디아는 요즘 대개의 PC마다 들어 있는 바로 그 그래픽 칩, GPU를 만드는 회사다. 게임방 스펙에서나 중요했던 이 칩이 요즘 인공지능 덕분에 주목을 받고 있다. 딥러닝 플랫폼에서 자율 주행차 시스템까지 새로운 시대의 총아가 되었다. 그래픽 칩과 인공지능이 무슨 관계가 있을까?
3차원 입체는 엄청나게 작은 삼각형(또는 다각형, 폴리곤)들을 연결해서 그려낼 수 있다. 그 삼각형마다 색을 입히거나 피부 또는 금속과 같은 무늬나 질감, 즉 텍스쳐를 입히면 그럴듯한 입체 영상이 만들어진다.
그런데 단순히 삼각형 수만 생각해 봐도 처리해야 할 업무는 산더미다. 영화의 CG라면 녹화니까 세월아 네월아 밤새 처리(렌더링)하면 되지만, 게임의 경우라면 초당 수십 컷을 쉴 틈 없이 실시간으로 새롭게 그려내야 한다. 잔잔한 물결이나 불타오르는 장면을 표현하기 위해서는 각 꼭짓점의 위치를 물리법칙에 따라 조율해야 한다. 빛이 만들어내는 그림자나 눈부심도 표현해야 한다. 이 산적한 일거리를 CPU 혼자 처리할 수도 있겠지만, 그랬다가는 그림만 그리다가 새벽이 올 것이다. 게임을 게임답게 하기 위한 다른 계산을 할 여력이 없어진다.
그래서 우리는 그래픽 카드를 사다 꼽는다. GPU가 일할 차례다. CPU가 인물의 위치를 잡고 이를 구성하는 삼각형 점들을 GPU에게 넘겨주면 GPU는 이들을 재빨리 픽셀로 그리고 색칠을 해 입체를 만들어낸다. 여기에는 음영처리와 관련이 있다는 의미에서 ‘셰이더(Shader)’라는 이름이 붙게 된, 프로그램이자 하드웨어 연산장치가 등장한다. 셰이더의 수는 우리가 지불한 금액에 따라 수백, 수천 개에 이른다. 이들이 동시에 우르르 가동되며 화면을 가득 채운 폴리곤을 조정하고 색을 입힌다.
대규모 병렬처리가 일어나는 것이다. CPU는 다양한 일을 차례차례 하는 데는 강하지만 병렬처리는 약하다. CPU의 코어 수는 대개 2~4개다. 반면 GPU는 보급형도 수백 개의 셰이더 코어를 돌리고 있다.
이들 셰이더는 그간 그림만 그리고 있었지만, 가만히 생각해 보면 그림을 그리기 위해서 삼각함수나 행렬과 같은 복잡한 계산을 칩 위에서 고속으로 이뤄내고 있었다.
이를 게임에만 쓰는 건 약간 아까운 일이라는 생각을 한 사람들이 여럿 있었다. 연산 셰이더가 마련되면서, GPGPU, 즉 범용(General Purpose) GPU의 시대가 열린 것이다. 20세기 말의 일이다. 하지만 여전히 그래픽 카드에게 일반적 계산을 시키는 일은 쉽지 않았다. 2000년대 초 스탠포드 박사과정 학생이 보편적 언어인 C를 이용하여 이들을 범용적으로 활용할 수 있는 모델을 발표 화제를 모았고, 엔비디아는 이 인재를 전격 스카우트한다. 그래서 등장한 것이 CUDA다. CUDA는 등장 10주년인 올해 바로 지금 딥러닝 기반 인공지능 열풍의 중심에 서 있다.
이런 이야기를 하다 보면 90년대, PC가 지금의 스마트폰처럼 뜨거웠던 시절이 생각난다. GPU란 단어는 없었고, 그래픽 가속기(Accelerator)라는 말만 있었다. 부두니 미스틱과 같은 카드가 유명했었지만, 세기말 엔비디아는 지포스 시리즈를 내놓으면서 이들을 컨슈머 시장에서 밀어내 버린다.
이때 엔비디아는 GPU라는 이름을 만들어낸다. CPU와 쌍벽을 이루는 필수템으로서 자리를 잡게 된 계기다. 품질도 뛰어났지만, 마케팅 능력이 남다르다고 느꼈던 기억이 난다. 그런데 그때도 주식은 사지 않았다. 오늘 주가는 그 시절로부터 50배가 뛰어 있었다.