안녕하세요, Qwen3-TTS 1.7B 모델의 추론 병목을 해결해 약 5배의 속도 향상을 얻어낸 Triton 커널 퓨전 라이브러리를 만들어 공유합니다.

1. 왜 만들었는가? (배경)
TTS 오디오를 실무에서 써보신 분들은 아시겠지만, Qwen3-TTS 같은 확률론적(Stochastic) 모델은 매번 생성 결과(억양, 톤 등)가 다르게 나옵니다.

결국 실전에서는 여러 개의 오디오 후보를 빠르게 뽑아내고 그중 가장 자연스러운 것을 고르는 다중 생성 전략이 필수적인데, 기존 속도로는 작업 파이프라인이 너무 답답해서 직접 최적화에 나서게 되었습니다. 이번 최적화를 통해 1개 만들던 시간 안에 5개의 후보를 생성할 수 있게 되었습니다.

2. 어떻게 만들었는가? (Claude Code + 빡센 테스트)
솔직히 말씀드리면, 저는 커널 최적화 라이브러리인 OpenAI Triton의 강력함은 알고 있었지만 직접 커널 코드를 짜본 적은 없었습니다. 그래서 이번 프로젝트의 커널 코드는 대부분 Claude Code의 도움을 받아 작성했습니다.

대신, 제 부족한 Triton 구현 경험을 보완하고 모델의 신뢰성을 100% 보장하기 위해 코드를 짜는 대신 테스트를 정말 빡세게 진행하는 데 모든 에너지를 쏟았습니다.

  • 원본 모델과 완벽히 동일한 수학적 결과를 보장하기 위해 90개의 단위 테스트를 짰습니다.
  • 주요 체크포인트 레이어 및 최종 출력 전부에서 Cosine Similarity > 0.997을 달성했습니다.

3. 엔지니어링 포인트 및 성과
LinkedIn의 Liger Kernel에서 영감을 받아, 추론 시 병목이 되는 4개 연산(RMSNorm, M-RoPE, Norm+Residual, SwiGLU)을 Triton 커널로 퓨전했습니다.

[성능 벤치마크 - RTX 5090 기준]

  • Base (PyTorch): 3,902 ms
  • Hybrid (Faster+Triton): 919 ms (~4.7x 속도 향상)
    (※ Hybrid 모드는 CUDA Graph 기반의 faster-qwen3-tts에 이번 Triton 커널 퓨전을 얹은 결과입니다.)

4. 마무리
현재 제 개인 장비인 RTX 5090 환경에서만 테스트를 마친 상태입니다. 혹시 서버급(A100, H100)이나 RTX 4090 같은 다른 장비를 사용 중이신 분들이 돌려보시고 GitHub이나 댓글로 피드백을 주시면 정말 큰 도움이 될 것 같습니다.

긴 글 읽어주셔서 감사합니다!