프로젝트 소개
NVIDIA NeMo Speech는 음성 모델을 연구하는 연구자와 PyTorch 개발자를 대상으로 하는 오픈소스 프레임워크입니다. README에 따르면 자동 음성 인식(ASR), 텍스트 음성 변환(TTS), 음성 LLM을 대상으로 하며, 기존 코드와 사전 학습된 체크포인트를 재사용하여 새 모델을 만들고 커스터마이징하며 배포하는 데 도움을 주기 위한 것입니다.
범위 및 포지셔닝
- 저장소는 오디오, 음성 및 멀티모달 LLM에 초점을 맞추도록 전환되었다고 명시하고 있습니다. 추가 모달리티를 포함하는 분할 이전 최종 NeMo 릴리스는 v2.7.3입니다.
- 현재 라인은 NeMo Speech 3.0으로, v3.0.0 릴리스로 게시되었으며 NGC 컨테이너로 제공됩니다.
- 모델 체크포인트와 데모는 README에서 참조하는 HuggingFace 컬렉션에 모아져 있습니다.
문서 및 릴리스
- 개발자 문서는 최신 릴리스(3.0.0)와 nightly 메인 브랜치용으로 호스팅됩니다.
- README에는 다국어 TTS 체크포인트, 스트리밍 ASR 모델, 통합 오프라인/스트리밍 ASR, 유럽 언어용 음성 인식/번역 모델 등의 모델 릴리스를 설명하는 날짜별 업데이트가 나열되어 있습니다. 이는 릴리스 노트이며, 여기서 독립적인 벤치마크 검증을 제공하지는 않습니다.
요구 사항
- Python 3.12 이상, PyTorch 2.7 이상(CPU 또는 CUDA), 그리고 학습용 NVIDIA GPU(CUDA)가 필요합니다(추론에는 권장).
- 프로젝트는 기존 Python/PyTorch/CUDA 스택 위에 설치되며 이를 대체하지 않는다고 설명합니다. 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를 사용하므로 일부 체크포인트는 TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1이 필요할 수 있다는 경고가 있습니다. 이는 신뢰할 수 있는 파일에만 사용해야 하며, 신뢰할 수 없는 파일을 로드하면 임의 코드 실행 위험이 있기 때문입니다.
설치 옵션
- 권장: uv로 소스에서 설치하고 all 및 cu13(또는 cu12)과 같은 엑스트라를 동기화하여 .venv에 테스트된 스택을 재현합니다. 선택 그룹은 테스트 또는 문서를 추가합니다.
- Docker: 사전 빌드된 NGC 컨테이너를 가져오거나 제공된 Dockerfile에서 빌드하며, H100+ 또는 A100용 GPU_TARGET 옵션이 있습니다.
- pip 대체: 먼저 PyTorch를 설치한 다음 asr 및 tts 엑스트라와 함께 nemo-toolkit을 설치합니다. README는 uv sync --locked를 자체 스택(bring-your-own stack)에 사용하지 말아야 한다고 명시합니다. 잠금 파일을 적용하여 기존 Python/PyTorch/CUDA를 대체하기 때문입니다.
- 선택적 가속 백엔드(Transformer Engine, FlashAttention, Mamba, grouped-GEMM/MoE, DeepEP)는 컴파일된 엑스트라에서 소스 빌드된 커널로 설명되며, Automodel 백엔드는 컴파일된 종속성 없이 실행될 수 있습니다.
라이선스 및 기여
- Apache License 2.0에 따라 라이선스가 부여됩니다.
- 커뮤니티 기여는 CONTRIBUTING.md 프로세스를 통해 환영받습니다.
이 개요는 저장소 README에 명시된 내용만 반영하며, 릴리스 노트의 정확성, 성능 또는 순위 주장을 검증하지 않습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.