A fresh build pulled torch 2.14.0 from the cu130 index, which has not been validated with CUDA graph capture on SM121. Pin torch 2.12.1, torchvision 0.27.1 and torchaudio 2.11.0 (the versions in the running images) and document the v6.11 image tags. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
54 lines
2.1 KiB
Docker
54 lines
2.1 KiB
Docker
# Faster-Qwen3-TTS for NVIDIA DGX Spark (GB10 / SM 121 / ARM64 / CUDA 13)
|
|
#
|
|
# Builds an OpenAI-compatible TTS server with CUDA graph acceleration.
|
|
# Clones upstream faster-qwen3-tts at build time and applies DGX Spark fixes.
|
|
|
|
FROM nvidia/cuda:13.0.2-base-ubuntu24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install Python 3.12 and required audio/build tools
|
|
RUN apt-get update && \
|
|
apt-get install -y python3.12 python3.12-venv python3-pip python3.12-dev \
|
|
ffmpeg git curl sox libsox-fmt-all && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Clone the upstream faster-qwen3-tts library, pinned to a known-good commit.
|
|
# Upstream >= v0.4.0 moved to Transformers 5 (qwen-tts-hf), which conflicts with
|
|
# qwen-asr (pins transformers==4.57.6) and breaks model loading. Accepts a
|
|
# commit SHA, tag or branch.
|
|
ARG FASTER_QWEN3_TTS_REF=7cdef7e40195108b51a808f2ce5c7d5f3e235a79
|
|
RUN git clone https://github.com/andimarafioti/faster-qwen3-tts.git /app && \
|
|
cd /app && git checkout --detach ${FASTER_QWEN3_TTS_REF}
|
|
|
|
# Apply DGX Spark patches (non_streaming_mode=True, per-voice temperature/top_k/top_p)
|
|
COPY patches/openai_server.patch /tmp/
|
|
RUN cd /app && git apply /tmp/openai_server.patch
|
|
|
|
# Create virtual environment (Ubuntu 24.04 enforces PEP 668)
|
|
ENV VIRTUAL_ENV=/opt/venv
|
|
RUN python3.12 -m venv $VIRTUAL_ENV
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
|
|
RUN pip install --upgrade pip
|
|
|
|
# Install ARM64 CUDA 13 wheels for PyTorch stack
|
|
# Pinned to the versions validated on GB10 (CUDA graphs on SM121).
|
|
RUN pip install --no-cache-dir torch==2.12.1 torchvision==0.27.1 torchaudio==2.11.0 \
|
|
--index-url https://download.pytorch.org/whl/cu130
|
|
|
|
# Install faster-qwen3-tts and server dependencies
|
|
# Keep the Transformers 4 stack: qwen-tts pins transformers==4.57.3, qwen-asr
|
|
# then moves it to 4.57.6 (same combination as the released images).
|
|
RUN pip install --no-cache-dir -e ".[demo]" "qwen-tts==0.1.1" "huggingface-hub<1.0"
|
|
RUN pip install --no-cache-dir pydub soundfile uvicorn fastapi "qwen-asr==0.0.6"
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["python", "examples/openai_server.py", \
|
|
"--model", "/models/Qwen3-TTS", \
|
|
"--voices", "/config/voices.json", \
|
|
"--port", "8000"]
|