← Back to Blog
AI · AX Article · 2026.09.13

LLM 양자화: 작은 모델 파일이 업무 품질을 보장하지는 않는다

LLM 양자화가 가중치의 수치 표현과 메모리 사용을 바꾸는 원리를 AWQ로 살펴보고, KV 캐시·실행 커널·한국어 업무 오류를 구분해 도입을 판단하는 방법을 제안한다.

ai-axmodel-inferencequantizationAWQknowledge-management

연속적인 유리 띠를 작은 계단형 조각으로 압축하면서 중요한 호박색 무늬를 남기는 추상 개념 이미지

AI로 생성한 개념 이미지이며, 실제 모델이나 시스템의 실행 기록이 아니다.

사내 문서를 외부로 보내지 않고 요약하려는 팀을 가정해 보자. 사용할 공개 가중치 모델은 골랐지만, 원래 정밀도로는 준비한 장비의 메모리에 들어가지 않는다. 더 작은 양자화 파일을 내려받으니 실행은 된다. 첫 답변도 자연스럽다. 이때 도입 판단을 끝내면 중요한 질문이 남는다. 파일이 작아진 동안 모델 내부의 무엇이 달라졌으며, 그 변화가 우리 문서에서 어떤 오류로 나타나는가.

LLM 양자화는 같은 모델의 수치를 더 적은 비트로 표현하는 방법이다. 적은 자원으로 실행할 가능성을 넓히지만, 원래 모델과 같은 답을 그대로 보관하는 무손실 압축은 아니다. 모델 이름이 같고 문장이 매끄럽다는 이유로 업무 품질까지 같다고 볼 수 없다. 로컬 실행도 데이터 보호의 한 조건일 뿐이다. 문서 접근 권한, 로그와 백업의 보관 범위는 별도로 정해야 한다.

현재 추론 도구는 여러 양자화 형식을 지원한다. vLLM의 공식 문서도 양자화를 정밀도와 메모리 사용 사이의 절충으로 설명하며, 방식별로 지원 하드웨어를 나눈다. 선택지가 많아진 만큼 “몇 비트 모델인가”보다 무엇을 줄였고 어떤 조건에서 실행하는지 읽는 능력이 필요하다. 여기서는 2024년 MLSys에 발표된 AWQ의 가중치 양자화 원리와 2026-09-13에 확인한 vLLM 문서를 바탕으로 그 구분을 살펴본다.

숫자를 거칠게 표현하면 계산에도 차이가 남는다

학습된 가중치는 모델이 입력을 변환할 때 사용하는 수치다. 양자화는 이 수치를 원래보다 제한된 표현 수준에 대응시킨다. 예를 들어 일정한 범위의 값을 정해진 간격으로 반올림하고, 저장된 값과 스케일을 이용해 계산에 필요한 크기를 복원할 수 있다. 이렇게 표현한 값과 원래 값의 차이가 양자화 오차다. 실제 방식은 정수인지 부동소수점인지, 어떤 범위에서 스케일을 공유하는지에 따라 다르다.

여기서 파일 용량과 모델의 구조를 혼동하지 않아야 한다. 가중치만 양자화한 모델은 보통 원래 모델의 매개변수 개수를 그대로 유지하면서 각 값을 저장하는 표현을 줄인다. 매개변수를 없애는 가지치기나, 더 작은 별도 모델을 학습하는 지식 증류와는 다른 작업이다. 같은 계열의 작은 모델과 큰 모델의 양자화본을 비교할 수는 있지만, 어느 쪽이 항상 낫다는 결론이 양자화 원리에서 나오지는 않는다.

AWQ 논문은 가중치와 활성값을 모두 낮은 정밀도로 바꾸는 설정과, 가중치만 낮은 비트로 바꾸는 설정을 구분한다. 활성값은 입력이 모델을 통과하며 생기는 중간 계산값이다. 논문이 다루는 W4A16은 가중치가 4비트이고 활성값이 16비트인 설정을 뜻한다. “4비트 모델”이라는 표현만으로 모든 계산과 저장 공간이 4비트가 됐다고 해석하면 안 된다.

저장 용량도 비트 수만으로 정확히 계산할 수는 없다. 양자화된 가중치 외에 스케일 같은 부가 정보가 필요하고, 일부 텐서는 다른 정밀도로 남을 수 있다. 실행 중에는 중간 계산값과 작업 공간도 생긴다. 모델 파일을 장비에 올리는 데 성공했다는 사실은 실제 문서 길이와 동시 요청 수를 감당한다는 증거가 아니다.

AWQ는 중요한 채널을 찾아 오차를 조정한다

모든 가중치를 같은 규칙으로 반올림하면 왜 문제가 생길까. 가중치에서 발생한 작은 오차도 그 채널을 지나는 입력 활성값과 함께 계산된다. 가중치의 크기만 보고 중요도를 고르면 실제 입력에서 영향이 큰 채널을 놓칠 수 있다.

AWQ 연구진은 활성값 분포를 참고해 중요한 가중치 채널을 찾았다. 논문의 관찰 실험에서는 일부 중요한 가중치를 높은 정밀도로 남기면 양자화 오차를 크게 줄일 수 있었다. 그러나 이렇게 정밀도가 섞인 구현은 하드웨어에서 효율적으로 처리하기 어렵다. 이 관찰과 최종 알고리즘을 구분하는 것이 중요하다. AWQ를 단순히 “중요한 가중치 일부를 FP16으로 남기는 방법”이라고 설명하면 핵심을 놓친다.

실제 제안은 양자화 전에 채널별 스케일을 조정하는 방식이다. 중요한 가중치 채널을 확대하고 입력 활성값 쪽에는 역방향 스케일을 적용한다. 양자화가 없을 때는 같은 선형 연산을 표현하면서, 양자화 뒤에는 중요한 채널의 상대적인 오차를 줄이도록 조정한다. 연구진은 작은 보정 데이터에서 활성값 통계를 관찰하고 스케일을 탐색한다. 논문은 이 과정에 역전파나 가중치 재구성을 사용하지 않는다고 설명한다.[1]

이를 “중요한 지식을 찾아 보존한다”는 의미로 읽어서는 안 된다. AWQ가 관찰하는 것은 활성값 통계와 층의 출력 차이다. 특정 계약의 예외 조항이나 한국어 문장의 부정을 이해하고 따로 보호하는 절차가 아니다. 논문이 여러 영역에서 좋은 결과를 보고했더라도, 우리 조직의 약어와 숫자 표기까지 보존한다는 보증은 별도 시험 없이는 성립하지 않는다.

논문의 TinyChat도 같은 구분을 보여 준다. 가중치의 저장량을 줄이는 것과 실제 추론을 빠르게 만드는 것은 별개의 구현 과제다. TinyChat은 가중치 패킹, 실행 중 역양자화, 커널 결합을 함께 다룬다. 논문에 나온 속도 향상은 이러한 구현과 비교 대상, 장비 조건을 포함한 결과다. 다른 실행 엔진에서 같은 비트 수의 파일을 열었다는 이유로 같은 속도를 기대할 수는 없다.

가중치 메모리와 대화의 작업 메모리를 나눠 본다

문서 요약 서비스가 짧은 안내문에서는 잘 돌아가다가 긴 회의록을 넣을 때 메모리 부족으로 멈출 수 있다. 이 상황에서 가중치 파일만 더 줄이는 것이 유일한 답은 아니다. 입력 길이와 동시 처리량에 따라 커지는 실행 상태도 살펴야 한다.

Transformer의 KV 캐시는 이미 처리한 토큰의 key와 value 상태를 보관해 이후 생성에 재사용한다. 가중치 양자화는 학습된 매개변수의 표현을 바꾸고, KV 캐시 양자화는 이 실행 상태의 표현을 바꾼다. 둘은 별도로 설정하고 확인해야 하는 대상이다. 가중치를 낮은 비트로 저장했다고 KV 캐시까지 자동으로 같은 정밀도로 바뀌는 것은 아니다.

vLLM의 KV 캐시 양자화 문서는 FP8 캐시가 메모리 사용을 줄여 더 많은 토큰을 저장하고 긴 문맥이나 처리량을 지원하는 데 도움을 줄 수 있다고 설명한다. 동시에 보정 데이터로 스케일을 추정하는 경로를 권고하고, attention backend와 양자화 방식에 따른 지원 조건을 명시한다. 이 글이 확인한 문서에서는 일부 층을 원래 정밀도로 남기는 설정도 설명한다. 이는 모든 모델과 장비에서 같은 효과가 난다는 약속이 아니라, 확인한 구현의 조정 수단이다.

따라서 실행 비교에는 최소한 가중치 형식, KV 캐시 형식, 엔진 버전과 커널, 입력 길이, 출력 길이, 동시 요청 수가 함께 있어야 한다. “양자화 모델이 빨랐다”는 결과에 이 조건이 빠지면, 정밀도 변경과 실행 설정 변경 중 무엇이 차이를 만들었는지 알기 어렵다. vLLM의 하드웨어 지원표도 계속 바뀌는 문서다. 실제 도입에서는 사용할 버전과 장비에서 해당 형식의 지원 여부를 다시 확인해야 한다.

AKM에서는 모델 교체를 근거 처리 경로의 변경으로 기록한다

지식 관리와 RAG에 양자화 모델을 도입한다면, 검색 결과가 같은 상태에서 생성 단계가 어떻게 달라지는지 먼저 분리해 볼 수 있다. 다음은 AWQ 연구진이나 vLLM이 제시한 공식 업무 절차가 아니라, 이 구분을 AKM 같은 지식 운영에 적용한 설계안이다. 특정 조직에서 이미 운영 중인 구현이나 측정 결과를 설명하는 것도 아니다.

가상의 정책 문서 요약 업무라면 원문 버전과 검색된 구간을 고정한다. 같은 기본 모델의 기준 정밀도와 양자화본에 같은 입력을 주고, 가능한 한 나머지 생성 조건도 맞춘다. 답변이 짧아졌는지보다 예외 조건이 빠졌는지, 부정이 긍정으로 바뀌었는지, 표의 금액과 적용 대상이 올바르게 연결됐는지 대조한다. 양자화 설정을 만들 때 쓴 보정 자료와 최종 품질 판정에 쓰는 자료도 분리한다. 보정에 맞춘 결과만 보면 새로운 문서에서 생기는 손실을 놓칠 수 있다.

이 비교는 양자화 전 모델을 정답으로 취급하는 시험이 아니다. 기준 모델도 틀릴 수 있으므로 두 출력 모두 원문과 업무 기준에 대조해야 한다. 같은 모델도 생성 실행마다 표현이 달라질 수 있다. 한 번의 문장 차이를 모두 양자화 탓으로 돌리지 말고, 같은 조건의 반복 결과와 오류 유형을 함께 남겨야 한다. 표본이 작다면 통계적 동등성을 증명했다고 말할 수는 없지만, 배포를 막아야 할 구체적인 오류는 찾을 수 있다.

운영 기록에는 모델 이름만 남기지 않는다. 원본 체크포인트의 버전, 양자화 방식과 설정, 보정 자료의 범위, 실행 엔진, 실제로 사용한 입력 자료와 출력물을 연결한다. 이 연결이 있어야 나중에 엔진이나 모델 파일을 바꿨을 때 어떤 검사를 다시 해야 하는지 알 수 있다. 양자화본의 답변이라는 이유로 근거의 신뢰 수준을 낮추거나 높이는 대신, 각 주장이 원문에서 지지되는지를 계속 따로 확인한다.

성능도 업무 단위로 측정한다. 모델을 올릴 때와 실제 요청 중의 메모리 사용, 첫 토큰까지의 지연, 생성 구간의 속도, 최종 결과를 검토하는 시간을 나눠 기록한다. 메모리 절감으로 실행이 가능해졌더라도 검토해야 할 오류가 늘었다면 도입 범위를 좁히거나 다른 설정을 비교해야 한다. 반대로 제한된 장비에서 필수 품질을 유지하며 실행할 수 있다면, 최고 정밀도 모델보다 운영상 알맞은 선택일 수 있다.

양자화 도입의 산출물은 작은 파일 하나로 끝나지 않는다. 어떤 정밀도와 실행 조건에서 어느 업무까지 허용했는지, 무엇이 바뀌면 다시 검사할지를 남겨야 한다. 첫 실험에서는 업무 하나의 입력과 판정 기준을 고정하고 기준 모델과 양자화본을 비교하는 정도로 시작할 수 있다. AX 실무 가이드의 업무 선정과 평가 사례집을 그 비교의 출발점으로 삼을 수 있다.

참고 자료