기초 이론 편 · 5부 AI 모델은 얼마나 크고, 어떻게 줄일까? — 5.1
왜 내 컴퓨터에서는 큰 모델이 안 돌아갈까
곱셈 하나면 알 수 있습니다. 가중치 개수 × 숫자 하나의 크기 = 필요한 메모리.
2.1의 “요즘 소식”에서 가중치를 공개한 모델은 누구나 내려받을 수 있다고 했습니다. 그럼 내 컴퓨터에서 ChatGPT 같은 걸 돌릴 수 있을까요? 작은 모델은 되지만, 큰 모델은 대부분 안 됩니다. 이유는 메모리입니다.
모델을 돌리려면 가중치를 전부 빠른 메모리에 올려놔야 합니다. 다음 토큰 하나를 만들 때마다 가중치를 거의 다 써서 계산하니까요. 보통은 그래픽카드(GPU)의 메모리를 씁니다. 그리고 필요한 메모리는 곱셈 하나로 계산됩니다.
필요한 메모리 ≈ 가중치 개수 × 숫자 하나를 저장하는 크기
모델 크기(가중치 개수)와 숫자 하나를 저장하는 정밀도를 골라보세요.
모델 크기 (가중치 개수)
숫자 하나의 정밀도
- 그래픽카드 메모리 8GB
- 그래픽카드 메모리 16GB
- 그래픽카드 메모리 24GB
- 그래픽카드 메모리 32GB
해보면 보이는 것
700억 개짜리 모델을 16비트(숫자 하나에 2바이트)로 저장하면, 가중치만 약 140GB입니다. 소비자용 그래픽카드 중 메모리가 큰 편인 것이 24~32GB 정도라서, 한 장에는 어림도 없습니다.
80억 개짜리는 16비트로 16GB입니다. 16GB 카드에도 빠듯하게 안 들어갑니다. 그런데 4비트로 줄이면 4GB가 돼서, 8GB 카드에도 들어갑니다.
1조 개 규모는 4비트로 줄여도 500GB입니다. 개인 컴퓨터로는 어렵고, 데이터센터의 그래픽카드 여러 장이 필요합니다. ChatGPT 같은 서비스가 돌아가는 곳이 이런 곳입니다.
그래서 나온 방법들
- 작은 모델 쓰기: 수십억 개 규모의 작은 모델은 노트북에서도 돌아갑니다. 큰 모델만큼은 아니어도 일상적인 일에는 쓸 만한 경우가 많습니다.
- 숫자를 작게 저장하기(양자화): 위젯에서 16비트를 4비트로 바꾼 것처럼, 숫자 하나를 덜 정밀하게 저장해서 메모리를 줄입니다. 다음 장에서 자세히 보겠습니다.
- 쉽게 돌리는 도구: Ollama, llama.cpp 같은 프로그램이 모델을 내려받고 양자화된 버전을 돌리는 일을 쉽게 해줍니다.
더 깊게 · 수천억 개인데 일부만 쓴다고? (전문가 혼합)
요즘 큰 모델 중에는 전문가 혼합(Mixture of Experts, MoE) 구조가 많습니다. 모델 안에 “전문가”라고 부르는 작은 신경망을 여러 개 두고, 토큰마다 그중 몇 개만 골라서 계산합니다. 예를 들어 2.1에서 본 DeepSeek V4.1 Flash는 전체 가중치가 수천억 개지만, 토큰 하나를 계산할 때 쓰는 건 100억 개 안팎이라고 발표됐습니다.
이러면 계산량은 줄어서 빨라집니다. 하지만 어떤 전문가가 뽑힐지 모르니 가중치는 전부 메모리에 올려둬야 합니다. 그래서 이런 모델도 메모리 문제는 그대로입니다.
속도 이야기도 하나 더 하면, 토큰 하나를 만들 때마다 가중치를 메모리에서 계속 읽어와야 해서, 많은 경우 계산 속도보다 메모리에서 읽어오는 속도가 토큰이 나오는 속도를 좌우합니다.
정리
- 모델을 돌리려면 가중치를 전부 빠른 메모리에 올려야 합니다.
- 필요한 메모리 ≈ 가중치 개수 × 숫자 하나의 크기. 700억 개 × 2바이트 = 140GB.
- 그래서 큰 모델은 개인 컴퓨터에서 어렵고, 작은 모델이나 양자화로 줄인 모델을 씁니다.
이 장을 복사합니다. ChatGPT나 Claude 같은 AI에 붙여넣고 그대로 보내면 AI가 다 읽었다고 답합니다. 그다음 궁금한 걸 물어보세요.