Q1:使用 Qualcomm AI Stack 做端側部署時,如果模型精度出現下降,該從哪些環節排查?量化、算子兼容性、編譯參數之間有什麼調優建議?
A1:出現精度下降時,通常需要做逐層對比,確認從哪一層開始偏差。可以檢查該層的量化參數(如 encoding 是否異常)、activation 的分佈,以及該層在量化轉換過程中的輸出情況。根據這些信息進一步定位是否是量化參數、算子支持情況或中間結果導致的問題。
Q2:能否用一個真實的模型部署流程來解釋 QAIRT 各模塊如何協同工作?例如從 PyTorch 模型到最終在設備上運行,會經歷哪些步驟?
A2:以 PyTorch 模型為例,流程通常是:
1)先將 PyTorch 模型導出為 ONNX;
2)使用 qairt-converter 轉換成浮點 DLC;
3)對 DLC 進行量化,使其能夠運行在 HTP 上;
4)使用 QNN 的 context / binary generator 工具將量化後的模型生成最終的 Bin 文件;
5)該 Bin 文件就是最終部署到設備端運行的模型。
Q3:設備端跑多模態或個性化的 GenAI 應用時,延遲有時候會比較高。有沒有推薦的優化方法?比如模型拆分、緩存策略、或者 Python API 的調用方式有沒有最佳實踐?
A3:可以先確認語言模型是否已成功從多頭轉換成單頭;其次適當減小 context length可明顯提升速度;另外增加如 SSD 這類並行投機解碼策略,也能加速 token 的生成過程。
Q4:GenAl新特性裏,有沒有一些針對Stable Diffusion這類文生圖模型的特殊優化?比如推理速度或者內存佔用方面的
A4:對於 Stable Diffusion,我們會先檢查模型是否也從多頭成功轉為單頭,同時也有一些蒸餾(distillation)策略,可減少生成步驟,從而提升推理速度。
Q5:老師,當模型部署到手機上之後,效果和在PC上不一樣,咱們的調試工具有沒有什麼“一鍵診斷”之類的便捷功能,幫我們快速定位問題?
A5:目前沒有“一鍵診斷”工具。如果遇到精度問題,主要還是需要逐層檢查,通過層級輸出對比來定位是哪一層的計算出現偏差。
Q6:老師,GenAl在端側的個性化微調 (Fine-tuning) 具體是怎麼實現的?需要的數據量和訓練時間大概是什麼量級?在手機上能完成嗎?
A6:目前還是不支持端側訓練的。
Q7:QAIRT 2025 相比之前的版本,對開發者來説最直觀、最明顯的提升是什麼?
A7:最明顯的提升是整合了 QNN 和 SNPE,同時新增了大量 Python API,使轉換、調試都更方便。現在既能支持傳統模型,也能支持大模型的轉換,調試工具也比之前版本更完善。
Q8:QAIRT 的生態建設如何?是否有類似 Hugging Face 的社區,能找到已優化並可直接在驍龍平台運行的模型?
A8: 可以選用高通Hugging Face (https://huggingface.co/qualcomm) 或 模型廣場 (https://www.aidevhome.com/data/models/) 的預量化模型。
Q9:QAIRT 支持所有主流 AI 框架,是不是表示 TensorFlow、PyTorch 這類模型可以開箱即用?還需要額外轉換嗎?
A9:需要經過 converter、量化流程和 context/binary generator 等步驟,轉換完成後才能在 HTP 上實際運行。
Q10:新模型比如GLM4.6,YOLO13,也可以直接轉換和量化麼?
A10::的,這些模型都有過部署。
Q11:端側 GenAI 的隱私保護是如何實現的?模型和數據是完全離線的嗎?
A11:是完全本地化的。模型與用户數據都在設備上運行,不依賴網絡,也不會與雲端交互,因此隱私能得到很好保障。
Q12:HTP 是否有計劃支持 grouped quantization?
A12:支持per channel和blocked quantization,不知道跟你所表達的grouped是不是一個概念。
Q13:做性能分析時,可視化工具能否看到每一層在 NPU 上的耗時和內存佔用?
A13:可以。工具能夠顯示每一層的執行耗時,以及具體的內存讀寫情況,並以 summary 文件的形式呈現,方便開發者優化。
Q14:除了常規算子融合、量化外,QAIRT 2025 在編譯器上是否有獨特優化策略?
A14:是的,可以配置不同的優化編譯選項。
Q15:目前端側運行大語言模型 (LLM) 是否靠譜?例如 7B 模型在最新驍龍平台上的 token 速度、功耗大概是什麼水平?
A15:目前在第五代驍龍8至尊版上主要以3B和4B模型為主;在PC端,7B模型大致是 20 Token/s。
以上內容來自2025驍龍人工智能創新應用大賽