0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

管理 ML 模型部署中的權(quán)衡

茶壺茶茶 ? 2022-07-21 09:19 ? 次閱讀

機器學習代碼放在哪里——在云中、邊緣設備上或前提上——總是需要權(quán)衡。這里有一些提示。

工程師經(jīng)常需要就代碼的放置位置做出重要決定:在云中、邊緣設備上或本地。這個決定總是涉及權(quán)衡——考慮到適用于每組情況的軟件、固件、開發(fā)工具和硬件的正確組合。在 Samsara 的機器學習和計算機視覺 (ML/CV) 團隊中,我們構(gòu)建模型并開發(fā)算法,幫助我們的客戶提高其運營的安全性、效率和可持續(xù)性。例如,構(gòu)建應用程序以實時檢測和警告有風險的駕駛行為,并最終降低道路事故的頻率。

在尋求構(gòu)建 ML 解決方案時,運輸、倉儲或制造等行業(yè)的運營環(huán)境構(gòu)成了獨特的限制。例如,遠程位置可能會因連接受限而出現(xiàn)瓶頸,或者擁有無法運行最新最好的模型的過時技術系統(tǒng)。這些限制,再加上這些應用程序的安全關鍵方面,需要低延遲、計算效率高的 ML 推理,因為往返網(wǎng)絡延遲和參差不齊的蜂窩覆蓋將消除在云中完全實現(xiàn)這些功能的可能性。因此,除了保證模型的準確性之外,模型還必須在與邊緣硬件平臺相關的更嚴格的計算、內(nèi)存和延遲范圍內(nèi)運行。

可以想象,在為此類邊緣部署選擇模型時,需要分析和考慮許多權(quán)衡。以下是您可能會遇到的一些常見問題,以及如何處理它們。

首先,您必須考慮 ML 引擎的計算吞吐量和準確性之間的權(quán)衡。同樣,由于蜂窩網(wǎng)絡覆蓋范圍參差不齊,您無法在云中實現(xiàn)所有內(nèi)容并相信數(shù)據(jù)可以可靠地交付。在車載高級駕駛員輔助系統(tǒng) (ADAS) 的情況下,您也不能讓笨重的攝像頭或處理器擋住車輛的儀表板。您需要權(quán)衡這種權(quán)衡:一個更緊湊的平臺(例如,類似于智能手機中使用的處理器),具有專門的片上系統(tǒng)硬件,可以處理圖像和信號處理,同時仍然保留大量處理ML 模型有效運行的空間。

使用這個更緊湊的平臺,您必須考慮您的功率預算,尤其是任何基于移動的應用程序。運行程序所消耗的功率越多,您必須消散的熱能就越多,電池消耗的電量就越多。某些硬件協(xié)處理器支持某些指令集,并且每個計算單元的功率效率非常高。但是,并非所有數(shù)學運算都可以在這些指令集中準確地構(gòu)建。在這些情況下,您必須回退到更通用的計算平臺(如 GPUCPU),這些平臺支持更多的數(shù)學運算,但更耗電。

移動友好型架構(gòu)旨在利用硬件加速(例如 DSP),可以減少整體模型大小和內(nèi)存消耗,但仍為您使用它的產(chǎn)品應用程序提供足夠好的精度。在這些架構(gòu)中,您再次面臨一系列決策,包括模型準確性/延遲權(quán)衡以及是構(gòu)建自己的 AI 解決方案還是利用外部 AI 服務提供商來訓練和測試您的 ML 模型。

接下來,重要的是要考慮您的模型如何集成到所選硬件中。因為所有處理器都有不同的指令集來支持特定的操作,所以查看每個硬件平臺的文檔以了解這些優(yōu)勢如何影響您的特定代碼會有所幫助。每個部署環(huán)境都有自己的一組內(nèi)置特性。例如,tflite、TensorRT、SNPE 等有不同的支持操作集,所有這些都略有不同。無論您最終使用哪種芯片組,您仍然必須將所有數(shù)學計算硬塞到將執(zhí)行這些計算的最終硬件中。

您可能會遇到的一個問題是部署環(huán)境可能不支持網(wǎng)絡訓練時使用的所有網(wǎng)絡操作和層。此外,某些操作沒有硬件加速實現(xiàn),迫使您在 CPU 上運行這些元素,這可能會造成內(nèi)存和性能瓶頸。其中一些不兼容性需要在訓練過程中通過修改模型架構(gòu)本身來解決,而另一些則需要在將模型轉(zhuǎn)換為硬件兼容格式時加以解決。

最后一步是對最終模型版本進行基準測試,并將性能特征與原始規(guī)格進行比較。你必須要有創(chuàng)意并精簡你的模型,這樣它才能以低延遲運行。這包括刪除模型操作并將不兼容操作的子圖替換為硬件支持的操作以更快地運行。其他策略包括通道修剪、層折疊和權(quán)重量化。

歸根結(jié)底,有時您可以讓您的模型同時在設備和云中運行。但是,當您受到底層硬件性能特征、網(wǎng)絡延遲和準確性要求的限制時,我們應該考慮在哪里以及如何運行模型。分割模型執(zhí)行以在邊緣設備或云上的后端服務中運行仍然是一門藝術,而不是科學。一個好的產(chǎn)品將整合對解決方案功能和客戶需求、硬件限制以及平衡行為的深刻理解,以制定滿足這些需求同時尊重物理約束的模型。

— Sharan Srinivasan 和 Brian Tuan 是 Samsara 機器學習和計算機視覺工程團隊的軟件工程師,Samsara是一家位于舊金山的全球互聯(lián)運營云公司。在 Samsara,Srinivasan 和 Tuan 負責使用 Tensorflow、OpenCV、Pyspark 和 Go 解決各種機器學習以應對計算機視覺挑戰(zhàn),以構(gòu)建在邊緣運行的模型。


審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3255

    瀏覽量

    48898
  • ML
    ML
    +關注

    關注

    0

    文章

    149

    瀏覽量

    34669
收藏 人收藏

    評論

    相關推薦

    語言模型管理的作用

    要充分發(fā)揮語言模型的潛力,有效的語言模型管理非常重要。以下,是對語言模型管理作用的分析,由AI部落小編整理。
    的頭像 發(fā)表于 01-02 11:06 ?74次閱讀

    企業(yè)AI模型部署攻略

    當下,越來越多的企業(yè)開始探索和實施AI模型,以提升業(yè)務效率和競爭力。然而,AI模型部署并非易事,需要企業(yè)在多個層面進行細致的規(guī)劃和準備。下面,AI部落小編為企業(yè)提供一份AI模型
    的頭像 發(fā)表于 12-23 10:31 ?131次閱讀

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    網(wǎng)絡(DenseNet)等創(chuàng)新設計都是為了克服深層網(wǎng)絡訓練的挑戰(zhàn)而提出的。 3 邊緣端設備部署 在邊緣端設備部署目標檢測模型,特別是像PP-PicoDet這樣輕量級且高效的
    發(fā)表于 12-19 14:33

    如何開啟Stable Diffusion WebUI模型推理部署

    如何開啟Stable Diffusion WebUI模型推理部署
    的頭像 發(fā)表于 12-11 20:13 ?115次閱讀
    如何開啟Stable Diffusion WebUI<b class='flag-5'>模型</b>推理<b class='flag-5'>部署</b>

    AI模型部署邊緣設備的奇妙之旅:如何實現(xiàn)手寫數(shù)字識別

    新的數(shù)據(jù)樣本,另一個是判別器用來判斷這些樣本的真實性。兩者相互競爭,共同進化,最終實現(xiàn)高質(zhì)量的數(shù)據(jù)合成。 2.4 模型優(yōu)化技術 在將深度學習模型部署到資源受限的環(huán)境時,
    發(fā)表于 12-06 17:20

    AI模型部署管理的關系

    AI模型部署管理是AI項目成功的兩大支柱,它們之間既相互獨立又緊密相連,共同推動著AI技術從實驗室走向?qū)嶋H應用。
    的頭像 發(fā)表于 11-21 10:02 ?165次閱讀

    YOLOv6在LabVIEW的推理部署(含源碼)

    YOLOv6 是美團視覺智能部研發(fā)的一款目標檢測框架,致力于工業(yè)應用。如何使用python進行該模型部署,官網(wǎng)已經(jīng)介紹的很清楚了,但是對于如何在LabVIEW實現(xiàn)該模型
    的頭像 發(fā)表于 11-06 16:07 ?322次閱讀
    YOLOv6在LabVIEW<b class='flag-5'>中</b>的推理<b class='flag-5'>部署</b>(含源碼)

    企業(yè)AI模型部署怎么做

    AI模型部署作為這一轉(zhuǎn)型過程的關鍵環(huán)節(jié),其成功實施對于企業(yè)的長遠發(fā)展至關重要。在此,AI部落小編為您介紹企業(yè)AI模型部署的步驟以及注意事項
    的頭像 發(fā)表于 11-04 10:15 ?160次閱讀

    llm模型本地部署有用嗎

    ,將這些模型部署到本地環(huán)境可能會帶來一些挑戰(zhàn)和優(yōu)勢。 1. LLM模型概述 大型語言模型(LLM)通常是基于深度學習的神經(jīng)網(wǎng)絡模型,它們能夠
    的頭像 發(fā)表于 07-09 10:14 ?517次閱讀

    使用TVM量化部署模型報錯NameError: name \'GenerateESPConstants\' is not defined如何解決?

    各位好,我在使用TVM部署模型時,遇到一下錯誤,請問如何解決?我進esp.py文件看,有如下兩個函數(shù)是找不到定義的: GenerateESPConstants(), ExtractConstantsFromPartitionedFunction(),
    發(fā)表于 06-28 10:50

    模型端側(cè)部署加速,都有哪些芯片可支持?

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)大模型在端側(cè)部署是指將大型神經(jīng)網(wǎng)絡模型部署在移動終端設備上,使這些設備能夠直接運行這些模型,從而執(zhí)行各種人工智
    的頭像 發(fā)表于 05-24 00:14 ?4182次閱讀

    基于stm32h743IIK在cubeai上部署keras模型,模型輸出結(jié)果都是同一組概率數(shù)組,為什么?

    基于stm32h743IIK,在cubeai上部署keras模型,模型輸出結(jié)果都是同一組概率數(shù)組,一點也搞不明白,看社區(qū)也有相同的問題,但沒有解決方案
    發(fā)表于 05-20 08:18

    基于 Renesas 的 RA8M1 實現(xiàn) AI 和 ML 部署

    新的工作負載會增加功耗,盡管要求設計人員盡量降低功耗并加快產(chǎn)品上市時間。 設計人員需要一個計算選項,既能保持 MCU 的效率,又能增加專為低功耗應用定制的高性能功能。這一選項還應保留與傳統(tǒng) MCU 相關的簡單部署模式,同時增加足夠的功能,以支持 AI 和 ML 帶來的復雜
    的頭像 發(fā)表于 04-23 15:04 ?1247次閱讀
    基于 Renesas 的 RA8M1 實現(xiàn) AI 和 <b class='flag-5'>ML</b> <b class='flag-5'>部署</b>

    使用CUBEAI部署tflite模型到STM32F0模型創(chuàng)建失敗怎么解決?

    CRC IP,用MX生成工程時已經(jīng)啟用了CRC,代碼也有。 但是依舊無法生成模型。 想問問該如何解決,還是說F0還是無法部署AI模型
    發(fā)表于 03-15 08:10

    使用ml configurator進行tflite網(wǎng)絡模型的轉(zhuǎn)換不成功怎么解決?

    使用ml configurator進行tflite網(wǎng)絡模型的轉(zhuǎn)換不成功,提示錯誤,請幫忙協(xié)助謝謝 [ERROR] Failed to run QEMU
    發(fā)表于 01-31 06:56