Qwen3-ASR
Qwen3-ASR एक अत्याधुनिक बहुभाषी ऑटोमैटिक स्पीच रिकग्निशन मॉडल है। यह MLX के माध्यम से Metal GPU एक्सेलेरेशन का उपयोग करके ऑन-डिवाइस चलता है, कुशल मेमोरी उपयोग के लिए 4-बिट क्वांटिज़ेशन के साथ। 0.6B और 1.7B पैरामीटर वेरिएंट में उपलब्ध।
पाइपलाइन
Qwen3-ASR इन्फ़रेंस पाइपलाइन चार चरणों के माध्यम से ऑडियो प्रोसेस करती है:
| चरण | विवरण |
|---|---|
| ऑडियो इनपुट | रॉ ऑडियो को 16 kHz मोनो पर रीसैंपल किया जाता है |
| Mel Spectrogram | वेवफ़ॉर्म से 128-bin mel filterbank फ़ीचर निकाले जाते हैं |
| Audio Encoder | ब्लॉक अटेंशन के साथ 18-लेयर transformer, mel फ़्रेम्स को ऑडियो एम्बेडिंग में प्रोसेस करता है |
| Text Decoder | grouped-query attention (GQA) और rotary position embeddings (RoPE) के साथ 28-लेयर Qwen3 transformer, ऑटोरिग्रेसिव रूप से टेक्स्ट टोकन जेनरेट करता है |
प्रदर्शन
| बैकएंड | RTF | पीक मेमोरी | नोट्स |
|---|---|---|---|
| Qwen3-ASR 1.7B MLX 8-bit | 0.033 | 2.7 GB | WER 1.52% |
| Qwen3-ASR 0.6B MLX 8-bit | 0.015 | 1.3 GB | WER 1.82% |
| Qwen3-ASR 0.6B MLX 4-bit | 0.012 | 1.0 GB | WER 2.20% |
| Qwen3-ASR 0.6B CoreML INT8 | 0.098 | 1.4 GB | WER 3.02% (chunked-attn rebuild) |
Apple M5 Pro, 48 GB. LibriSpeech test-clean n=200, isolated per-engine. RTF < 1.0 = रियल-टाइम से तेज़।
मॉडल वेरिएंट
| मॉडल | बैकएंड | आकार | HuggingFace |
|---|---|---|---|
| Qwen3-ASR-0.6B (4-bit) | MLX | 680 MB | aufklarer/Qwen3-ASR-0.6B-MLX-4bit |
| Qwen3-ASR-0.6B (8-bit) | MLX | 1.0 GB | aufklarer/Qwen3-ASR-0.6B-MLX-8bit |
| Qwen3-ASR-0.6B (CoreML INT8) | CoreML | 180 MB | aufklarer/Qwen3-ASR-CoreML |
| Qwen3-ASR-1.7B (4-bit) | MLX | 2.1 GB | aufklarer/Qwen3-ASR-1.7B-MLX-4bit |
| Qwen3-ASR-1.7B (8-bit) | MLX | 3.2 GB | aufklarer/Qwen3-ASR-1.7B-MLX-8bit |
CLI उपयोग
डिफ़ॉल्ट Qwen3-ASR मॉडल के साथ एक ऑडियो फ़ाइल ट्रांसक्राइब करें:
.build/release/speech transcribe recording.wav
विकल्प
# Use the larger 1.7B model
.build/release/speech transcribe recording.wav --model 1.7b
# Specify language
.build/release/speech transcribe recording.wav --language en
# Streaming mode with partial results
.build/release/speech transcribe recording.wav --stream --partial
Swift API
प्रोग्रामेटिक रूप से ऑडियो ट्रांसक्राइब करने के लिए Qwen3ASR मॉड्यूल का उपयोग करें:
import Qwen3ASR
// Load the model (downloads from HuggingFace on first use)
let model = try await Qwen3ASRModel.fromPretrained()
// Transcribe audio samples (16 kHz mono Float)
let text = model.transcribe(audio: audioSamples, sampleRate: 16000)
print(text)
CoreML Encoder (Neural Engine)
CoreML के माध्यम से Neural Engine पर ऑडियो encoder चलाएँ, और MLX के माध्यम से GPU पर text decoder चलाएँ। यह हाइब्रिड दृष्टिकोण पावर खपत कम करता है और समवर्ती वर्कलोड के लिए GPU को मुक्त करता है।
import Qwen3ASR
let encoder = try await CoreMLASREncoder.fromPretrained()
let model = try await Qwen3ASRModel.fromPretrained()
let text = try model.transcribe(
audio: samples, sampleRate: 16000,
coremlEncoder: encoder
)
# CLI
.build/release/speech transcribe recording.wav --engine qwen3-coreml
INT8 palettized (180 MB, cosine similarity > 0.999) डिफ़ॉल्ट है। साइज़-बाधित डिप्लॉयमेंट के लिए एक INT4 वेरिएंट (90 MB) भी उपलब्ध है।
स्ट्रीमिंग मोड
स्ट्रीमिंग मोड ऑडियो को चंक्स में विभाजित करने और उन्हें क्रमिक रूप से ट्रांसक्राइब करने के लिए VAD (voice activity detection) का उपयोग करता है। यह लंबी रिकॉर्डिंग या रियल-टाइम प्रोसेसिंग के लिए उपयोगी है।
# Stream with default segment size
.build/release/speech transcribe recording.wav --stream
# Control maximum segment duration
.build/release/speech transcribe recording.wav --stream --max-segment 15
# Show partial (in-progress) results as they arrive
.build/release/speech transcribe recording.wav --stream --partial
--max-segment फ़्लैग सेकंड में अधिकतम चंक अवधि को नियंत्रित करता है। --partial फ़्लैग पार्शियल रिज़ल्ट आउटपुट सक्षम करता है, जो डिकोड होते ही शब्द दिखाता है।
समर्थित फ़ॉर्मेट
Qwen3-ASR निम्नलिखित ऑडियो फ़ॉर्मेट स्वीकार करता है। सभी इनपुट आंतरिक रूप से स्वचालित रूप से 16 kHz मोनो पर रीसैंपल किए जाते हैं।
- WAV — uncompressed PCM
- M4A — AAC-encoded ऑडियो
- MP3 — MPEG Layer III
- CAF — Apple Core Audio Format
मॉडल पहले उपयोग पर HuggingFace से डाउनलोड होते हैं और ~/Library/Caches/qwen3-speech/ में कैश होते हैं। 4-bit 0.6B मॉडल लगभग 1.5 GB है।