Downloads · 30 days
157
62% of all-time downloads
xchern/Qwen3-ASR-1.7B-FT-8bit
Qwen3-ASR-1.7B-FT-8bit is a automatic speech recognition model from xchern. Use it when you need speech turned into text. It is set up for mlx. The card lists the license as apache-2.0.
This release is a personal Chinese ASR fine-tune of Qwen/Qwen3-ASR-1.7B. Both published files are complete merged models from v12 Breeze ordinary LoRA rank32/alpha64, CER best360. Training ran for 900 optimizer steps;…
Downloads · 30 days
157
62% of all-time downloads
All-time downloads
253
Public
Parameters
2B
16.7 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.5 GB · 53%
How the weights are stored.
U321.7B · 84%
From the Hugging Face model README
This release is a personal Chinese ASR fine-tune of Qwen/Qwen3-ASR-1.7B. Both published files are complete merged models from v12 Breeze ordinary LoRA rank32/alpha64, CER best360. Training ran for 900 optimizer steps; step360 was selected by the earliest minimum validation CER before test evaluation. Validation-loss best660 and final900 were also retained privately. The published model is CER best360, not best660 or final900; this does not change the experiment’s original default best-loss selection rule.
The root model supports MLX on Apple Silicon. The GGUF file supports transcribe.cpp architecture qwen3_asr; it is not a generic text-only llama.cpp GGUF. Only MLX 8-bit and GGUF Q8_0 weights are published. No BF16/16-bit weights, recordings, reference transcripts, individual predictions or recording/session IDs are included.
| File | Bytes | SHA256 |
|---|---|---|
| model.safetensors | 2463307541 | 1397295105c3270b0e318bdf05413c7d73d2ad0fec73d9c2e42f6a9e3cbdeada |
| gguf/Qwen3-ASR-1.7B-v12-best360-Q8_0.gguf | 2185030688 | fc192c17927ada08699e74a6766ac013fb999ef742b7eb902f4a3d7bfacc75cc |
MLX uses affine quantization, 8 bits and group size64 (197 quantized layers, 1101 stored tensors). Some non-quantized tensors remain floating point; dtype describes their dtype rather than changing the quantization bits. GGUF is converted directly from the merged BF16 source, never by dequantizing MLX: 709 tensors comprise 344 Q8_0 linear/embedding tensors and 365 F32 convolution, normalization, bias and frontend tensors. Both exports passed source, tensor, metadata and loading checks. SHA256SUMS covers the release files; evaluation.json contains aggregate results and provenance.
The unmodified Qwen/Qwen3-ASR-1.7B without an adapter and this fine-tuned adapter were evaluated on the same 60 validation and 80 test recordings and human-reviewed references. Both reference evaluations used PyTorch BF16/CUDA, the same base revision, automatic language detection, greedy decoding, batch size1, max_new_tokens512 and no history context.
| Model (PyTorch BF16) | Validation edits / 1402 | Validation CER | Test edits / 1911 | Test CER |
|---|---|---|---|---|
| Original Qwen3-ASR-1.7B | 109 | 7.77461% | 168 | 8.79121% |
| Fine-tuned v12 Breeze CER best360 | 48 | 3.42368% | 63 | 3.29670% |
On this fixed personal evaluation, the relative CER reduction is 55.96% on validation and 62.50% on test. These are relative reductions in character error rate, not sentence accuracy or percentage-point gains. Quantized results below use different runtimes and language settings; their differences are not solely a quantization effect. This small, repeatedly used evaluation does not establish broad superiority over the base model.
Both quantized models were independently loaded and evaluated on all 60 human-reviewed validation recordings and 80 human-reviewed test recordings, with identical IDs and references. Character errors and formatting metrics were independently recomputed from the predictions before publication.
| Evaluated weights | Validation edits / 1402 | Validation CER | Test edits / 1911 | Test CER |
|---|---|---|---|---|
| Fine-tuned PyTorch BF16 adapter (reference, not published) | 48 | 3.42368% | 63 | 3.29670% |
| MLX affine 8-bit | 53 | 3.78031% | 70 | 3.66300% |
| GGUF Q8_0 | 53 | 3.78031% | 60 | 3.13972% |
CER strips the ASR language prefix, applies NFKC and lowercase, removes Unicode punctuation and whitespace, and retains symbols. It is character edit distance divided by reference character count. Chinese number words are not automatically equated to Arabic digits. 1 minus CER is not sentence or recording accuracy.
| Published format | Validation raw CER | Test raw CER | Exact transcripts (validation / test) |
|---|---|---|---|
| MLX affine 8-bit | 85/1621 = 5.24368% | 125/2211 = 5.65355% | 31/60 / 38/80 |
| GGUF Q8_0 | 84/1621 = 5.18199% | 121/2211 = 5.47264% | 31/60 / 38/80 |
Raw CER applies only ASR prefix removal and NFKC, retaining case, punctuation, symbols and spaces. It includes lexical errors, so it is not a pure formatting error rate. Whole-transcript exact matches use the same raw normalization. Runtime, decoding settings and numerical precision differ between PyTorch, MLX and GGUF; differences cannot be attributed solely to quantization.
7278e1e70fe206f11671096ffdd38061171dd6e5; fresh adapter from the original 1.7B model, no resumed fine-tune.use_dora=false, use_rslora=false. Decoder attention q/k/v/o and MLP gate/up/down projections: 196 modules and 34,865,152 trainable parameters.breeze-tts-2) and the user-selected minicpm-ref reference voice. No Qwen CustomVoice recordings remain in this training snapshot. Generated audio and labels are not comprehensively human-verified; machine checks and one specifically reviewed example do not imply full manual verification. The service did not expose an effective generation seed. This change alters both TTS model and voice, so it is not a voice-only causal comparison.Full evaluation used mlx-audio 0.3.1, mlx 0.32.2, and transformers 4.57.6. See aggregate metadata for exact versions. Use a compatible tested environment; a fresh unconstrained dependency resolution is not guaranteed to reproduce these versions.
from mlx_audio.stt import load
model = load("xchern/Qwen3-ASR-1.7B-FT-8bit")
result = model.generate("audio.wav", language="Chinese", max_tokens=512,
temperature=0.0, verbose=False)
print(result.text)
Conversion and full evaluation used commit 5d66f60257a75e9bdbddc72dc0887b32e9d4841a, variant qwen3-asr-1.7b, Metal backend, greedy decoding, Chinese, n_ctx2048, six threads and no timestamps/history context. The GGUF contains its tokenizer and frontend metadata.
hf download xchern/Qwen3-ASR-1.7B-FT-8bit gguf/Qwen3-ASR-1.7B-v12-best360-Q8_0.gguf --local-dir ./model
build/bin/transcribe-cli -m ./model/gguf/Qwen3-ASR-1.7B-v12-best360-Q8_0.gguf --backend metal -l zh --timestamps none --n-ctx 2048 --threads 6 audio.wav
The tested GGUF input is 16kHz mono WAV. Transcription processes a complete recording; this release is not validated for streaming.
This is a personal Chinese dictation experiment, not an official Qwen benchmark model. Evaluation is small, private and repeatedly used across experiments. These evaluation recordings entered some older historical adapters, so results must not be described as independent blind tests of those older models. This v12 adapter was trained fresh with the current evaluation sessions excluded, but repeated development still limits generalization claims.
The accuracy of unreviewed automatic training labels has not been measured. Synthetic examples and aggregate CER do not establish that real short-number, year, unit, pi or “幺” recognition problems are solved. Transcripts may omit, insert or substitute content; review outputs when correctness matters. The model is intended for authorized transcription, and does not establish robust performance for other speakers, languages or recording conditions.
These files retain rank32. Checkpoint selection used validation, not test. BF16 source and earlier exports are retained privately for reproducibility; only the two 8-bit formats above are released.
Apache-2.0; see LICENSE and the base model license.