Arm Tech Day 2024解析終端產品運算子系統(3):完整軟體開發工具靠處理器就能加速AI

Arm Tech Day 2024解析終端產品運算子系統(3):完整軟體開發工具靠處理器就能加速AI

ADVERTISEMENT

Arm除了透過CSS 24所包含的多種處理器、繪圖處理器提升硬體運算效能之外,也推出軟體、開發工具來強化系統表現。

AI運算很靠軟體

Arm開發者生態高級經理李陳魯在Tech Day 2024活動中開玩笑地提到,AI運算的技術變化太快,有時候我們只需要靜靜等帶美好的到來就好,並舉出在Google Pixel 7 Pro智慧型手機藉由處理器進行圖像生成的效能表現,透過軟體最佳化的手段在18個月間提升約35倍。

此外現在也有許多能協助行動裝置進行本地端AI運算的軟體或框架,利如能夠在各種裝置執行大型語言模型的Mediapipe LLM、將Llama移植為C語言的Llama.cpp、為Android裝置設計的AI Core後台服務等等,而Arm也沒有停下軟體開發的腳步。

考慮到使用Arm架構處理器的裝置相當碎片化,光是智慧型手機就橫跨入門、中階、高階、旗艦等不同價位帶,此外還有例如應用於IoT裝置的Cortex-M系列處理器,以及應用於伺服器的Neoverse處理器,要如何讓各種裝置都能釋放最佳效能,也成為一大問題。而Arm也為了解決此情況,而推出了Kleidi函數庫,目前先針對AI運算與電腦視覺推出KleidiAI與KleidiCV。

KleidiAI與KleidiCV都是針對在Arm架構的處理器執行進行最佳化,能夠協助開發者將軟體部署到各種不同的處理器,簡化整體開發流程。而這些函數庫也都以開源型式釋出,開發者也可以自行將其移植到其他自己使用的平台。

Arm開發者生態高級經理李陳魯探討Arm如何最新軟體協助開發者,並為使用者帶來更好體驗。

李陳魯開玩笑說到「有時候我們只需要靜靜等帶美好的到來就好」,例如Google Pixel 7 Pro智慧型手機在軟體最佳化的協助下,圖像生成的效能表現在18個月間提升約35倍。

除了通用型的AI運算軟體框架,現在有有許多專門針對特定應用設計的軟體或框架,以達到效能最佳化。

行動裝置具由超過30款處理器(CPU)、25款繪圖處理器(GPU)、20款神經處理器(NPU)交叉搭配而成,具有超過千種組合,裝置的規格相當碎片化,是個讓開發者頭痛的問題。

KleidiAI與KleidiCV是針對AI運算與電腦視覺推出的函數庫。

簡易提升近2倍AI推論效能

值得注意的是,Kleidi並非僅支援最新的CSS 24相關硬體IP,而是能夠回溯支援Armv8與Armv9架構的處理器,並會針對不同的硬體使用NEONSVE2SME2等延伸指令集進行效能最佳化,而Arm也為了展示KleidiAI相當易於使用,以Llama 3與Phi-3等大型語言模型為例,在24小時之內就可以完成效能最佳化與測試工作,並能在Cortex-X925處理器上獲得190%的效能增益。

KleidiAI搭配Unity Sentis ML運算框架,並將模型量化轉換為INT8資料格式時,能夠得到460%的效能增益,並降低72.5%模型檔案容量,對於行動裝置應用來説相當重要。

至於KleidiCV部分,它則能簡化並加速電腦視覺的運作管線,並可將部分ML運算需求分配給NPU執行,提升整體效能與電力效率。

Kleidi支援Armv8與Armv9架構的處理器,並會針對不同的硬體使用NEON、SVE2、SME2等延伸指令集進行效能最佳化。

KleidiAI相當易於使用,Arm表示能在24小時之內就可以完成效能最佳化與測試工作,並能在Cortex-X925處理器上獲得190%的效能增益。

KleidiAI也能搭配Mediapipe等API使用,能在Google Pixel 8 Pro執行Gemma 2B時縮短25%首組字詞生成速度(Time to First Token,TTFT)。

KleidiAI搭配Unity Sentis ML運算框架,並將模型量化轉換為INT8資料格式時,能夠得到460%的效能增益,並降低72.5%模型檔案容量。

KleidiCV能夠簡化使用處理器與NPU進行電腦視覺的運作管線,舉例來說可以讓2種運算單元協力完成分析圖像深度資訊,並套用虛擬淺景深效果。

KleidiCV能在多種OpenCV核心上發揮最高達270%的效能增益。

Kleidi也規劃於未來支援更多運算核心,並整合更多引擎。

遊戲、網頁、Windows on Arm皆有所強化

在遊戲應用方面,Arm也積極與多間遊戲廠商合作,例如與Epic Games共同移植Unreal Engine遊戲引擎的桌面渲染器與Lumen光線追蹤全域照明與反射系統,以讓Immortalis繪圖處理器支援這些功能,讓手機也能享受如遊戲主機般的畫面效果。

Arm也密切關注WebGPU API的發展,它建立於DirectX、Vulkan等繪圖API之上,能夠讓簡化開發者在瀏覽器、網頁遊戲、網頁App中調用繪圖處理器的流程,並預期可能會做為替代OpenGL ES、OpenCL的標準,也舉例能在Dawn(Chromium瀏覽器的WebGPU實作)中帶來15%的FPS效能提升。

另一方面,由於Arm也在Arm Mobile Studio中加入Arm Linux平台的支援,因此改名為Arm Performance Studio(Arm效能工作室),除了保留原有功能,可以協助開發者分析App、遊戲在各種行動裝置上執行的效能,並找出瓶頸以及最佳化程式碼之外,也在開源的RenderDoc加入光線追蹤佇列的支援,並新增Arm Frame Advisor功能,針對繪圖運算負載部分提供更深入的訊息與建議,協助強化遊戲畫面的效能調校。

Arm也與Chromium專案密切合作,透過軟體最佳化為Speedometer 2.1測試帶來19%效能增益,並透過Android Dynamic Performance Framework(ADPF,Android動態效能架構)調整App、遊戲在電力消耗與效能之間的平衡,並可在Unreal Engine 5.3遊戲引擎中改善25%的電力效率。

至於資安防護層面,Arm也持續在更多裝置導入MTE(Memory Tagging Extension,記憶體標籤擴充指令集)技術,為Google Pixel 8與vivo X100等首批支援MTE的智慧型手機帶來更高的安全性,並在Chrome瀏覽器以及相容的App自動啟用MTE模式,以降低出現資安漏洞的風險,此外Arm也在許多專案開始使用記憶體管理功能更強大、安全性更高的Rust程式語言,提高整體資安防護。

在Windows on Arm的生態系統方面,Arm也積極推動更多原生Arm架構的Windows程式,來提升應用程式的執行效能,並在日前推動在搭載Neoverse系列處理器的伺服器上進行GitHub Actions的託管服務,能夠無縫整合開發環境,並進行原生程式編譯而無需仰賴會造成效能虛耗的交叉編譯器(Cross Compiler),有助於加速整體開發效率、改善CI/CD(持續整合、持續交付,可參考Red Hat官方簡體中文說明)流程,並降低託管的伺服器成本節約。

Arm與Epic Games合作移植Unreal Engine遊戲引擎的桌面渲染器與Lumen光線追蹤全域照明與反射系統至Immortalis繪圖處理器,讓手機也能享受如遊戲主機般的畫面效果。

Arm也著手將WebGPU API導入Chromium瀏覽器的,並可發揮15%的FPS效能提升。

Arm Mobile Studio在加入Arm Linux平台的支援後改名為Arm Performance Studio(Arm效能工作室),可以協助開發者進行效能最佳化的微調工作。

Arm與Chromium專案密切合作,透過軟體最佳化為Speedometer 2.1測試帶來19%效能增益。

Android Dynamic Performance Framework(Android動態效能架構)能夠強化調整App、遊戲在電力消耗與效能之間的平衡,並可在Unreal Engine 5.3遊戲引擎中改善25%的電力效率。

MTE技術能為Google Pixel 8與vivo X100等首批支援的智慧型手機帶來更高的安全性。同時Arm也在許多專案開始使用記憶體管理功能更強大、安全性更高的Rust程式語言,提高整體資安防護。

Arm也積極推動更多原生Arm架構的Windows程式,並推動於搭載Neoverse系列處理器的伺服器上進行GitHub Actions的託管服務,改善Windows on Arm的生態系統的開發環境。

隨著Microsoft與Qualcomm合作推出多款搭載Arm架構處理器且支援Copilot+功能的筆記型電腦,讓這次Windows on Arm看起來越來越像是「玩真的」,因此推動更完整、健全的軟體生態系統有其絕對的必要性,也讓人更期待這波AIPC的浪潮中,Arm是否能借力使力與x86架構相互抗衡。

國寶大師 李文恩
作者

電腦王特約作者,專門負責硬派內容,從處理器、主機板到開發板、零組件,尖端科技都一手包辦,最近的研究計畫則包括Windows 98復活與AI圖像生成。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則