파인튜닝이 필요 없는 TTS, MOSS-TTS 설치기 (NVIDIA DGX Spark 활용)
이번 포스팅에서는 NVIDIA의 최신 AI 워크스테이션인 DGX Spark(Grace-Blackwell) 환경에서 고성능 TTS 모델인 MOSS-TTS를 구축한 과정을 공유합니다. 별도의 파인튜닝 없이도 소름 돋는 목소리 클로닝 성능을 보여주는 것이 특징입니다.

시스템 환경 요약
본 설치기는 아래의 환경을 기준으로 작성되었습니다.
| 구분 | 사양 | 비고 |
|---|---|---|
| Hardware | NVIDIA DGX Spark (Grace-Blackwell) | 저전력/저소음 AI 워크스테이션 |
| GPU | GB10 (CUDA Capability 12.1) | Blackwell 아키텍처 |
| OS | Ubuntu 22.04 LTS 기반 | - |
| CUDA / Driver | CUDA 13.0 | Spark 기본 드라이버 환경 |
| Python | 3.10+ (venv 사용) | Conda 대신 경량화된 venv 선택 |
| VRAM 점유 | 약 23.8 GB | 추론 대기 및 실행 시 기준 |
1. Repository 클론
git clone https://github.com/OpenMOSS/MOSS-TTS.github
2. 가상환경(venv) 생성 및 활성화
GitHub 가이드는 Conda를 권장하지만, 향후 Docker 패키징이나 systemd 서비스 등록의 편의성을 위해 Python 가상환경을 선택했습니다.
python3 -m venv myvenv
source myvenv/bin/activate
3. 기본 빌드 도구 업데이트
pip install -U pip setuptools wheel
4. 핵심 설정: pyproject.toml 수정
DGX Spark의 CUDA 13.0 환경에 맞추기 위해 종속성 버전을 직접 수정해야 합니다. 특히 torch와 torchaudio의 버전을 반드시 일치시켜야 설치 중 발생하는 충돌을 방지할 수 있습니다.
- 수정 내용:
"torch==2.10.0+cu130""torchaudio==2.10.0+cu130""torchcodec==0.10.0+cu130"
5. 종속성 패키지 설치
pip install --extra-index-url https://download.pytorch.org/whl/cu130 -e .
6. 호스트 FFmpeg 설치
FFmpeg이 없으면 추론 시 오류가 발생하므로 라이브러리와 함께 미리 설치해 둡니다.
sudo apt update && sudo apt install -y ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev
sudo ldconfig
7. 모델 다운로드 및 실행 시 주의사항
- HG 직접 다운로드 금지: HuggingFace에서 수동으로 모델을 받아
--model_path로 연결하면, 실행 파일(moss_tts_app.py)과의 변수명 불일치로 오류가 날 수 있습니다. - 자동 다운로드 권장: 기본값으로 실행하면 약 17GB의 가중치 모델과 7GB의 Tokenizer를 알아서 캐시 경로에 내려받습니다.
- 실행 스크립트:
python clis/moss_tts_app.py --device cuda --attn_implementation auto --host 0.0.0.0 --port 7860
참고: 실행 시
GB10 (cuda capability 12.1)관련 경고가 뜰 수 있으나, 실제 추론 성능에는 영향이 없음을 확인했습니다. 초기 로딩은 약 30~60초 정도 소요됩니다.
8. 사용 후기: "이제 파인튜닝은 필요 없다"
- 클로닝 성능: 내 목소리 샘플 하나만으로 한국어, 영어, 일본어 모두에서 음색과 습관을 완벽하게 재현합니다.
- 속도: 짧은 문장은 7~8초, 긴 글(3~4문장)은 약 30초 내외로 생성됩니다.
- 언어별 특징: 영어는 거의 완벽하며, 일본어의 한자 오독은 히라가나 표기로 쉽게 교정 가능합니다.
- 전력 효율: 추론 시에도 36W 내외의 저전력을 유지하며, 팬 소음이 전혀 발생하지 않는 점이 DGX Spark의 큰 장점입니다.
9. 트러블슈팅: 왜 NVIDIA 공식 이미지를 쓰지 않았나?
NVIDIA에서 제공하는 nvcr.io/nvidia/pytorch:26.01-py3 이미지는 TTS 구동에 필요한 torchaudio 및 torchcodec 빌드가 되지 않는다. NVIDIA에서 이미지를 제작할 때 넣은 PyTorch의 버젼이 NVIDIA제품에 맞춰져 특별하게 빌드가 되어있는 것 같은데, 이 PyTorch와 torchaudio 및 torchcodec 와 버젼 불일치로 문제가 발생하였습니다. 따라서 아쉽지만 Spark에서도 일반 venv 환경이 현재로서는 가장 안정적입니다.
🚀 향후 계획
- FlashAttention 2 적용: 설치 후 추론 속도가 얼마나 단축되는지 테스트할 예정입니다.
- MOSS-VoiceGenerator: 레퍼런스 없이 새로운 가상 목소리를 생성하는 모델도 탐구해 볼 계획입니다.
관련글보기
댓글이 없습니다.