Nemotron Streaming
Nemotron-Speech-Streaming-0.6B là ASR streaming tiếng Anh độ trễ thấp của NVIDIA: một encoder FastConformer có cache kết hợp với decoder RNN-T, kèm chấm câu và viết hoa tự nhiên được phát ra dưới dạng các token BPE thông thường. Gói CoreML trên trang này đi kèm encoder đã được palettize INT8 và chạy trên Apple Neural Engine.
Là gì
- Chấm câu và viết hoa tự nhiên — không cần bộ hậu xử lý; dấu chấm, dấu phẩy và chữ hoa là một phần của vốn từ vựng
- 600M tham số — lớn hơn Parakeet-EOU (120M), nên chất lượng chuyển lời nói cao hơn rõ rệt trên audio khó
- FastConformer có cache — 24 lớp encoder với cache attention + conv được truyền nối tiếp giữa các đoạn để duy trì ngữ cảnh liên tục
- Bốn kích thước chunk — 80, 160, 560, 1120 ms cho mỗi bước suy luận (160 ms là mặc định và là biến thể được công bố hôm nay)
- Chỉ tiếng Anh — được huấn luyện trên giọng nói tiếng Anh; để dùng đa ngôn ngữ, xem Qwen3-ASR hoặc Omnilingual ASR
Kiến trúc
Ba mô hình CoreML được nối tiếp theo từng chunk âm thanh:
| Thành phần | Mô tả |
|---|---|
| Encoder | FastConformer có cache 24 lớp, 1024 hidden. Nhận chunk mel 17 frame (160 ms mặc định) cộng với năm tensor trạng thái — KV cache attention [24, 1, 70, 1024], cache convolution depthwise [24, 1, 1024, 8] và một pre_cache mel loopback chèn lại audio quá khứ gần để các ranh giới chunk duy trì liên tục. |
| Decoder | Mạng dự đoán LSTM hai lớp, 640 hidden. Tiêu thụ token non-blank trước đó, phát ra một embedding cộng với trạng thái (h, c) đã cập nhật. |
| Joint | Hợp nhất đầu ra encoder và decoder thành logits trên 1024 token BPE + blank. Chấm câu và viết hoa chỉ là thêm các token trong vốn BPE — không có head bổ sung. |
Không có head EOU
Khác với Parakeet-EOU, Nemotron không phát ra token end-of-utterance dành riêng. Hai cách để phân đoạn audio liên tục thành các câu thoại:
- VAD bên ngoài — ghép phiên với Silero VAD; khi im lặng kéo dài, gọi
finalize()để xác nhận câu thoại hiện tại vàcreateSession()cho câu kế tiếp. - Ranh giới chấm câu — khi bản chuyển một phần kết thúc bằng
.,?hoặc!, xem đó như một tín hiệu xác nhận tự nhiên. Không cần mô hình thêm, nhưng phụ thuộc việc audio thực sự dẫn đến chấm câu cuối câu.
Mô hình
| Thành phần | Dung lượng | HuggingFace |
|---|---|---|
| Encoder (INT8) | 562 MB | aufklarer/Nemotron-Speech-Streaming-0.6B-CoreML-INT8 |
| Decoder | 14 MB | |
| Joint | 3.3 MB |
Upstream: nvidia/nemotron-speech-streaming-en-0.6b (checkpoint .nemo NeMo).
Bắt đầu nhanh — chuyển lời nói theo lô
Tuân thủ SpeechRecognitionModel, nên có thể lắp vào bất kỳ luồng code nào nhận một mô hình STT chung:
import NemotronStreamingASR
let model = try await NemotronStreamingASRModel.fromPretrained()
let text = try model.transcribeAudio(audioSamples, sampleRate: 16000)
Bắt đầu nhanh — streaming bất đồng bộ
for await partial in model.transcribeStream(audio: samples, sampleRate: 16000) {
if partial.isFinal { print("FINAL: \(partial.text)") }
else { print("... \(partial.text)") }
}
Mỗi PartialTranscript mang theo text, isFinal (chỉ true với phần partial cuối cùng sau finalize()), confidence và một segmentIndex đơn điệu.
API phiên dài hạn (đầu vào micro)
let session = try model.createSession()
// each mic chunk:
let partials = try session.pushAudio(float32Chunk16kHz)
for p in partials { showPartial(p.text) } // isFinal is false mid-stream
// when the utterance ends (VAD silence or explicit stop):
let trailing = try session.finalize()
for p in trailing { commit(p.text) }
CLI
speech transcribe recording.wav --engine nemotron # batch
speech transcribe recording.wav --engine nemotron --stream # streaming final
speech transcribe recording.wav --engine nemotron --stream --partial # with partials
Nemotron so với Parakeet-EOU
| Nemotron Streaming 0.6B | Parakeet-EOU 120M | |
|---|---|---|
| Tham số | 600M | 120M |
| Encoder | FastConformer 24 lớp, 1024 hidden | FastConformer 17 lớp, 512 hidden |
| Decoder | LSTM 2 lớp, RNN-T | LSTM 1 lớp, RNN-T |
| Phát hiện EOU | Bên ngoài (VAD hoặc chấm câu) | Token <EOU> tích hợp |
| Chấm câu | Token BPE tự nhiên nội tuyến | Không (hậu xử lý) |
| Ngôn ngữ | Chỉ tiếng Anh | 25 ngôn ngữ châu Âu |
| Chunk mặc định | 160 ms | 320 ms |
| Kích thước gói | ~580 MB | ~150 MB |
…bạn muốn bản chuyển lời nói tiếng Anh chất lượng cao hơn với chấm câu và viết hoa sẵn dùng, và bạn không ngại tự phân đoạn câu thoại (VAD hoặc tín hiệu chấm câu). Cho đọc chính tả iOS giới hạn tài nguyên với tín hiệu EOU tích hợp sẵn, Parakeet-EOU vẫn là lựa chọn nhỏ gọn và đơn giản hơn.