模型概述
模型特點
模型能力
使用案例
🚀 Whisper-Tiny-En:專為移動部署優化
用於英文轉錄和翻譯的自動語音識別(ASR)模型
OpenAI的Whisper自動語音識別(ASR)模型是一款先進的系統,旨在將口語轉錄為書面文本。它在現實的嘈雜環境中表現出色,使其在實際應用中非常可靠。具體來說,它擅長長格式轉錄,能夠準確轉錄長達30秒的音頻片段。首個標記的生成時間即編碼器的延遲,而每個額外標記的生成時間則是解碼器的延遲,我們假設下面指定的是平均解碼長度。
此模型是對此處的Whisper-Tiny-En的實現。
本倉庫提供了在高通®設備上運行Whisper-Tiny-En的腳本。有關該模型在各種設備上的性能的更多詳細信息,可在此處找到。
✨ 主要特性
- 專為英文轉錄和翻譯設計的自動語音識別模型。
- 在現實嘈雜環境中表現穩健,適用於實際應用。
- 擅長長格式轉錄,能準確處理長達30秒的音頻。
📦 安裝指南
通過pip安裝該包:
pip install "qai-hub-models[whisper-tiny-en]"
💻 使用示例
基礎用法
運行包中包含的簡單端到端演示,該演示會下載預訓練權重並在示例輸入上運行此模型。
python -m qai_hub_models.models.whisper_tiny_en.demo
注意:如果想在Jupyter Notebook或Google Colab等環境中運行,請在單元格中添加以下內容(而非上述命令):
%run -m qai_hub_models.models.whisper_tiny_en.demo
高級用法
在雲端託管設備上運行模型
除了演示之外,還可以在雲端託管的高通®設備上運行該模型。此腳本會執行以下操作:
- 在雲端託管設備上進行設備性能檢查。
- 下載可部署到安卓設備上的編譯資產。
- 檢查PyTorch輸出和設備端輸出之間的準確性。
python -m qai_hub_models.models.whisper_tiny_en.export
Profiling Results
------------------------------------------------------------
WhisperEncoderInf
Device : cs_8275 (ANDROID 14)
Runtime : TFLITE
Estimated inference time (ms) : 419.3
Estimated peak memory usage (MB): [20, 42]
Total # Ops : 271
Compute Unit(s) : npu (0 ops) gpu (260 ops) cpu (11 ops)
------------------------------------------------------------
WhisperDecoderInf
Device : cs_8275 (ANDROID 14)
Runtime : TFLITE
Estimated inference time (ms) : 6.9
Estimated peak memory usage (MB): [3, 70]
Total # Ops : 557
Compute Unit(s) : npu (557 ops) gpu (0 ops) cpu (0 ops)
📚 詳細文檔
配置高通® AI Hub以在雲端託管設備上運行此模型
使用高通® ID登錄高通® AI Hub。登錄後,導航到賬戶 -> 設置 -> API令牌
。
使用此API令牌,可以配置客戶端以在雲端託管設備上運行模型。
qai-hub configure --api_token API_TOKEN
更多信息請訪問文檔。
模型在雲端託管設備上的運行原理
步驟1:為設備端部署編譯模型
要為設備端部署編譯PyTorch模型,首先使用jit.trace
在內存中跟蹤模型,然後調用submit_compile_job
API。
import torch
import qai_hub as hub
from qai_hub_models.models.whisper_tiny_en import Model
# Load the model
torch_model = Model.from_pretrained()
# Device
device = hub.Device("Samsung Galaxy S24")
# Trace model
input_shape = torch_model.get_input_spec()
sample_inputs = torch_model.sample_inputs()
pt_model = torch.jit.trace(torch_model, [torch.tensor(data[0]) for _, data in sample_inputs.items()])
# Compile model on a specific device
compile_job = hub.submit_compile_job(
model=pt_model,
device=device,
input_specs=torch_model.get_input_spec(),
)
# Get target model to run on-device
target_model = compile_job.get_target_model()
步驟2:在雲端託管設備上進行性能分析
在完成步驟1的模型編譯後,可以使用target_model
在設備上對模型進行性能分析。請注意,此腳本會在雲端自動配置的設備上運行模型。提交作業後,可以導航到提供的作業URL查看各種設備端性能指標。
profile_job = hub.submit_profile_job(
model=target_model,
device=device,
)
步驟3:驗證設備端模型的準確性
要驗證模型在設備端的準確性,可以在同一雲端託管設備上對示例輸入數據進行設備端推理。
input_data = torch_model.sample_inputs()
inference_job = hub.submit_inference_job(
model=target_model,
device=device,
inputs=input_data,
)
on_device_output = inference_job.download_output_data()
利用模型的輸出,可以計算PSNR、相對誤差,或與預期輸出進行逐點檢查。
注意:此設備端分析和推理需要訪問高通® AI Hub。註冊獲取訪問權限。
將編譯後的模型部署到安卓設備
模型可以使用多種運行時進行部署:
🔧 技術細節
模型詳情
屬性 | 詳情 |
---|---|
模型類型 | 語音識別 |
模型檢查點 | tiny.en |
輸入分辨率 | 80x3000(30秒音頻) |
平均解碼序列長度 | 112個標記 |
WhisperEncoder參數數量 | 939萬 |
WhisperEncoder模型大小 | 35.9 MB |
WhisperDecoder參數數量 | 2820萬 |
WhisperDecoder模型大小 | 108 MB |
不同設備的模型性能
模型 | 精度 | 設備 | 芯片組 | 目標運行時 | 推理時間(ms) | 峰值內存範圍(MB) | 主要計算單元 | 目標模型 |
---|---|---|---|---|---|---|---|---|
WhisperEncoderInf | float | QCS8275 (Proxy) | 高通® QCS8275 (Proxy) | TFLITE | 419.271 ms | 20 - 42 MB | GPU | Whisper-Tiny-En.tflite |
... | ... | ... | ... | ... | ... | ... | ... | ... |
📄 許可證
🔗 參考資料
👥 社區
- 加入我們的AI Hub Slack社區,進行協作、提問並瞭解更多關於設備端AI的信息。
- 如有問題或反饋,請聯繫我們。



