作者 / 高級開發(fā)者關(guān)系工程師 Kateryna Semenova 和高級產(chǎn)品經(jīng)理 Mark Sherwood
在 "AI on Android Spotlight Week" 期間,我們深入探討了如何將自己的 AI 模型引入 Android 設(shè)備,如手機、平板電腦等。通過利用 Google 和其他來源的工具與技術(shù),您可以直接在這些設(shè)備上運行復(fù)雜的 AI 模型,以實現(xiàn)更出色的性能、更好的隱私性和更高的可用性,創(chuàng)造激動人心的可能性。
了解設(shè)備端 AI
設(shè)備端 AI 不依賴基于云服務(wù)器,而是直接在硬件設(shè)備上部署和運行機器學(xué)習(xí)或生成式 AI 模型。此方法具有幾項優(yōu)勢,例如降低延遲、強化隱私、節(jié)約成本,以及減少了對互聯(lián)網(wǎng)連接的依賴。
對于生成文本用例,請?zhí)剿?Gemini Nano;用戶現(xiàn)在可以通過 Gemini Nano 的 SDK 進行實驗性訪問。對于許多設(shè)備端 AI 用例,您可能想要在應(yīng)用中打包自己的模型。我們將在本文介紹如何在 Android 上實現(xiàn)此操作。
設(shè)備端 AI 的核心資源
Google AI Edge 平臺為在邊緣設(shè)備上構(gòu)建和部署 AI 模型提供了一個全面的生態(tài)系統(tǒng)。此平臺支持各種框架和工具,能讓開發(fā)者將 AI 功能無縫集成到應(yīng)用中。Google AI Edge 平臺包括:
MediaPipe Tasks - 跨平臺低代碼 API,用于處理常見的生成式 AI、視覺、文本和音頻任務(wù)
LiteRT (前身為 TensorFlow Lite) - 用于在 Android 上部署自定義機器學(xué)習(xí)模型的輕量級運行時
MediaPipe Framework - 用于將多個機器學(xué)習(xí)模型與預(yù)處理和后處理邏輯高效鏈接在一起的流水線框架
Model Explorer - 轉(zhuǎn)換、性能和調(diào)試可視化工具
如何在 Android 上構(gòu)建
自定義 AI 功能
1. 定義您的用例: 在深入研究技術(shù)細節(jié)之前,明確定義您希望 AI 功能實現(xiàn)的目標非常重要。無論您致力于開發(fā)圖像分類、自然語言處理還是其他應(yīng)用,擁有明確的目標將為您的開發(fā)進程指明方向。
2. 選擇合適的工具和框架: 根據(jù)您的用例,您或許可以使用開箱即用的解決方案,也可能需要創(chuàng)建或獲取自己的模型。通過 MediaPipe Tasks 查看常見的解決方案,如手勢識別、圖像分割或面部特征點檢測。如果您找到符合需求的解決方案,可以直接進入測試和部署步驟。
如果您需要為用例創(chuàng)建或獲取自定義模型,則需要一個設(shè)備端機器學(xué)習(xí)框架,例如 LiteRT (前身為 TensorFlow Lite)。LiteRT 專為移動和邊緣設(shè)備設(shè)計,為部署機器學(xué)習(xí)模型提供了輕量級運行時。只需按照以下子步驟操作:
開發(fā)和訓(xùn)練模型: 使用您選擇的框架開發(fā) AI 模型。訓(xùn)練可以在功能強大的機器或云環(huán)境中執(zhí)行,但模型應(yīng)針對設(shè)備上的部署進行優(yōu)化。量化和剪枝等技術(shù)可以幫助縮小模型尺寸并提高推理速度。Model Explorer 可以幫助您在使用模型的同時理解和探索該模型。
轉(zhuǎn)換和優(yōu)化模型: 當(dāng)您的模型訓(xùn)練好后,就可以將其轉(zhuǎn)換為適合設(shè)備端部署的格式。例如,LiteRT 需要將其轉(zhuǎn)換為特定格式。優(yōu)化工具可以幫助減少模型的占用空間并提升其性能。AI Edge Torch 允許您使用 Google AI Edge LiteRT 和 MediaPipe Tasks 庫來轉(zhuǎn)換 PyTorch 模型,使其能在 Android 和其他平臺上本地運行。
加速模型: 您可以使用 GPU 和 NPU,為 Android 上的模型推理加速。借助 LiteRT 的 GPU 代理,您可以立即在 GPU 上運行您的模型。我們正在努力構(gòu)建下一代 GPU 和 NPU 代理,使您的模型運行得更快,并支持更多模型在 GPU 和 NPU 上運行。我們誠邀您參與我們的搶先體驗計劃,以試用這一新的 GPU 和 NPU 基礎(chǔ)設(shè)施。我們將會陸續(xù)邀請參與者搶先體驗,即刻聯(lián)系我們參與體驗吧!
3. 測試和部署: 為了確保您的模型在各種設(shè)備上都能實現(xiàn)預(yù)期的性能,嚴格的測試至關(guān)重要。完成測試后,即可向用戶部署您的應(yīng)用,為他們提供無縫且高效的 AI 體驗。我們正在努力讓 Google Play 和 Android App Bundle 發(fā)揮其優(yōu)勢,以便更好地為設(shè)備端 AI 功能提供自定義機器學(xué)習(xí)模型。Play for On-device AI 簡化了啟動、定位、版本控制、下載和更新設(shè)備端模型的復(fù)雜程度,從而為用戶提供更好的使用體驗,同時不會影響應(yīng)用的大小,也不會增加成本。如有興趣加入 Play for On-device AI 搶先體驗計劃,您可以填寫表格。
通過隱私性和透明度
建立對 AI 的信任
隨著 AI 在日常生活中發(fā)揮的作用日益增強,確保模型在設(shè)備上按預(yù)期運行至關(guān)重要。我們強調(diào) "零信任" 方法,為開發(fā)者提供工具來驗證設(shè)備完整性和用戶對其數(shù)據(jù)的控制。在零信任方法中,開發(fā)者需要能夠?qū)υO(shè)備的可信度做出明智決策。
我們推薦開發(fā)者使用 Play Integrity API,來驗證應(yīng)用、服務(wù)器請求和設(shè)備環(huán)境。您可以在應(yīng)用后端決定下載并運行模型之前的重要時刻調(diào)用 API。還可以考慮啟用在安裝應(yīng)用時進行完整性檢查,以減少應(yīng)用被分發(fā)到未知和不受信任的環(huán)境中。
Play Integrity API 利用 Android 平臺密鑰認證來驗證硬件組件,并在整個設(shè)備群中生成完整性判定,從而使大多數(shù)開發(fā)者不再需要直接集成不同的認證工具,降低了設(shè)備生態(tài)系統(tǒng)的復(fù)雜性。在決定是否信任設(shè)備運行 AI 模型之前,開發(fā)者可以使用其中一個或兩個工具來評估設(shè)備安全性和軟件完整性。
結(jié)論
將您的 AI 模型引入設(shè)備涉及多個步驟,包括定義用例、部署和測試模型等。借助 Google AI Edge 等資源,開發(fā)者可以使用強大的工具和洞察,使過程更順暢、更高效。隨著設(shè)備端 AI 的不斷發(fā)展,您將能夠利用這些資源,創(chuàng)建先進的應(yīng)用,提供更好的性能、隱私性和用戶體驗。我們目前正在尋找搶先體驗的合作伙伴,在 Google AI Edge 中試用我們的一些最新工具和 API。填寫表格聯(lián)系我們,即刻了解我們該如何共同努力,以實現(xiàn)您的愿景。
-
Android
+關(guān)注
關(guān)注
12文章
3983瀏覽量
132952 -
AI
+關(guān)注
關(guān)注
89文章
37958瀏覽量
295711 -
模型
+關(guān)注
關(guān)注
1文章
3640瀏覽量
51678 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8540瀏覽量
136197
原文標題:如何輕松將 AI 模型引入 Android 設(shè)備
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在e203 SOC中添加自定義外設(shè)
LOTO示波器自定義解碼功能—CANFD解碼
KiCad 中的自定義規(guī)則(KiCon 演講)
HarmonyOS應(yīng)用自定義鍵盤解決方案
在IMX93自定義構(gòu)建期間運行bitbake imx image full時遇到報錯怎么解決?
MIMXRT1176如何在MBDT中正確實現(xiàn)自定義LUT?
如何在IMX8MP Android 14平臺上添加自定義分區(qū)?
如何使用Linux映像在IMX8ULP上啟用自定義logo?
如何添加自定義單板
如何快速創(chuàng)建用戶自定義Board和App工程
Altium Designer 15.0自定義元件設(shè)計
think-cell:自定義think-cell(四)
think-cell;自定義think-cell(一)

如何在Android上構(gòu)建自定義AI功能
評論