Qwen3-ASR
Qwen3-ASR, sektörün en gelişmiş çok dilli otomatik konuşma tanıma modellerinden biridir. MLX üzerinden Metal GPU hızlandırması ile cihaz üzerinde çalışır ve verimli bellek kullanımı için 4-bit nicemleme kullanır. 0.6B ve 1.7B parametreli iki varyant olarak sunulur.
Pipeline
Qwen3-ASR çıkarım pipeline'ı sesi dört aşamada işler:
| Aşama | Açıklama |
|---|---|
| Ses girişi | Ham ses, 16 kHz mono'ya yeniden örneklenir |
| Mel spektrogram | Dalga formundan 128 bantlı mel filterbank öznitelikleri çıkarılır |
| Ses kodlayıcı | Block attention'lı 18 katmanlı transformer; mel çerçevelerini ses embedding'lerine dönüştürür |
| Metin kod çözücü | Grouped-query attention (GQA) ve rotary position embedding (RoPE) içeren 28 katmanlı Qwen3 transformer; otoregresif olarak metin token'ları üretir |
Performans
| Backend | RTF | Zirve bellek | Notlar |
|---|---|---|---|
| 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 = gerçek zamandan hızlı.
Model Varyantları
| Model | Backend | Boyut | 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 Kullanımı
Varsayılan Qwen3-ASR modeliyle bir ses dosyasını yazıya dökün:
.build/release/speech transcribe recording.wav
Seçenekler
# 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
Sesi programatik olarak yazıya dökmek için Qwen3ASR modülünü kullanın:
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 Kodlayıcı (Neural Engine)
Ses kodlayıcıyı CoreML üzerinden Neural Engine'de, metin kod çözücüyü ise MLX üzerinden GPU'da çalıştırın. Bu hibrit yaklaşım güç tüketimini düşürür ve eş zamanlı iş yükleri için GPU'yu serbest bırakır.
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, kosinüs benzerliği > 0.999) varsayılan seçenektir. Boyut kısıtlamalı dağıtımlar için ayrıca INT4 varyantı (90 MB) mevcuttur.
Akış Modu
Akış modu, sesi parçalara ayırmak ve artımlı olarak yazıya dökmek için VAD (ses etkinliği tespiti) kullanır. Bu, uzun kayıtlar veya gerçek zamanlı işleme için kullanışlıdır.
# 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 bayrağı, saniye cinsinden maksimum parça süresini denetler. --partial bayrağı, kelimeleri kod çözüldükçe gösteren kısmi sonuç çıkışını etkinleştirir.
Desteklenen Formatlar
Qwen3-ASR aşağıdaki ses formatlarını kabul eder. Tüm girdiler dahili olarak 16 kHz mono'ya otomatik yeniden örneklenir.
- WAV — sıkıştırılmamış PCM
- M4A — AAC ile kodlanmış ses
- MP3 — MPEG Layer III
- CAF — Apple Core Audio Format
Modeller ilk kullanımda HuggingFace'ten indirilir ve ~/Library/Caches/qwen3-speech/ dizininde önbelleğe alınır. 4-bit 0.6B modeli yaklaşık 1.5 GB'tır.