본문 바로가기

Inference5

Quantization Formats GGUF, AWQ, bitsandbytes, 같은 4비트인데 왜 다 다른가요약양자화에는 방법(GPTQ, AWQ, QAT처럼 "얼마나 잘 줄이나")과 별개로 포맷("어떤 형식으로 저장하고 어디서 실행하나")이라는 축이 따로 있습니다. 실무 배포의 절반은 이 포맷 선택입니다."4비트로 줄였다"와 "GGUF로 저장했다"는 다른 층의 결정입니다. 같은 4비트라도 GGUF, compressed-tensors, bitsandbytes로 저장이 다르고 호환되는 런타임이 다릅니다.핵심 포맷은 다섯입니다. GGUF(로컬, CPU, Mac), compressed-tensors(vLLM 서버), bitsandbytes(transformers 학습과 QLoRA), MXFP4(네이티브 저정밀), MLX(Apple Silicon.. 2026. 8. 9.
Quantization (양자화) 양자화, 정밀도를 깎으면 품질은 얼마나 떨어지나요약양자화는 16비트 실수로 저장하던 가중치와 활성값을 8비트나 4비트 정수, FP8 같은 저정밀 형식으로 바꿔 메모리와 대역폭을 줄이는 압축 기법입니다.효과가 큽니다. 7B 모델을 FP16으로 두면 약 14GB라 소비자 GPU에 안 들어가지만, 4비트로 낮추면 약 3.5GB가 되어 노트북에서도 돕니다.두 축으로 갈립니다. 언제 하느냐(학습 후 PTQ, 학습 중 QAT)와 무엇을 낮추느냐(가중치만, 가중치와 활성 둘 다)입니다.핵심 난제는 활성값의 outlier입니다. LLM.int8부터 SmoothQuant, AWQ, GPTQ, 회전 기반 기법까지 전부 이 문제 하나를 푸는 계보입니다.흔한 오해 하나. 비트를 줄인다고 항상 빨라지지 않습니다. 가중치만 양자.. 2025. 2. 13.
ONNX(Open Neural Network Exchange) ONNX 제대로 이해하기, 변환이 되는 것과 실제로 도는 것은 다르다요약가장 먼저 깨야 할 오해. "ONNX로 바꾸면 빨라진다"는 틀렸습니다. ONNX는 교환 포맷이고, 속도는 런타임과 실행 백엔드(EP)가 결정합니다.ONNX 파일은 연산 그래프와 가중치를 함께 담은 protobuf입니다. 가중치만 담는 safetensors와 달리 모델 구조까지 들어 있어 원 프레임워크 코드 없이 단독 실행됩니다.PyTorch의 내보내기 API가 최근 크게 바뀌었습니다. torch.onnx.export의 dynamo 인자가 기본값 True가 되어, TorchScript 추적 대신 torch.export 기반 경로가 표준이 됐습니다.그래서 동적 축 지정 방식도 갈립니다. dynamo=True면 dynamic_shapes,.. 2024. 11. 4.
KV 캐시 란 KV 캐시, 컨텍스트가 길어지면 메모리가 왜 터지나요약KV 캐시는 자기회귀 생성에서 이전 토큰들의 Key와 Value를 저장해두고 재사용하는 기법입니다. 매 토큰마다 전체 시퀀스를 다시 계산하는 낭비를 없앱니다.두 얼굴이 있습니다. LLM 추론 속도의 토대이면서, 동시에 긴 컨텍스트에서 메모리 병목의 주범입니다.캐시 크기는 시퀀스 길이와 배치에 정비례합니다. 그래서 롱컨텍스트나 대량 동시요청에서는 KV 캐시가 모델 가중치보다 큰 메모리를 차지하기도 합니다.흔한 오해 하나. KV 캐시는 공짜 속도가 아니라 시간과 메모리의 트레이드오프입니다. 계산을 아끼는 대신 메모리를 많이 먹습니다.줄이는 방법은 넷입니다. K와 V를 헤드끼리 공유하거나(GQA, MQA), 저랭크로 압축하거나(MLA), 8비트나 4비트로 .. 2024. 7. 2.
[Opt] prefill vs decode 프리필과 디코드, 왜 첫 글자는 빠른데 그 뒤가 느린가요약LLM 추론은 성격이 정반대인 두 단계로 나뉩니다. prefill은 프롬프트를 한 번에 병렬 처리해 KV 캐시를 채우고 첫 토큰까지 걸리는 시간(TTFT)을 결정합니다. decode는 토큰을 하나씩 순차 생성하며 초당 토큰 수(TPS)를 결정합니다.둘을 가르는 건 산술 강도(FLOPs/byte)입니다. prefill은 행렬끼리 곱해서 연산 한계에 걸리고, decode는 토큰 하나를 만들려고 전체 가중치를 읽어야 해서 메모리 대역폭 한계에 걸립니다.이 둘을 한 그림에 올린 게 루프라인 모델입니다.실용적인 소득이 하나 있습니다. "내 PC에서 이 모델이 몇 tok/s 나와야 정상인가"를 암산으로 검산할 수 있게 됩니다.흔한 오해. GPU FLOP/s를.. 2024. 3. 11.