Mac용으로 최적화된 Qwen3.8-Flash-Next
Qwen3.8-Flash-Next optimised for Macs
핵심 요약
Mac 환경에서 SSD 스트리밍과 커스텀 Metal 최적화를 통해 성능을 극대화한 Qwen3.8-Flash-Next 모델입니다.
- 성능 최적화 — 커스텀 Q4 양자화 및 Metal 최적화 희소 어텐션 적용
- SSD 스트리밍 — 텐서 및 MTP 데이터를 SSD로 스트리밍하여 RAM 효율 극대화
- MTP 활용 — 동적 MTP 스펙큘레이션으로 디코드 속도 70% 향상
- 포크 유지 — 업스트림 과정의 어려움으로 인해 자체 포크 형태로 유지 관리
M1 Max 64GB에서 돌리는 중:
- 텐서용 SSD 스트리밍
- 잉그램용 SSD 스트리밍
- MTP용 SSD 스트리밍
이게 어떻게 가능하냐고?
- 커스텀 Q4 양자화: 모든 메탈 텐서를 벤치마크한 다음, Unsloth랑 AtomicChat 양자화 모델들에서 텐서를 골라내고 합쳐서 비트당 최상의 성능을 뽑아냄.
- 메탈에 최적화된 커스텀 희소 어텐션(sparse attention) 메커니즘 개발: 기존 llama.cpp의 이차식 어텐션 대신 거의 선형적인 성능 저하를 보이도록 만듦.
- Q4_0 MTP 사용: Unsloth Q8_0이랑 똑같은 수용률을 보여주는데 RAM은 절반밖에 안 먹음.
- 동적 MTP 추론 사이즈: 컨텍스트 사이즈가 커져서 MTP가 오히려 독이 되는 시점에선 알아서 MTP를 꺼버림.
- 메탈 커널, Qwen 그래프, Qwen 인덱서 관련 각종 버그 수정.
https://github.com/mihailescu2m/llama.cpp
Claude한테 특별히 고맙다. 3주치 토큰이랑 사비 털어서 쓴 추가 크레딧 덕분에 이 모든 게 가능했음. 피드백 환영한다.
참고: MTP를 켜면 RAM을 더 잡아먹어서 텐서용 캐시가 줄어듦. 그래서 4K 기준 프리필(prefill) 속도가 180 tps에서 170 tps로 떨어짐. 256K 컨텍스트로 가면 KV 캐시 때문에 RAM이 더 필요해서 프리필이 150 tps까지 내려감. 근데 MTP를 쓰면 디코드(decode) 속도가 70% 올라서 22 btps까지 나옴. 그러니까 프리필 속도가 제일 중요하다 싶으면 MTP 끄고 써라.


