|

【Arm的AI世界】三步驟輕鬆在Ethos-U85上使用PyTorch與ExecuTorch

   
在快速發展的機器學習領域,PyTorch憑藉其靈活性和全面的生態系統,已成為模型開發的熱門框架。Arm與Meta合作在ExecuTorch導入了對Arm平台的支援,進一步簡化了模型演算法開發過程,實現無縫地在邊緣端裝置上部署PyTorch模型。

高效能的Arm Ethos-U85 NPU可滿足在邊緣端日益成長的運行先進人工智慧(AI)推論工作負載的需求,包括諸如大型語言模型等基於Transformer的網路。Arm針對Ethos-U提供參考設計,如 Arm Corstone-320物聯網參考設計平台,以加速和簡化晶片開發週期。參考設計平台中包含固定虛擬平台(Fixed Virtual Platform,FVP)等許多項目,FVP可模擬整個系統,為在Ethos-U85平台上進行尖端的嵌入式軟體發展和類神經網路部署提供支援。

Arm透過在Ethos-U85上支援ExecuTorch測試版,為開發人員建構物聯網邊緣端應用提供了更多支援。開發人員可以借助ExecuTorch,高效率地部署原生開發的PyTorch模型,基於Arm平台建構出智慧且回應迅速的物聯網(IoT)解決方案。

隨著該套裝軟體的推出,想要創建邊緣端AI應用的開發人員,能夠在平台上市前數月就開始模型和應用的軟體發展工作。

在Ethos-U85上開始使用ExecuTorch

ExecuTorch GitHub公共程式碼資源庫中提供了完整的開發環境。其中包含一個整合且經過測試的開發流程和所有必要元件。

三個簡單的步驟如下所示:

  1. 設置ExecuTorch
  2. 設置 Arm Build 環境
  3. 在arm_executor_runner上編譯並執行模型

之後就可以在此流程基礎上編譯和執行模型,從Ethos-U85驅動程式採集週期數目資訊等runtime狀態。

為了讓終端使用者更輕鬆地完成此過程,Arm還在ExecuTorch資源庫添加了腳本(scripts):

  1. 設置 ExecuTorch
  2. setup.sh: 下載必要的軟體
  3. run.sh: 在Corstone-320 FVP上編譯並執行模型

要建構其他模型,可使用提前編譯器(ahead of time compiler)腳本aot_arm_compiler.py,它能將 PyTorch項目程式碼(nn.module)轉換為 ExecuTorch 項目程式碼(.pte flatbuffer 文件)。要編寫使用ExecuTorch 的自訂應用,可以按照 executor_runner 範例應用中的應用流程進行操作。

我們支援大約40個核心ATen運算子,並且支援Mobilenetv2等模型的端對端部署。隨著陸續支援更多運算子,我們將能夠支援更多的PyTorch 模型。後續添加的更多功能,將透過 pytorch.org 上的Ethos-U教學材料進行示範。

部署流程運作原理細節

利用ExecuTorch的可擴展性和Arm的張量運算子集架構(Tensor Operator Set Architecture,TOSA)的特性,Arm在ExecuTorch中實現了Ethos-U支援。Ethos-U編譯器Vela已透過 TOSA前端獲得強化,可以為Ethos-U系列中的所有產品編譯模型。

為了將這些元件整合為一個連貫的工作流程,需要遵循以下步驟:

  1. 將 PyTorch 模型轉換為可部署的 ExecuTorch 程式(AOT 流程)
  2. 將ExecuTorch 程式編譯為可執行檔,以便部署在 Corstone-320 上(runtime流程)

ExecuTorch 的 AOT  (ahead of time)流程

此過程首先使用PyTorch 的dynamo export功能,將PyTorch模型轉換為已量化的TOSA描述。然後,就能利用Vela編譯TOSA前端生成一組Ethos-U 機器指令,即指令流(command stream)。接著,指令流包裹到Executorch程式中,由 flatbuffer 檔(.pte)表示。該檔案中包含了ExecuTorch runtime 使用Ethos-U硬體執行推論所需的所有內容。

ExecuTorch runtime 流程

ExecuTorch runtime以 C/C++ 編寫,可支援多種後端。Arm對ExecuTorch runtime進行了擴展,以包含對Ethos-U裝置驅動程式的支援。按照此流程操作,將生成一個獨立的、經過編譯的可執行檔。在 Corstone-320 FVP上部署可執行檔非常簡單,只需要在呼叫FVP時使用適當的旗標即可。

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

Arm作者群

Author: Arm作者群

來自各方的Arm開發者社群專家。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *