# Instalación de MOSS-TTS, TTS sin necesidad de fine-tuning (usando NVIDIA DGX Spark) En esta publicación, comparto el proceso de implementación de **MOSS-TTS**, un modelo TTS (Text-to-Speech) de alto rendimiento, en el entorno de la última estación de trabajo de IA de NVIDIA, **DGX Spark (Grace-Blackwell)**. Destaca por su impresionante capacidad de clonación de voz sin requerir fine-tuning adicional. ![moss-tts-on-dgx-spark](/media/whitedec/blog_img/e24d4416693f4aeaae267eecfa832122.webp) ## Resumen del entorno del sistema {#sec-f34b9d0d948e} Esta guía de instalación se basa en el siguiente entorno: | Categoría | Especificación | Notas | | --- | --- | --- | | **Hardware** | NVIDIA DGX Spark (Grace-Blackwell) | Estación de trabajo de IA de bajo consumo y bajo ruido | | **GPU** | GB10 (CUDA Capability 12.1) | Arquitectura Blackwell | | **OS** | Basado en Ubuntu 22.04 LTS | - | | **CUDA / Driver** | CUDA 13.0 | Entorno de controlador predeterminado de Spark | | **Python** | 3.10+ (usando venv) | Se eligió venv ligero en lugar de Conda | | **Consumo de VRAM** | Aproximadamente 23.8 GB | Basado en el estado de espera y ejecución de inferencia | --- ## 1. Clonación del repositorio {#sec-ef4f934465f5} ```bash git clone https://github.com/OpenMOSS/MOSS-TTS.github ``` ## 2. Creación y activación del entorno virtual (venv) {#sec-919dd44853da} Aunque la guía de GitHub recomienda Conda, opté por un entorno virtual de Python para facilitar futuros empaquetados con Docker o el registro de servicios `systemd`. ```bash python3 -m venv myvenv source myvenv/bin/activate ``` ## 3. Actualización de herramientas de compilación básicas {#sec-93572d851f38} ```bash pip install -U pip setuptools wheel ``` ## 4. Configuración clave: Modificación de pyproject.toml {#sec-20dfda9d709e} Es necesario ajustar manualmente las versiones de las dependencias para que coincidan con el entorno **CUDA 13.0** de DGX Spark. Es crucial **asegurar que las versiones de torch y torchaudio sean idénticas** para evitar conflictos durante la instalación. * **Modificaciones:** * `"torch==2.10.0+cu130"` * `"torchaudio==2.10.0+cu130"` * `"torchcodec==0.10.0+cu130"` ## 5. Instalación de paquetes de dependencias {#sec-946338ef1888} ```bash pip install --extra-index-url https://download.pytorch.org/whl/cu130 -e . ``` ## 6. Instalación de FFmpeg en el host {#sec-4245e15027ca} Sin FFmpeg, se producirá un error durante la inferencia, por lo que es recomendable instalarlo junto con las bibliotecas necesarias de antemano. ```bash sudo apt update && sudo apt install -y ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev sudo ldconfig ``` ## 7. Precauciones al descargar y ejecutar el modelo {#sec-aa114731d729} * **No descargar directamente de HG:** Descargar manualmente el modelo de HuggingFace y conectarlo a `--model_path` puede causar errores debido a la falta de coincidencia de nombres de variables con el archivo ejecutable (`moss_tts_app.py`). * **Se recomienda la descarga automática:** Si se ejecuta con los valores predeterminados, el modelo de pesos (aproximadamente 17 GB) y el Tokenizer (7 GB) se descargarán automáticamente en la ruta de caché. * **Script de ejecución:** ```bash python clis/moss_tts_app.py --device cuda --attn_implementation auto --host 0.0.0.0 --port 7860 ``` > **Nota:** Puede aparecer una advertencia relacionada con `GB10 (cuda capability 12.1)` al ejecutar, pero se ha confirmado que no afecta el rendimiento real de la inferencia. La carga inicial toma entre 30 y 60 segundos. ## 8. Reseña de uso: "Adiós al fine-tuning" {#sec-cfb473ec3c5d} * **Rendimiento de clonación:** Con una sola muestra de mi voz, reproduce perfectamente el timbre y los patrones de habla en coreano, inglés y japonés. * **Velocidad:** Las frases cortas se generan en 7-8 segundos, mientras que los textos más largos (3-4 oraciones) tardan aproximadamente 30 segundos. * **Características por idioma:** El inglés es casi perfecto, y las lecturas incorrectas de caracteres kanji en japonés se pueden corregir fácilmente con la notación hiragana. * **Eficiencia energética:** Incluso durante la inferencia, mantiene un bajo consumo de energía de alrededor de **36W**, y la ausencia total de ruido del ventilador es una gran ventaja de DGX Spark. --- ## 9. Solución de problemas: ¿Por qué no usamos la imagen oficial de NVIDIA? {#sec-e2798483c6b5} La imagen `nvcr.io/nvidia/pytorch:26.01-py3` proporcionada por NVIDIA no permite la compilación de `torchaudio` y `torchcodec`, necesarios para el funcionamiento de TTS. Parece que la versión de PyTorch incluida por NVIDIA en la imagen está compilada de manera especial para sus productos, lo que causa un problema de incompatibilidad de versiones con `torchaudio` y `torchcodec`. Por lo tanto, lamentablemente, el entorno `venv` general es el más estable para Spark en este momento. --- ## 🚀 Planes futuros {#sec-620285e7d87d} * **Implementación de FlashAttention 2:** Probaré cuánto se reduce la velocidad de inferencia después de la instalación. * **MOSS-VoiceGenerator:** También planeo explorar el modelo MOSS-VoiceGenerator, que genera nuevas voces virtuales sin necesidad de una referencia. --- **Artículos relacionados** -[NVIDIA DGX Spark - Un nuevo estándar para la infraestructura de IA on-premise](/ko/whitedec/2025/5/12/nvidia-dgx-spark-ai-infra/)