# 파인튜닝이 필요 없는 TTS, MOSS-TTS 설치기 (NVIDIA DGX Spark 활용) 이번 포스팅에서는 NVIDIA의 최신 AI 워크스테이션인 **DGX Spark(Grace-Blackwell)** 환경에서 고성능 TTS 모델인 **MOSS-TTS**를 구축한 과정을 공유합니다. 별도의 파인튜닝 없이도 소름 돋는 목소리 클로닝 성능을 보여주는 것이 특징입니다. ![moss-tts-on-dgx-spark](/media/whitedec/blog_img/e24d4416693f4aeaae267eecfa832122.webp) ## 시스템 환경 요약 {#sec-f34b9d0d948e} 본 설치기는 아래의 환경을 기준으로 작성되었습니다. | 구분 | 사양 | 비고 | | --- | --- | --- | | **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 클론 {#sec-ef4f934465f5} ```bash git clone https://github.com/OpenMOSS/MOSS-TTS.github ``` ## 2. 가상환경(venv) 생성 및 활성화 {#sec-919dd44853da} GitHub 가이드는 Conda를 권장하지만, 향후 Docker 패키징이나 `systemd` 서비스 등록의 편의성을 위해 Python 가상환경을 선택했습니다. ```bash python3 -m venv myvenv source myvenv/bin/activate ``` ## 3. 기본 빌드 도구 업데이트 {#sec-93572d851f38} ```bash pip install -U pip setuptools wheel ``` ## 4. 핵심 설정: pyproject.toml 수정 {#sec-20dfda9d709e} DGX Spark의 **CUDA 13.0** 환경에 맞추기 위해 종속성 버전을 직접 수정해야 합니다. 특히 **torch와 torchaudio의 버전을 반드시 일치**시켜야 설치 중 발생하는 충돌을 방지할 수 있습니다. * **수정 내용:** * `"torch==2.10.0+cu130"` * `"torchaudio==2.10.0+cu130"` * `"torchcodec==0.10.0+cu130"` ## 5. 종속성 패키지 설치 {#sec-946338ef1888} ```bash pip install --extra-index-url https://download.pytorch.org/whl/cu130 -e . ``` ## 6. 호스트 FFmpeg 설치 {#sec-4245e15027ca} FFmpeg이 없으면 추론 시 오류가 발생하므로 라이브러리와 함께 미리 설치해 둡니다. ```bash sudo apt update && sudo apt install -y ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev sudo ldconfig ``` ## 7. 모델 다운로드 및 실행 시 주의사항 {#sec-aa117431d729} * **HG 직접 다운로드 금지:** HuggingFace에서 수동으로 모델을 받아 `--model_path`로 연결하면, 실행 파일(`moss_tts_app.py`)과의 변수명 불일치로 오류가 날 수 있습니다. * **자동 다운로드 권장:** 기본값으로 실행하면 약 17GB의 가중치 모델과 7GB의 Tokenizer를 알아서 캐시 경로에 내려받습니다. * **실행 스크립트:** ```bash 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. 사용 후기: "이제 파인튜닝은 필요 없다" {#sec-cfb473ec3c5d} * **클로닝 성능:** 내 목소리 샘플 하나만으로 한국어, 영어, 일본어 모두에서 음색과 습관을 완벽하게 재현합니다. * **속도:** 짧은 문장은 7~8초, 긴 글(3~4문장)은 약 30초 내외로 생성됩니다. * **언어별 특징:** 영어는 거의 완벽하며, 일본어의 한자 오독은 히라가나 표기로 쉽게 교정 가능합니다. * **전력 효율:** 추론 시에도 **36W** 내외의 저전력을 유지하며, 팬 소음이 전혀 발생하지 않는 점이 DGX Spark의 큰 장점입니다. --- ## 9. 트러블슈팅: 왜 NVIDIA 공식 이미지를 쓰지 않았나? {#sec-e2798483c6b5} NVIDIA에서 제공하는 `nvcr.io/nvidia/pytorch:26.01-py3` 이미지는 TTS 구동에 필요한 `torchaudio` 및 `torchcodec` 빌드가 되지 않는다. NVIDIA에서 이미지를 제작할 때 넣은 PyTorch의 버젼이 NVIDIA제품에 맞춰져 특별하게 빌드가 되어있는 것 같은데, 이 PyTorch와 `torchaudio` 및 `torchcodec` 와 버젼 불일치로 문제가 발생하였습니다. 따라서 아쉽지만 Spark에서도 일반 `venv` 환경이 현재로서는 가장 안정적입니다. --- ## 🚀 향후 계획 {#sec-620285e7d87d} * **FlashAttention 2 적용:** 설치 후 추론 속도가 얼마나 단축되는지 테스트할 예정입니다. * **MOSS-VoiceGenerator:** 레퍼런스 없이 새로운 가상 목소리를 생성하는 모델도 탐구해 볼 계획입니다. --- **관련글보기** -[NVIDIA DGX Spark - 온프레미스 AI 인프라의 새로운 기준](/ko/whitedec/2025/5/12/nvidia-dgx-spark-ai-infra/)