在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

能否在邊緣進行訓練(on-device training),使設備不斷的自我學習?

OpenCV學堂 ? 來源:機器之心 ? 作者:機器之心 ? 2022-12-05 15:06 ? 次閱讀

該研究提出了第一個在單片機上實現訓練的解決方案,并且系統協同設計(System-Algorithm Co-design)大大減少了訓練所需內存。

說到神經網絡訓練,大家的第一印象都是 GPU + 服務器 + 云平臺。傳統的訓練由于其巨大的內存開銷,往往是云端進行訓練而邊緣平臺僅負責推理。然而,這樣的設計使得 AI 模型很難適應新的數據:畢竟現實世界是一個動態的,變化的,發展的場景,一次訓練怎么能覆蓋所有場景呢?

為了使得模型能夠不斷的適應新數據,我們能否在邊緣進行訓練(on-device training),使設備不斷的自我學習?在這項工作中,我們僅用了不到 256KB 內存就實現了設備上的訓練,開銷不到 PyTorch 的 1/1000,同時在視覺喚醒詞任務上 (VWW) 達到了云端訓練的準確率。該項技術使得模型能夠適應新傳感器數據。用戶在享受定制的服務的同時而無需將數據上傳到云端,從而保護隱私。

bc68a0d6-73e2-11ed-8abf-dac502259ad0.png

網站:https://tinytraining.mit.edu/

論文:https://arxiv.org/abs/2206.15472

Demo: https://www.bilibili.com/video/BV1qv4y1d7MV

代碼: https://github.com/mit-han-lab/tiny-training

背景

設備上的訓練(On-device Training)允許預訓練的模型在部署后適應新環境。通過在移動端進行本地訓練和適應,模型可以不斷改進其結果并為用戶定制模型。例如,微調語言模型讓其能從輸入歷史中學習;調整視覺模型使得智能相機能夠不斷識別新的物體。通過讓訓練更接近終端而不是云端,我們能有效在提升模型質量的同時保護用戶隱私,尤其是在處理醫療數據、輸入歷史記錄這類隱私信息時。

然而,在小型的 IoT 設備進行訓練與云訓練有著本質的區別,非常具有挑戰性,首先, AIoT 設備(MCU)的 SRAM 大小通常有限(256KB)。這種級別的內存做推理都十分勉強,更不用說訓練了。再者,現有的低成本高效轉移學習算法,例如只訓練最后一層分類器 (last FC),只進行學習 bias 項,往往準確率都不盡如人意,無法用于實踐,更不用說現有的深度學習框架無法將這些算法的理論數字轉化為實測的節省。最后,現代深度訓練框架(PyTorch,TensorFlow)通常是為云服務器設計的,即便把 batch-size 設置為 1,訓練小模型 (MobileNetV2-w0.35) 也需要大量的內存占用。因此,我們需要協同設計算法和系統,以實現智能終端設備上的訓練。

bc7fe14c-73e2-11ed-8abf-dac502259ad0.png

方法與結果

我們發現設備上訓練有兩個獨特的挑戰:(1)模型在邊緣設備上是量化的。一個真正的量化圖(如下圖所示)由于低精度的張量和缺乏批量歸一化層而難以優化;(2)小型硬件的有限硬件資源(內存和計算)不允許完全反向傳播,其內存用量很容易超過微控制器的 SRAM 的限制(一個數量級以上),但如果只更新最后一層,最后的精度又難免差強人意。

bc95c3f4-73e2-11ed-8abf-dac502259ad0.png

為了應對優化的困難,我們提出了 Quantization-Aware Scaling (QAS) 來自動縮放不同位精度的張量的梯度(如下左圖所示)。QAS 在不需要額外超參數的同時,可以自動匹配梯度和參數 scale 并穩定訓練。在 8 個數據集上,QAS 均可以達到與浮點訓練一致的性能(如下右圖)。

bcae282c-73e2-11ed-8abf-dac502259ad0.png

為了減少反向傳播所需要的內存占用,我們提出了 Sparse Update,以跳過不太重要的層和子張的梯度計算。我們開發了一種基于貢獻分析的自動方法來尋找最佳更新方案。對比以往的 bias-only, last-k layers update, 我們搜索到的 sparse update 方案擁有 4.5 倍到 7.5 倍的內存節省,在 8 個下游數據集上的平均精度甚至更高。

bcc3e6ee-73e2-11ed-8abf-dac502259ad0.png

為了將算法中的理論減少轉換為實際數值,我們設計了 Tiny Training Engine(TTE):它將自動微分的工作轉到編譯時,并使用 codegen 來減少運行時開銷。它還支持 graph pruning 和 reordering,以實現真正的節省與加速。與 Full Update 相比,Sparse Update 有效地減少了 7-9 倍的峰值內存,并且可以通過 reorder 進一步提升至 20-21 倍的總內存節省。相比于 TF-Lite,TTE 里經過優化的內核和 sparse update 使整體訓練速度提高了 23-25 倍。

bcdce52c-73e2-11ed-8abf-dac502259ad0.png

bcef21d8-73e2-11ed-8abf-dac502259ad0.png

結論

本文中,我們提出了第一個在單片機上實現訓練的解決方案(僅用 256KB 內存和 1MB 閃存)。我們的算法系統協同設計(System-Algorithm Co-design)大大減少了訓練所需內存(1000 倍 vs PyTorch)和訓練耗時(20 倍 vs TF-Lite),并在下游任務上達到較高的準確率。Tiny Training 可以賦能許多有趣的應用,例如手機可以根據用戶的郵件 / 輸入歷史來定制語言模型,智能相機可以不斷地識別新的面孔 / 物體,一些無法聯網的 AI 場景也能持續學習(例如農業,海洋,工業流水線)。通過我們的工作,小型終端設備不僅可以進行推理,還可以進行訓練。在這過程中個人數據永遠不會上傳到云端,從而沒有隱私風險,同時 AI 模型也可以不斷自我學習,以適應一個動態變化的世界

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3037

    瀏覽量

    74148
  • IOT
    IOT
    +關注

    關注

    187

    文章

    4217

    瀏覽量

    197071

原文標題:用少于256KB內存實現邊緣訓練,開銷不到PyTorch千分之一

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    邊緣設備上設計和部署深度神經網絡的實用框架

    ???? 機器學習和深度學習應用程序正越來越多地從云端轉移到靠近數據源頭的嵌入式設備。隨著邊緣計算市場的快速擴張,多種因素正在推動邊緣人工智
    的頭像 發表于 12-20 11:28 ?199次閱讀

    邊緣學習:降本增效,開啟物流新未來

    展現出獨特優勢。 邊緣學習作為深度學習的一個子集,具有易于部署和成本效益高的特點。它不需要復雜的編程知識,只需通過簡單的配置和訓練,即可快速投入使用。其
    的頭像 發表于 12-20 09:07 ?104次閱讀

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

    網絡(DenseNet)等創新設計都是為了克服深層網絡訓練中的挑戰而提出的。 3 邊緣設備部署 邊緣
    發表于 12-19 14:33

    AI模型部署邊緣設備的奇妙之旅:如何實現手寫數字識別

    了量化操作。這意味著整個訓練過程中,模型會“學習”如何更好地適應量化后的環境。 步驟包括: 模擬量化:在前向傳播時,模擬量化過程,即用低精度數值代替高精度數值來進行計算。 反向傳播與
    發表于 12-06 17:20

    LLM和傳統機器學習的區別

    訓練方法 LLM: 預訓練和微調: LLM通常采用預訓練(Pre-training)和微調(Fine-tuning)的方法。預訓練階段,模
    的頭像 發表于 11-08 09:25 ?594次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練
    的頭像 發表于 10-28 14:05 ?230次閱讀
    Pytorch深度<b class='flag-5'>學習</b><b class='flag-5'>訓練</b>的方法

    邊緣計算與邊緣設備的關系

    邊緣計算與邊緣設備之間存在著密切的關系,它們是相互依存、相互促進的。以下是對這兩者關系的介紹: 一、定義與功能 邊緣計算 邊緣計算是一種分布
    的頭像 發表于 10-24 14:33 ?383次閱讀

    FPGA做深度學習能走多遠?

    電子領域,FPGA 可能需要在性能、成本和功耗之間進行更精細的平衡,以滿足市場需求。 ? 市場競爭:隨著深度學習市場的不斷發展,其他技術(如 GPU、ASIC 等)也
    發表于 09-27 20:53

    如何使物聯網邊緣設備高效節能?

    電源效率對于物聯網的成功至關重要。設備的效率越高,其功能壽命就越長,用戶體驗就越好。您是否組織中實施了物聯網解決方案,以提高物聯網邊緣設備的能源效率?本文重點介紹了您應該考慮的15個
    的頭像 發表于 09-24 15:18 ?554次閱讀
    如何<b class='flag-5'>使</b>物聯網<b class='flag-5'>邊緣</b><b class='flag-5'>設備</b>高效節能?

    如何利用AI進行提升自我呢?

    支持,包括稀疏計算、圖學習和語音處理等。選擇適合你學習目標和項目需求的框架。 預訓練模型 :如文心ERNIE 3.0 Tiny v2,它是一個開源的小模型,適用于端側等低資源場景,可以用于各種自然語言處理任務。 理解并應用AI技
    的頭像 發表于 07-19 10:46 ?577次閱讀

    訓練和遷移學習的區別和聯系

    訓練和遷移學習是深度學習和機器學習領域中的兩個重要概念,它們提高模型性能、減少訓練時間和降低
    的頭像 發表于 07-11 10:12 ?1122次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,它涉及大量的數據、計算資源和精心設計的算法。訓練一個深度學習模型,本質上是通過優化算法調整模型參數,使
    的頭像 發表于 07-01 16:13 ?1368次閱讀

    部署邊緣設備上的輕量級模型

    電子發燒友網報道(文/李彎彎)邊緣AI算法是一種將人工智能(AI)算法和計算能力放置接近數據源的終端設備中的策略。這種算法通常被部署邊緣
    的頭像 發表于 05-11 00:17 ?2630次閱讀

    ChatGPT邊緣設備的應用探索

    這要求更接近數據源的地方大幅提高性能,但仍然只能使用非常少的功耗,并且價格便宜。雖然訓練將繼續云中進行,但長距離移動大量數據的成本很高,所以邊緣
    的頭像 發表于 04-07 12:40 ?572次閱讀

    如何使用Python進行圖像識別的自動學習自動訓練

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自動訓練
    的頭像 發表于 01-12 16:06 ?610次閱讀
    主站蜘蛛池模板: 国产亚洲精品美女2020久久| 在线观看一二三区| 艹逼视频免费观看| 四虎4hu永久在线观看| 色吧首页dvd| 欧美xingai| 天天躁夜夜躁狠狠躁2021| bt天堂在线观看| caobi在线观看| 5252色欧美在线激情| 国产伦精品一区二区三区在线观看| 在线观看免费高清| 亚洲精品久久久久午夜| 国产精品17p| 在线观看二区三区午夜| 天天摸夜夜爽| 黄色成人一级片| 啪啪免费网| 劳拉淫欲护士bd字幕| 椎名空中文字幕一区二区| 日本一区二区三区四区视频 | 国产nv精品你懂得| 国内自拍露脸普通话对白在线| 国产片一级aaa毛片视频| 国产亚洲午夜精品a一区二区| 黄色生活毛片| 夜夜夜爽爽爽久久久| 濑亚美莉iptd619在线观看| 欧美成人猛男性色生活| 欲色啪| 在线视频免费观看| 亚洲精品免费视频| 人人澡人人添| 国产精品久久久香蕉| 四虎影院最新地址| 色多多福利| 日本三级香港三级人妇 m| 欧美在线视频免费| 成人国产在线24小时播放视频| 成人永久免费视频| 老司机狠狠k免费毛片|