메모리 가격이 계속 비싼 이유, 엔비디아 성공스토리 쉽게 써보기

‌AI개발은 아니고 플랫폼 현업입니다.

최대한 아주아주 쉽게 설명해보겠습니다.


Deep learning을 통한 자연어 모델은 옛날부터 꾸준히 나왔지만, 지금의 AI를 있게 한 결정적인 한방은 "attention is all you need"라는 2017년에 나온 논문이었습니다.

기존에는 순환신경망을 통해 단어를 한개씩 입력받아왔다면, 저 논문을 통해 전체 입력을 동시에 병렬로 처리 하고 모든 단어들의 관계를 계산해서 연관성을 찾아냈죠.

최초로 시장을 놀라게 한 GPT의 T가 바로 저 논문에서 파생 된 Transformer 구조입니다.


이 이후 등장한 거의 모든 대규모 언어 모델들은 전부 이 Transformer구조라고 보시면 됩니다.


자 그러면 저 위에 말한대로 전체 입력 병렬 처리가 가능해 지니, 저 처리에 필요한 하드웨어들이 하나씩 등장합니다.

뭔가 엄청나게 복잡한 연산이 필요할 거 같지만, 그렇지 않습니다.

엄청나게 많은 숫자의 단순한 연산이 필요해집니다.


CPU는 이 작업을 하기에는 너무 똑똑합니다.

2+3, 4+5... 뭐 이런 단순 계산 100만개를 100명의 대학생이 푸는거와, 10000명의 중학생이 푸는거, 뭐가 더 빠를까요? 당연히 10000명의 중학생이 빠릅니다.

GPU가 바로 여기 최적화 되어있습니다.

조금 추가적으로 말하면 벡터 작업에 최적화 되어있다고 하면 되겠죠.

즉 CPU는 복잡한 계산을 알고리즘을 통해 연산이 빠르고, GPU는 단순 계산 병렬화 최적화.

그리고 이 단순 병렬 계산 최적화가 nVidia가 가장 최적화 되어있던 부분이었죠.

여기서 더 나아가서 구글의 경우 다른 작업없이 딱 AI연산만 가능한 TPU를 임대/판매중입니다.

요즘 AI용으로 나오는 GPU는 말이 GPU지 실제로는 Tensor core를 대부분으로 가지고 있습니다. 칩셋을 범용으로 가져가나 특정 ASIC으로 가져가나에 따라 GPU/TPU명칭이 바뀐다고 생각하시면 됩니다.


자 그러면 여기서 메모리가 왜 비싸지는지가 나오겠지요?

일반적으로 모델의 명칭을 보면 뒷부분에 parameter 숫자가 붙어있습니다.

이 숫자가 일반적으로 모델의 크기라고 보면 되고, 기존에는 GPU에 붙어있는 메모리에 이 모델이 통으로 올라가야 했습니다.

CPU/RAM 채널을 통해 주고받는다면 연산속도가 너무 느리니, 모델은 통으로 GPU 메모리에 올려놓고, 코어들에게 필요한 정보를 공급해줘야 하지요.

여기서 일반적으로 중저가 GDDR6/7 메모리들이 있고, 하이닉스가 참 잘하는 HBM은 이름 (High Bandwidth Memory)이 보여주듯이 더 큰 대역폭을 사용해 이 속도를 올립니다.


여기서 잠깐 모델을 사용해서 추론을 하는 방법을 쉽게 설명을 하자면, 크게는 2가지로 나누어 줄 수 있습니다.

첫번째 토큰을 생성하는 prefill단계가 있고, 그 이후에 토큰을 생성하는 decoding단계가 있습니다.

예를들어 우리가 GPT에게 엠팍은 어떤 사이트야? 라고 물어본다면, 우리가 한 질문 문장 전체가 병렬 연산이 됩니다.

이 연산은 보통 정해진 규칙을 따르고, 여기서 GPU의 강점이 발휘됩니다.

아주 쉽게 예를 들자면, a x b + c 라는 계산을 할때 씨피유는 하나씩 하지만, GPU는 하드웨어적으로 숫자 3개만 넣으면 바로 저 문제에 답이 나오도록 설계되어있는거죠. 

이때는 메모리 대역폭보다는 GPU의 연산속도가 훨씬 중요합니다.

이 단계가 끝나면, 이제 모델은 답변을 생성하기 시작하는데, 이제부터는 모델 뿐 아니라 사용자와 모델이 대화하는 모든 단어(토큰이 정확하지만 단어라고 하겠습니다)들을 또 따로 저장합니다.

그리고 한단어씩 답변을 생성하기 시작합니다.

엠팍은 야구사이트고 어쩌고 저쩌고.....

여기서 모델이 처음에 "엠팍은" 이라고 대답할때까지의 시간을 TTFT라고 합니다 (첫 토큰까지의 시간). 그리고 이제부터는 "야구" "사이트" "이고".. 어쩌고 저쩌고 하면서 한 단어씩 생성을 하고,

각각의 단어를 생성할때 이전에 저장한 모든 단어들을 모델에 넣어 돌리고, 다음단어를 저장하고, 새로 저장한 단어를 포함한 전체 단어를 다시 모델에 넣어 돌리고를 반복합니다. 대답이 끝날때까지.

이때는 메모리 대역폭이 훨씬 중요하고 GPU 코어 자체의 사용률은 낮아지는 경향이 있습니다.

근데 여기서 말했듯이, 사용자가 한 말, 그리고 AI가 대답한 답변.. 이 모든 데이터는 계속 메모리에 KVCache라는 영역에 쌓입니다.

대화가 길어지면 길어질 수록 이 캐시가 기하급수적으로 늘어나죠.

이걸 처리하려면 GPU한개의 메모리는 턱없이 부족합니다. 여러개의 GPU를 계속 묶어서 메모리 용량을 늘려줘야 하죠.

그 비싸다는 엔비디아 gpu (B200/B300이런 애들은 개당 몇억씩 합니다)가 토큰과 어떤 모델을 사용하는지, 그리고 얼만큼을 캐싱할지에 따라 다르지만 (제미나이, Chatgpt등은 정확히 얼마나 쓰는지 공개 안합니다) 메모리들이 계속 소비되는거죠.

최적화는 계속 되지만, AI발전이 더 빠릅니다. 이게 무슨 이상한 이야기인가? 하실텐데,

여기서 최적화는 저 메모리 관리라던지, 캐시 사이즈 최적화등을 말하고, AI발전은 AI가 하는일이 점점 복잡해진다는걸 말합니다.

예전에 일반적으로 우리가 챗봇과 대화하는건 몇천개의 단어(토큰)을 썼지만,

요즘 에이전틱 혹은 오토노머스 AI는 하나의 복잡한 코딩작업등을 할때 많게는 수백만개의 토큰을 사용합니다. 그만큼 메모리도 더 많이 사용되는거죠.


개발자들이 짤리고, 단순 작업이 없어지고, 전문직 인력이 사라진다..


이 말은 이만큼 없어진 사람만큼을 GPU와 메모리가 대체해야 한다는 말입니다.

특히나 개발자들의 경우, 초급 중급 고급으로 나눴을때, 초급 개발자들은 다시 사람을 쓰는게 AI비용에 비해 저렴하다는 말이 나오고 있습니다.

점점 AI는 더 많이 사용될꺼고, 메모리도 동일하게 소모될껍니다.

AI가 할수있는 작업이 다양해지고 복잡해 질 수록, 아이러니하게도 이걸 실제로 연산해야하는 부분 보다는 이로인해 생기는 엄청난 데이터를 캐싱할수 있는 메모리가 더 필요해지고 있습니다.


그럼 왜 이 꿀밭을 nVidia혼자 다 해먹는 느낌이냐?

그냥 그동안 개고생하면서 만든 생태계와 소프트웨어 최적화입니다.

냅다리 AI연산 말고는 아무것도 못하는 TPU, AMD가 이를 갈고 만든 GPU들... 하드웨어적으로 오히려 nVidia보다 오버스펙인데도 불구하고,

실제 사용을 해보면 그 성능이 안뽑아집니다.

Cuda가 정말 최적화 1황이고, 거기에 더해 이 GPU들을 사용해서 실제 연산을 하는 대부분의 소프트웨어들이 nVidia에 최적화 되어서 나오거든요.

장기적으로 AMD가 가능성이 높아보이지만 (주식 찡긋 찡긋~), 당분간은 nVidia독주를 막기 힘들어요.


요새 많은 CPU벤더들이 npu 붙인다 내장 GPU코어 붙인다, intel amx등의 기술로 CPU가 GPU일을 하게 만들겠다, 애플은 대역폭하나로 쑈부보겠다 별짓을 다하지만,

실제로 성능치를 뽑아보면 테라플롭으로 보던 텐서옵으로 보던 HBM도 아니고 DDR램 쓰는 중가형 nVidia 카드 하나 성능의 반의 반도 못내는게 현실이죠.


왜 결론이 주식으로 흐르는지는 저도 모르지만,


삼전 하이닉스 주주분들 저와 함께 버티고 버텨보시죠... ㅠㅠ


댓글

얼마에 물리셨길래..

3대50 소나타 그렌저 제네시스 포르쉐까지 갔다가 이제는 부동산에 비교해야하지 않나 싶습니다.

삭제된 댓글입니다

세상은 님 생각처럼 단순하지않아요

낭만폭풍 뭔 개 소리야?

낭만폭풍 단순...,,???

미국이 재정적자 해결하려면 AI 올인해야죠

설명 정확하네요 현직 ㅇㅈ 합니다

저는 잘 모르지만 아이가 공부하는 분야라 걱정반 근심반이지만 재미있게 잘 읽었습니다 그나저나 저도 삼닉 제발ㅎㅎ 손실이 부동산만큼 나신 건 아니시길 저는ㅜ