로컬 음성 인식·합성
최종 업데이트
Nemotron 3.5 Transcribe로 1시간 회의를 한 번에 전사하기
30B-A4B 음성 LLM, 화자와 시각까지 붙여요
Nemotron 3.5 Transcribe는 NVIDIA가 10월 28일 공개한 음성 LLM1이에요. 40개 언어를 다루고 65,536 토큰2 문맥에 1시간 녹음을 넣어요. 화자 태그와 단어 타임스탬프를 한 번에 뽑고, 한국어는 FLEURS CER 2.78%로 보고됐어요. 다만 BF163이 67.5GB라 24GB GPU4에서는 19.68GB 4비트 파일을 써야 해요.
무엇을 넣고 무엇을 받나요?
Nemotron 3.5 Transcribe는 음성 인코더와 화자 인코더를 Nemotron 3.5 Lightning 30B-A3B에 붙인 음성 LLM이에요. 활성 파라미터는 4.3B고, 입력은 음성과 텍스트, 출력은 전사문이에요.
문맥은 65,536 토큰이고 녹음은 1시간까지 들어가요. 회의나 통화를 잘라 넣지 않아도 되니, 문장이 중간에 끊기지 않아요.
전사 방식은 지시문으로 정해요. 말한 그대로 받아쓰기, 말버릇을 지운 읽기용, 고유명사 목록을 주는 문맥 전사, 화자 태그, 다른 언어로 번역까지 한 모델에서 처리해요.

실시간 0.6B와 뭐가 다른가
이름이 비슷한 Nemotron 3.5 ASR5 스트리밍 0.6B는 마이크 앞에서 바로 받아쓰는 모델이에요. Transcribe는 파일을 넣고 기다리는 오프라인 모델이라 쓰는 자리가 갈려요.
회의 중에 자막이 필요하면 스트리밍 모델을 쓰고, 이 모델은 권장하지 않아요. 끝난 뒤 화자별로 정리할 때 Transcribe가 맞아요.
둘을 같이 쓰는 구성도 돼요. 회의 중에는 스트리밍으로 자막을 띄우고, 끝난 뒤 Transcribe로 화자와 시각을 붙여 다시 뽑아요.
| 항목 | 스트리밍 0.6B | Transcribe 30B-A4B |
|---|---|---|
| 파라미터 | 0.6B | 30B-A4B, 활성 4.3B |
| 문맥 | 짧은 청크 | 65,536 토큰, 1시간 |
| 화자 구분 | 단독으로는 없음 | 지시문으로 화자 태그 |
| 한국어 | ko-KR 로케일 | FLEURS CER 2.78% |
| 실행 | NeMo-Speech.cpp | vLLM, Transformers, GGUF |
메모리부터 계산해요
BF16 가중치는 67.5GB라 메모리가 80GB급이어야 해요. 공식 예시가 H100 한 장을 전제로 하는 이유가 여기 있어요.
24GB GPU나 맥에서는 4비트 GGUF6를 써요. 19.68GB 디코더에 1.67GB 인코더를 더해 21.4GB 남짓이고, 16GB GPU는 13.57GB 파일로 내려가요. 이때 피크 GPU 메모리는 15.6GiB였어요.
인코더 파일은 어떤 디코더를 골라도 필요해요. 디코더가 인코더 파일 이름을 찾으니 이름을 바꾸지 마세요.
| 파일 | 크기 | 맞는 장비 |
|---|---|---|
| AD-IQ4_NL | 19.68GB | 24GB GPU와 맥 기본 |
| AD-IQ4_NL_L | 22.55GB | 32GB에서 여유를 두고 |
| AD-Q2_0_L | 15.55GB | 24GB 맥 |
| AD-Q2_0_M | 13.57GB | 16GB GPU |
| AD-NVFP4 | 19.68GB | RTX 50, DGX Spark |
| Q8_0 | 35.00GB | 48GB 이상 |

NeMo-Speech.cpp로 돌려요
CMake 3.26과 SentencePiece 0.2.0 이상이 필요해요. 엔비디아는 cuda-server, 애플 실리콘은 metal-server 프리셋으로 빌드해요.
git clone https://github.com/NVIDIA/NeMo-Speech.cpp && cd NeMo-Speech.cpp
git submodule update --init --depth 1 llama.cpp third_party/cpp-httplib
# NVIDIA
scripts/configure.sh cuda-server && cmake --build --preset cuda-server
# Apple silicon
scripts/configure.sh metal-server && cmake --build --preset metal-server
hf download AtomicChat/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-GGUF --local-dir models \
--include "*Encoder-F16.gguf" --include "*AD-IQ4_NL.gguf"
build/cuda-server/bin/nemo-speech transcribe meeting.wav --json \
--model models/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-AD-IQ4_NL.ggufJSON에는 단어마다 시각이 붙어요. 자막이 필요하면 --format srt로 바로 뽑아요.
맥에서는 build/metal-server/bin/nemo-speech를 써요. 바이너리 경로만 다르고 옵션은 같아요.
화자와 시각을 뽑아요
화자 태그를 원하면 지시문에 Put speaker tags on the transcription. 문장을 넣어요. Transformers 경로에서는 apply_transcription_request에 지시문을 넘겨요.
단어 시각은 return_word_timestamp_logits를 켜고 align_word_timestamps로 정렬해요. 발화 구간마다 시작과 끝이 붙고, 화자 정보도 같이 나와요.
화자 라벨은 같은 녹음 안에서 목소리를 구분하는 표시예요. 실제 인물이 누구인지는 알려주지 않아요.

숫자를 읽는 법
영어 Open ASR 리더보드 9개 세트 평균 WER은 4.71%, 다국어는 4.62%예요.
겹치는 발화가 있는 회의 데이터에서는 평균 cpWER이 15.80이에요. 다음 공개 조합인 DiCoW v3.3과 DiariZen이 16.83이라, 전용 조합보다 낮아요.
한국어 2.78%는 원본 BF16 기준이에요. 4비트 파일에서 한국어가 얼마나 달라지는지는 공개된 비교표에 없어서, 내 녹음으로 한 번 대조해야 해요.
| 측정 지표 | 결과 | 다음 공개 결과 |
|---|---|---|
| 회의 cpWER (AMI 등) | 15.80 | DiCoW v3.3+DiariZen 16.83 |
| Preference-ASR WER (기본) | 7.56 | Canary-Qwen 8.16 |
| Preference-ASR WER (지시) | 6.16 | Canary-Qwen 8.36 |
| 영어 Open ASR 평균 WER | 4.71 | — |
| 다국어 Open ASR 평균 WER | 4.62 | — |
| FLEURS 한국어 CER | 2.78 | — |
무엇에 약한가
실시간 스트리밍은 하지 않아요. 모델 카드도 오프라인 모델이라고 적고, 내부 청킹이 스트리밍을 뜻하지 않는다고 못 박아요.
16GB GPU용 13.57GB 파일은 중국어 CER이 1.5점 올라가요. 크기를 줄일수록 다른 언어도 손해를 볼 수 있어요.
공식 지원은 리눅스와 윈도이고, 맥은 GGUF와 Metal7 조합으로만 돌아가요. 라이선스는 OpenMDW-1.1이라 상업적 사용 조건을 직접 확인해야 해요.
용어 각주
대규모 언어 모델 — 대규모 텍스트 데이터에서 언어 패턴을 학습해 문맥에 맞는 텍스트를 처리하고 생성하는 모델입니다.
본문으로 돌아가기토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.
본문으로 돌아가기BF16 — 모델 수치를 저장하고 계산하는 16비트 부동소수점 형식입니다. FP32와 같은 폭의 지수부를 써 넓은 값 범위를 표현합니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기자동 음성 인식 — 음성에서 발화를 인식해 텍스트로 변환하는 기술입니다.
본문으로 돌아가기GGUF — 모델 정보를 담는 파일 형식으로 llama.cpp 계열 도구에서 널리 사용됩니다.
본문으로 돌아가기Metal — Apple 기기에서 그래픽과 GPU 병렬 계산을 실행하는 저수준 기술입니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- Nemotron 3.5 Transcribe는 NVIDIA가 10월 28일 공개한 음성 LLM이에요. 40개 언어를 다루고 65,536 토큰 문맥에 1시간 녹음을 넣어요. 화자 태그와 단어 타임스탬프를 한 번에 뽑고, 한국어는 FLEURS CER 2.78%로 보고됐어요. 다만 BF16이 67.5GB라 24GB GPU에서는 19.68GB 4비트 파일을 써야 해요.
- 필요한 메모리는 어느 정도인가요?
- BF16 가중치는 67.5GB라 메모리가 80GB급이어야 해요. 공식 예시가 H100 한 장을 전제로 하는 이유가 여기 있어요.
- 선택하지 않는 편이 좋은 경우는 언제인가요?
- 회의 중에 자막이 필요하면 스트리밍 모델을 쓰고, 이 모델은 권장하지 않아요. 끝난 뒤 화자별로 정리할 때 Transcribe가 맞아요.
- 조건과 출처는 어디서 확인하나요?
- 공식 지원은 리눅스와 윈도이고, 맥은 GGUF와 Metal 조합으로만 돌아가요. 라이선스는 OpenMDW-1.1이라 상업적 사용 조건을 직접 확인해야 해요.
