
McFish: MPS에 최적화된 fish audio S2 (거의 실시간)
요약
Fish Audio의 S2 모델을 Apple Silicon의 MPS 환경에서 최적화한 McFish 프로젝트를 소개합니다. 양자화와 KV 캐시 최적화를 통해 추론 속도를 획기적으로 개선했습니다.
핵심 포인트
- int8 양자화를 통해 초당 약 23토큰의 속도 달성
- KV 캐시 재사용 및 GQA 확장을 통한 성능 최적화
- MPS를 위한 전용 int8 커널 및 sub batch streaming 적용
- Apple Silicon 환경에서의 실시간에 가까운 오디오 추론 구현
안녕하세요, 최근 저는 Fish Audio의 S2를 포크(fork)하여 로컬 실행을 위해 최적화를 시도해 보았습니다. bf16에서는 초당 약 1.2 토큰(tokens/second)이었던 속도를 int8에서는 약 23 t/s, bf16에서는 약 12.4 t/s까지 끌어올렸습니다 (추론 엔진에 이 양자화(quantisation)를 추가했습니다). Apple Silicon을 사용하는 다른 분들이 이를 테스트하고 제 벤치마크를 재현해 보시길 기대하고 있습니다. 제가 실제로 어떻게 이 성능을 뽑아냈는지에 대한 자세한 내용은 리포지토리(repo)에 있습니다. 요약하자면, 주로 KV 캐시(KV cache: 재사용, GQA 확장, 그리고 MPS를 위한 int8 커널) 덕분입니다. inductor-metal을 위한 torch의 compile이나 서브 배치 스트리밍(sub batch streaming)과 같은 다른 최적화들도 포함되어 있습니다. 리포지토리의 벤치마크는 저의 M5 Pro 48Gb에서 측정된 것이므로, 다른 Apple Silicon 칩을 사용하시는 분이 있다면 다른 기기에서는 어떻게 작동하는지 꼭 확인해 보고 싶습니다. 감사합니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기