머신러닝AI2026. 5. 23. 22:43

모델크기와 gpu메모리, 속도

 

 AI 분야 가까이에서 일하는 분들도 의외로 익숙치 않은 경우가 많다. 대체 모델 크기는 무엇이고 gpu와 속도에 무슨 영향를 미칠까?

 

1. 모델 크기, 예컨데 30B(30 billion, 300억)는 신경망의 각 가중치값 개수다. 모두 소수(float형)값이다. 이 값이 클수록 모델은 더 복잡한 상황을 인지하고, 계산량은 증가한다. 이 값들을 계속 곱해서 더하는 것이 신경망 추론 연산의 거의 전부이기 때문이다.

 

2. 이 소수(float값)를 나타내는 방식은 fp32,bf16,fp16,fp8,fp4등 다양한데, 결국 뒤 숫자가 중요하다. 한 소수값을 몇 bit로 저장하느냐이고, 이 값이 작으면 메모리 사용량이 줄고 전송속도도 빨라져 성능이 올라간다. 대신 계산 정확도는 희생한다. 통상 6bit를 무난한 정보 손실 한계로 본다. 그런면에서 fp32는 불필요하게 자세해서 잘 쓰지 않는다. 각 방식은 생각보다 복잡한 양자화(quantization)가 가능해서 세부사항은 chatgpt와 상의하시라. 기억해야 할것은 bit수가 용량/속도에 영향을 미친다는 것

 

3. 자 이제 실제 GPU ram 크기를 보자. 30B모델에 fp16이면 60gb크기다. fp8이면 절반이 되는 30gb다. 당신이 보유한 GPU의 메모리가 32gb면 30B fp8모델이 적재되기는 한다. (그렇다 이렇게 많은 소수값들을 곱해서 더해야한다.) 물론 부가작업 및 캐슁에 메모리를 더 써야해서 실제 작동에는 몇gb가 더 필요하다. 만약 fp4를 쓴다면? 15gb크기이므로 잘 적재되고 속도도 빠를 것이다. 그런데 성능은 떨어진다.

 

4. 이것을 복잡하게 만드는 것은 MoE(Mixture of Experts)방식이다. 이 방식은 문제의 종류에 따라 전체 신경망의 일부만 계산한다. gemma4 26B가  그렇다. 이 모델은 A4B라는 단서가 붙어있는데 4B만 활성화된다. gemm4 31B는 MoE가 아니라 원래 스타일이다. 전체가 활성화(계산)되며 이를 MoE와 구별해 dense 모델이라고 한다.

 

 이제 gemma4 26B A4B를 gpu에 적재하려는데 내 gpu는 24gb메모리를 가진다고 보자. 용량이 부족한가? fp8을 쓰면 부족하고 fp4를 쓰면 가능하다. 26B는 fp4로는 13gb이므로 나머지 추가 작업이나 캐슁을 생각해도 괜찮다. 그런데 성능은 쪼그라든다. 예컨데 ollama는 범용성을 위해 대부분 모델을 4bit양자화를 하는데 이것이 fp4라고 보면 된다. 그래서 제대로 하려면 좀 불안불안하다.

 

 gemma4 31B는 어떨까? fp4를 쓰먄 16gb용량이라 적재가 가능하다(실 사용은 간당간당하다). 그런데 26B대비 갑자기 엄청 느려진다! 활성화 신경망 크기가 gemma4 26B A4B보다 8배나 많기 때문이다. 예컨데, 어떤 LLM이 100B 모델인데 MoE라서 13B만 활성회되면 30B dense모델보다 속도는 더 빠르다. 연산량이 활성화되는 모델 크기와 대략 비럐하기 때문이다.

 

소프트웨어 엔지니어라면 어렵지 않게 이해할 있고, 여기에 GPU 여러개 연결을 상정하고, GPU 차이정도(그래봐야 Nvidia모델별 차이) 이야기할 있으면 대략 전문가처럼 이야기하고 판단할 있다. 아래 chatgpt에 부탁한 정리 이미지다.

 

반응형
Posted by 작동미학