CPU 환경에서의 Kokoro 82M vs Supertonic 3 TTS 벤치마크 비교
요약
CPU 환경에서 Kokoro 82M과 Supertonic 3 TTS 모델의 성능 및 품질을 직접 벤치마크한 결과입니다. Supertonic 3는 속도와 품질 사이의 조절이 가능하여 낮은 지연 시간이 필요한 서비스에 적합하며, Kokoro 82M은 속도는 상대적으로 느리지만 매우 자연스러운 음성 품질을 제공합니다.
핵심 포인트
- Supertonic 3는 추론 단계를 조절하여 속도와 품질을 최적화할 수 있으며, 5단계 설정이 성능과 품질의 균형점(Sweet spot)임
- Kokoro 82M은 속도 면에서는 Supertonic에 뒤처지지만, TTS Arena 1위 모델답게 가장 자연스러운 음성 품질을 구현함
- 테스트 결과 Kokoro ONNX가 PyTorch 버전보다 CPU 환경에서 더 느리게 측정되는 의외의 결과가 나타남
- Supertonic은 텍스트 길이에 따라 RTF 변화가 크지만, Kokoro는 텍스트 길이에 관계없이 비교적 일정한 처리량을 유지함
CPU에서 실제로 잘 작동하는 두 가지 TTS 모델에 대해 제대로 된 정면 승부를 보고 싶었습니다. 적절한 수치를 담은 자료를 찾을 수 없어 직접 실행해 보았습니다. 결과가 예상과는 달랐기에 공유합니다.
Supertonic 3를 아직 보지 못한 분들을 위한 짧은 배경 설명: 이는 Flow-matching (흐름 매칭) TTS로, 추론 단계 (Inference steps)를 조절하여 품질과 속도를 맞바꿀 수 있습니다. 기본값은 5단계이며, "속도 모드 (speed mode)"는 2단계입니다. Kokoro 82M은 이곳의 모든 분이 이미 알고 계실 것입니다.
하드웨어: AMD EPYC 7763, 4 vCPUs, 16GB RAM, GPU 없음. Ryzen 5600 또는 괜찮은 N100 박스와 대략적으로 유사한 수준입니다.
설정: 12자에서 1712자 사이의 6가지 텍스트 길이, 각 5회 실행, 총 120회의 시간 측정 실행. CUDA는 명시적으로 비활성화되었습니다. 웜업 (Warmup) 실행은 제외되었습니다.
평균 RTF (낮을수록 빠름):
- Supertonic 3, 2단계: 0.165 (실시간 대비 6.1배)
- Supertonic 3, 5단계: 0.313 (실시간 대비 3.2배)
- Kokoro 82M PyTorch: 0.469 (실시간 대비 2.1배)
- Kokoro 82M ONNX: 0.509 (실시간 대비 2.0배)
중간 길이 텍스트(196자, 약 13초 분량의 오디오)에 대한 실제 경과 시간 지연 시간 (Wall-clock latency):
- Supertonic 2단계: 1.82s
- Supertonic 5단계: 3.67s
- Kokoro PyTorch: 5.62s
- Kokoro ONNX: 5.51s
긴 텍스트 및 확장 텍스트에 대한 상세 내용은 아래의 GitHub 리포지토리에 있습니다.
정상 상태에서의 초당 글자 수 처리량 (Throughput): Supertonic 2단계는 약 111자, Supertonic 5단계는 약 55자, Kokoro는 백엔드에 관계없이 33에서 36자 사이를 유지합니다.
순위를 실제로 뒤집는 품질 측면:
Supertonic 2단계는 빠르지만 오디오가 거칩니다. 단어가 뭉개지고 운율 (Prosody)이 기계적이라서 실제 서비스에 출시할 수준은 아닙니다. 5단계에서는 훨씬 깔끔해지며 진정으로 사용 가능한 수준이 됩니다. Kokoro는 어떤 백엔드를 사용하더라도 이 체급에서 제가 테스트한 것 중 가장 자연스러운 음성을 생성합니다. TTS Arena 리더보드에서 1위를 차지하는 데는 이유가 있습니다.
따라서 실질적인 순위는 다음과 같습니다:
- 사람처럼 들리길 원한다면 → Kokoro, 느린 속도를 감수할 것
- 어시스턴트/챗봇을 위한 낮은 지연 시간을 원한다면 → Supertonic 5단계가 최적의 지점 (Sweet spot)
- Supertonic 2단계 → 데모 및 프로토타이핑용, 그 이상은 아님
나를 놀라게 한 두 가지 사항:
- 이 CPU에서 Kokoro ONNX는 PyTorch보다 더 느렸습니다. 저는 반대일 것이라고 예상했습니다. ONNX는 긴 텍스트에서는 승리하지만, 더 높은 고정 오버헤드 (fixed overhead) 때문에 아주 짧은 텍스트에서는 패배합니다. 이것이 AMD만의 문제인지 확인하기 위해 Intel 하드웨어에서 재테스트해 볼 가치가 있습니다.
- Supertonic은 Kokoro보다 호출당 고정 오버헤드가 훨씬 더 큽니다. 짧은 텍스트에서의 RTF (Real-Time Factor)는 0.30이며, 중간 길이에서는 0.13으로 떨어집니다. Kokoro는 길이에 따라 훨씬 더 평탄한(flatter) 양상을 보입니다. 따라서 워크로드(workload)가 수많은 짧은 발화(utterance)로 구성되어 있다면, 두 모델 사이의 격차는 좁혀집니다.
24개의 모든 오디오 샘플과 벤치마크 결과가 포함된 상세 보고서 및 Github 리포지토리는 아래 댓글에서 확인하실 수 있습니다 👇
두 TTS 모델에 대한 이번 평가는 평가 하네스 (eval harness)를 구축하고, 모델 런타임 (model runtime) 문제를 처리하며, 결과를 통합한 Neo AI Engineer를 사용하여 수행되었습니다. 저는 모든 내용을 수동으로 검토했습니다.
혹시 N100이나 Pi 5를 가지고 계신 분이 이 테스트를 실행하신다면, 그 수치를 꼭 보고 싶습니다. 그곳이 제가 실제로 배포하고자 하는 계층 (tier)이기 때문입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기