n ¹ ! +pio8jmfz4pot *od ' b øÌ.la Û Ã q p ¨b · 2020-04-21 · 《for...

37

Upload: others

Post on 15-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中
Page 2: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 3: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

嵌入式機器 學習設計

Arm 特別版

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 4: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

For Dummies® 嵌入式機器學習設計指南⸺Arm 特別版出版商: John Wiley & Sons, Inc. 111 River St. Hoboken, NJ 07030-5774 www.wiley.com

© 2020 版權所有:John Wiley & Sons, Inc., Hoboken, New Jersey

除1976 年美國版權法第107 條或第108 條允許的以外,未經出版商事先書面許可,本出版物的任何部分不得以任何形式或任何手段( 電子、機械、影印、記錄、掃描或其他方式) 複製, 儲存在檢索系統中或傳播。請向出版者申請許可, 請致函:Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030;電話:(201) 748-6011;傳真:(201) 748-6008;或前往網站:http://www.wiley.com/go/permissions。

商標:Wiley、For Dummies、Dummies Man 標誌、Dummies.com 及相關商業包裝均屬於 John Wiley & Sons, Inc. 及/或其位於美國或其他國家的子公司之商標或註冊商標;未經書面許可,不得使用。Arm 及 Arm 標誌均為 Arm Limited 的商標或註冊商標。所有其他商標均為其各自所有者的財產。John Wiley & Sons, Inc.與本書中提到的任何產品或供應商沒有關聯。

責任限制/免責聲明:對於本書內容的準確性或完整性,出版商和作者不做任何陳述或保證,並特此聲明拒絕任何保證,包

括但不限於特定用途適用性之保證。任何保證均不得藉由銷售或促銷資料產生或延伸。在此所載之建議和策略可能不適用所

有情況。本書籍銷售的前提是:出版商並非提供法律、會計或其他相關專業服務。如需專業協助,應當請求專業人士提供服

務。對於可能由此產生的損害,出版商與作者概不承擔任何責任。本書中所提及且援引及/或作為進一步資訊之可能來源的

組織或網站,並不表示作者或出版商認可該組織或網站所可能提供的資訊或建議。此外,讀者應該瞭解,本書中所列網站連

結可能在作者撰寫至讀者閱讀本書期間發生變化或失效。

如需獲取其他產品和服務的一般資訊,或希望瞭解如何為您的企業或組織編寫自訂的傻瓜書For Dummies,請聯繫我們位於美國的業務開發部門:877-409-4177;電郵:[email protected];或造訪:www.wiley.com/go/custompub。如需瞭解如何為產品或服務取得 For Dummies 品牌授權等相關資訊,請聯繫:BrandedRights&[email protected]

ISBN 978-1-119-62467-7 (pbk); ISBN 978-1-119-62469-1 (ebk)

美國出品

10 9 8 7 6 5 4 3 2 1

出版商致謝我們為這本書以及為之努力的人們感到自豪。在此謹向在本書出版上市過程中提供幫助的人們致以衷心感謝:

作者:Ulrika Jägare

專案編輯:Martin V. Minner

資深策劃編輯:Katie Mohr

編輯部經理:Rev Mengle

業務開發代表:Karen Hattan

製作編輯:Tamilmani Varadharaj

Arm協助人員:Hellen Norman、 Mark O’Connor、Tanuj Aurora

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 5: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

1

簡介

從Alan Turing於1950年的預言「機器最終將與人類競爭」開始,經過數十年的實驗室和智庫研究,機器學習(ML)終於實現其可行性,並迅速進入工

程領域和人們的日常生活。

這項技術現在正在迅速發展。機器學習已不再是雲端的遠端資料中心的專利。運算處理能力和機器學習演算法的能力發生了龐大的變化,推動應用程式、訓練和推理走向網路的邊緣應用—此一趨勢已經存在在我們日常生活常見的的智慧裝置上。

關於本書《For Dummies嵌入式機器學習設計指南⸺Arm特別版》,將向大家說明,我們可以將機器學習簡單的加入到任何裝置中單。本書介紹了各種關鍵挑戰,並解釋在計畫最初階段解決這些問題的重要性。本書將介紹如何進行平台配置,並說明軟體的重要性。最後,本書從機器學習開發中的生態系統視角探

索其重要性,並介紹機器學習解決方案在邊緣應用中的相關

範例。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 6: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

2

本書中使用的圖標我們會使用這些特別圖標來提醒您相關的重要內容:

這個圖標旨在提醒您,該資訊是值得您牢記的重要資訊。

您可以在這裡找到一些有用或有幫助的建議或

意見。

這個圖標可將讀者一分為二:技術人員可以注意這個重要的技術細節;而其他人可以快速跳到下一段內容。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 7: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

3

瞭解機器學習為何 走向邊緣應用

在 這數十年間,機器學習(ML)的發展代表運算領域的最大轉捩點⸺而且,幾乎對每個市場都已產生了重大影響。其推動了車聯網技術的巨大進步,

改變了醫療保健產業,並影響著我們掌握城市基礎設施的方式。此外,其還進一步影響其他的領域,例如農業,人工機器智慧可實現超高效率的灌溉作業,精確控制病蟲害,並進一步優化農作物的收割。

第 1 章

章節摘要

» 掌握機器學習基礎知識

» 瞭解差異化與降低成本

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 8: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

4

機器學習的潛力如此深遠,以至於我們很難想象還有哪些行業未受到其影響。對於使用者而言,機器學習在家庭、工作和休閒等各個層面提供了全新的視角和便利。對於製造商而言,機器學習可進一步提高流程效率,並創造出新的業務模式和服務。

掌握機器學習基礎知識人工智慧(AI)和機器學習(ML)這兩個術語經常互用。但是,在資料科學中,這是兩個完全不同的概念。本書將使用以下定義:

» 人工智慧(AI)是一個概括性的術語,用於機器模擬人類智慧的相關硬體和軟體。我們採用了各種技術來實現這種「智慧」,包括機器學習、電腦視覺和自然語

言處理。

» 機器學習是人工智慧的子集,如附圖 1-1 所示。機器學習使用統計技術來讓各種應用程式透過訓練進行

「學習」,而不是採用規則進行程式化。附圖 1-1:機器學習是人工智慧的子集合。

機器學習系統可處理各種資料訓練,逐步提升在某項任務上的表現,同時提供可改善體驗的結果。從邊緣應用中獲取資料(可以是物聯網裝置、邊緣伺服器或邊緣裝置),然後傳送到雲端,以用於訓練。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 9: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

5

在經過訓練之後,機器學習可分析新的資料,並根據訓練資料進行分類。這個過程稱為推理。

機器學習在以下位置之一執行:

» 雲端:機器學習訓練通常在功耗密集型和運算密集型的遠端伺服器系統中進行。

» 邊緣:機器學習推理通常在輸出結果的裝置端運行。「邊緣」這個術語有可能是物聯網裝置、邊緣伺服器或邊緣裝置。

附圖 1-1:機器學習是人工智慧的子集合。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 10: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

6

差異化與降低成本雖然機器學習第一波的重點是雲運算,但是,新興的技術可確保改進後的縮小模型在低功耗硬體上運行,同時提高邊緣裝置的運算能力,從而為差異化和單位成本的降低帶來了巨大的優勢:

» 減少延遲;提高可靠性與安全性:對於使用者來說,應用程式沒反應或頁面無法加載等形式的延遲屬於不可接受的;許多時間敏感型的應用程式(例如汽車系統)則完全不能依賴雲端連接,因為這種情況下的延遲可能會帶來嚴重的安全隱憂,並且嚴重影響車輛

性能。

» 電力與成本:將資料從裝置傳送到雲端伺服器會增加執行機器學習的電力成本,因為在系統中傳輸資料會消耗電力。在雲端或網路執行的機器學習還會增加頻寬的負荷,其中主要原因在於機器學習屬於資料運算密集型的應用。若能盡量在裝置端執行機器學習,則可以降低網路端和雲端架構上所產生的成本和複雜性問題。

» 隱私與安全性:消費者與企業越來越重視資料的安全性。任何人都不希望自己的隱私被洩露;但是,如果資訊持續在雲端來回傳送,這種風險會進一步擴大。如果在裝置端進行資料處理,就可以儘量避免有關資料儲存或傳輸的法規問題,例如遵守歐盟最新的隱私法規《一般資料保護規範(GDPR)》。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 11: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

7

» 個人化:除了隱私與安全性因素,在裝置上執行機器學習可實現更具個性化運算。隨著越來越多的裝置變得更加「智慧」,它們需要能夠針對環境變化做出符合當下情況的即時回應。當這些裝置能將使用者與他們關心的事物連接起來時,人工智慧就能變得觸手可及,展現個人化。而維護雲端每一個使用者的客製化模組將會是一個持續性的龐大費用,所以若能在邊緣裝置上運行自有客制模組將更具有競爭性優勢。

總而言之,機器學習可透過邊緣應用提供更可靠、回應更快、更安全的使用者體驗,同時降低每單位成本、個人資料洩露風險和龐大的電力需求⸺並且不再依賴一定要連上網路。

探索機器學習的機會機器學習不僅僅關係到某個新的裝置類型,而是關係到每一台的裝置。機器學習能讓裝置利用圖像、聲音、熱能和震動等資料更佳回應當下的環境變化。這種創新正在推動新的商業模式,同時降低成本,並優化一系列參數的性能表現。

雖然機器學習的好處令人振奮,但是,將機器學習功能增加到您產品的第一步可能會讓你裹足不前。因為機器學習處理需求會根據模型和工作負載量而有顯著的差異,所以並沒有通用型的解決方案。幾乎所有模型都允許自由選擇準確性優先還是性能優先。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 12: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

8

這種靈活性可以確保在硬體裝置和模型性能的最佳契合度,但是,也會帶來額外的問題:

» 具體應用案例是什麼?

» 哪種神經網路(NN)模型可提供性能與準確度的最佳平衡?

» 您應該選擇哪些硬體來補足這些缺陷?能否在能低階的硬體上使用準確性較低的模型?能否對模型進行微調,以利用其所有可用的 RAM?

» 團隊可利用哪些工具來解決這些問題?

» 最重要的是:如何在這些問題間找到平衡點,以確保取得每單位成本的最佳效能?

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 13: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

9

設定您的機器學習環境

為您的應用程式選擇正確的解決方案需要進行一系列的評估:從成本和功率受限系統的小型低功耗微控制器裝置(MCU)到用於更高性能和通用程式設

計的中央處理器(CPU)、用於圖形密集型應用的更高性能圖形處理器(GPU)、以及用於最密集和高效機器學習處理的神經處理器(NPU)。本章將為您介紹相關資訊。

第 2 章

章節摘要

» 瞭解機器學習平台的組成

» 選擇您的機器學習環境

» 從案例中學習ML

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 14: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

10

瞭解機器學習平台的組成您的平台需要什麼來運行機器學習工作負載?這也許令人難以相信,但是在硬體方面,您可能無需對現有硬體進行任何變動。許多平台都可以單純使用 CPU 或 GPU 來運行高效機器學習應用程式。(您可在第 5 章中查閱更多範例。)

對於某些應用案例,更高的效能要求可能需要專用的機器學習處理器,例如神經處理器(NPU)。但是,如果每種處理器的軟體堆層各異,向原本就已非常擁擠的 CPU 和 GPU 機器學習應用程式組合中再增加一個 NPU,會進一步增加其複雜度。這個問題就引發了軟體層的需求⸺以便軟體應用程式解決硬體的複雜環境。

對於某些應用案例,更高的效能要求可能需要專用的機器學習處理器,例如神經處理器(NPU)。但是,如果每種處理器的軟體堆層各異,向原本就已非常擁擠的 CPU 和 GPU 機器學習應用程式組合中再增加一個 NPU,會進一步增加其複雜度。這個問題就引發了軟體層的需求⸺以便軟體應用程式解決硬體的複雜環境。

異構運算是指為了獲得更好的性能和更高的效率而使用多種處理器或核心的系統。

異構運算平台可允許應用程式開發人員使用他們最喜歡的 NN 框架(如 Google 的 TensorFlow 或 Facebook 的 Ca�e 和 Ca�e

2)編寫機器學習的應用程式,並滿足來自多個供應商的各種處

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 15: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

11

理器類型的需求。如附圖 2-1 所示,應用程式與硬體之間的軟體層會處理工作負載的轉化,以自動滿足適當且可用的核心類型需求。

開放的標準可幫助減少複雜性,並確保在將來相容由各種供應商提供的解決方案。這方面的範例之一是開放神經網路交換格式(ONNX),該格式得到包括 Arm、Microsoft、Facebook、

Amazon 和其他公司支援,可在訓練框架和執行引擎之間提供通用的格式。

附圖 2-1:包含多種核心類型和開放程式碼軟體的異構機器學習運算平台範例。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 16: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

12

執行機器學習模型可有多種選擇:

» 低功耗/always-on 微控制器 CPU:小型模型可在這些核心中以超低電力執行。例如:偵測到活動或動作就喚醒系統以便執行更詳盡的分析。

某些微控制器 CPU 擁有 DSP(又名「數位信號控制器」)擴展功能,可進行更快的處理,從而為機器學習提供乾淨的訊

號,且無需獨立的 DSP。這項功能可節省成本、空間和開發時間;這對於那些缺少

DSP 軟體開發背景的企業來說尤為重要。

» 高效通用型 CPU:根據核心的設定與數量,這些 CPU

可輕鬆執行所有工作負載。例如:用於隱藏型字幕的即時語音辨識。

» 多媒體與 GPU 核心:運行的模型通常與行動級核心相同,但具有更高的性能或效率。如果設計已需要使用

GPU,則您或許可以透過卸載機器學習工作負載來重新利用這個 GPU,從而實現最大的成本效益。

» 專用的 NPU:專用的 NPU 可在較低的功耗環境中執行通用機器學習模型,從而提供最高的效率。例如:確認針對使用者所採用的即時高解析度影片的撥放

像素。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 17: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

13

要確定您的裝置需要哪些組合,則需要謹慎考慮多個因素;有關這方面的內容,我們將在後續章節中討論。

選擇您的機器學習環境哪一種硬體適合您的應用程式,專用的NPU想要達到甚麼功能,還有如何將其整合到系統與工具都將視各個情況而定。但是,作為受限環境架構設計的一部分,以下是務必考慮的功能:

» 處理能力:您的邊緣解決方案需要哪些類型的資料擷取和處理功能?這可能取決於您所執行的模型類型以及同時執行的模型數量。這些模型的複雜程度如何?它們是否存在運算或頻寬限制?

» 連接性:那些可在裝置端處理?哪些需要連接到雲端?哪些必須保留在雲端?

» 整合能力:是否存在必需進行管控的整合或是依賴項目?開發人員社群將使用哪個 NN 框架?對於在不同框架中開發的模型,該系統的支援程度如何?

» 功耗、尺寸和熱能:您的邊緣裝置是否有功耗、尺寸和熱能的限制?

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 18: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

14

» 準確性:所期望的準確性是多少?雖然您最初可能認為,準確性越高越好,但事實並非如此。在達到一定水平之後,您就會遇到收益遞減的情況。例如,在特定場合,準確性每提升 2 個百分比,就可能需要增加

10 倍的運算和記憶體需求。您應該清楚明白各個應用案例所需要的準確率。

» 隱私:您的邊緣解決方案存在哪些隱私與安全性

疑慮?

» 工作負載:NPU 是否絕大部分時間處於閒置狀態,其工作負載是否可由閒置的 CPU 或 GPU 來完成?如果 CPU 或 GPU 能夠執行某個模型,那麼增加一個

NPU 是否屬於更好的解決方案?

在考慮這些因素之後,您可以看一下需要哪些元件。CPU 或 GPU

是否足夠?您是否需要增加一個 NPU?該 NPU 必須多大,才能在成本限制內更好地滿足您的需求?瞭解市場上銷售的各種核心類型,並將其與您的空間、功率預算以及運算需求進行配置。

以下案例分析範例所顯示的複雜程度可在邊緣應用中利用嵌入式裝置來管理。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 19: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

15

案例分析:針對哮喘患者的邊緣機器學習解決方案Amiko Respiro 的智慧吸入器技術可幫助哮喘患者更輕鬆的呼吸。該解決方案將搭載機器學習功能的感測器作為標準吸入器的附加組件,以提高哮喘治療效果。這些智慧感測器必須具有低功耗性、可擴展性和成本效益,以便與互聯網平台上與病患接觸的應用程式搭配使用。

Respiro呼吸器感測器模組的核心是使用超低功耗的 Arm

Cortex-M 處理器,可實現:

» 在裝置上安全進行的處理,無需連接到雲端

» 與智慧型手機應用程式的藍牙低功耗(BTLE)連接

» 可延長裝置電池壽命的效率設定檔

該解決方案利用機器學習解讀來自吸入器的震動資料。該感測器經過訓練,可辨識患者的呼吸方式和吸入時間,並可計算各種重要參數,例如,肺活量和吸入技巧。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 20: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

16

該處理器可允許呼吸器運行即時機器學習演算法,辯識行為模式,並解讀感測器模組內部的資料。使用者無需等待後台架構處理詳細的感測器資料。當使用者按下觸發器時,模組會即時辯識呼吸資料模式,並提供低延遲的使用者個人回饋。

當呼吸器感測器與患者安裝在智慧型手機上應用程式綁定。該感測器會收集吸入器使用資料,且不會干擾藥物輸入的路徑,同時還能向應用程式傳送資料與回饋。該感測器還可以有增加新功能的靈活性,輕鬆地擴展,以提供未來後續研發的創新互聯醫療解決方案。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 21: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

17

為什麼軟體真的很 重要

著名技術專家Mark Andressen有句名言:「軟體正在吞噬世界。」如果您走錯了一步,它肯定會吃掉研發預算,並延遲產品計劃。但是,由於軟體創新

與機器學習功能逐漸成為許多裝置製造商差異化的關鍵優勢,如果您想在您的產品中整合機器學習功能,您需要對特定的軟體需求有很強的把握度。

第 3 章

章節摘要

» 利用現成的硬體、工具和模擬器縮短產品上市時間

» 透過軟體實現差異化

» 訓練並部署機器學習模型

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 22: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

18

利用現成的硬體、工具和模擬器縮短產品上市時間降低軟體和機器學習模型開發風險的最佳方法,是盡可能使用具有接近最終端產品功能的現有硬體進行原型設計。這可透過採用業界標準的CPU和GPU或利用產品本身的迭代(iteration)來實現。

為了達到您的目的,建議選擇大型供應商所提供的元件--最好來自具有廣泛原型平台(prototype platform)的生態系統。這樣,您就可以在重要的領域(如性能和功率、或與特定硬體的連接性)選擇與您最終設計類似的技術。

只要軟體團隊掌握了原型平台,接下來就是創造一個可用的開發環境。這取決於您的裝置,其中可能包括:

» 作業系統

» 編譯器

» 效能庫

» 除錯與分析工具

» 機器學習框架

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 23: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

19

開發團隊需要一些時間來累積這些工具與資源庫的專業知識。在您的團隊已熟悉的平台上進行開發,可提高生產力和創新能力,同時大幅降低軟體開發的風險。

在理想情況下,您的團隊開發工具和軟體應該可以移植到最終平台。在早期硬體準備好進行測試的時候,通用的標準和架構可建立堅實的基礎,確保順利且流暢的整合過程,從而降低最後一刻可能出現的的延遲和性能問題。

如果您選擇模擬器和快速建模工具的架構,就可進一步降低這種風險。當今的快速建模工具和模擬器能夠在模擬中帶起整個作業系統,並在晶片準備就緒之前就可執行最終的應用程式碼;同時循環模擬器可進一步提供更高的準確性和性能預測。有效的模擬程式,通常可直接成功的在晶片上部署相同的軟體。

簡而言之,如希望有效降低軟體開發的風險,請務必選擇具備以下特點的架構和現成的原型平台:

» 準確地反應最終產品所需要的功能

» 支援您的團隊所熟悉的工具、資料庫和框架

» 提供成熟的模擬解決方案,減少軟體和硬體整合時間

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 24: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

20

透過軟體實現差異化對硬體架構的選擇,也是對其軟體堆層和支援生態系統的決策。大型生態系統經常有專門的團隊不斷優化及改進其軟體堆層。例如,Arm 提供Arm NN、Compute Library 和CMSIS-NN。在

4 個月內,NN 在Cortex-A 系列CPU和GPU上的性能(例如AlexNet、Inception、SqueezeNet 和 VGG-16)分別提高了

1.6 倍和 2.6 倍,如附圖 3-1 所示。

在一個積極開發和維護的堆層框架上進行軟體開發,可以確保您從未來的性能和安全性改進中獲益,而不需要從自身的開發工作中抽出時間。

許多設計都可以選擇使用軟體解決方案來取得硬體實現的平衡。總體而言,軟體解決方案可允許您的團隊在產品發佈之前,繼續針對軟體功能、機器學習模型架構和性能訓練進行創新。

在某些情況下,利用生態系統和機器學習社群,可以尋得上游解鎖的性能增益,甚至只需做最少的硬體變更,就能啟發您做出產品效能及功能差異化的軟體版本--只要這些功能並沒有被原始硬體設計綁死。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 25: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

21

在選擇硬體解決方案時,請密切注意以下各個軟體性能:

» 經過優化的軟體堆層:這是解鎖潛在的硬體性能資

料的關鍵。

附圖 3-1: 軟體性能增益。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 26: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

22

» 生態系統:必須能夠提供一致的性能和安全性更新。

» 您的解決方案:考慮哪些部分需要做在硬體上,哪些部分可以在軟體中更靈活的執行。

訓練並部署機器學習模型NN的優勢和劣勢都在於其靈活性。準確性、性能、記憶體需求和硬體相容性,可以相互取得平衡,以滿足您所期望的性能參數--

但是,評估這種權衡、以及網路訓練以獲得最佳部署,並非簡單的事情。與軟體開發一樣,您的團隊將需要花時間在這些工具上,並積累專業知識和經驗。為了將風險降到最低,請尋找基於TensorFlow 和 ONNX 等開放程式碼標準,來構建並與其相容的解決方案。

隨著模型訓練和優化技術的改進,曾經侷限於資料中心的智慧技術(如語音和圖像辯識、推薦和預測),越來越多可用於行動和嵌入式 CPU 和 GPU,而高性能的 NPU 應用範圍也越來越廣。

如今,全球最流行的人工智慧平台是智慧型手機,其中包含文字預測、語音辨識和運算攝影等各項機器學習功能。然而,隨著大家更深入認識嵌入式機器學習開發的好處,這些功能正在不斷地延伸,並應用於越來越多的邊緣裝置上。例如,有效的語音關鍵

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 27: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

23

字搜索--例如監聽某個喚醒詞或簡單的命令--都已在現在的微控制器中應用。

機器學習需要一個學習的訓練階段,以及一個應用的推理階段。如今,訓練通常在伺服器或類似裝置上進行,但推理正逐漸應用在邊緣裝置,如家庭、工廠和工作場所的消費者裝置和工業裝置上。

機器學習的工作負載特點是對運算和記憶體頻寬都有很高的要求。然而,最近的優化技術(如量化、修剪和模型壓縮等)使得以前侷限於資料中心的解決方案,已經可以部署到行動和嵌入式裝置中。

充分利用運算資源的方式日益複雜。儘管最大的機器學習模型或許可以最高效率的方式在專用的機器學習處理器上運行,但是,在許多情況下,能夠透過更節能、更低延遲、且更高成本效益的方式,在一個或多個 CPU 或 GPU 核心上,執行某些網路或部分網路(負載),具體取決於裝置中喚醒狀態及其工作負載。可靈活的在各種運算資源間輕鬆移動模型是關鍵點。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 28: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

24

採用開發人員和資料科學家能夠在節能環境下使用跨 CPU、GPU 和 NPU 的平台,輕鬆地構建和執行機器學習應用程式,以確保在現在和未來設計中擁有最高的靈活度。軟體應該為現有的機器學習框架

(如 TensorFlow 和 PyTorch)提供互通的橋樑,同時隱藏硬體底層的應用細節。這樣可讓開發人員繼續使用他們所喜歡的框架和工具,同時,異構機器學習平台可無縫轉變各種結果,以便在硬體底層上運行。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 29: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

25

為什麼生態系統如此重要

俗話說得好:“選擇伴侶的同時,也等於選擇對方的家庭。”在您為您的裝置選擇某個架構的同時,您也等於選擇了一個生態系統,其中包括各種半導體

合作夥伴、原始裝置製造商(OEM)、軟體供應商和顧問,以及其整套訓練和教育材料;此外,還包括其中經驗豐富的工程師

團隊。

如本章所示,能夠充分利用生態系統是降低成本和縮短上市時間的重要課題。

第 4 章

章節摘要

» 重新利用現有資產

» 尋找更合適的產品/市場

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 30: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

26

重新利用現有資產企業獲得成功最重要的資產之一是能夠積累和利用內部專業知識的能力。基於可交互操作標準構建的生態系統可讓解決方案和技能可以跨專案採用,同時降低風險和縮短產品上市時間。

基於各項標準的設計也可確保您的軟體和機器學習投入經得起未來發展的考驗:能夠在對軟體堆層破壞最小的情況下切換硬體,從而讓您更靈活地選擇更好的解決方案。

在這方面來說,用途單一的硬體配置可能是一把雙刃劍:雖然軟體開發速度一開始可能很快,但是,如果該平台不提供具有各種性能和功能設定檔的新產品系列,您可能不得不依賴其他非合作夥伴的技術供應商來進行未來的設計。這種技術分離意味著,在某個設計上所積累到的專業知識無法延續到下一個產品,甚至無法延續到目前產品的迭代 (iteration) 過程。結果最初快速開發的優勢也被停滯不前的進度所抵消。機器學習也面臨著一系列挑戰:研發社群發展迅速,每天都會針對 NN 發佈更新的操作符、啟動功能和架構。

無論您選擇在 CPU、GPU 或 NPU 上執行這些模型,您都可以避免被未來研究或競爭對手的開發所牽制,確保新的和客製的機器學習操作符能夠得到軟體支援,而不受硬體設計的限制 。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 31: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

27

尋找更合適的產品/市場很少有公司會針對產品的每個層面進行客製化設計,所以,即使是大型公司也希望能夠重新利用現有的元件或者外購相容的元件。如果您選擇一個大規模且充滿活力的生態系統,您就可以接觸到更多潛在的元件和供應商,找到最合適產品/市場的最佳

機會。

此外,大型的生態系統可以讓您更輕鬆找到現成的解決方案,可以充分滿足各種產品需求(哪怕無法滿足所有需求)。這樣可有助於減少每個裝置的元件數量,並降低單位成本。

站在巨人的肩膀上快速上市和差異化是所有產品設計的關鍵要素。選擇一個基於各項標準的生態系統意義重大,因為這意味著公司可以依賴整個合作夥伴,而不是從頭開始去研發每個元件。

在機器學習領域這一點最為重要。隨著新商機湧現的速度日益加快,且創新的解決方案數量不斷增加,機器學習必須以更快的速度適應新的模型和演算法。開放程式碼藍圖發揮著重要作用⸺因為它可以幫助公司擴展其專有框架和工具,進一步縮短創新產品的上市時間。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 32: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

28

機器學習標準化是一項重要且極具挑戰的任務,因為從應用案例到軟體堆層、硬體處理器等一切都在快速變化。同時資料也會有問題。從系統架構的角度來看,有些供應商可在整個生態系統內提供標準化設計。

機器學習需要兩種框架無縫的協同運行:

»» 數據科學家和機器學習工程師使用訓練框架(如

TensorFlow)來訓練建立在資料上的新模型。

»» 推理框架(如 Arm NN)則加載這些模型,並在 CPU、

GPU 和機器學習專用 IP 底層有效率的執行這些模型。

Arm 將其推理引擎 Arm NN 的開放程式碼捐贈給 Linaro Machine

Intelligence 計劃,藉此打造整個生態系統的凝聚點,促使整個社群共同貢獻並開發出一個經過優化的單個推理引擎。這種做法可讓生態系統中的每一方都能夠從彼此的專業知識和優化研發中

受益。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 33: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

29

邊緣領域中的 10 個 機器學習範例

器學習擁有無限的邊緣應用潛力。以下是 10 個具有啟發性的解決方案:

» 可靠且低功耗的智慧家庭安全解決方案:利用裝置上的always-on 功能,偵測動作、人物和聲音來辨識來者為家庭成員或入侵者。僅在偵測到動作或聲音時才開始錄影,並向使用者的智慧手機發送通知。

第 5 章

章節摘要

» 機器學習解決方案的邊緣應用

» 解決邊緣應用問題

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 34: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

30

» 醫院員工/訪客追蹤:將陌生人或未經授權的闖入者通知前台接待人員。邊緣辨識代表不會保存和傳輸訪客或患者的圖像。

» 植物病害檢測:利用具有圖像辨識的智慧型手機應用程式探測病害可有將近 100% 的準確度⸺甚至還可以離線檢測。

» 更快的農產品分類:透過鏡頭即可將水果與蔬菜分類,自動辨識不同類型,提高產線效率。

» 無人機航空電子學:透過鏡頭的視覺和動作預測技術來辨別追蹤目標,同時避開障礙物。

» 零延遲駕駛輔助:採用鏡頭、動作感測器和 GPS 即時瞭解並引導駕駛行為,從而減少碰撞機率。

» 更好的人機互動:簡化人機互動流程,提高生產力,提供更流暢的跨裝置使用者體驗。

» 裝置內建翻譯:無論距離多遠,溝通不再是問題,同時避免昂貴的漫遊費用。

» 裝置優化:透過優化個別應用程式的作業系統排程,顯著延長電池壽命。

» 運算攝影:解決諸如遠端物體和低光源環境攝影等棘手問題,以獲得近乎完美的圖像。

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 35: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

此为 © 2020 John Wiley & Sons, Inc 资料。严禁传播、散布或未授权使用。

Page 37: N ¹ ! +PIO8JMFZ4POT *OD ' b øÌ.la Û Ã q P ¨b · 2020-04-21 · 《For Dummies嵌入式機器學習設計指南⸺Arm特別版》, 將向大家說明,我們可以將機器學習簡單的加入到任何裝置中

WILEY END USER LICENSE AGREEMENT

Go to www.wiley.com/go/eula to access Wiley’s ebook EULA.