본문 바로가기
IT

주식 초보를 위한 AI와 NVIDIA의 관계 알아보기

by goodsell 2024. 2. 18.

'NVIDIA 시가총액' 검색 결과

 

 

 2024년 2월 17일 기준 Google검색창에 NVIDIA 시가총액을 검색하면 나오는 화면입니다. 미국 현지 날짜로 2024년 2월 16일 기준으로, NVIDIA는 1.79조 USD를 기록하면서 나스닥 증권 시장에 시가총액 3위로 위치하고 있습니다. 게다가 무려 1달동안  165.60달러(29.54%)의 상승을 기록하면서, 연이은 상승세를 그리고 있습니다. 

 

 사실 이러한 NVIDIA의 주가 상승의 배경과 AI가 크게 관련이 없을지도 모릅니다. 하지만 현재 Bard, Llama, ChatGPT 등 유행하는 생성형 AI의 배경에는 NVIDIA가 있다는 것은 부정할 수 없는 사실입니다. 심지어 2024년 1월 17일에 발표된 삼성의 갤럭시 S24에는 온디바이스 AI(On-device AI)가 탑재되어 있어서 스마트폰 기기에서 독자적으로 AI 모델이 동작 가능하죠. 하지만 이러한 배경에도 역시 NVIDIA가 지대한 영향을 미치고 있습니다.

 

  그럴까요?

 

 이제는 전공자가 아니어도 공공연히 알려진 내용인데요, AI 모델을 학습시키기 위해서는 NVIDIA 그래픽카드(GPU)가 필요하기 때문입니다. 따라서, 현재까지 개발되어 서비스되고 있는, 우리가 흔히 '알고리즘'이라고 불리우는 서비스를 포함해서 대부분의 AI 모델들은 NVIDIA GPU를 사용해서 연구되고 개발되었다고 볼 수 있습니다.  

 

 그렇기 때문에 NVIDIA라는 회사가 AI 생태계에 미치는 영향력은 막대하다는 표현을 넘어서서 절대적이라고 표현될 수도 있죠. 

 

 

 그렇다면 AI는 어떻게 만들길래 NVIDIA GPU가 필요한걸까요?

 

아래 포스팅에서 기본적인 인공지능의 동작 원리를 아주 간단하게 설명해놓았습니다.

2024.02.18 - [분류 전체보기] - 비전공자를 위한 인공지능(AI)의 동작 원리

 

비전공자를 위한 인공지능(AI)의 동작 원리

ChatGPT? Genimi? CLOVA? LLAMA? 그런 인공지능이 어떻게 돌아가는데? 2024년에 들어서면서, 우리는 인공지능이 바로 피부로 와닿는 삶을 살고 있습니다. 우리의 인터넷 검색 기록과 최근에 관심있게 본

mingkyvv.tistory.com

 

 위 포스팅의 설명대로, 인공지능은 아주 간단한 수학식을 계산합니다. 바로 곱셈, 덧셈, 나눗셈이죠. 미분이 들어가긴 하지만 미분 또한 곱셈과 나눗셈의 연속이기 때문에 이렇게 표현할 수 있습니다.

 

 우리가 사용하는 일반적인 컴퓨터 뿐만 아니라, 저렴한 보급형 스마트폰을 사용해도 저러한 간단한 연산은 매우 매우 빠른 속도로 수행할 수 있습니다. 심지어 최근에 출시한 Intel CPU의 경우는 1초에 50억번 이상 0과 1을 오가며 동작할 수 있습니다. 이러한 연산 성능은 GPU의 연산보다 훨씬 뛰어납니다. 이러한 성능이 좋은 CPU로 AI 모델을 학습하면 성능이 낮은 GPU보다 더욱 높은 성능이 나와야 하는 것이 아닐까요?

 

 하지만 실제로는 그렇지 않습니다.

 

 그 이유는 간단히 얘기해서 CPU가 너무 똑똑하기 때문입니다.

CPU는 상당히 뛰어난 연산 성능을 갖고 있습니다. 아주 복잡한 연산도 훌륭히 수행해냅니다. 하지만, 간단한 연산의 경우에는 성능이 낮은 CPU 혹은 다른 연산장치와 비교 했을 때 극적인 차이가 발생하지 않습니다. 속담으로 비유하자면 닭 잡는데 소 잡는 칼이 필요 없다는 것과 같죠.

 

 인공지능의 연산은 단순한 연산을 아주 많이 수행하는 것입니다. 그리고, 이러한 연산은 순차적이지 않고 동시 다발적으로 처리해도 결과에 영향이 없게끔 구성도 가능하죠. CPU는 한번에 여러 연산을 수행하는 것 보다 어려운 연산을 연속적으로 처리하는데 최적화 되어있습니다.  GPU는 다르죠.

 

 컴퓨터 모니터에 얼마나 많은 픽셀(Pixel)이 존재하는지 알고 있나요? 일반적으로 사용하는 FHD(1920x1080) 모니터의 환경에서는 2,073,600개의 픽셀이 존재합니다. 약 200만개의 픽셀은 1초에 60번이나 값이 출력되어야 합니다. 즉, 1초에 124,416,000개의 픽셀에 대한 연산이 필요하다는 것입니다. 컴퓨터의 화면을 모니터에 출력하기 위해 간단한 픽셀 연산을 과도하게 많이 반복해야하기 때문에 GPU는 이러한 연산을 효율적으로 처리하기 위한 구조로 설계되었습니다. 이해하기 쉬운 방식으로 설명하자면 병렬로 이러한 값들을 연산합니다. CPU처럼 복잡한 수식을 빠르게 수행하는 것이 아닌, 쉬운 식을 여러명이서 나누어서 처리하기 때문에 이러한 비슷한 특징을 가진 AI 학습에 효율적으로 맞아 떨어지게 된 것입니다.

 

 여기까지 이해 했다면 다음 문제를 생각해봅시다.

 

왜 NVIDIA인가?

 

 GPU를 제조하는 회사는 NVIDIA뿐 아니라 대표적인 경쟁사인 AMD도 있고, 최근에는 Intel과 Apple까지 GPU 제품을 생산하거나 판매하고 있습니다. 하지만 이러한 기업들은 AI 학습용 GPU와 관련되었다는 기사는 찾아보지 못했는데요, 어째서일까요?

  CUDA라는 말을 들어보신 적이 있나요? NVIDIA에 관심이 있거나, 컴퓨터를 조금 만져본 분이라면 들어보셨을 텐데요, 바로 NVIDIA에서 GPU를 그래픽 처리 목적이 아닌 다른 목적을 위해 병렬 연산이 가능하도록 제공해주는 프로그래밍 도구라고 이해하면 됩니다. 이러한 CUDA는 GPU를 앞서 얘기한 간단한 연산의 병렬 수행을 가능하도록 해주는 도구인 것이죠. NVIDIA에서 만들고 지원하고 있습니다. 이러한 CUDA 위에서 동작하는 cuDNN이라는 라이브러리(Library, 프로그램 뭉치)를 통해 실제로 AI 학습과 구동에 필요한 연산을 GPU를 통해 수행하여 효율적인 동작을 구현할 수 있는 것이죠. 자세한 내용은 이해하지 않아도 됩니다. 우리는 그저,

 

"NVIDIA GPU를 사용하게 해주는 CUDA라는 툴을 AI 전용으로 사용할 수 있게끔 만들어 놓은 cuDNN이 AI 학습과 동작을 GPU를 통할 수 있게 해주며, 이 덕분에 GPU를 통해 CPU보다 빠른 연산 속도로 AI를 만들어낼 수 있게 되었다."

 

라는 내용으로 이해하면 됩니다. 

 

 

 

다른 GPU는 이런거 안 돼요?

 됩니다! 돼요. 가능합니다.

 

 그런데, 아직은 불편하고 사용하는 사람들이 적어요. 인공지능 모델의 거의 대부분이 Tensorflow(텐서플로)와 PyTorch(파이토치)를 통해 구현되었습니다. Tensorflow와 PyTorch는 자동차로 비유하자면, 현대차냐 아니면 기아차냐를 구분하는 정도의 차이 입니다. 같은 목적을 갖고 같은 동작을 하지만 내부적인 구조와 사용성에 미묘한 차이가 있습니다. 굳이 구분하자면, Tensorflow는 제품과 기업 등 산업적인 목적으로 사용되며 PyTorch는 연구 목적으로 사용됩니다. 최근에 와서는 이러한 구분에 의미가 크게 없어지고 있고 개인의 취향과 커뮤니티 등에 영향을 받고 있는 것으로 알고 있습니다만, 결과적으로 저 두개를 제외하고는 AI를 만들 수 있는 Framework(프레임워크, 프로그래밍을 위한 도구들의 모음)는 일반적으로 접하기 힘듭니다. 

 이러한 프레임워크들이 무슨 관계냐고요? 전부라고 해도 과언이 아닌, 인공 지능 연구, 개발자들 중 대부분이 이 두 개의 프레임워크를 사용하여 인공지능을 개발, 연구하고 있는데 이런 프레임워크가 CUDA, cuDNN을 사용하고 있기 때문입니다.

 

  AMD GPU를 사용하는 ROCm, 인텔의 XeGPU를 사용하는 oneDNN(이전의 MKL-DNN) 또한 Apple slicon에서의 Metal 혹은 coreML을 사용해서 Tensorflow와 PyTorch 사용이 가능합니다. 하지만, 이들은 모두 후발주자이기 때문에, 그 동안의 legacy한 시스템에 익숙해진 연구원이나 개발자들은 굳이 이러한 새로운 아키텍쳐를 만들어갈 필요가 없죠. 그리고 무엇보다 성능 차이가 많이 납니다. NVIDIA에서는 2024년 2월 기준, H100이라는 아주 강력한 AI 학습용 디바이스를 판매하고 있습니다. 다른 제조사는 단순히 GPU를 학습용으로 사용할 수 있게끔 만들어준 정도이지만, NVIDIA는 AI를 타겟으로하는 이러한 기기를 만들어서 판매하고 있습니다.

 

  H100 같은 제품은 1대당 가격이 수 천만원이나 하기 때문에 모든 기업이나 대학이 사용할 수 없습니다. 이러한 고성능 제품 이외에도 가격대별로 또, 성능별로 다양한 AI 학습용 제품들을 판매하고 있고, 심지어는 여러 대의 GPU를 설치하고 구동 할 수 있는 PC 혹은 서버를 구성하여 학습 속도를 더욱 높힐 수 있습니다. 또한 NVLink라는 부품을 통해 여러 대의 GPU를 마치 하나의 GPU로 동작하는 것 처럼 구현할 수 있기도 하죠. 이렇게 NVIDIA는 AI를 위한 환경을 구성하고 적극적으로 지원하고 마케팅하고 있습니다.

 

  AI를 전문적으로 하는 기업들은 이러한 NVIDIA GPU를 적게는 수 억원에서 많게는 수 천억원에 달하는 GPU를 구매합니다. 2023년 3분기에만 Meta와 MS가 각각 15만대의 H100을 구매한 것으로 추정되고 있는데요, 이는 각 회사당 약 9조원에 달합니다. 

 

 이 쯤 되면, AI를 연구하고 제품을 개발하고 싶은 후발 주자 기업이 NVIDIA의 GPU를 사용하지 않고 개발하고자 할까요? AI를 공부하고 싶어하는 학생과 AI 제품을 연구/개발 하고 싶어하는 기업이 관련된 정보가 상당히 많은 커뮤니티가 활발하며, 에러가 발생했을 경우 대처하기 쉽고, 성능이 확실히 보장 된 방식은 NVIDIA를 사용한 AI 연구 개발에 몰리기 때문에 이러한 현상이 발생한 것으로 보고 있습니다. 

 

'IT' 카테고리의 다른 글

비전공자를 위한 인공지능(AI)의 동작 원리  (0) 2024.02.18