피드로 돌아가기
Dev.toAI/ML
원문 읽기
M5 Max 기반 TurboQuant 적용으로 35B 모델 1M 토큰 컨텍스트 구현
TurboQuant on a MacBook Pro: two findings the upstream discussion missed
AI 요약
Context
로컬 LLM 추론 시 모델 가중치보다 KV Cache로 인한 메모리 점유가 시스템의 병목 지점으로 작용. 특히 35B 규모 모델의 fp16 KV Cache는 256K 컨텍스트에서 약 64GB를 소모하여 128GB 통합 메모리 환경에서도 OOM 발생.
Technical Solution
- Randomized Walsh-Hadamard Transform을 통한 KV 블록 상관관계 제거 및 스칼라 양자화 적용
- turbo3(3.25 bit) 및 turbo4(4.25 bit) 설계를 통한 KV Cache 압축률 극대화
- Memory Bandwidth 압박 해소를 통한 Long-context 환경에서의 Throughput 회복 구조 설계
- Workload Phase에 따른 최적 cache type 분리 적용 (Prefill: turbo3, Decode: turbo4)
- LLMKube InferenceService CRD에 cacheTypeCustomK/V 필드 추가를 통한 인프라 제어 최적화
Impact
- 메모리 효율: fp16 대비 turbo3 적용 시 약 4.9배의 KV Cache 압축 달성
- 컨텍스트 확장: f16 기준 256K에서 OOM 발생하던 환경을 turbo3 통해 1M 토큰까지 확장
- 처리 속도: 256K Depth Prefill 단계에서 turbo3가 q8_0 대비 약 3% 성능 우위 확보
- 단계별 최적화: 256K 기준 Prefill은 turbo3가 turbo4보다 약 27% 빠르며, Decode는 turbo4가 turbo3보다 약 11% 빠름
Key Takeaway
Long-context 추론 시 병목 지점은 연산 능력보다 Memory Bandwidth에 있으며, 정밀도를 낮춘 압축 캐시가 데이터 전송량을 줄여 오히려 처리량을 높이는 역설적 성능 향상을 유도함
실천 포인트
- Long-context LLM 서비스 설계 시 KV Cache 메모리 계산식을 통한 하드웨어 제약 사항 사전 분석 - Prefill과 Decode 단계의 서로 다른 Bottleneck을 고려한 동적 Quantization 전략 검토 - Unified Memory 환경에서 Memory Bandwidth와 Throughput의 상관관계 측정 및 Crossover Point 파악