OpenAI 的 Whisper 模型是自動語音辨識(ASR)領域的一項突破,證明了大規模弱監督訓練可以產出具有強大多語言轉錄能力的模型。然而,標準的 PyTorch 實作留下了顯著的效能提升空間。Faster-Whisper 由 SYSTRAN 開發,透過基於 CTranslate2 的重新實作解決了這個差距,實現了驚人的速度提升。
CTranslate2 是一個專門針對 Transformer 模型最佳化的推論引擎,支援 INT8 和 FP16 量化、CPU 最佳化矩陣運算以及高效的波束搜尋解碼。透過在此引擎上重新實作 Whisper 的架構,Faster-Whisper 實現了 3-4 倍的速度提升,同時將記憶體消耗降低約一半。
對於大規模運行語音轉錄的組織而言,這些效率提升直接轉化為成本節省。每天處理數千小時音訊的轉錄管線只需從 Whisper 切換到 Faster-Whisper,即可減少 60-75% 的 GPU 使用時間,且轉錄品質完全不受影響。
CTranslate2 如何實現如此顯著的速度提升?
CTranslate2 透過模型層級的最佳化和硬體感知的執行策略相結合來實現其效能。
流程圖 LR
A[OpenAI Whisper\nPyTorch 模型] --> B[CTranslate2\n模型轉換]
B --> C{量化\n策略}
C -->|INT8| D[8 位元整數\n權重]
C -->|FP16| E[16 位元浮點\n權重]
C -->|FP32| F[全精度\n權重]
D --> G[CTranslate2 推論引擎]
E --> G
F --> G
G --> H[硬體最佳化]
H --> I[CPU:MKL / Intel Math Kernel]
H --> J[GPU:CUDA 核心\n融合運算]
I --> K[轉錄輸出\n3-4 倍更快]
J --> K
關鍵洞察在於 Transformer 推論通常受記憶體頻寬限制,而非計算限制。量化減少了模型權重的記憶體佔用,使更多模型能夠放入更快的快取層級。CTranslate2 還融合了相鄰運算(例如層正規化與注意力機制),以減少核心啟動開銷和記憶體往返。
Faster-Whisper 有哪些效能基準測試?
獨立基準測試一致顯示 Faster-Whisper 在各種模型大小和硬體配置下都優於原始 Whisper 實作。
| 模型大小 | 原始 Whisper(RTF) | Faster-Whisper(RTF) | 加速比 | 記憶體減少 |
|---|---|---|---|---|
| tiny | 0.12x | 0.03x | 4.0x | 45% |
| base | 0.15x | 0.04x | 3.8x | 50% |
| small | 0.22x | 0.06x | 3.7x | 48% |
| medium | 0.35x | 0.10x | 3.5x | 52% |
| large-v2 | 0.80x | 0.22x | 3.6x | 55% |
| large-v3 | 0.85x | 0.24x | 3.5x | 53% |
RTF(即時因子)值低於 1.0 表示處理速度快於即時。0.03 的值意味著模型在大約 1 秒內處理 30 秒的音訊。使用 Faster-Whisper,即使是龐大的 large-v3 模型也能在現代 GPU 上輕鬆以超即時速度運行。
Faster-Whisper 包含哪些額外功能?
除了原始速度之外,Faster-Whisper 還增加了提高轉錄管線可靠性和易用性的實用功能。
| 功能 | 說明 | 效益 |
|---|---|---|
| VAD 過濾器 | 語音活動偵測 | 跳過靜音,提高準確度 |
| 字級時間戳記 | 逐字時間資料 | 支援字幕生成 |
| 語言偵測 | 自動語言識別 | 簡化多語言管線 |
| 波束寬度調整 | 可配置搜尋寬度 | 控制準確度 vs. 速度 |
| 對齊頭 | 交叉注意力頭提取 | 改進時間戳記準確度 |
語音活動偵測過濾器對於真實世界的音訊尤其有價值。會議、播客和錄製的通話包含大量靜音時段。VAD 過濾器會自動識別並跳過這些片段,減少總處理時間,並防止模型對背景噪音產生虛假的「轉錄」內容。
Faster-Whisper 的安裝方式為何?
開始使用 Faster-Whisper 很簡單,套件會處理大部分依賴項管理。
# 僅 CPU
pip install faster-whisper
# 支援 GPU(需要 CUDA 11.x+ 和 cuDNN 8.x+)
pip install faster-whisper
# 驗證 CUDA 可用性
python -c "import faster_whisper; print(faster_whisper.__version__)"
Python API 被設計為在大多數工作流程中可無縫替代 Whisper。現有的轉錄管線通常只需更改一條 import 語句即可切換到 Faster-Whisper,立即獲得速度和記憶體方面的優勢。
常見問題
什麼是 Faster-Whisper? Faster-Whisper 是使用 CTranslate2(一款 Transformer 模型的高速推論引擎)重新實作的 OpenAI Whisper 自動語音辨識模型,可實現最高 4 倍的轉錄速度,同時大幅降低記憶體使用量。
Faster-Whisper 比原始 Whisper 快多少? Faster-Whisper 通常比 OpenAI 標準 Whisper 實作快 3-4 倍,在相容硬體上使用 INT8 量化時可獲得更大的增益。
Faster-Whisper 支援哪些量化格式? Faster-Whisper 透過 CTranslate2 支援 INT8 和 FP16 量化,可減少模型大小和記憶體頻寬需求,同時保持高轉錄準確度。
Faster-Whisper 包含 VAD 過濾器嗎? 是的,Faster-Whisper 包含語音活動偵測(VAD)過濾器,可自動跳過靜音片段,進一步提升轉錄速度並減少後處理需求。
如何安裝 Faster-Whisper?
可透過 pip 安裝,指令為 pip install faster-whisper。套件會自動處理 CTranslate2 依賴項。如需 GPU 加速,請確保已安裝 CUDA 和 cuDNN。
延伸閱讀
- Faster-Whisper GitHub 倉庫 – 原始碼、模型轉換和基準測試
- CTranslate2 GitHub 倉庫 – 驅動 Faster-Whisper 的推論引擎
- OpenAI Whisper GitHub 倉庫 – Faster-Whisper 重新實作的原始 Whisper 模型
- SYSTRAN 官方網站 – Faster-Whisper 背後的公司
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!