Breeze ASR 25 — GGML (whisper.cpp)

MediaTek-Research/Breeze-ASR-25 converted to GGML for whisper.cpp.

本倉庫是把 MediaTek Research 官方的 Breeze ASR 25 權重轉成 whisper.cpp 可用的 GGML 格式。 轉換自官方 safetensors,非二次轉錄;來源雜湊與轉換步驟完整記錄於下,可自行重現。

Breeze ASR 25 is fine-tuned from Whisper large-v2 and is optimised for Taiwanese Mandarin and Mandarin–English code-switching.


Files

File Size SHA256
ggml-breeze-asr-25-q5_0.bin 1,080,732,108 2cb3fed23e52f706b8e4e01403131860e95ab60b51ee0b1bed538a3b484d6a40
ggml-breeze-asr-25-f16.bin 3,094,623,708 9832c95c87ea5a60a552a4d02fe695429744f9a668bd2ee53ae0f37e126a0fad

q5_0 是一般使用的建議版本。f16 為未量化中間產物,供想自行量化或比對的人使用。

⚠️ 量化只改善檔案大小與載入時間,不會讓推論變快。 實測 q5_0 推論 1,986 ms 反而比 f16 的 1,702 ms 慢 (Apple M2 Pro / whisper.cpp / 10 秒音訊)。

Usage

./build/bin/whisper-cli -m ggml-breeze-asr-25-q5_0.bin -l zh -f audio.wav

模型為標準 Whisper encoder-decoder 架構,tokenizer 與前處理未修改, 任何支援 whisper.cpp GGML 的工具都能直接使用。

Provenance / 來源與可重現性

來源檔

https://huggingface.co/MediaTek-Research/Breeze-ASR-25/resolve/main/model.safetensors
size    3,086,761,032 bytes
SHA256  c5d952b3bc03ea277209aff0ef5b5c4c055d74449ff794c02d8f4e315fdef6b6

此雜湊與 HuggingFace API 回報的 LFS oid 相符。

轉換工具

whisper.cpp commit eacbd8234c6654cdbf2c377f72b2106875479bdc
script models/convert-h5-to-ggml.py(兩處最小修改,見下)
mel filters openai/whisper whisper/assets/mel_filters.npz
runtime Python 3.9.7 / torch 2.8.0 / numpy 1.26.4 / safetensors

對官方腳本的修改(兩處)

  1. 改用 safetensors.torch.load_file 取代 WhisperForConditionalGeneration.from_pretrained 該腳本只用到 state_dict(),不需要實例化整個 nn.Module。 已驗證 safetensors 的 1,259 個 key 與 HF state_dict 完全一致。

  2. **data = list_vars[src].float().squeeze().numpy()**(多一個 .float())。 safetensors 內為 bfloat16,numpy 不支援該型別。 來源 config.json 標示 torch_dtype: float32from_pretrained 本來就會先 materialise 成 fp32 再交給腳本,因此此改動與原始路徑等價, 非額外的精度損失。

重現步驟

# 1. 取得官方權重(只需要 model.safetensors 與 config / tokenizer,不需要 optimizer.bin)
huggingface-cli download MediaTek-Research/Breeze-ASR-25 \
    model.safetensors config.json vocab.json added_tokens.json \
    --local-dir src/

# 2. 轉成 GGML f16
python3 convert-h5-to-ggml.py src/ path/to/whisper-repo/ out/
mv out/ggml-model.bin out/ggml-breeze-asr-25-f16.bin

# 3. 量化
whisper.cpp/build/bin/whisper-quantize \
    out/ggml-breeze-asr-25-f16.bin out/ggml-breeze-asr-25-q5_0.bin q5_0

與既有第三方轉換的比對

danielkao0421/Breeze-ASR-25-ggml 的 f16 逐張量比對過:1,259 個張量、3.09 GB 張量資料,數值零不一致。 兩者檔案大小相同但 SHA256 不同,差異僅在張量的寫入順序safetensors.load_file() 回傳排序過的 key,state_dict() 為模組註冊順序; whisper.cpp 依名稱載入,與順序無關)。

也就是說該第三方轉換是正確的。本倉庫存在的意義是提供一份來源鏈可稽核的版本。

License

Apache 2.0,與上游一致。授權鏈:

Layer Source License
Base model openai/whisper-large-v2 Apache-2.0
Fine-tuned weights MediaTek-Research/Breeze-ASR-25 Apache-2.0
Conversion tooling ggml-org/whisper.cpp MIT

MediaTek Research 在其 model card 中逐筆列出訓練資料授權(中文資料為合成資料, 來源包含 ODC License 的 FineWeb2 與 Apache-2.0 的 BreezyVoice;NTUML2021 為 MIT), 全部為 permissive 授權。

LICENSE 為上游隨附的授權全文副本。本倉庫未修改模型權重,僅做格式轉換與量化。

Citation

模型本身請引用原作者:

@article{breeze-asr-25,
  title  = {Breeze ASR 25},
  author = {MediaTek Research},
  url    = {https://huggingface.co/MediaTek-Research/Breeze-ASR-25},
  note   = {arXiv:2506.11130}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for MomoSoft/Breeze-ASR-25-ggml

Finetuned
(23)
this model

Paper for MomoSoft/Breeze-ASR-25-ggml