AI 모델의 성능이 높아질수록 모델의 크기도 커지는 경우가 많습니다. 대형 언어모델에는 수십억 개 이상의 Parameter(파라미터·AI가 학습을 통해 얻은 내부 값)가 들어갈 수 있고, 이를 실행하려면 많은 메모리와 연산능력이 필요합니다.
특히 AI를 실제 서비스에 사용하려면 모델을 GPU 메모리에 올려놓고 사용자의 요청이 들어올 때마다 반복해서 계산해야 합니다.
이 과정에서 모델이 너무 크면 여러 장의 GPU가 필요하고 전력과 냉각, 서버 비용도 함께 증가할 수 있습니다.
이런 문제를 줄이기 위해 사용하는 대표적인 기술이 Quantization(퀀타이제이션·양자화)입니다.
1. AI 모델 양자화란 무엇인가?
양자화는 AI 모델이 사용하는 숫자의 정밀도를 낮춰 모델을 더 가볍게 만드는 기술입니다.
AI 모델에는 Weight(웨이트·가중치)라고 부르는 수많은 숫자가 저장되어 있습니다.
가중치는 입력된 정보가 모델 내부를 통과하면서 어떤 계산을 할지 결정하는 중요한 값입니다.
이 숫자를 매우 정밀하게 표현하려면 많은 비트가 필요합니다.
반대로 숫자의 표현 단계를 줄이면 하나의 값을 저장하는 데 필요한 데이터량도 줄어듭니다.
예를 들어 16비트로 저장하던 가중치를 8비트나 4비트로 표현하면 모델이 사용하는 메모리를 크게 줄일 수 있습니다.
양자화의 핵심은 단순히 모델 파일을 압축하는 것이 아닙니다.
AI가 실제 계산에 사용하는 숫자의 표현 방식을 바꿔 메모리 사용량과 데이터 이동량을 줄이는 것입니다.
2. FP32, FP16, BF16, INT8, INT4는 무엇인가?
AI 관련 자료를 보면 FP32, FP16, BF16, INT8, INT4라는 표현이 자주 등장합니다.
FP는 Floating Point(플로팅 포인트·부동소수점)를 의미합니다.
INT는 Integer(인티저·정수)를 의미합니다.
BF16은 BFloat16(브레인 플로트 16·AI 연산에 많이 사용하는 16비트 부동소수점 형식)을 의미합니다.
뒤에 붙는 숫자는 하나의 값을 표현하는 데 사용하는 비트 수와 관련이 있습니다.
FP32는 비교적 높은 정밀도로 숫자를 표현할 수 있지만 하나의 값을 저장하는 데 많은 공간이 필요합니다.
FP16이나 BF16은 16비트 수준을 사용하기 때문에 FP32보다 메모리 부담을 줄일 수 있습니다.
INT8은 8비트, INT4는 4비트 수준으로 값을 표현합니다.
비트 수가 줄어들수록 표현할 수 있는 숫자의 세밀함은 줄어들지만 필요한 메모리도 함께 감소합니다.
AI 양자화는 이런 특징을 이용해 모델이 꼭 필요로 하는 수준까지만 정밀도를 유지하는 기술이라고 볼 수 있습니다.
3. 16비트 모델을 4비트로 줄이면 얼마나 작아질까?
단순한 가중치 저장만 생각하면 16비트 값을 4비트로 바꿀 경우 하나의 가중치가 사용하는 비트 수는 크게 감소합니다.
따라서 모델의 가중치가 차지하는 메모리도 크게 줄일 수 있습니다.
하지만 16비트 모델을 4비트로 양자화한다고 해서 실제 전체 파일 크기가 반드시 정확히 4분의 1이 되는 것은 아닙니다.
모델에는 가중치 외에도 여러 종류의 정보가 들어 있기 때문입니다.
양자화에 필요한 Scale(스케일·원래 숫자의 범위를 낮은 비트 값에 맞춰 변환할 때 사용하는 기준값)과 추가 데이터도 필요할 수 있습니다.
실행 과정에서 사용하는 임시 메모리도 별도로 필요합니다.
그래도 가중치가 전체 모델에서 차지하는 비중이 크기 때문에 양자화는 메모리 사용량을 상당히 줄이는 효과를 낼 수 있습니다.
이 차이는 대형 모델에서 더욱 중요합니다.
7B 모델을 예로 보면 메모리가 얼마나 줄어들까
이해를 위한 단순 계산으로 Parameter가 70억 개인 7B 모델을 가정해보겠습니다. 가중치를 모두 16비트, 즉 2바이트로 저장한다면 가중치 자체에만 약 14GB가 필요합니다.
같은 70억 개의 가중치를 4비트, 즉 0.5바이트 수준으로 저장할 수 있다면 이론적인 가중치 용량은 약 3.5GB로 줄어듭니다. 단순 계산으로는 약 4분의 1 수준입니다.
다만 실제 4비트 모델은 Scale, Zero Point 같은 양자화 보조정보와 실행용 임시 메모리, KV 캐시 등이 추가되기 때문에 전체 GPU 메모리 사용량이 정확히 14GB에서 3.5GB로 줄어드는 것은 아닙니다. 이 예시는 양자화가 가중치 저장공간을 왜 크게 줄일 수 있는지 보여주는 계산입니다.
원래 GPU 여러 장에 나누어 올려야 했던 모델을 더 적은 GPU에서 실행할 수 있다면 서버 구성 자체가 달라질 수 있기 때문입니다.
4. 양자화가 AI 추론에서 중요한 이유
Inference(인퍼런스·학습된 AI 모델이 실제 질문을 받아 결과를 만드는 과정)에서는 모델의 가중치를 계속 사용합니다.
사용자가 질문할 때마다 모델은 저장된 가중치를 읽어 계산합니다.
모델이 클수록 읽어야 하는 데이터도 많아집니다.
GPU의 연산성능이 아무리 높아도 필요한 데이터를 메모리에서 빠르게 가져오지 못하면 GPU가 계산을 기다리는 상황이 발생할 수 있습니다.
양자화를 적용하면 가중치 데이터 자체가 작아집니다.
같은 GPU 메모리에 더 많은 모델 데이터를 저장할 수 있고 메모리에서 이동해야 하는 데이터량도 감소할 수 있습니다.
이 때문에 양자화는 대형 언어모델의 추론비용을 낮추는 데 중요한 역할을 합니다.
한 번의 질문에서 절약되는 자원이 작아 보이더라도 사용자가 수십만 명 이상으로 늘어나면 전체 서버 운영비용에서는 큰 차이가 날 수 있습니다.
5. 양자화하면 AI 속도도 빨라질까?
양자화를 적용하면 AI 추론속도가 빨라질 수 있습니다.
하지만 비트 수를 줄였다고 무조건 같은 비율로 빨라지는 것은 아닙니다.
실제 속도는 GPU나 NPU가 해당 정밀도의 연산을 얼마나 효율적으로 지원하는지에 따라 달라집니다.
Memory Bandwidth(메모리 대역폭·일정 시간 동안 메모리와 연산장치 사이에서 이동할 수 있는 데이터량)도 중요합니다.
대형 언어모델은 가중치를 계속 메모리에서 읽어와야 합니다.
가중치 크기가 작아지면 같은 시간 동안 더 많은 데이터를 가져올 수 있어 추론효율이 개선될 가능성이 있습니다.
또 하드웨어가 INT8이나 INT4 연산을 빠르게 지원한다면 실제 계산시간도 줄일 수 있습니다.
반대로 하드웨어나 소프트웨어가 특정 양자화 방식을 제대로 지원하지 않는다면 모델 크기는 줄어도 기대만큼 속도가 향상되지 않을 수 있습니다.
6. 정밀도를 낮추면 AI 성능은 떨어지지 않을까?
양자화에서 가장 중요한 문제는 모델 품질을 얼마나 유지할 수 있는가입니다.
숫자를 표현하는 비트 수를 줄이면 표현할 수 있는 값의 단계도 줄어듭니다.
원래 0.12345처럼 세밀하게 표현하던 값을 제한된 단계 가운데 하나로 바꾸면 원래 값과 작은 차이가 생깁니다.
이런 차이를 Quantization Error(퀀타이제이션 에러·양자화 과정에서 원래 값과 변환된 값 사이에 발생하는 오차)라고 합니다.
모델 안에는 수많은 가중치가 있기 때문에 작은 오차가 여러 계산을 거치면서 결과에 영향을 줄 수도 있습니다.
하지만 모든 가중치가 똑같이 민감한 것은 아닙니다.
일부 가중치는 낮은 정밀도로 바꿔도 결과가 거의 변하지 않을 수 있고, 일부는 높은 정밀도를 유지하는 것이 좋을 수 있습니다.
그래서 실제 AI 모델에서는 모든 부분을 무조건 4비트로 만드는 대신 중요한 부분은 더 높은 정밀도로 남겨두는 Mixed Precision(믹스드 프리시전·서로 다른 정밀도를 함께 사용하는 방식)을 활용하기도 합니다.
7. PTQ는 무엇인가?
PTQ(Post-Training Quantization·학습이 끝난 모델을 나중에 양자화하는 방식)는 가장 많이 접할 수 있는 양자화 방법 가운데 하나입니다.
이미 학습이 끝난 FP16이나 FP32 모델을 가져와 INT8이나 INT4처럼 낮은 정밀도로 변환합니다.
가장 큰 장점은 모델을 처음부터 다시 학습할 필요가 없다는 것입니다.
그래서 기존 대형 언어모델을 더 작은 서버나 개인용 PC에서 실행할 때 활용하기 좋습니다.
다만 모델에 따라 양자화의 영향을 받는 정도가 다릅니다.
특정 모델은 4비트로 줄여도 품질 차이가 크지 않을 수 있지만 다른 모델이나 특정 작업에서는 성능 저하가 더 크게 나타날 수 있습니다.
따라서 PTQ를 적용한 뒤에는 실제 사용하는 작업에서 모델 품질을 다시 확인하는 것이 중요합니다.
8. QAT는 무엇인가?
QAT(Quantization-Aware Training·양자화를 고려하면서 AI를 학습하는 방식)는 학습 단계에서부터 낮은 정밀도로 실행될 것을 고려합니다.
모델이 실제로 양자화됐을 때 발생할 수 있는 오차를 학습 과정에 반영하는 것입니다.
쉽게 설명하면 AI가 나중에 숫자의 정밀도가 낮아질 것을 미리 알고 그 환경에 적응하도록 학습하는 방식입니다.
QAT는 단순히 학습이 끝난 모델을 변환하는 PTQ보다 준비 과정이 복잡합니다.
추가적인 학습과 연산도 필요할 수 있습니다.
대신 특정 모델이나 하드웨어에서는 양자화 이후 성능을 더 잘 유지할 수 있다는 장점이 있습니다.
스마트폰이나 자동차처럼 특정 NPU에서 모델을 실행해야 하는 경우에도 하드웨어 특성에 맞춰 모델을 최적화하는 데 사용할 수 있습니다.
9. 온디바이스 AI에서 양자화가 중요한 이유
On-device AI(온디바이스 AI·클라우드 서버에 보내지 않고 스마트폰이나 PC 같은 기기 내부에서 직접 AI를 실행하는 방식)가 확대되면서 양자화의 중요성도 커지고 있습니다.
데이터센터에서는 고성능 GPU 여러 장과 대용량 메모리를 사용할 수 있습니다.
하지만 스마트폰이나 노트북에는 사용할 수 있는 메모리와 전력이 제한되어 있습니다.
대형 AI 모델을 그대로 스마트폰에 넣는 것은 현실적으로 어려운 경우가 많습니다.
양자화를 이용해 모델의 크기를 줄이면 제한된 메모리에서도 더 큰 AI 모델을 실행할 가능성이 높아집니다.
기기 내부에서 AI를 실행하면 인터넷 연결이 불안정해도 일부 기능을 사용할 수 있습니다.
사용자의 사진이나 문서, 음성 같은 데이터를 외부 서버로 보내지 않고 처리할 수도 있습니다.
따라서 양자화는 단순한 데이터센터 비용 절감 기술이 아니라 온디바이스 AI를 가능하게 만드는 핵심 기술 가운데 하나입니다.
10. 양자화가 중요한 이유
AI 산업 초기에는 더 많은 파라미터와 더 큰 모델이 주목받았습니다.
하지만 실제 서비스를 운영하면 모델 크기만큼 효율도 중요합니다.
같은 수준의 결과를 더 적은 메모리와 전력으로 만들 수 있다면 필요한 GPU 수를 줄일 수 있습니다.
AI 서버의 전력과 냉각비용도 줄어들 가능성이 있습니다.
스마트폰이나 자동차처럼 자원이 제한된 장치에도 AI를 적용하기 쉬워집니다.
양자화는 AI 모델을 더 똑똑하게 만드는 기술이라기보다 이미 만들어진 모델을 더 효율적으로 실행하기 위한 기술입니다.
앞으로 AI 모델이 계속 커지더라도 모든 서비스를 가장 높은 정밀도로 운영할 필요는 없습니다.
어떤 부분에서 높은 정밀도가 필요하고 어떤 부분은 낮은 정밀도로도 충분한지를 구분해 자원을 효율적으로 사용하는 것이 중요합니다.
양자화는 AI 모델의 성능과 비용 사이에서 적절한 균형을 찾기 위한 대표적인 기술입니다.