질문답변

엔비디아가 ‘넘사벽’인 이유...“다들 ‘쿠다’만 찾아” [세상의 모든 기업: 엔비디아②]

페이지 정보

작성자 김지훈 작성일24-03-20 23:17 조회4회 댓글0건

본문

마이크로소프트·메타·오픈AI 등 글로벌 빅테크들이 AI(인공지능) 반도체 개발에 나서고 있지만, 이 분야에서 엔비디아의 독주는 상당 기간 이어질 전망이다. AI 반도체로 쓰이는 엔비디아의 ‘그래픽처리장치(GPU)’ 성능이 뛰어나서만은 아니다. AI 개발자들이 프로그래밍을 위해 필수로 사용해야 하는 도구가 바로 엔비디아의 ‘쿠다(CUDA)’이기 때문. 그리고 쿠다로 만든 프로그램은 엔비디아의 GPU에서만 돌아간다.
많은 AI 개발자들이 10년 넘게 쿠다를 활용해 프로그래밍 하다 보니 그동안 축적된 ‘코드’가 상당한 수준이고, 이는 다시 개발자들에게 ‘레퍼런스(참고자료)’가 된다. ‘쿠다 생태계’가 워낙 강력하다 보니 AI 반도체도 엔비디아의 GPU를 쓸 수밖에 없다. 이른바 ‘락인(Lock-in) 효과’다. 오죽하면 박정호 SK하이닉스 부회장이 이런 말까지 할까.
AI 반도체 관련 인재를 뽑으면 모두가 ‘엔비디아 GPU’와 ‘쿠다’를 쓰게 해달라고 요구한다. SK의 ‘사피온(SK그룹이 개발한 AI 반도체)’을 가지고 (AI 소프트웨어를) 개발해 달라고 요구하면 3배 이상의 시간이 필요하다고 말할 정도다. (2023년 2월15일 한림대 도헌학술원 개원기념 학술심포지엄 발언)
이런 쿠다는 어떻게 만들어졌을까. 언제부터 쿠다가 AI 프로그래밍에 활용됐을까. (아래 영상 참조)
■‘퀘이크’에 진심이었던 대학원생
쿠다 개발은 엔비디아가 세계 최초의 GPU ‘지포스256’을 출시한 1999년으로 거슬러 올라간다. 당시 온라인 멀티플레이를 지원하는 1인칭 슈팅게임(FPS) ‘퀘이크3’가 출시됐는데, 미국 스탠퍼드대 대학원생인 이안 벅(Ian Buck)은 지포스 32개와 8개의 프로젝터를 활용해 이 멀티플레이 게임을 즐겼다.
GPU는 3D 그래픽 처리(좌표 변환·픽셀 밝기)에 필요한 단순 연산(행렬 곱셈)을 수천 개의 코어가 동시에 처리(병렬 처리)한다. 이안 벅의 경우처럼 GPU를 많이 연결하면 게임을 더 빠르게 즐길 수 있다. 이안 벅은 2023년 뉴요커와의 인터뷰에서 이렇게 말했다. (대학원 시절 만든 32개 GPU와 8개의 프로젝터는) 8K 해상도를 지원하는 최초의 게임 가속기였고 벽 전체를 차지했죠. 아름다웠어요.
GPU의 병렬 연산 능력을 게임 외에 다른 분야에서도 활용할 수 있지 않을까. 이안 벅은 미국 국방연구기관인 다르파(DARPA)의 지원을 받아 GPU의 연산력을 활용하는 방법을 연구한다. 이안 벅이 엔비디아에 입사해서 2007년에 발표한 게 바로 ‘쿠다’다.
당시만 해도 게임을 제외한 대부분의 프로그램이 중앙처리장치(CPU)의 명령어 세트를 사용했다. CPU는 복잡한 연산을 빠르게 처리할 수 있지만 하나의 계산을 끝내야 다음 계산에 들어가다 보니 병렬 연산이 필요한 분야에서 쓰기에는 한계가 있었다. 쿠다는 다양한 분야의 프로그래머들이 CPU가 아닌, GPU를 활용해서 프로그램을 돌릴 수 있도록 만든 소프트웨어다. 일반적으로 쓰이는 ‘C’ 같은 프로그래밍 언어만 알면 누구나 GPU 자원을 활용해 프로그래밍을 할 수 있도록 만들었다.
엔비디아가 노린 건 기초과학 분야였다. 과학에서는 병렬 연산이 많이 활용된다. 물이나 공기의 흐름이 어떻게 달라지는지 계산하는 ‘유체 계산’, 우주에서 각각의 별에 작용하는 힘의 방향과 강도를 구하는 ‘중력 다체 계산’ 등에 GPU가 활용될 수 있다.
제가 만난 국립대만대학교의 한 양자화학자는 선반에 지포스 그래픽카드 여러 개를 놓고 쓰고 있었죠. 그가 제게 ‘나만의 개인용 슈퍼컴퓨터를 만들었다’고 하더라고요. 젠슨 황 엔비디아 CEO의 말이다.
■지금의 ‘킹비디아’를 만든 사건
당시만 하더라도 쿠다와 GPU가 AI 분야에서 활용될 수 있으리라 생각했던 사람들은 거의 없었다. 지금이야 AI를 프로그래밍할 때 인간의 신경망하고 유사하게, 여러 층의 인공신경망(합성곱 신경망)을 만들면 AI가 인간처럼 스스로 학습할 수 있다는 ‘딥러닝’이 당연한 것처럼 여겨지지만, 2010년대 초반에는 그렇지 않았다.
많은 학자가 AI는 스스로 학습할 수 없으며, AI에게 일을 시키기 위해서는 인간이 일일이 규칙을 입력해야 한다고 생각했다. 딥러닝을 연구하는 학자들은 학계에서 인정받지 못했다.
2012년 AI 학계를 뒤흔든 사건이 벌어진다. 컴퓨터 프로그램을 이용해서 약 120만 장의 이미지를 천여 개의 카테고리로 정확하게 분류하는 ‘이미지넷 챌린지’가 미국 스탠포드대학에서 열렸는데, 이 대회에서 제프리 힌튼 토론토대 교수팀(제프리 힌튼, 일리야 수츠케버, 알렉스 크리제브스키)이 만든 AI ‘알렉스넷(AlexNet)’이 84.7%의 정확도로 우승했다. 앞서 열린 1회(2010년), 2회(2011년) 대회에서 우승한 프로그램의 정확도가 각각 72%, 74% 수준이었던 것에 비하면 상당한 발전인데, 알렉스넷은 다른 프로그램과 달리 ‘딥러닝’이 적용됐다. 이때부터 딥러닝은 AI의 주류로 발돋움하게 된다.
알렉스넷을 프로그래밍할 때 사용된 게 엔비디아의 ‘쿠다’였다. 제프리 힌튼의 제자이자 프로그래머인 알렉스 크리제브스키가 쿠다로 알렉스넷을 프로그래밍한 뒤, 자신의 집에 인스타그램 팔로워 구매 엔비디아의 ‘지포스 GTX 580’ GPU 2개를 돌려 알렉스넷을 학습시켰다. 당시 딥러닝 진영은 딥러닝 훈련에 GPU의 병렬 연산을 활용하면, 듀얼 CPU를 이용했을 때보다 최대 70배 빨라진다는 연구 결과(아래 참고자료 8번)를 갖고 있었다.
뉴욕타임스의 IT 전문기자인 케이드 메츠는 자신의 책 에서 이미지넷 챌린지에서 알렉스넷의 우승이 의미하는 바를 이렇게 전했다.
알렉스넷(의 우승)은 딥러닝에만 전환점이 된 것은 아니었다. 전 세계 기술 산업 또한 알렉스넷으로 인해 대전환을 맞이했다. (중략) (알렉스넷은 인공신경망의) 성공을 위해서는 GPU가 꼭 필요하다는 사실을 보여줬다.
GPU를 활용하면 CPU를 사용했을 때보다 학습 시간을 크게 단축할 수 있었다. 그런데 제프리 힌튼 교수팀은 왜 엔비디아의 GPU를 썼을까. 당시 엔비디아의 경쟁사인 AMD도 GPU를 내놓고 있었는데 왜 AMD의 것은 쓰지 않았을까.
바로 쿠다 생태계 때문이다. 엔비디아의 쿠다를 활용하면 엔비디아의 GPU를 연산장치로 사용하는 AI 프로그램을 쉽게 만들어낼 수 있었다. AMD의 GPU는 미국 크로노스 그룹이 공개한 오픈소스인 ‘오픈CL(Open Computing Language)’을 지원하는데, 오픈CL로 쿠다를 넘어서는 건 불가능에 가깝다.
알렉스넷 우승 이후 제프리 힌튼 교수팀(제프리 힌튼, 일리야 수츠케버, 알렉스 크리제브스키)은 구글에 합류했다. 구글에서 나온 일리야 수츠케버는 2015년 샘 알트먼과 함께 오픈AI를 설립하고 GPT 개발을 주도했다. 일리야 수츠케버가 거대언어모델인 GPT3를 학습시킬 때도 엔비디아의 고사양 GPU인 ‘A100’ 1만 개가 사용됐다.
현재 AI 훈련·추론용으로 쓰이는 엔비디아의 최첨단 GPU인 H100은 비싼 가격에도 불구하고 빅테크들이 싹 쓸어가서 없어서 못 파는 상황이다. 현재 엔비디아 주가가 고공행진 하는 것도 AI 시대가 본격화한 이상, 엔비디아의 GPU와 쿠다가 앞으로도 계속 사용될 수밖에 없다고 믿는 사람들이 많다는 뜻이기도 하다. 엔비디아의 가장 큰 업적을 꼽으라면? 누구나 쉽게 GPU의 병렬 연산을 활용할 수 있는 길을 열었다는 점이다. 근데 엔비디아의 앞에는 꽃길만 있을까. 이건 다음 편에서.
경향신문 공식 유튜브 채널 ‘경향티비’의 <세상의 모든 기업>에서는 엔비디아에 대한 더 자세한 이야기를 들을 수 있다. 경향티비 <세상의 모든 기업: 엔비디아②> 영상 링크는

댓글목록

등록된 댓글이 없습니다.