양자화된 가중치를 FP16 대신 FP8로 스테이징: 2배 빠른 M6 행렬 경로 및 MLX 프리필 성능 +40% 향상 (+ int8 on M5)
요약
MLX 프레임워크를 수정하여 행렬 곱셈(matmul) 스테이징을 FP8 또는 int8로 변경하면, Apple Silicon M6 및 M5 칩에서 LLM 추론 속도를 크게 향상시킬 수 있습니다. 특히 M6에서는 FP8 경로 사용으로 2배 빠른 성능 개선이 가능하며, Qwen3 모델 등에서 최대 40~50%의 프리필 부스트를 얻을 수 있습니다.
핵심 포인트
- MLX 수정으로 스테이징 포맷을 FP8/int8로 변경하여 속도 향상.
- M6에서는 FP8 경로 사용 시 2배 빠른 행렬 처리 성능 기대.
- Qwen3 모델 등에서 최대 40~50%의 프리필(prefill) 부스트 확인.
- 디코딩 단계는 대역폭 제한적이므로 기본 FP16 스테이징 유지 권장.
일반적인 MLX QMM(quantized matmul) 단계에서는 피연산자(dequant)를 행렬 곱셈 전에 FP16으로 스테이징합니다. 하지만 만약 MLX를 수정하여 대신 FP8로 스테이징하게 한다면, 새로운 Apple Silicon M6 하드웨어에서 2배 빠른 FP8 행렬 경로를 사용할 수 있습니다! 동일한 아이디어는 M5 제품군에서도 작동합니다: 4비트 아핀 가중치를 matmul 전에 int8로 스테이징하면 유사한 프리필 부스트(M5 및 M6)를 얻을 수 있습니다. 이러한 이점은 프리필에 적용됩니다 (+40% 프리필 Qwen3-8B 또는 +50% Qwen3.8-27B). 디코딩은 대역폭 제한적이기 때문에 디코드 측에서는 큰 차이가 없으며, 기본 FP16 스테이징을 사용하도록 두는 것이 좋습니다. 이것은 상위 버전(upstream)이 아닌 실험적인 포크이며 (mlx#4627), 품질 측정 결과: 최악의 경우 퍼플렉서티 증가가 약 1% 미만입니다. FP8 성능 개선에는 macOS 27 및 deployment-target-27 빌드가 있는 M6이 필요하며, int8은 M5 이상에서 작동합니다. 이것은 매우 흥미로운 연구 프로젝트였고, 하드웨어 측면에서 LLM 뒤에 숨겨진 수학적 원리에 대해 더 깊이 이해하는 데 도움이 되었습니다. 😄 모든 세부 정보, 코드 및 증거는 제 블로그에서 확인할 수 있습니다: https://precisit.com/en/blog/apple-matrix-formats/ FP8 + Int8 QMM 패치가 적용된 MLX 포크 자체: https://github.com/precisit/mlx/tree/staged-8bit-qmm 공개합니다: 이 블로그는 제가 근무하는 Precisit의 것입니다. /u/Brilliant-Hall1387에 의해 제출됨 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기