最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

自動(dòng)調(diào)優(yōu)工具AOE,讓你的模型在昇騰平臺(tái)上高效運(yùn)行

2023-03-24 16:58 作者:昇騰Ascend  | 我要投稿

什么是AOE??

AOE(Ascend Optimization Engine)是一款自動(dòng)調(diào)優(yōu)工具,目的是為了充分利用有限的硬件資源,滿足算子和整網(wǎng)的性能要求。

AOE通過(guò)生成調(diào)優(yōu)策略、編譯、在運(yùn)行環(huán)境上驗(yàn)證的閉環(huán)反饋機(jī)制,不斷迭代,最終得到最佳的調(diào)優(yōu)策略,從而更充分利用硬件資源,提升網(wǎng)絡(luò)的性能。

AOE的架構(gòu)如下。

1.png

Application層:調(diào)優(yōu)入口,支持如下。

  • AOE:這里的AOE表示AOE進(jìn)程,是離線推理場(chǎng)景下的調(diào)優(yōu)入口。

  • TFAdapter(TensorFlow Adapter):TensorFlow訓(xùn)練場(chǎng)景下的調(diào)優(yōu)入口。

  • PyTorchAdapter(PyTorch Adapter):PyTorch訓(xùn)練場(chǎng)景下的調(diào)優(yōu)入口。

Tuning層:調(diào)優(yōu)模式,支持以下類型。

  • SGAT(SubGraph Auto Tuning):子圖調(diào)優(yōu)。一張完整的網(wǎng)絡(luò),會(huì)被拆分成多個(gè)子圖。針對(duì)每一個(gè)子圖,通過(guò)SGAT生成不同的調(diào)優(yōu)策略。SGAT的調(diào)優(yōu)算法通過(guò)獲取每個(gè)迭代的調(diào)優(yōu)策略性能數(shù)據(jù),找到最優(yōu)的調(diào)優(yōu)策略,從而實(shí)現(xiàn)對(duì)應(yīng)子圖的最優(yōu)性能。

  • OPAT(Operator Auto Tuning):算子調(diào)優(yōu)。AOE將一張整圖輸入給OPAT,OPAT內(nèi)部進(jìn)行算子融合,將融合得到的圖進(jìn)行算子粒度切分,針對(duì)每一個(gè)融合算子子圖生成不同的算子調(diào)優(yōu)策略,從而實(shí)現(xiàn)最優(yōu)的算子性能。

  • GDAT(Gradient Auto Tuning):梯度調(diào)優(yōu)。分布式訓(xùn)練場(chǎng)景下,GDAT通過(guò)最大化反向計(jì)算與梯度聚合通信并行度,縮短通信拖尾時(shí)間,提升集群訓(xùn)練的性能。

Execute層:為執(zhí)行層,支持編譯(Compiler)和在運(yùn)行環(huán)境上運(yùn)行(Runner)。

AOE工作原理

如下以算子調(diào)優(yōu)為例,介紹AOE的工作原理。

2.png

1. 將原始開源框架模型傳入GE、FE進(jìn)行圖準(zhǔn)備(InferShape、算子選擇等)及子圖拆分。

2. 進(jìn)入算子編譯階段,根據(jù)拆分的子圖信息匹配知識(shí)庫(kù)。

若能匹配到知識(shí)庫(kù):

- 未開啟REPEAT_TUNE的場(chǎng)景,直接使用已有知識(shí)庫(kù)中的調(diào)優(yōu)策略編譯算子。

- 開啟REPEAT_TUNE的場(chǎng)景,通過(guò)AOE進(jìn)行調(diào)優(yōu)。

??若調(diào)優(yōu)后的結(jié)果優(yōu)于當(dāng)前已有的知識(shí)庫(kù),則會(huì)將調(diào)優(yōu)后的結(jié)果存入用戶自定義知識(shí)庫(kù),并使用自定義知識(shí)庫(kù)中的調(diào)優(yōu)策略編譯算子。

??若調(diào)優(yōu)后的結(jié)果不優(yōu)于當(dāng)前已有的知識(shí)庫(kù),則不再生成用戶自定義知識(shí)庫(kù),直接使用已有的知識(shí)庫(kù)編譯算子。

若未匹配到知識(shí)庫(kù),則通過(guò)AOE進(jìn)行調(diào)優(yōu)。

- 若調(diào)優(yōu)后的結(jié)果優(yōu)于默認(rèn)調(diào)優(yōu)策略的性能,會(huì)將調(diào)優(yōu)后的結(jié)果寫入自定義知識(shí)庫(kù),并使用自定義知識(shí)庫(kù)中的調(diào)優(yōu)策略編譯算子。

- 若調(diào)優(yōu)后的結(jié)果不優(yōu)于默認(rèn)調(diào)優(yōu)策略的性能,不生成自定義知識(shí)庫(kù),使用默認(rèn)調(diào)優(yōu)策略編譯算子。

3. 推理場(chǎng)景下,編譯完成后,生成適配昇騰AI處理器的離線模型文件。訓(xùn)練場(chǎng)景下,編譯完成后,生成訓(xùn)練好的網(wǎng)絡(luò)模型文件。

AOE使用場(chǎng)景

當(dāng)算子性能或者網(wǎng)絡(luò)性能不佳時(shí),可以使用AOE進(jìn)行調(diào)優(yōu)。AOE調(diào)優(yōu)支持的場(chǎng)景如下:

  • 離線推理

  • TensorFlow訓(xùn)練

  • PyTorch訓(xùn)練

  • 在線推理

  • IR構(gòu)圖

如何使用AOE進(jìn)行調(diào)優(yōu)?

如下以離線推理場(chǎng)景下Caffe網(wǎng)絡(luò)的算子調(diào)優(yōu)為例,介紹如何進(jìn)行AOE調(diào)優(yōu)。

1. 準(zhǔn)備模型文件。

2. 配置環(huán)境變量。

必選環(huán)境變量

- CANN組合包提供進(jìn)程級(jí)環(huán)境變量設(shè)置腳本,供用戶在進(jìn)程中引用,以自動(dòng)完成環(huán)境變量設(shè)置。執(zhí)行命令參考如下,以下示例均為root或非root用戶默認(rèn)安裝路徑,請(qǐng)以實(shí)際安裝路徑為準(zhǔn)。

-?AOE工具依賴Python,以Python3.7.5為例,請(qǐng)以運(yùn)行用戶執(zhí)行如下命令設(shè)置Python3.7.5的相關(guān)環(huán)境變量。

可選環(huán)境變量

命令中的參數(shù)含義如下。

  • ASCEND_DEVICE_ID:昇騰AI處理器的邏輯ID。

  • TUNE_BANK_PATH:調(diào)優(yōu)后自定義知識(shí)庫(kù)的存儲(chǔ)路徑。

  • TE_PARALLEL_COMPILER:開啟算子的并行編譯功能。

  • REPEAT_TUNE:是否重新發(fā)起調(diào)優(yōu)。

3. 進(jìn)行AOE調(diào)優(yōu),命令如下。命令中使用的目錄以及文件均為樣例,請(qǐng)以實(shí)際為準(zhǔn)。

命令中的參數(shù)含義如下。

  • framework:原始網(wǎng)絡(luò)模型的框架類型。0表示Caffee。

  • model:原始模型文件路徑與文件名。

  • weight:原始模型權(quán)重文件路徑與文件名。

  • job_type:調(diào)優(yōu)模式,2表示算子調(diào)優(yōu)。

4. 若提示如下信息,則說(shuō)明AOE調(diào)優(yōu)完成。

調(diào)優(yōu)完成后,生成文件如下。

  • 自定義知識(shí)庫(kù):若滿足自定義知識(shí)庫(kù)生成條件則會(huì)生成自定義知識(shí)庫(kù)。

  • om模型文件,存放路徑為:

${WORK_PATH}:調(diào)優(yōu)工作目錄

${model_name}:模型名稱

${timestamp}:時(shí)間戳

  • 算子調(diào)優(yōu)結(jié)果文件:在執(zhí)行調(diào)優(yōu)的工作目錄下實(shí)時(shí)生成命名為“aoe_result_opat_{timestamp}_{pidxxx}.json”的文件,記錄調(diào)優(yōu)過(guò)程中被調(diào)優(yōu)的算子信息。示例如下。

5. 調(diào)優(yōu)完成后,請(qǐng)使用調(diào)優(yōu)后的自定義知識(shí)庫(kù)重新推理,驗(yàn)證性能是否提高。

以上就是AOE的簡(jiǎn)單介紹。關(guān)于更多內(nèi)容,可以在昇騰文檔中心查看,您也可在“昇騰社區(qū)在線課程”板塊學(xué)習(xí)視頻課程,學(xué)習(xí)過(guò)程中的任何疑問(wèn),都可以在“昇騰論壇”互動(dòng)交流!

相關(guān)參考:

[1]昇騰文檔中心:https://www.hiascend.com/zh/document

[2]昇騰社區(qū)在線課程:https://www.hiascend.com/zh/edu/courses

[3]昇騰論壇:https://www.hiascend.com/forum



自動(dòng)調(diào)優(yōu)工具AOE,讓你的模型在昇騰平臺(tái)上高效運(yùn)行的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宜兴市| 万宁市| 右玉县| 普兰店市| 乌拉特中旗| 莆田市| 濮阳县| 清远市| 玉山县| 成都市| 丰顺县| 东平县| 皮山县| 洛浦县| 玛曲县| 德州市| 闽侯县| 西宁市| 庆云县| 习水县| 宝山区| 清远市| 霍林郭勒市| 武强县| 万源市| 易门县| 嘉定区| 东阿县| 正定县| 安吉县| 遵化市| 电白县| 黑河市| 高清| 汝城县| 南溪县| 宣威市| 福建省| 永登县| 陵水| 临泽县|