תרגום מכונה · המקור באנגלית
Nemotron הזרמת
2 NVIDIA הזרמת ASR משתפת את דגמי ZXQ NemotronStreamingASR Swift המטרה: שניהם 600M-parameter cache-aware FastConformer encoders יחד עם RNN-T decoder, שניהם פולטים punctuation Native וההון כמו אסימוני BPE רגילים, שניהם לרוץ על Apple Apple. Neural Engine באמצעות CoreMLבנוסף, והגרסה הרב-לשונית יש MLX חבילות עבור GPU-resident Inference. Pick the one that unite your application:
| משתנה | כיסוי כיסוי | Default גוש | Upstream |
|---|---|---|---|
| Nemotron 3.5 Multilingual | 40 שפה-locales (en-US, en-GB, es-ES, fr-FR, de-DE, JP, ko-KR, zh-CN, Hi-IN, ar, ar.) | 320 ms | nvidia / nemotron-3.5-asr-streaming-0.6b |
| Nemotron הזרמת דיבור (אנגלית) | אנגלית בלבד - חבילה קטנה יותר, קיצור של ברירת מחדל | 160 ms | nvidia / nemotron-speech-streaming-en-0.6b |
נכסים משותפים
- punctuation and Equityization - אין צורך במעבדות; תקופות, פסיקות, ובמקרה הם חלק מאוצר המילים
- 600M פרמטרים - cache-aware 24layer FastConformer encoder + 2-layer LSTM RN-T decoder + רשת משותפת
- Cache-aware הזרמת - תשומת לב ו- conv caches לזרום גוש ל-chunk בהקשר מתמשך על פני גבולות חלקים
- מספר גדלים רב לשוני: 80, 320, 560, 1120 ms (320 ברירת מחדל; אנגלית: 80, 160, 560, 1120 ms (160 ברירת מחדל)
- Multilingual-Onlykernel (Linear) 1152→2048→1024(ב) מתקפלים משב שפה חד פעמי לכל מסגרת מקודדת, כך שאותן משקולות משרתות את כל 40 לשפת שפה: לגרסה האנגלית בלבד אין גרעין מהיר.
ארכיטקטורה
3 CoreML מודלים צינורות עבור אודיו נתח:
| המונחים | תיאור תיאור |
|---|---|
| Encoder | 24המונחים: cache-aware FastConformer 1024 חבוי. 32המונחים:frame mel (Sild)320 ברירת מחדל) בתוספת שישה סגני מדינה - תשומת לב ל-KV cache24, 1, 56, 1024(הופנה מהדף עומק)24, 1, 1024, 8], pre_cache לולאבק אבטיח, language_mask 128-slot One-חם זה מניע את הקרנל המהיר. |
| המונחים: kernel | המונחים:1152→2048ReLU - Linear(2048→1024(ב) - מתקפל שפה אחת לכל מסגרת מקודדת כך אותה אותה אותה אותה שפה. 600משקולות משרתות את כל 40 שפות-מקומיות. |
| Decoder | שתי שכבות LSTM חיזוי רשת, 640 מוסתרים.נכול את הסימון הקודם, פולטת הטמיעה בתוספת מעודכנת (h, c) המדינה. |
| משותף משותף | מפוצצים וקודקודמים לתוך יומני מעל 13 087 BPE אסימונים + ריק. Punctuation, ליון, ותגים בשפה הם רק יותר אסימוני BPE vocab - אין ראשים נוספים. |
לא ראש
שלא כמו Parakeet-EOU, Nemotron אינו פולט אסימוני סיום ייעודי. 2 דרכים לחטט אודיו מתמשך לאמירות:
- VAD - זוג המפגש עם Silero VAD; על שתיקה מתמשכת, התקשר
finalize()לבצע את ההתבטאות הנוכחית ואתcreateSession()בשביל אחד הבא. - גבול טיהור - כשהתעתיק החלקי מסתיים
.,?או!טיפול זה כרמז טבעי לבצע.לא מודל נוסף, אבל תלוי אודיו למעשה גרימת טיהור טרמינל.
בונדלס
5 גרסאות מפורסמות של Nemotron-3.5-ASR-Streaming-0.6B, בתוספת המודל האנגלי הישן יותר על אותו יעד Swift:
| משתנה | On-disk | שיא הזרמה (M5 Pro) | HuggingFace |
|---|---|---|---|
| CoreML INT8 (default) | 612 MB | 1238 MB | aufklarer/Nemotron-3.5-ASR-Streaming-0.6B-CoreML-INT8 |
| MLX bf16 | 1217 MB | 1474 MB | aufklarer/MLX-bf16 |
| MLX 5-bit (native ברירת מחדל) | 538.6 MB | 800 MB | aufklarer/MLX-5bit |
| MLX 8 סיביות | 732.6 MB | 992 MB | aufklarer/MLX-8bit |
| MLX 4bit | 473 MB | 747 MB | aufklarer/MLX-4bit |
| אנגלית בלבד (CoreML INT8) | 580 MB | — | Aufklarer / Nemotron-Speech-Streaming-0.6B-CoreML-INT8 |
Upstream: nvidia / nemotron-3.5-asr-streaming-0.6b (multilingual) ו nvida/nemotron-speech-streaming-en-0.6b
על ידי cache-aware 320 שביל מ', MLX 5ממוצעי בטיחות 11.53% WER 6 מעבר FLEURS שפות מול 11.01% עבור MLX 8-ביט. 5ברירת מחדל חוסכת 193 MB על דיסק ו 192 MB של RSS שיא; MLX 4-bit נשאר יצוא מחקר כי אובדן האיכות שלו גדול יותר.
התחלה מהירה - Native MLX הזרמת הזרמת
The The The Swift זמן ריצה תומך בהוצאה לאור MLX 5-bit and 8חבילות חיפוש.It ברירת מחדלs to 5-bit, שומר על כל צ'יפים עצמאים, וסידוריים בהקצאה כאשר המפגשים חולקים מודל טעון אחד. MLX שימושים מתואמת 320 הגיאומטריה של ms, וכיום אינה חושפת את המילה מתחזקת.
import NemotronStreamingASR
let model = try await NemotronStreamingASRMLXModel.fromPretrained(
variant: .int5
)
let session = try model.createSession(language: "en-US")
for chunk in microphoneChunks16kHz {
for partial in try session.pushAudio(chunk) {
print(partial.text)
}
}
let final = try session.finalize().last?.text
התחלה מהירה - CoreML תמליל
רפורמות ל SpeechRecognitionModel, כך שהוא טיפות לכל נתיב קוד שלוקח מודל STT כללי:
import NemotronStreamingASR
let model = try await NemotronStreamingASRModel.fromPretrained()
let text = try model.transcribeAudio(audioSamples, sampleRate: 16000, language: "en-US")
התחלה מהירה - Async Flow
for await partial in model.transcribeStream(audio: samples, sampleRate: 16000) {
if partial.isFinal { print("FINAL: \(partial.text)") }
else { print("... \(partial.text)") }
}
כל אחד PartialTranscript נושא text, isFinal (נכון רק לחלק האחרון לאחר finalize()), confidenceומונוטוני segmentIndex.
ישיבה ארוכה API (הקלט המסחרי)
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 C
speech transcribe recording.wav --engine nemotron --language en-US # batch
speech transcribe recording.wav --engine nemotron --language en-US --stream # streaming final
speech transcribe recording.wav --engine nemotron --language ja-JP --stream --partial # partials, Japanese
speech transcribe meeting.wav --engine nemotron --language de-DE # any of the 40 locales
Nemotron לעומת Parakeet-EOU
| Nemotron הזרמת 0.6B | Pakeet-EOU 120M | |
|---|---|---|
| המונחים: | 600M | 120 מיליון |
| Encoder | 24 FastConformer, 1024 מוסתר | 17-layer FastConformer, 512 מוסתר |
| Decoder | 2layer LSTM, RN-T | 1-layer LSTM, RN-T |
| זיהוי | המונחים:VAD or punctuation | בנוי <EOU> token |
| טיהור | האותיות הקטנות של Native Inline BPE tokens | לא (פוסט-מעבד) |
| שפות | 40 שפה-locales (en-US, en-GB, es-ES, fr-FR, de-DE, JP, ko-KR, zh-CN, Hi-IN, ar, ar.) | 25 אירופה |
| Default גוש | 320 ms | 320 ms |
| גודל הבונד | 612 MB (MB)CoreML INT8); 538.6 MB (native) MLX 5-bit) | 150 MB |
...אתה צריך multilingual תמליל הזרמת (כל אחד מ 40 שפות-locales) עם punctuation ו ליון מתוך הקופסה, ואתה בסדר פלח את האמירות בעצמך (VAD או puncation Note) עבור de-device iOS
בדיקות Regression
התוקפנות החפיפה משתמשת בבדיקה WAV עם שני Kokoro קולות: השני מתחיל 320 מאוחר יותר, והוא מועשר על ידי 3 DB. כל קוד חייב לייצר תמליל ללא תגי שפה. אודיו קבוע מסיר סינתזזה חי ריקנות, ואת זרימת העבודה הלילה פועל רץ. Nemotron ב-Shard שלה, Run the Core ML תוקפנות עם אותו CPU-רק הגדרת לילה:
SPEECH_COREML_COMPUTE_UNITS=cpuOnly \
swift test --disable-sandbox --no-parallel \
--filter '^NemotronStreamingASRTests[.]E2ENemotronHarshAudioTests/'