양자화Quantization
숫자의 눈금을 성기게 만들어 모델을 가볍게 하기
- 양자화는 모델 안 숫자들을 성긴 눈금 위로 반올림해 적는 일이에요. 숫자 개수는 그대로 두고 한 개를 적는 자릿수만 줄여요.
- 자릿수가 줄면 용량이 줄고, 옮겨 나르는 시간이 줄고, 계산도 빨라져요. 개인 노트북이나 휴대폰에서 AI가 도는 비결이에요.
- 대신 미세한 차이는 뭉개져요. 아슬아슬하게 갈리던 판단이 흔들리고, 답이 길어질수록 어긋남이 쌓여요.
- 얼마나 줄일지는 선택이에요. 조금 줄이면 차이를 거의 못 느끼고, 많이 줄이면 눈에 띄게 답이 무너져요.
- 안 쓰는 연결을 덜어내는 가지치기와는 다른 방법이에요. 양자화는 숫자를 하나도 버리지 않아요.
목차
1비유로 이해하기
반찬가게 저울이 1그램 단위까지 찍혀요. 콩자반 312그램, 어묵볶음 487그램. 통이 백 개쯤 되니 장부에 적을 숫자도 백 개예요. 자릿수가 길어 적기 번거롭고 장부도 두꺼워요.
그래서 저울 눈금을 성기게 바꿔요. 100그램 단위로만 재고, 눈금 사이에 걸린 무게는 가까운 쪽으로 올리거나 내려요. 312그램은 300그램이 되고 487그램은 500그램이 돼요. 숫자가 짧아지니 장부는 얇아지고, 합계를 내는 손도 빨라져요.
물론 무게가 조금씩 어긋나요. 그래도 어느 통이 더 무거운지, 오늘 반찬이 얼마나 나갔는지는 거의 그대로 알 수 있어요. 양자화가 이렇게 눈금을 성기게 바꾸는 일이에요.
2자세히 알아보기
개수는 그대로, 자릿수만 줄여요
모델 안에는 학습으로 정해진 숫자가 수십억 개 들어 있어요. 원래는 이 숫자를 소수점 아래까지 넉넉한 자리로 저장해요. 미세한 차이까지 담을 수 있지만 한 개마다 자리를 많이 차지해요.
양자화는 이 숫자들을 성긴 눈금 위로 옮겨 적어요. 눈금 사이에 걸린 값은 가장 가까운 눈금으로 반올림해요. 숫자가 사라지지도, 연결이 끊기지도 않아요. 표의 칸 수는 그대로이고 칸 안에 적힌 숫자가 짧아질 뿐이에요.
자리를 절반으로 줄이면 용량도 절반쯤 돼요. 네 분의 일까지 줄이는 것도 흔해요. 열 몇 기가바이트짜리 모델이 사오 기가바이트로 내려오면, 그때부터 개인 컴퓨터에서 돌릴 수 있는 물건이 돼요.
눈금을 어디에 거느냐가 실력이에요
눈금을 성기게 만들 때 값을 어느 구간에 펼칠지 정해야 해요. 대부분의 숫자가 0 근처에 몰려 있는데 눈금을 아주 큰 값까지 넓게 늘려 두면, 정작 중요한 0 근처가 통째로 한 눈금 안에 뭉개져요.
그래서 층마다, 혹은 줄마다 따로 눈금 간격을 정해요. 값이 크게 튀는 소수의 숫자만 원래 자리로 남겨 두고 나머지만 줄이는 방법도 써요. 같은 자릿수로 줄여도 이 손질을 얼마나 잘했느냐에 따라 결과 품질이 꽤 벌어져요.
작은 예시 데이터를 흘려보내면서 실제로 어떤 값이 어디에 몰리는지 재 본 뒤 눈금을 맞추기도 해요. 학습을 다시 하지는 않고 눈금만 맞추는 거라 몇 분에서 몇 시간이면 끝나요.
노트북과 휴대폰에서 AI가 도는 이유
모델을 돌릴 때 시간을 가장 많이 잡아먹는 일은 계산 자체가 아니라 숫자를 메모리에서 꺼내 오는 일이에요. 자릿수가 짧아지면 같은 시간에 더 많은 숫자를 실어 나를 수 있어요. 그래서 답이 나오는 속도가 눈에 띄게 빨라져요.
그래픽 메모리에 다 올라가느냐 마느냐도 갈려요. 모델이 메모리에 못 들어가면 조각을 계속 바꿔 끼워야 해서 속도가 크게 떨어지거든요. 브라우저 안에서 도는 대화 AI, 인터넷 없이 쓰는 번역기, 휴대폰 사진 정리 기능은 대부분 눈금을 줄인 모델이에요.
무엇을 잃는지도 알아야 해요
가벼워진 만큼 대가가 있어요. 반올림 때문에 원래 값과 조금씩 어긋나고, 그 어긋남이 층을 지나며 조금씩 쌓여요. 답 한 줄을 쓰는 데도 층을 수십 번 지나가니, 처음에는 안 보이던 차이가 뒤로 갈수록 드러나요.
특히 아슬아슬하게 갈리던 판단이 흔들려요. 긴 셈이나 코드처럼 한 글자만 틀려도 결과가 어긋나는 일, 답이 아주 길어지는 일에서 티가 잘 나요. 반대로 가벼운 대화나 요약에서는 차이를 알아채기 어려운 편이에요.
가지치기와는 다른 방법이에요
모델을 가볍게 만드는 방법이라 가지치기와 자주 같이 나오지만 하는 일이 달라요. 양자화는 숫자를 하나도 버리지 않아요. 다 남겨 두고 적는 방식만 성기게 바꿔요. 가지치기는 반대로 안 쓰는 연결을 아예 없애서 개수를 줄여요.
둘은 서로 방해하지 않아서 함께 쓰기도 해요. 먼저 안 쓰는 연결을 덜어내 개수를 줄이고, 남은 숫자들의 눈금을 성기게 바꾸는 식이에요.
3조금 더 정확하게
양자화는 부동소수점으로 저장된 가중치와 중간 계산값을 더 적은 비트의 정수 표현으로 옮기는 작업이에요. 값의 범위를 눈금 간격과 기준점으로 나타내고, 원래 값을 가장 가까운 눈금에 대응시켜요. 학습을 끝낸 모델에 나중에 적용하는 방식과, 학습 도중부터 성긴 눈금을 가정하고 훈련하는 방식이 있어요.
비유가 어긋나는 지점도 있어요. 저울 눈금은 처음부터 끝까지 같은 간격이지만, 실제 양자화는 층마다 값이 몰린 구간을 재서 간격을 다르게 잡아요. 또 반찬 무게는 반올림해도 그 자리에서 오차가 끝나지만, 모델의 숫자는 다음 층의 입력이 되기 때문에 어긋남이 뒤로 전달돼요. 저장할 때만 줄이고 계산할 때는 원래 자릿수로 되돌리는 방식도 있어서, 용량만 줄고 속도는 별로 안 빨라지는 경우도 있어요. 어느 방식이든 줄인 뒤에는 평가를 다시 돌려 얼마나 흔들렸는지 확인해요.
4직접 해보기
5흔한 오해
양자화하면 모델이 멍청해진다고 생각하기 쉽지만, 실제로는 적당한 수준까지는 일상적인 대화에서 차이를 알아채기 어려워요.
양자화가 모델의 일부를 잘라내는 것이라고 여기기 쉽지만, 실제로는 숫자를 하나도 버리지 않고 적는 자릿수만 줄여요.
용량이 줄면 속도도 무조건 빨라진다고 생각하기 쉽지만, 실제로는 계산할 때 원래 자릿수로 되돌리는 방식이면 속도 이득이 거의 없어요.
7한 줄 요약
그러니까양자화는 모델 안 숫자의 눈금을 성기게 바꿔 용량과 속도를 얻고 미세한 정확도를 조금 내주는 거래예요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02