엔비디아 AI 이야기 커버 개념 그래픽

<GPU와 개발 도구의 관계를 표현한 커버 개념 그래픽입니다.>

엔비디아는 어떻게 AI 시대의 중심이 되었을까? — 게임용 GPU에서 개발자의 생태계까지

게임 화면을 더 실감 나게 만들던 반도체가, 어느새 사람의 질문에 답하는 AI 뒤에서 일하고 있습니다. 화면 속 빛과 그림자를 계산하던 회사는 어떻게 전혀 다른 무대의 중심에 서게 되었을까요?

앞선 SK하이닉스 이야기에서는 HBM [1]을 살펴봤습니다. 계산 장치가 필요한 데이터를 제때 받도록 돕는 메모리였지요. 이번에는 그 데이터를 받아 계산하는 쪽으로 시선을 옮겨보겠습니다. 주인공은 엔비디아입니다.

그런데 이 회사를 이해하려면 반도체 사진만 봐서는 부족합니다. 칩 위에서 돌아가는 프로그램, 그것을 만드는 개발자, 여러 장비를 묶는 연결 기술까지 함께 보아야 합니다. 비싼 장비를 갖추는 것과 그 장비로 일을 완성하는 것은 다르기 때문입니다.

이야기의 실마리는 간단합니다. 엔비디아는 계산 능력을 팔면서, 그 능력을 사람들이 사용할 수 있는 방법도 함께 쌓아 왔습니다. 이제 게임 화면에서 출발해 AI 데이터센터까지 그 길을 따라가 보겠습니다.

01 / 익숙한 출발점
게임 속 풍경에는 계산이 숨어 있다

게임에서 시점을 돌리면 건물이 다르게 보입니다. 빛이 움직이면 그림자도 달라지고, 화면 속 물체는 계속 새로운 모습으로 그려집니다. 우리 눈에는 하나의 장면이지만 컴퓨터에는 처리해야 할 수많은 작업입니다.

이런 그래픽 작업을 돕기 위해 발전한 것이 GPU [2]입니다. 여기서 중요한 특징은 여러 계산을 나누어 동시에 처리하는 능력입니다. 하나의 일을 얼마나 영리하게 처리하는지도 중요하지만, 비슷한 형태의 많은 일을 얼마나 함께 처리할 수 있는지도 성능의 한 축입니다.

엔비디아의 공식 연혁은 그래픽 제품에서 출발해 GPU 컴퓨팅과 AI로 영역을 넓힌 과정을 보여줍니다. 훗날의 AI 사업은 과거의 그래픽 기술과 완전히 끊어진 이야기가 아니었습니다. 계산을 나누어 처리하는 능력이 다른 문제를 만난 것입니다.

출처 · 엔비디아 공식 기술·제품 연혁 원문 보기 ↗

요즘 결과를 알고 보면 이 전환이 당연해 보일 수 있습니다. 하지만 ‘게임에 도움이 되는 반도체’와 ‘과학자와 연구자가 쓰는 계산 도구’ 사이에는 넘어야 할 문턱이 있습니다. 다른 용도로 쓸 수 있다는 사실과, 사람들이 실제로 그렇게 쓰게 만드는 일은 같지 않습니다.

이 차이가 뒤에서 등장할 CUDA를 이해하는 열쇠입니다. 엔비디아의 이야기는 GPU가 잘하는 일을 찾는 과정이면서, 그 능력에 사람들이 접근할 수 있도록 길을 넓힌 과정이기도 합니다.

02 / 계산의 방식
💡 CPU와 GPU, 누가 더 똑똑할까?

CPU [3]와 GPU를 비교할 때 흔히 ‘어느 쪽이 더 빠른가?’부터 묻습니다. 하지만 하는 일의 성격을 빼면 대답이 어렵습니다. 공구함에서 드라이버와 전동 드릴 중 무엇이 더 좋은지 묻는 것과 비슷합니다.

이해를 위해 작업실을 떠올려 보겠습니다. 순서에 따라 판단을 바꿔야 하는 복잡한 일을 조율하는 능력이 필요할 때가 있습니다. 반대로 비슷한 계산을 아주 많이 나누어 처리하는 능력이 중요할 때도 있습니다. CPU와 GPU는 이런 요구에 대응하는 설계의 무게중심이 다릅니다.

GPU가 강점을 보이는 병렬 처리 [4]는 일을 여러 갈래로 나누어 함께 처리하는 방식입니다. 다만 일을 나눌 수 있어야 하고, 나눈 결과를 모으는 부담도 고려해야 합니다. 사람을 많이 배치했다고 모든 작업이 그 인원수만큼 빨라지는 것은 아닙니다.

엔비디아의 CUDA 문서는 CPU와 GPU를 함께 쓰는 이기종 계산 모델을 설명합니다. 프로그램의 모든 부분을 GPU로 바꾸는 것이 아니라, GPU에 맞는 작업을 보내는 구조입니다. CPU도 병렬 작업을 할 수 있으므로 ‘CPU는 한 번에 하나, GPU는 여러 개’라고 딱 잘라 외우면 부정확합니다.

출처 · 엔비디아 CUDA 프로그래밍 가이드 원문 보기 ↗

독자가 기억할 핵심은 우열보다 역할입니다. 일을 잘 나눌 수 있는 계산이 많을수록 GPU의 장점을 활용할 여지가 커집니다. AI와 GPU가 만난 배경에도 이런 계산의 성격이 있습니다.

작업 조율과 많은 계산의 병렬 처리를 구분한 개념도

<CPU와 GPU의 설계상 무게중심을 이해하기 위한 개념도입니다. 실제 코어 수나 성능 비율을 나타내지는 않습니다.>

그림에서는 여러 종류의 데이터를 나누어 GPU 안에서 함께 계산하고, 그 결과를 게임 그래픽·영상 작업·AI 서비스에 활용하는 흐름을 볼 수 있습니다. 스마트폰의 AI 서비스도 서버의 GPU가 수행한 계산 결과를 받아 보여줄 수 있습니다.

GPU가 여러 계산을 함께 처리하고 게임 그래픽, 영상 작업, AI 서비스에 활용되는 흐름

<GPU의 병렬 처리와 활용을 연결한 개념 삽화입니다. 작은 블록은 계산을 나누는 구조를 표현하며 실제 코어 수나 제품 배치를 뜻하지 않습니다.>

03 / 두 번째 문턱
좋은 기계를 줬는데 사용법이 어렵다면?

성능이 뛰어난 기계를 연구실에 들여왔다고 생각해 보겠습니다. 그런데 자신의 연구에 맞게 쓰려면 기계의 작동 방식부터 세세하게 익혀야 합니다. 원하는 것은 실험 결과인데, 기계를 다루는 데 너무 많은 시간을 쓰게 됩니다.

새로운 계산 장치의 보급에는 이런 문제가 따라옵니다. 하드웨어가 잠재적으로 빠르더라도 기존 프로그램이 저절로 그 능력을 활용하지는 않습니다. 개발자가 작업을 표현하고 실행하고 오류를 찾을 방법이 필요합니다.

2006년 엔비디아가 소개한 CUDA [5]는 GPU를 그래픽 이외의 계산에도 활용하도록 만든 플랫폼과 프로그래밍 모델입니다. CUDA를 단순히 별도의 프로그래밍 언어 하나라고 생각하기보다, 개발자가 엔비디아 GPU로 계산을 수행하는 데 사용하는 기반으로 이해하면 좋습니다.

출처 · 엔비디아 CUDA 소개 원문 보기 ↗

작업실 비유로 바꾸면, 장비와 함께 공통 작업 방식과 사용 도구를 제공한 셈입니다. 누군가가 기계 내부를 처음부터 전부 알아내지 않아도 자신의 문제를 풀기 시작할 수 있도록 만드는 것입니다. 물론 전문 지식과 최적화 노력까지 사라지는 것은 아닙니다.

여기에는 중요한 사업적 차이가 있습니다. 새 제품을 한 번 판매하는 것과, 사람들이 그 제품을 이용해 계속 새로운 일을 하도록 만드는 것은 다른 종류의 관계입니다. CUDA는 후자의 가능성을 넓힌 선택으로 읽을 수 있습니다.

CUDA를 한 문장으로 이해하면

GPU라는 계산 장치를 개발자가 자신의 작업에 활용하도록 돕는 기반입니다. 칩의 능력과 실제 프로그램 사이를 연결합니다.

그림의 가운데에 있는 CUDA와 라이브러리는 별도의 반도체가 아니라 소프트웨어입니다. 프로그램이 GPU에 적합한 계산을 맡기고 결과를 돌려받도록 돕는 역할을 보여줍니다.

프로그램에서 CUDA와 라이브러리를 거쳐 GPU로 계산을 전달하는 흐름

<소프트웨어와 GPU의 역할을 단순화한 개념 삽화입니다. 모든 프로그램이 자동으로 빨라지거나 같은 경로로 실행되는 것은 아닙니다.>

04 / 준비의 시간
처음부터 챗봇 시장을 본 선택이었을까?

CUDA의 시작을 오늘의 챗봇 수요만으로 설명하면 시간을 거꾸로 읽게 됩니다. 당시에도 과학 계산과 여러 고성능 작업에서 더 많은 계산 능력을 필요로 했습니다. 이미 존재하던 계산 문제를 더 효율적으로 풀려는 흐름 속에서 GPU의 활용 범위가 넓어졌습니다.

엔비디아가 설명하는 가속 컴퓨팅 [6]은 적합한 작업을 전문적인 처리 장치에 맡겨 전체 작업의 효율을 높이는 방식입니다. ‘모든 계산을 같은 방식으로 더 세게 돌린다’보다는 작업의 특성에 맞는 장치를 활용한다는 생각에 가깝습니다.

출처 · 엔비디아 가속 컴퓨팅 설명 원문 보기 ↗

이때의 환경을 오늘의 결과와 구분하는 것이 중요합니다. 그래픽에서 축적한 능력을 다른 계산으로 확장할 수 있다는 기회는 있었지만, 지금과 같은 규모의 생성형 AI 사업이 보장되어 있던 것은 아닙니다. 미래의 성공을 과거의 확실한 계획처럼 서술하면 실제 선택의 어려움이 사라집니다.

따라서 ‘엔비디아가 AI의 미래를 전부 예언했다’는 말보다, GPU로 풀 수 있는 문제를 늘리고 개발자가 접근할 수 있는 기반을 먼저 마련했다는 설명이 확인되는 흐름에 가깝습니다. 훗날 새로운 수요가 나타났을 때 그 기반을 사용할 수 있었던 것입니다.

기술의 준비와 시장의 폭발 사이에는 시차가 있습니다. 어떤 도구는 처음 만들어질 때보다 새로운 사용자가 자신의 문제를 들고 찾아올 때 더 큰 의미를 갖게 됩니다. CUDA와 딥러닝이 만나는 지점이 그랬습니다.

05 / 눈에 보인 변화
2012년, 사진을 알아보는 연구가 보여준 것

컴퓨터에게 사진을 보여주고 무엇이 찍혀 있는지 구분하게 하는 일은 사람에게는 쉬워 보여도 기계에는 어려운 문제입니다. 조명과 각도가 달라지고 배경이 바뀌어도 같은 대상을 알아봐야 하기 때문입니다.

2012년 발표된 AlexNet 논문은 큰 신경망 [7]을 이미지 분류에 적용한 연구입니다. 논문에는 두 대의 엔비디아 GTX 580 GPU를 이용해 학습했다는 설명이 나옵니다. GPU가 게임 밖의 중요한 연구에 쓰인 사례를 구체적으로 확인할 수 있습니다.

출처 · AlexNet 원논문: ImageNet Classification 원문 보기 ↗

이 장면을 ‘GPU 두 개가 AI를 발명했다’고 읽으면 안 됩니다. 연구 방법과 데이터, 계산 자원이 함께 작동한 결과입니다. 특정 하드웨어만으로 연구 성과 전체를 설명할 수는 없습니다.

그럼에도 이 사례가 주는 메시지는 분명합니다. GPU는 새로운 연구를 실제로 실행하는 수단이 될 수 있었습니다. 추상적인 가능성이 아니라 논문과 결과로 확인할 수 있는 사례가 생긴 것입니다. 다른 연구자에게도 시도할 이유가 되는 종류의 변화입니다.

기업의 관점에서 보면 제품의 용도가 넓어지는 순간입니다. 게임을 즐기는 사람이 고객이었던 무대에 연구자와 개발자가 더해집니다. 같은 계산 장치가 다른 문제를 푸는 도구로 읽히기 시작한 것입니다.

06 / AI를 배운다는 말
학습과 추론은 어떻게 다를까?

AI가 배운다는 표현은 익숙하지만, 사람처럼 책 내용을 이해하고 외운다는 뜻으로 받아들이면 오해가 생깁니다. 여기서는 데이터를 이용해 모델 내부의 수많은 수치를 조정하는 학습 [8]을 뜻합니다. 원하는 결과에 가까워지도록 계산을 반복하는 과정입니다.

학습된 모델을 사용해 새 입력의 결과를 구하는 것은 추론 [9]입니다. 질문에 대한 문장을 생성하거나 새 사진을 분류하는 일이 여기에 해당합니다. 두 과정 모두 계산이 필요하지만, 필요한 자원과 응답 조건은 작업마다 다를 수 있습니다.

연습 문제로 풀이 방식을 조정하는 단계와, 준비된 방식으로 새 문제의 답을 구하는 단계를 구분해 생각해 볼 수 있습니다. 다만 이것은 이해를 돕는 비유입니다. 모델이 사람과 같은 방식으로 학습하거나 이해한다는 의미는 아닙니다.

엔비디아의 딥러닝 소프트웨어 자료는 모델을 만드는 도구와 학습·추론을 지원하는 구성 요소를 함께 소개합니다. AI가 실제 서비스가 되려면 처음 모델을 준비하는 일뿐 아니라 이후에 그것을 반복해서 실행하는 일도 필요하기 때문입니다.

출처 · 엔비디아 딥러닝 소프트웨어 설명 원문 보기 ↗

그래서 AI 수요를 읽을 때도 ‘큰 모델을 한 번 만들었다’에서 멈추면 부족합니다. 그 모델을 얼마나 많은 사람이, 어떤 응답 속도와 비용 조건에서 쓰는지도 봐야 합니다. 개발의 성공과 운영의 경제성은 이어져 있지만 같은 질문은 아닙니다.

사진 분류로 보면 차이가 더 분명합니다. 위쪽은 여러 사진으로 모델 내부의 수치를 조정하는 학습, 아래쪽은 준비된 모델로 새 사진을 분류하는 추론입니다.

사진 데이터로 학습한 모델이 새 사진을 고양이로 분류하는 학습과 추론의 차이