양자화와 추측 디코딩
자체 호스팅 모델을 위한 방법입니다. 메모리 절약에는 int8/int4 양자화를, 처리량 향상에는 추측 디코딩을 사용합니다.
양자화와 추측 디코딩은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
자체 호스팅 모델 최적화
자체 호스팅 오픈 모델에서 속도와 비용을 크게 개선하는 두 가지 방법은 다음과 같습니다.
- 양자화 — 가중치를 줄여 RAM/VRAM 사용량을 낮추고 추론을 빠르게 합니다
- 추측 디코딩 — 한 단계에서 여러 토큰을 생성합니다
양자화 기초
모델은 일반적으로 가중치당 16비트인 FP16으로 저장됩니다. 양자화는 비트 수를 줄입니다.
- FP16 — 기준
- INT8 — 크기 2배 감소, 품질 손실은 거의 무시할 수준
- INT4 / Q4_K_M — 크기 4배 감소, 품질이 약간 저하
- INT2 / 1.58비트 — 크기 8배 이상 감소, 품질이 실제로 저하
GGUF와 양자화 수준
GGUF는 llama.cpp에서 사용하는 형식입니다. 일반적인 수준은 다음과 같습니다.
- Q4_K_M — 가장 균형이 좋음(품질과 크기)
- Q5_K_M — 약간 더 크고 품질도 약간 더 좋음
- Q8_0 — FP16에 가까운 품질, 2배 압축
Quantise With llama.cpp
./llama-quantize models/llama-3-8b-f16.gguf models/llama-3-8b-q4_k_m.gguf Q4_K_M
# Or download pre-quantised from TheBloke / unsloth on HuggingFace하드웨어에 미치는 영향
8B FP16 모델에는 약 16GB의 VRAM이 필요합니다. 같은 모델을 Q4로 사용하면 약 5GB의 VRAM에 들어가므로 훨씬 저렴한 GPU에서 실행할 수 있습니다.
추측 디코딩
방법은 간단합니다. 작은 “초안” 모델로 토큰을 제안한 다음, 한 번의 순전파에서 대형 “대상” 모델로 검증합니다. 속도가 2~3배 빨라지는 경우가 많습니다.
from transformers import AutoModelForCausalLM
target = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-70B')
draft = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-8B')
outputs = target.generate(
input_ids,
assistant_model=draft, # speculative decoding
max_new_tokens=200
)작동하는 이유
초안 모델이 K개의 토큰을 제안합니다. 대상 모델은 이를 모두 PARALLEL로 처리합니다(한 번의 순전파). 수락된 각 토큰은 추가 비용 없이 처리됩니다. 거부되면 되돌리며, 일반적으로 대부분의 토큰을 수락합니다.
기타 디코딩 속도 향상 방법
- 앞보기 디코딩 — 단계마다 여러 초안 생성
- Medusa — 함께 학습된 여러 디코딩 헤드
- EAGLE — 빠른 트리 기반 추측
이 기능을 구현하는 도구
- vLLM — 양자화(AWQ, GPTQ, FP8)와 추측 디코딩을 모두 지원
- llama.cpp — --draft-model을 통한 양자화와 추측 디코딩 지원
- TensorRT-LLM — NVIDIA의 운영용 서버
- SGLang — 연속 배치를 지원하는 빠르고 배치 처리에 적합한 서버
연속 배치 처리
vLLM의 대표 기능입니다. 길이가 서로 다른 여러 요청을 같은 순전파에서 처리합니다. 운영 서버의 처리량을 크게 높일 수 있습니다.
양자화 수준 선택
YOUR 평가 세트에서 각 후보 수준을 검증하세요. Q4_K_M을 기본 시작점으로 사용하고, 품질이 임계값 아래로 떨어지면 더 높은 수준으로 올리세요.
토큰당 지연 시간과 처리량
최적화 방법마다 개선하는 지표가 다릅니다.
- 단일 요청 지연 시간: 추측 디코딩
- 다중 사용자 처리량: 연속 배치 처리
- 메모리 비용: 양자화
양자화의 효과
int4 양자화의 주요 효과는 무엇인가요?
복습
메모리와 속도를 위해 Q4로 양자화하세요. 지연 시간에는 추측 디코딩을 사용하세요. 처리량에는 연속 배치 처리를 사용하세요. vLLM과 llama.cpp는 세 가지를 모두 구현합니다.
AI 튜터와 함께 AI Agents을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 60
- 레슨
- 239
자주 묻는 질문
“양자화와 추측 디코딩” 강의는 무료인가요?
네 — “양자화와 추측 디코딩” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
“양자화와 추측 디코딩”에서 뭘 배우나요?
자체 호스팅 모델을 위한 방법입니다. 메모리 절약에는 int8/int4 양자화를, 처리량 향상에는 추측 디코딩을 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Agents을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“양자화와 추측 디코딩” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.