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şamaAçıklama
Ses girişiHam ses, 16 kHz mono'ya yeniden örneklenir
Mel spektrogramDalga 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

BackendRTFZirve bellekNotlar
Qwen3-ASR 1.7B MLX 8-bit0.0332.7 GBWER 1.52%
Qwen3-ASR 0.6B MLX 8-bit0.0151.3 GBWER 1.82%
Qwen3-ASR 0.6B MLX 4-bit0.0121.0 GBWER 2.20%
Qwen3-ASR 0.6B CoreML INT80.0981.4 GBWER 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ı

ModelBackendBoyutHuggingFace
Qwen3-ASR-0.6B (4-bit)MLX680 MBaufklarer/Qwen3-ASR-0.6B-MLX-4bit
Qwen3-ASR-0.6B (8-bit)MLX1.0 GBaufklarer/Qwen3-ASR-0.6B-MLX-8bit
Qwen3-ASR-0.6B (CoreML INT8)CoreML180 MBaufklarer/Qwen3-ASR-CoreML
Qwen3-ASR-1.7B (4-bit)MLX2.1 GBaufklarer/Qwen3-ASR-1.7B-MLX-4bit
Qwen3-ASR-1.7B (8-bit)MLX3.2 GBaufklarer/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.

Önemli

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.