Project Status: Active -- The project has reached a stable, usable state and is being actively developed.
CodeQL
NeMo Speech license
Release version
Python version
PyPi total downloads
Code style: black
NVIDIA NeMo Speech
최신 오픈 가중치 체크포인트 및 데모는 HuggingFace🤗 컬렉션을 확인하세요!
업데이트
NeMo Speech 3.0이 이제 릴리스 v3.0.0로, 그리고 26.07.00 NeMo Speech NGC 컨테이너에서 사용할 수 있습니다.
저장소 분리 전의 최종 NeMo 릴리스는 v2.7.3이며, 이는 26.04 NeMo NGC 컨테이너에서 이용 가능합니다.
-
2026년 7월: MagpieTTS v2607이 3개 신규 언어(Ar, Ko, Pt)와 기존 9개 언어(En, Es, De, Fr, Vi, It, Zh, Hi, Ja)를 지원하며 출시되었습니다. 데모!
-
2026년 6월: Nemotron-3.5-ASR-Streaming-0.6B이 40개 언어를 지원하고, 제어 가능한 지연 시간(latency) 80ms1s, 그리고 2402400개의 1xH100 동시 스트림을 갖추고 출시되었습니다. 캐시 인식형 Fastconformer 아키텍처를 기반으로 구축되었습니다.
-
2026년 4월: Parakeet-unified-en-0.6b이 영어 언어에 대해 구두점(punctuation) 및 대문자 처리(capitalization) 지원과 함께, 하나의 모델에서 고품질의 오프라인 및 스트리밍(최소 지연 시간 160ms) 추론을 제공하며 출시되었습니다.
-
2026년 3월: Nemotron 3 VoiceChat이 현재 얼리 액세스(Early Access)로 출시되었습니다. Nemotron speech 및 TTS 디코더를 갖춘 Nemotron Nano v2 LLM 백본을 기반으로 구축된 VoiceChat은 낮은 지연 시간으로 풀-듀플렉스(full-duplex), 자연스럽고 중단 가능한 대화를 제공합니다. 데모에서 사용해 보고 얼리 액세스에 신청하세요.
-
2026년 3월: Nemotron-Speech-Streaming v2603이 업데이트되었습니다. 더 크고 다양해진 코퍼스(corpus)로 학습되어 모든 지연 시간 모드에서 WER(Word Error Rate)이 낮아졌습니다. 데모에서 사용해 보고 NIM을 확인하세요.
-
2026년 3월: MagpieTTS v2602가 9개 언어(En, Es, De, Fr, Vi, It, Zh, Hi, Ja)를 지원하며 출시되었습니다.</div>,
-
2026년 1월: Nemotron-Speech-Streaming이 출시되었습니다. 이 체크포인트는 사용자가 지연 시간-정확도 파레토 곡선(latency-accuracy Pareto curve) 상에서 최적의 지점을 선택할 수 있도록 합니다!
-
2026년 1월: MagpieTTS v2512가 출시되었습니다.
-
2026년: 이 저장소는 오디오(audio), 음성(speech), 멀티모달 LLM에 초점을 맞추도록 방향을 전환했습니다. 추가 모달리티를 지원하는 최종 사전 분할 NeMo 릴리스는 v2.7.3을 참조하십시오.
-
2025년 8월: Parakeet V3와 Canary V2가 출시되었으며, 25개 유럽 언어에 대한 음성 인식 및 번역을 지원합니다.
-
2025년 6월: Canary-Qwen-2.5B가 출시되었으며, 영어 Open ASR 리더보드에서 기록적인 5.63% WER을 달성했습니다.
소개 (Introduction)
NVIDIA NeMo Speech는 자동 음성 인식(Automatic Speech Recognition, ASR), 텍스트 음성 변환(Text to Speech, TTS) 및 음성 대규모 언어 모델(Speech LLMs)을 포함한 음성 모델을 다루는 연구원과 PyTorch 개발자를 위해 구축되었습니다. 이는 기존 코드와 사전 학습된 모델 체크포인트를 활용하여 새로운 AI 모델을 효율적으로 생성, 사용자 정의 및 배포할 수 있도록 설계되었습니다.
기술 문서의 경우 [NeMo Speech Developer Documentation]을 참조하십시오.
요구 사항 (Requirements)
NeMo Speech는 사용자가 선택하는 Python, PyTorch 및 CUDA 버전에서 작동합니다:
- Python 3.12 이상
- PyTorch 2.7 이상 (CPU, CUDA 등 — 사용자 선택)
- NVIDIA GPU + CUDA (학습에 필수; 추론에 권장)
이미 최소 사양을 충족하는 Python/PyTorch/CUDA 스택이 있다면, NeMo Speech는 기존 환경을 대체하지 않고 그 위에 설치되므로, 기존 PyTorch 빌드는 유지됩니다 (아래 설치 옵션 참조). uv.lock에 고정된 버전과 공식 컨테이너에 포함된 버전(Python 3.13, CUDA 12.9를 사용한 PyTorch 2.11 또는 CUDA 13.2를 사용한 PyTorch 2.12)은 우리가 적극적으로 테스트하고 지원하는 조합일 뿐입니다. 이 조합들은 설정을 손쉽게 하고 재현 가능하게 만들지만, 필수적인 하드 요구 사항은 아닙니다.
Pytorch 2.6 기준으로,
torch.load는 기본적으로 weights_only=True를 사용합니다. 일부 모델 체크포인트는 weights_only=False를 사용해야 할 수 있습니다.
이 경우, 코드를 실행하기 전에 환경 변수 TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1을 설정할 수 있습니다.
하지만 이는 신뢰할 수 있는 파일에 대해서만 수행되어야 합니다. 가중치 전용(weights only) 이상의 파일을 신뢰할 수 없는 출처에서 로드하는 것은 임의 코드 실행(arbitrary code execution) 위험을 초래할 수 있습니다.
개발자 문서 (Developer Documentation)
NeMo Speech 설치 (Install NeMo Speech)
NeMo Speech를 설치하는 권장 방법은 uv를 사용하여 소스에서 설치하는 것입니다. 이는 커밋된 uv.lock에서 우리가 적극적으로 테스트한 스택을 재현합니다. 만약 다른 Python/PyTorch/CUDA 버전을 필요로 한다면, NeMo Speech는 아래 pip fallback를 통해 기존 환경 위에 설치할 수도 있습니다.
uv를 사용한 소스 설치 (권장)
git clone https://github.com/NVIDIA-NeMo/Speech.git
cd Speech
uv sync --extra all --extra cu13
이 명령어는 지원하는 스택(Python 3.13, PyTorch 2.12, CUDA 13.2)을 NeMo Speech의 편집 가능 모드(editable)로 .venv/에 설치합니다. 테스트 스위트가 필요하면 --group test를 추가하고, 문서를 빌드하려면 --group docs를 사용하십시오. 도구는 uv run <cmd>를 통해 실행하거나 source .venv/bin/activate로 활성화할 수 있습니다. Linux 환경에서는 cu12와 cu13이 상호 배타적이므로 정확히 하나만 전달해야 합니다 (cu13이 기본값입니다). 정확한 컨테이너 기준선(baseline)을 사용하려면 --locked --python 3.13를 추가하십시오 (Dockerfile과 CI가 사용하는 경로입니다).
SpeechLM2 / Automodel: Automodel 백엔드는 어떠한 컴파일된 종속성 없이 실행됩니다. 더 나은 성능을 위해 전용 가속화 백엔드(Transformer Engine, FlashAttention, Mamba, grouped-GEMM/MoE, DeepEP)의 이점을 선택적으로 얻을 수 있습니다. 이러한 소스 빌드 커널은 compiled (Hopper/Blackwell) 또는 compiled-a100 (A100) 추가 기능에서 제공되며, 이는 docker/Dockerfile에 의해 빌드됩니다 (GPU_TARGET=h100plus / a100). 전체 목록과 빌드 세부 정보는 설치 가이드를 참조하십시오.
Docker (원클릭, 지원하는 스택)
최신 사전 구축된 NeMo Speech 이미지는 다음 NGC 컨테이너입니다:
26.07.00 NGC 컨테이너:
docker pull nvcr.io/nvidia/nemo-speech:26.07.00
docker run --rm -it --gpus all -v "$PWD:/workspace" nvcr.io/nvidia/nemo-speech:26.07.00 bash
소스에서 컨테이너를 빌드하는 방법 (기본값은 CUDA 13 / H100+):
git clone https://github.com/NVIDIA-NeMo/Speech.git
cd Speech
docker buildx build -f docker/Dockerfile -t nemo-speech .
...
A100의 경우, GPU_TARGET=a100으로 설정하십시오. A100은 CUDA 12와 CUDA 13 모두에서 작동합니다 (기본 이미지인 CUDA 13이 권장되며, CUDA 12 기반 이미지는 편의를 위한 것입니다). 모든 빌드 인자(BASE_IMAGE, GPU_TARGET)는 docker/Dockerfile 헤더를 참조하십시오.
pip을 통한 PyPI (폴백 — 사용자 지정 버전 사용)
자신만의 Python/PyTorch/CUDA를 선호하십니까? 먼저 PyTorch를 설치하십시오 (CPU/CUDA 등 목표 환경에 맞는 버전 2.7 이상 — PyTorch 설치 매트릭스 참조). 그런 다음 NeMo Speech를 추가하면 사용자의 빌드를 유지합니다. uv pip (uv의 빠르고 pip과 호환되는 설치 프로그램)은 pip처럼 작동하며 다음과 같습니다:
uv pip install 'nemo-toolkit[asr,tts]'
⚠️ 자체 스택을 사용할 때는 uv sync --locked를 사용하지 마십시오. 이 명령어는 uv.lock을 적용하고 사용자 환경의 Python/PyTorch/CUDA를 지원되는 기본값으로 대체합니다. 여기에서는 uv pip/pip를 사용하고, uv sync --locked는 저희 스택을 재현하는 용도로 남겨두십시오.
대신 저희가 고정시킨(pinned) PyTorch 빌드를 가져오려면, CUDA 추가 옵션과 일치하는 휠 인덱스(wheel index)를 추가해야 합니다 (pip/uv pip는 uv의 프로젝트 인덱스 설정을 읽지 않으므로 --extra-index-url이 필요합니다):
pip install 'nemo-toolkit[asr,tts,cu13]' --extra-index-url https://download.pytorch.org/whl/cu132
pip install 'nemo-toolkit[asr,tts,cu12]' --extra-index-url https://download.pytorch.org/whl/cu129
NeMo Speech에 기여하기
커뮤니티의 기여를 환영합니다! 프로세스는 CONTRIBUTING.md를 참조하십시오.
라이선스
NeMo Speech는 Apache License 2.0에 따라 라이선스가 부여됩니다.