Skip to content

whisper.cpp quantization table assumes q5_0 exists for all models — tiny/base ship q5_1 on HF (404 guidance URL) #5

Description

@kiki830621

Problem

發現途徑:2026-07-02 真實多模型驗證(使用者要求以 HuggingFace 實際模型驗證,非 mock)時,對 ggerganov/whisper.cpp 逐檔 HTTP 探測:

ggml-tiny-q5_0.bin → 404      ggml-tiny-q5_1.bin → 200      ggml-tiny-q8_0.bin → 200
ggml-base-q5_0.bin → 404      ggml-base-q5_1.bin → 200      ggml-base-q8_0.bin → 200

ModelRegistry.quantizations[.whisperCpp] = ["q5_0", "q8_0"] 假設所有模型都有 q5_0,但 HF 發佈的 tiny/base(以及 small)是 q5_1q5_0 只存在於 medium/large 系。後果:

  1. WhisperCppEngine 的 model-missing 錯誤訊息會給使用者一個 404 的 curl URL(誠實錯誤變成誤導指引)
  2. benchmark 枚舉的 q5_0 候選對 tiny/base/small 永遠只能失敗(warn-continue 噪音)

Type

bug

Expected

量化檔位表按模型尺寸區分可用性(tiny/base/small → q5_1/q8_0;medium/large 系 → q5_0/q8_0),或改為下載前探測;錯誤訊息中的 URL 必須實際存在。

Actual

單一 ["q5_0","q8_0"] 清單套用全模型;tiny/base 的 q5_0 指引 URL 為 404。

Impact

  • Sources/BestASRKit/Models/ModelRegistry.swift(quantizations 表 → per-model 對應)
  • openspec/specs/asr-engine 或 registry 相關 spec 的量化描述
  • 測試:對照表 + 錯誤訊息 URL 格式

Current Status

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions