1. 在 QAI AppBuilder 中部署模型時,哪些情況會導致模型“不兼容”?如何判斷模型能否在 NPU 上運行?
答覆:沒有“不兼容模型”這種説法,理論上所有能夠通過TensorFlow,PyTorch 或 ONNX Runtime推理的模型,都可以轉換成 QNN 上下文二進制格式並運行在NPU上的。
大家容易遇到的比較難處理的問題通常不是模型能不能轉換,不是模型能不能跑在NPU上,難點在於如何把模型量化成更小的精度的模型並且能夠保證精度不會損失過多。量化成更小的精度意味着可以佔用更小的內存,運行更快,但過度優化容易導致精度損失,需要花更多時間去優化,讓損失降到合理範圍。
2. 通過 LangFlow 調用本地模型是否會帶來額外延遲?如果延遲比較高,可以怎麼優化?
答覆:通過 LangFlow 調用本地模型,模型本身不會產生額外延遲,但 LangFlow 內部的實現有可能會導致模型的輸出不能及時顯示到 LangFlow 界面上,這完全取決於 LangFlow 內部的實現。如果要優化的化,更多的還是從 LangFlow 這個開源框架的角度去優化。
3. LangFlow 構建的流程如果要嵌入本地應用(桌面端或移動端),有沒有推薦的接入方式?
答覆:通過 LangFlow 構建的模型應用需要運行的話,首先需要 LangFlow 在後台運行。LangFlow 可以把我們自己搭建的 Flow 導出成基於 Web 的 API,自己的應用程序可以通過這些 API 來調用我們在 LangFlow 中創建的 Flow 提供的功能。
4. 多模態模型(如 CLIP、Whisper)如何使用 AppBuilder 部署?是否有現成的案例?
答覆:這兩個模型,我們在 QAI AppBuilder GitHub (https://github.com/quic/ai-engine-direct-helper) 上正好都有相應的例子,這些例子不需要任何修改,可以直接運行,可以去我們的 GitHub 上獲取代碼,嘗試一下。
5. 本地大模型的首 token 延遲一般能做到多少?是否能支持實時對話?
答覆:由於我們 NPU 架構設計的特性,對於用户輸入內容的處理非常快。而且在對話的場景中,用户一次輸入的 tokens 不會太多,所以首 tokens 延遲應該不會成為對話場景的瓶頸。