一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

AI編譯器如何在傳統(tǒng)開(kāi)源框架中的工作中受益

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Brandon Lewis ? 2022-06-02 11:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TensorFlow/TensorFlow Lite 相比,Glow 編譯的輸入表現(xiàn)出 3 倍幀/秒的性能提升,而該圖顯示了 AOT 編譯與 JIT 編譯器相比的效率。

創(chuàng)造智能需要大量數(shù)據(jù)。所有這些數(shù)據(jù)都需要能夠支持它的技術(shù)。

人工智能AI) 而言,這些技術(shù)包括大量直接訪(fǎng)問(wèn)的高速內(nèi)存;能夠同時(shí)處理同一數(shù)據(jù)集的不同部分的并行計(jì)算架構(gòu);并且有點(diǎn)令人驚訝的是,與許多其他應(yīng)用程序相比,計(jì)算精度更低。數(shù)據(jù)中心可以提供幾乎無(wú)窮無(wú)盡的這種技術(shù)組合。

因此,人工智能開(kāi)發(fā)工具是為互聯(lián)網(wǎng)查詢(xún)、語(yǔ)音搜索和在線(xiàn)面部識(shí)別等應(yīng)用程序背后的數(shù)據(jù)中心基礎(chǔ)設(shè)施而設(shè)計(jì)的。但隨著人工智能技術(shù)的進(jìn)步,在各種用例中利用它的愿望也在增加——包括那些在小型、資源受限、基于 MCU 的邊緣平臺(tái)上運(yùn)行的用例。因此,例如,編譯器等工具還必須能夠針對(duì)占用空間更小的設(shè)備優(yōu)化 AI 數(shù)據(jù)和算法,而不是僅僅關(guān)注運(yùn)行基于云的推薦系統(tǒng)的高端硬件加速器。

Facebook 的開(kāi)源機(jī)器學(xué)習(xí)編譯器 Glow 就是這種工具演變的一個(gè)例子。它使用兩階段中間表示 (IR) “降低”神經(jīng)網(wǎng)絡(luò)圖,該中間表示生成針對(duì)各種嵌入式和服務(wù)器級(jí)硬件目標(biāo)的特性和內(nèi)存進(jìn)行專(zhuān)門(mén)調(diào)整的機(jī)器代碼(圖 1)。它還執(zhí)行提前 (AOT) 編譯,最大限度地減少運(yùn)行時(shí)開(kāi)銷(xiāo),以節(jié)省磁盤(pán)空間、內(nèi)存、啟動(dòng)時(shí)間等。

pYYBAGKYNaKADG4lAAEW_YkElmY357.png

圖 1. Glow 高級(jí)中間表示中的降低計(jì)算圖表示 A 的回歸,該回歸由 Glow 自動(dòng)區(qū)分。

“我們擁有這個(gè)非常高性能的運(yùn)行時(shí),但很多項(xiàng)目并不關(guān)心,因?yàn)樗鼈儾辉跀?shù)據(jù)中心內(nèi),”Facebook 的研究科學(xué)家 Jordan Fix 解釋道?!八麄冃枰?AOT 編譯,盡可能地縮小,使用量化和并行化,并且沒(méi)有太多的依賴(lài)關(guān)系。

“AOT 編譯在數(shù)據(jù)中心并不那么重要,但我們可以將 LLVM 后端連接到 Glow 并針對(duì) x86、Arm、RISC-V 和專(zhuān)用架構(gòu),”Fix 繼續(xù)說(shuō)道?!癎low 的工作方式是你有幾個(gè)級(jí)別的 IR,它們使用高級(jí)優(yōu)化和量化來(lái)限制內(nèi)存。那時(shí),編譯器后端可以接受基于指令的 IR,并根據(jù)需要對(duì)其進(jìn)行優(yōu)化和編譯。”

Glow 的另一大優(yōu)勢(shì),特別是在多樣化的嵌入式技術(shù)領(lǐng)域,是能夠在簡(jiǎn)單的 C 包裝器中編譯模型。這意味著嵌入式 AI 工程師可以針對(duì)他們選擇的編譯器后端和架構(gòu)優(yōu)化 Glow。它本機(jī)支持來(lái)自流行 AI 框架和庫(kù)(如 PyTorch 和 Arm 的 CMSIS-NN)的輸入,還可以通過(guò) ONNX 神經(jīng)網(wǎng)絡(luò)交換接受來(lái)自 TensorFlow 等環(huán)境的圖形。

AI 編譯器的競(jìng)爭(zhēng)

當(dāng)然,Glow 并不是唯一可用的神經(jīng)網(wǎng)絡(luò)編譯器。Google 的多級(jí)中間表示 (MLIR) 是一種編譯器基礎(chǔ)架構(gòu),專(zhuān)注于張量處理器,已被 LLVM 吸收。Microsoft 的嵌入式學(xué)習(xí)庫(kù) (ELL) 是另一個(gè)用于資源受限的 AI 設(shè)備的交叉編譯工具鏈。

然而,Glow 比任何一個(gè)都更成熟,已于 2018 年開(kāi)源。它也比許多現(xiàn)有的 AI 編譯器選項(xiàng)更高效。

在發(fā)布的 i.MX 跨界 MCU 的性能測(cè)試中,NXP 系統(tǒng)工程師使用 TensorFlow Lite 和 Glow 編譯了 32 x 32 CIFAR-10 數(shù)據(jù)集,并將它們輸入 RT1060、RT1170 和 RT685 設(shè)備。Glow 編譯的輸入表現(xiàn)出至少 3 倍幀/秒的性能提升,而圖 2 讓您了解 AOT 編譯與 TensorFlow/TensorFlow Lite 框架中使用的即時(shí) (JIT) 編譯相比的效率如何。

poYBAGKYNayAWAp9AAB212uxoCo615.png

pYYBAGKYNbKAU1lmAAClOgEERas827.png

圖 2a 和 2b。與 TensorFlow Lite 等即時(shí) (JIT) 編譯器相比,Glow 的提前 (AOT) 編譯器可節(jié)省大量 RAM 和閃存,同時(shí)還具有顯著的每秒幀數(shù)性能優(yōu)勢(shì)。

請(qǐng)記住,i.MX1060 具有高達(dá) 1 MB 的片上 RAM。NXP 的 eIQ 軟件開(kāi)發(fā)環(huán)境支持 Glow。

開(kāi)源人工智能:看不到終點(diǎn)線(xiàn)

人工智能技術(shù)市場(chǎng)瞬息萬(wàn)變,這使得開(kāi)發(fā)組織很難致力于任何技術(shù)。這可能是 Glow 最引人注目的方面之一,它甚至與技術(shù)沒(méi)有直接關(guān)系。

作為一個(gè)擁有 130 多個(gè)活躍貢獻(xiàn)者的開(kāi)源項(xiàng)目,F(xiàn)acebook、英特爾等大型組織繼續(xù)對(duì) Glow 主線(xiàn)做出承諾,因?yàn)樗鼈儸F(xiàn)在依賴(lài)于其通用基礎(chǔ)設(shè)施來(lái)訪(fǎng)問(wèn)指令、操作符、內(nèi)核等。

然后,很明顯,開(kāi)源具有內(nèi)在價(jià)值。

“我們經(jīng)常看到我們關(guān)心的外部用戶(hù)的貢獻(xiàn),比如更通用的并行化框架,我們有很多他們正在運(yùn)行的機(jī)器學(xué)習(xí)模型,”Fix 說(shuō)。“所以也許它可以讓他們?cè)谖覀儫o(wú)需做任何事情的情況下獲得對(duì)運(yùn)營(yíng)商的支持?!拔艺J(rèn)為您正在研究這個(gè)特定的計(jì)算機(jī)視覺(jué)模型”或者,“我認(rèn)為這是您所說(shuō)的操作員?!?他們只是審查它并移植它并登陸它。

“我們都可以從彼此在傳統(tǒng)開(kāi)源框架中的工作中受益,”他補(bǔ)充道。

審核編輯:郭婷

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

    關(guān)注

    61

    文章

    1337

    瀏覽量

    188009
  • 人工智能
    +關(guān)注

    關(guān)注

    1805

    文章

    48899

    瀏覽量

    247994
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1659

    瀏覽量

    50059
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么樣的代碼會(huì)被編譯器優(yōu)化

    現(xiàn)在的編譯器有多智能,可能你辛辛苦苦寫(xiě)的代碼,在編譯器看來(lái)就是幾句廢話(huà),直接被刪除掉。
    的頭像 發(fā)表于 01-16 16:38 ?551次閱讀

    EE-88:使用21xx編譯器在C初始化變量

    電子發(fā)燒友網(wǎng)站提供《EE-88:使用21xx編譯器在C初始化變量.pdf》資料免費(fèi)下載
    發(fā)表于 01-13 15:54 ?0次下載
    EE-88:使用21xx<b class='flag-5'>編譯器</b>在C<b class='flag-5'>中</b>初始化變量

    Triton編譯器與GPU編程的結(jié)合應(yīng)用

    Triton編譯器簡(jiǎn)介 Triton編譯器是一種針對(duì)并行計(jì)算優(yōu)化的編譯器,它能夠自動(dòng)將高級(jí)語(yǔ)言代碼轉(zhuǎn)換為針對(duì)特定硬件優(yōu)化的低級(jí)代碼。Triton編譯器的核心優(yōu)勢(shì)在于其能夠識(shí)別并行模式,
    的頭像 發(fā)表于 12-25 09:13 ?786次閱讀

    Triton編譯器如何提升編程效率

    在現(xiàn)代軟件開(kāi)發(fā),編譯器扮演著至關(guān)重要的角色。它們不僅將高級(jí)語(yǔ)言代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還通過(guò)各種優(yōu)化技術(shù)提升程序的性能。Triton 編譯器作為一種先進(jìn)的編譯器,通過(guò)多種方式提升
    的頭像 發(fā)表于 12-25 09:12 ?714次閱讀

    Triton編譯器在高性能計(jì)算的應(yīng)用

    先進(jìn)的編譯技術(shù),為高性能計(jì)算提供了強(qiáng)大的支持。 Triton編譯器簡(jiǎn)介 Triton編譯器是一種開(kāi)源編譯器
    的頭像 發(fā)表于 12-25 09:11 ?908次閱讀

    Triton編譯器的優(yōu)化技巧

    在現(xiàn)代計(jì)算環(huán)境編譯器的性能對(duì)于軟件的運(yùn)行效率至關(guān)重要。Triton 編譯器作為一個(gè)先進(jìn)的編譯器框架,提供了一系列的優(yōu)化技術(shù),以確保生成的
    的頭像 發(fā)表于 12-25 09:09 ?909次閱讀

    Triton編譯器的優(yōu)勢(shì)與劣勢(shì)分析

    據(jù)流分析技術(shù),能夠自動(dòng)識(shí)別并優(yōu)化深度學(xué)習(xí)模型的計(jì)算瓶頸,從而提高模型的整體性能。 它支持多種硬件平臺(tái)的優(yōu)化,包括CPU、GPU、FPGA等,為深度學(xué)習(xí)模型的部署提供了更廣泛的選擇。 靈活可擴(kuò)展 : Triton編譯器采用了模塊化的設(shè)計(jì)思想,開(kāi)發(fā)者可以根據(jù)需要自定
    的頭像 發(fā)表于 12-25 09:07 ?1118次閱讀

    Triton編譯器在機(jī)器學(xué)習(xí)的應(yīng)用

    多種深度學(xué)習(xí)框架,如TensorFlow、PyTorch、ONNX等,使得開(kāi)發(fā)者能夠輕松地將不同框架下訓(xùn)練的模型部署到GPU上。 2. Triton編譯器工作原理 Triton
    的頭像 發(fā)表于 12-24 18:13 ?931次閱讀

    Triton編譯器的常見(jiàn)問(wèn)題解決方案

    Triton編譯器作為一款專(zhuān)注于深度學(xué)習(xí)的高性能GPU編程工具,在使用過(guò)程可能會(huì)遇到一些常見(jiàn)問(wèn)題。以下是一些常見(jiàn)問(wèn)題的解決方案: 一、安裝與依賴(lài)問(wèn)題 檢查Python版本 Triton編譯器通常
    的頭像 發(fā)表于 12-24 18:04 ?2834次閱讀

    Triton編譯器支持的編程語(yǔ)言

    Triton編譯器支持的編程語(yǔ)言主要包括以下幾種: 一、主要編程語(yǔ)言 Python :Triton編譯器通過(guò)Python接口提供了對(duì)Triton語(yǔ)言和編譯器的訪(fǎng)問(wèn),使得用戶(hù)可以在Python環(huán)境
    的頭像 發(fā)表于 12-24 17:33 ?919次閱讀

    Triton編譯器與其他編譯器的比較

    的GPU編程框架,使開(kāi)發(fā)者能夠編寫(xiě)出接近手工優(yōu)化的高性能GPU內(nèi)核。 其他編譯器 (如GCC、Clang、MSVC等): 定位:通用編譯器,支持多種編程語(yǔ)言,廣泛應(yīng)用于各種軟件開(kāi)發(fā)場(chǎng)景。 目標(biāo):提供穩(wěn)定、高效的
    的頭像 發(fā)表于 12-24 17:25 ?949次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開(kāi)源編譯器前端,它支持多種編程語(yǔ)言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開(kāi)發(fā)者添加新的編程語(yǔ)言
    的頭像 發(fā)表于 12-24 17:23 ?1614次閱讀

    SemiDrive X9 AI 開(kāi)發(fā)環(huán)境搭建

    SemiDrivex9AI開(kāi)發(fā)環(huán)境搭建分開(kāi)發(fā)機(jī)端,開(kāi)發(fā)板端。主要的工具是SDNN,它是一個(gè)基于開(kāi)源編譯器框架TVM的端到端的AI
    的頭像 發(fā)表于 08-03 08:27 ?855次閱讀
    SemiDrive X9 <b class='flag-5'>AI</b> 開(kāi)發(fā)環(huán)境搭建

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編
    的頭像 發(fā)表于 07-17 18:28 ?2561次閱讀

    人工智能編譯器傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器AI編譯器)與傳統(tǒng)編譯器在多個(gè)方面存在顯著的差異。這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、功能特性、優(yōu)化策略、適用范圍以及技術(shù)復(fù)雜性等方面。以下是對(duì)兩者區(qū)別的詳細(xì)探討,旨在全面解析
    的頭像 發(fā)表于 07-17 18:19 ?2858次閱讀