메모리와 모델
최종 업데이트
LLM 양자화란? Q4·Q8·FP16 선택 기준
양자화로 모델을 작게 저장하고 메모리 부담을 줄여요.
LLM1 양자화2는 모델의 가중치를 더 적은 비트로 표현하는 방법이에요. 같은 원본 모델을 Q4나 Q8로 바꾸면 저장 파일과 실행 메모리를 줄일 수 있어요. 어느 파일을 고를지는 사용할 앱, 남은 메모리, 내 작업의 답변 품질을 함께 보고 정하면 돼요.
다운로드 목록에 Q4_K_M, Q8, FP163이 나란히 있으면 가장 작은 파일부터 고르고 싶어져요. 작은 파일은 큰 모델을 현재 장비에 올리는 데 도움이 되지만, 압축 방식에 따라 답변과 속도도 달라질 수 있어요. 먼저 숫자가 뜻하는 것을 알아보고, 같은 질문으로 선택을 좁혀볼게요.
가중치를 표현하는 비트 수를 줄여요.
모델은 가중치라는 수치를 이용해 입력을 처리하고 다음 토큰4을 계산해요. 양자화는 이 수치를 적은 단계로 표현해 더 작게 저장하는 과정이에요. 16비트에서 4비트로 바꾸면 숫자 자체에 쓰는 비트 수는 4분의 1이 돼요. 실제 파일에는 보조 값, 메타데이터와 높은 정밀도로 남긴 부분이 더해지므로 다운로드 용량도 함께 확인하세요.
모델은 같은 PDF를 입력받아도 가중치 표현에 따라 조금 다른 답을 만들 수 있어요. 양자화 과정에서 원래 수치를 표현하는 단계가 줄어들기 때문이에요. 용량이 줄어 실행할 수 있게 된 장점과, 내 작업에서 중요한 정보가 답에 제대로 담기는지를 함께 비교하면 돼요.
| 표기 | 가중치 표현의 기준 | 검토할 때 |
|---|---|---|
| Q4 | 주로 4비트 양자화 | 메모리를 줄여 모델을 실행할 때 |
| Q8 | 주로 8비트 양자화 | Q4와 품질 차이를 비교할 여유가 있을 때 |
| FP16 | 16비트 부동소수점 | 더 높은 정밀도와 필요 메모리를 검토할 때 |

사용할 앱에 맞는 파일을 먼저 골라요.
먼저 사용할 앱이 읽는 형식으로 후보를 좁혀요. llama.cpp 계열은 GGUF5, MLX6 실행기는 MLX 변환본, AWQ·GPTQ를 지원하는 서버는 해당 배포본을 선택해요. 그 안에서 Q4·Q8처럼 정밀도가 다른 파일의 용량과 답변을 비교하면 돼요. 그룹 크기와 보정 값, 혼합 정밀도가 다른 파일은 같은 4비트 표기여도 결과가 달라질 수 있어요.
같은 원본 모델인지, 토크나이저와 채팅 템플릿이 맞는지도 확인해요. 이미지 입력의 인코더나 MTP7처럼 별도 구성요소가 필요한 기능은 해당 배포본에 포함돼야 해요. 파일이 작아진 이유와 필요한 기능의 지원 여부를 함께 살펴보면 다운로드 뒤 다시 받는 일을 줄일 수 있어요.

작은 파일이 실행 경로를 바꾸기도 해요.
Q8은 VRAM8을 넘어 일부를 시스템 RAM9에 두고, Q4는 전부 GPU10에 들어가는 경우를 생각해볼게요. Q4에서 오프로딩11이 줄면 가중치를 두 메모리 사이로 옮기는 시간도 줄어요. 같은 장비에서 양자화를 바꿨을 때 체감이 크게 달라지는 한 가지 이유예요.
두 파일 모두 GPU에 들어가면 읽을 데이터량과 양자화 연산을 처리하는 커널의 효율이 중요해요. 파일 크기 비율 대신 같은 입력의 프리필12과 디코드13를 따로 기록하세요. 원본 모델, 정확한 파일명, 앱 버전, 메모리 배치와 캐시 설정을 남기면 차이가 생긴 조합을 다시 확인할 수 있어요.

중요한 질문에서 답과 검토 시간을 비교해요.
계약서의 갱신일과 자동 연장 예외를 확인한다면, 원문에서 정답과 근거 문장을 먼저 표시해요. 같은 PDF와 질문을 Q4·Q8에 보내고 날짜, 적용 대상, 예외가 맞는지 대조하세요. 문서 앱이 추출한 입력도 같게 맞춰야 가중치 표현에 따른 차이를 살펴볼 수 있어요.
가능하면 샘플링 설정과 시드도 맞추고 여러 질문에서 반복해요. 잘못된 근거, 빠진 조건, 답하지 못한 항목을 나눠 적고 사람이 다시 확인한 시간을 기록하세요. Q4에서도 필요한 답이 안정적이면 현재 구성으로 시작할 수 있고, 중요한 오류가 Q8에서 반복해서 줄어든다면 추가 메모리를 검토할 근거가 돼요.
가중치 양자화와 KV 캐시14 정밀도는 한 번에 하나씩 바꿔요. Q4의 큰 모델과 Q8의 작은 모델을 비교하는 경우에는 모델 구조와 크기까지 달라지므로, 각 구성에서 작업을 끝내는 결과와 시간을 비교하면 돼요. 가장 작은 파일이나 가장 높은 비트보다 내 작업이 안정적으로 끝나는 구성을 고르는 게 목표예요.
용어 각주
대규모 언어 모델 — 대규모 텍스트 데이터에서 언어 패턴을 학습해 문맥에 맞는 텍스트를 처리하고 생성하는 모델입니다.
본문으로 돌아가기양자화 — 모델의 가중치나 계산값을 더 적은 비트로 표현해 저장 공간과 메모리 사용량을 줄이는 방법입니다. 표현 단계가 거칠어져 정확도에도 영향을 줄 수 있습니다.
본문으로 돌아가기FP16 — 16비트 부동소수점 수치 형식입니다. BF16과 비트 수는 같지만 지수부와 유효숫자 배분이 다릅니다.
본문으로 돌아가기토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.
본문으로 돌아가기GGUF — 모델 정보를 담는 파일 형식으로 llama.cpp 계열 도구에서 널리 사용됩니다.
본문으로 돌아가기MLX — Apple이 개발하는 머신러닝 프레임워크로, Apple Silicon의 CPU와 GPU가 공유하는 메모리를 활용해 모델을 실행합니다.
본문으로 돌아가기MTP — 한 번에 여러 미래 토큰을 예측하도록 학습하는 목표 또는 이를 수행하는 모델 구성입니다. 추측 디코딩에서는 이 예측을 후보 토큰으로 제안할 수 있습니다.
본문으로 돌아가기VRAM — 그래픽카드의 GPU가 사용하는 메모리입니다. 모델 가중치와 계산 중간값을 저장합니다.
본문으로 돌아가기시스템 RAM — 프로그램이 실행되는 동안 데이터를 임시로 보관하는 시스템 메모리입니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기오프로딩 — 메모리가 부족할 때 모델 데이터 일부를 GPU 메모리에서 시스템 RAM이나 저장장치로 옮겨 처리하는 방식입니다. 데이터 이동이 추가됩니다.
본문으로 돌아가기프리필 — LLM이 입력 프롬프트를 읽고 각 토큰의 내부 표현을 계산하는 단계입니다. 입력이 길수록 처리할 토큰이 많아집니다.
본문으로 돌아가기토큰 디코드 — 입력과 앞서 만든 답변을 바탕으로 다음 출력 토큰을 차례로 생성하는 단계입니다.
본문으로 돌아가기KV 캐시 — 어텐션에서 이전 토큰의 키·값을 저장해 다음 토큰 생성 때 재사용하는 메모리입니다. 문맥 길이와 배치 크기에 따라 용량이 달라집니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- LLM 양자화는 모델의 가중치를 더 적은 비트로 표현하는 방법이에요. 같은 원본 모델을 Q4나 Q8로 바꾸면 저장 파일과 실행 메모리를 줄일 수 있어요. 어느 파일을 고를지는 사용할 앱, 남은 메모리, 내 작업의 답변 품질을 함께 보고 정하면 돼요.
- 필요한 메모리는 어느 정도인가요?
- 가능하면 샘플링 설정과 시드도 맞추고 여러 질문에서 반복해요. 잘못된 근거, 빠진 조건, 답하지 못한 항목을 나눠 적고 사람이 다시 확인한 시간을 기록하세요. Q4에서도 필요한 답이 안정적이면 현재 구성으로 시작할 수 있고, 중요한 오류가 Q8에서 반복해서 줄어든다면 추가 메모리를 검토할 근거가 돼요.
이 조건으로 답변 보기
장비와 모델이 선택된 속도 체험입니다.
