Nemotron 3.5 ASR의 기술 사양과 다국어 지원 범위
NVIDIA가 공개한 Nemotron 3.5 ASR은 6억 개의 파라미터를 가진 경량 자동 음성 인식(ASR, Automatic Speech Recognition) 모델이다. 이 모델은 단일 아키텍처 내에서 총 40개의 언어 로케일(Locale, 언어와 국가 설정)을 처리하며, 상업적 이용이 가능한 OpenMDW-1.1 라이선스를 따른다.
다국어 지원 체계는 정확도와 준비 상태에 따라 세 단계로 구분된다. 먼저 가장 높은 정확도를 확보해 즉시 전사가 가능한 19개 로케일의 '전사 준비 단계'가 있다. 이어 추가적인 13개 로케일을 지원하는 '광범위 커버리지 단계'가 있으며, 마지막으로 토크나이저(Tokenizer, 텍스트를 최소 단위로 나누는 도구) 수준에서만 인식되어 추가 학습이 필요한 8개 로케일의 '적응 준비 단계'로 구성된다.
출력 단계에서는 별도의 후처리 파이프라인 없이도 구두점 삽입과 대소문자 구분을 기본적으로 지원한다. 이는 텍스트 생성 이후 가독성을 높이기 위해 추가적인 모델을 연결해야 했던 기존 공정을 단축시킨다.
Cache-Aware FastConformer-RNNT의 작동 방식
지연 시간을 줄이는 핵심 기제는 캐시 인식 패스트 컨포머-순환 신경망 트랜스듀서(Cache-Aware FastConformer-RNNT) 아키텍처에 있다. 기존의 스트리밍 ASR 방식은 오디오 데이터를 버퍼에 쌓아두고 처리하는 과정에서 중복 계산이 발생해 지연 시간이 늘어나는 구조였다.
Nemotron 3.5 ASR은 캐시된 인코더 문맥을 재사용하는 방식을 채택했다. 시스템이 새로운 오디오 청크(Chunk, 데이터 조각)를 입력받으면, 이전 단계에서 계산해 저장해둔 문맥 정보를 불러와 새로운 데이터 부분만 처리한다. 이 과정에서 중복 연산이 제거되어 전체적인 추론 지연 시간이 최소화된다.
또한 언어 식별 프롬프트 조건화(Language-ID prompt conditioning) 기술을 적용했다. 이는 단일 모델이 입력되는 언어의 특성을 프롬프트 형태로 조건화하여 인식하는 방식으로, 언어별로 개별 모델을 구축하거나 교체할 필요 없이 하나의 모델 내에서 40개 언어를 전환하며 처리할 수 있게 한다.
런타임 유연성과 인프라 운영 영향
실무자가 체감하는 가장 큰 변화는 재학습 없이 조정 가능한 런타임 유연성이다. Nemotron 3.5 ASR은 추론 시점에 다음과 같은 5가지 청크 크기를 선택할 수 있다.
- 80ms, 160ms, 320ms, 560ms, 1120ms
이는 지연 시간과 정확도 사이의 파레토 곡선(Pareto Curve, 최적의 균형점)에서 서비스 목적에 맞는 지점을 즉시 선택할 수 있음을 의미한다. 예를 들어 실시간 응답이 필수적인 AI 에이전트 서비스에는 80ms 설정을 적용하고, 정확한 기록이 중요한 전사 서비스에는 1120ms 설정을 적용하는 식이다.
인프라 운영 측면에서는 GPU 메모리 효율이 개선된다. 언어별 개별 모델을 띄우던 방식에서 단일 모델로 통합되면서 메모리 점유율이 낮아졌으며, 캐시 인식 설계로 인해 동일 메모리 환경에서 더 많은 병렬 스트림을 처리할 수 있다. 이는 곧 서버 인프라 비용의 절감으로 이어진다.
모델 도입을 위한 환경 구축 및 기본 추론 코드는 다음과 같다.
bash
NVIDIA NeMo 프레임워크 설치
pip install nemo_toolkit[all]
Hugging Face에서 모델 다운로드
huggingface-cli download nvidia/nemotron-3.5-asr-streaming-0.6b
import nemo.collections.asr as nemo_asr모델 로드
asr_model = nemo_asr.models.ASRModel.from_pretrained("nvidia/nemotron-3.5-asr-streaming-0.6b")
스트리밍 추론 설정 (예: 160ms 청크 사이즈)
asr_model.setup_streaming(chunk_size=160)
오디오 데이터 입력 및 전사
transcription = asr_model.transcribe(["audio_file.wav"])
print(transcription)




