Qualcomm AI Hub介紹

數位化快速發展的時代,人工智慧(AI)已成為推動創新和技術進步的關鍵力量。市面上已經出現許多AI硬件平台,但開發者需要購買硬件才能夠測試AI模型的推論速度。Qualcomm作為全球領先的無線技術創新者,近期推出Qualcomm AI Hub平台,提供開發者在未取得硬件的狀況下針對AI模型優化和驗證,平台會提供推論的時間及每一層執行的結果等資訊,以下就來介紹Qualcomm AI Hub平台吧。

Qualcomm AI Hub平台介紹

Qualcomm於2024年2月發布Qualcomm AI Hub 平台,旨在為開發者提供優化和驗證過的AI模型,以便在Snapdragon®和Qualcomm®設備上運行。這個平台不僅支持移動計算、汽車、物聯網等多個領域,還提供一個強大的模型庫,截至目前為止包括Whisper、ControlNet、Stable Diffusion和Baichuan 7B等超過109個熱門AI模型,這些模型覆蓋了視覺、音頻和語音應用,並且已經在Qualcomm AI Hub、GitHub和Hugging Face上提供。

Qualcomm AI Hub的一大特色是其能夠讓開發者輕鬆部署這些AI模型到邊緣設備上,這意味著開發者可以在幾分鐘內將他們的PyTorch模型部署到實際的託管設備上。這不僅大大縮短產品上市的時間,還能充分利用裝置上AI帶來的諸多優勢,如即時性、可靠性、隱私性、個人化和成本節省等。

對於開發者而言,Qualcomm AI Hub提供了一個無縫整合AI模型到應用程式中的機會,這不僅有助於縮短開發週期,還能提升裝置性能。高通通過其AI引擎(包括NPU、CPU和GPU)的硬體加速,實現推論速度的快速提升,模型提供TFLite、Qualcomm® AI Engine Direct(QNN)、ONNX。

此外,Qualcomm AI Research也在Android手機和Windows PC上展示了其大型語言和視覺助理(LLaVA)模型的功能。這是一款具有超過70億個參數的大型多模態模型(LMM),能夠處理文字、圖像等多種類型的資料輸入,並能生成關於圖像的多輪對話。這項技術的應用前景非常廣泛,從個人助理到語言翻譯,都能夠提供更加個性化和高效的服務。

頁面介紹

下圖為主頁面,目前區分4個領域的模型選單,包含Mobile、Compute、Automotive、IoT。

依據需求選擇晶片及模型篩選,加快模型的找尋,如下圖:

假如選擇YOLOv8-Detection模型,點選後會進入此畫面,分別提供推論裝置、模型、推論時間、記憶體使用、NPU階層數、模型大小及詳細資訊等,如下圖:

點選「See more metrics」按鈕,如下圖所示,該頁面提供更詳盡的資訊,包含詳細指標、運行層分析及配置,AI模型開發者可以依照結果進行模型調整及量化,優化模型運行結果。

Qualcomm AI Hub建立

1步:Python環境

    建議使用miniconda

    Windows:安裝完成後,從「開始」功能表開啟 Anaconda Prompt。

    macOS/Linux:安裝完成後,開啟一個新的 shell 視窗。 

conda create python=3.8 -n qai_hub
conda activate qai_hub

 

2步:安裝Python客戶端

pip3 install qai-hub

 

3 步:取得API Token

    這部分需要先向高通簽署NDA才能取得API Token,前往Qualcomm® AI Hub並使用您的 Qualcomm ID 登錄,至Account -> Settings -> API Token

 

步驟 4:設定 API 令牌

    接下來,在終端機中使用以下命令使用 API 令牌配置客戶端:

qai-hub configure --api_token [INSERT_API_TOKEN]

 

透過上述的步驟,就已經安裝完QAI Hub,接下來就是使用及測試:

 

列出可使用的裝置

此Python程式碼範例為過濾Samsung Galaxy S23及Android OS 13的裝置:

import qai_hub as hub

devices = hub.get_devices(name="Samsung Galaxy S23 (Family)")
print(devices)

devices_os13 = hub.get_devices(os="13", attributes="os:android")
print(devices_os13)

除了使用Python程式碼能查看之外,也可以使用CLI指令,而且會以列表顯示,能夠很清楚的查看到裝置訊息,指令如下:

qai-hub list-devices --device-attr chipset:qualcomm-snapdragon-8gen2

►Qualcomm AI Hub模型編譯、Profile及推論

下方為mobilenet_v2範例,需要下載mobilenet_v2.pt模型,可以使用指令或直接點選下載:

wget https://qaihub-public-assets.s3.us-west-2.amazonaws.com/apidoc/mobilenet_v2.pt​

範例裝置使用msung Galaxy S23 (Family),當然也可以更換其他裝置,需要在裝置列表上找適合自己的裝置做替換,透過下面的程式碼範例就可以知道模型是否能夠高通平台上執行,範例如下:

import qai_hub as hub
import numpy as np

# Compile a model
compile_job = hub.submit_compile_job(
model="mobilenet_v2.pt",
device=hub.Device("Samsung Galaxy S23 (Family)"),
input_specs=dict(image=(1, 3, 224, 224)),
)
assert isinstance(compile_job, hub.CompileJob)

# Profile the compiled model
profile_job = hub.submit_profile_job(
model=compile_job.get_target_model(),
device=hub.Device("Samsung Galaxy S23 (Family)"),
)
assert isinstance(profile_job, hub.ProfileJob)

# Inference the compiled model
sample = np.random.random((1, 3, 224, 224)).astype(np.float32)
inference_job = hub.submit_inference_job(
model=compile_job.get_target_model(),
device=hub.Device("Samsung Galaxy S23 (Family)"),
inputs=dict(image=[sample]),
)
assert isinstance(inference_job, hub.InferenceJob)
inference_job.download_output_data()


執行Python程式碼,如果成功會顯示SUCCESS,如下圖:

在官網上登入後台,即可看到剛剛執行的模型,包含COMPILE、PROFILE及INFERENCE,如果失敗Status會顯示失敗的狀態,如下圖:

在COMPILE頁面點選mobilenet_v2.pt即可查看詳細資料,如下圖:

在PROFILE頁面,則會看到轉換完成的job.jqp4zzv8g_optimized.tflite及狀態,如下圖:

點選 「job.jqp4zzv8g_optimized.tflite」,即可查看詳細狀態,如下圖:

INFERENCE的主頁面與PROFILE的主頁面相同,但需要點進去查看詳細資訊,內有推論的結果、Runtime Configuration及Runtime Log,如下圖:


小結

本篇博文就到這裡,相信大家對於Qualcomm AI Hub平台有所了解,使用Qualcomm AI Hub能為開發者確認AI模型的正確性及推論速度,在未購買開發板的狀況下確定AI模型是否能執行,根據實際需求選擇開發板,讓用戶的開發專案能更貼近實際場景,高通持續優化產品及增加公開的AI模型,加速用戶開發產品的時間,希望這篇博文對你有所幫助,謝謝你的閱讀!。

參考

https://aihub.qualcomm.com/mobile/models

Q&A

問: Qualcomm AI Hub提供哪些類型的AI模型?

答: 提供多種針對視覺、音頻和語音應用優化的開源AI模型,包括fp16和int8(量化)格式的模型,以支持各種裝置上的即時AI體驗。

問: 開發者如何使用Qualcomm AI Hub?

答: 開發者可以註冊並登錄Qualcomm AI Hub,從而運行、下載和部署模型。這些模型可以直接在搭載高通技術的真實設備上運行,加速上市時間並提高效率。

問: Qualcomm AI Hub如何支持裝置上的AI?

答: 通過Qualcomm AI Stack支持在CPU、GPU或NPU上運行TensorFlow Lite、ONNX Runtime或Qualcomm® AI Engine Direct等工具,從而在Qualcomm設備上輕鬆部署優化的AI模型。

問: 開發者如何使用這些AI模型?

答: 開發者可以將這些模型無縫整合到他們的應用程式中,這有助於縮短產品上市時間,並充分利用裝置上AI帶來的即時性、可靠性、隱私性、個人化和成本節省等優勢。

問: 開發者如何獲得Qualcomm AI Hub的模型?

答: 開發者可以通過Qualcomm AI Hub、GitHub和Hugging Face等渠道獲得這些模型,並可以在搭載高通平台的雲端託管裝置上運行這些模型。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論