生成技術在人工智能平臺中的應用探索

生成技術在人工智能平臺中的應用探索前端

夏正勳, 楊一帆, 羅聖美, 趙大超, 張燕, 唐劍飛算法

星環信息科技(上海)有限公司,上海 200233數據庫

摘要:隨着人工智能(AI)技術的發展,AI應用進入了快速普及期,面對快速增加的市場需求,AI平臺有必要引入自動化方法提高開發效率。在分析生成技術研究進展、AI平臺現狀及挑戰的基礎上,基於生成技術實現了AI平臺的先後端適配、性能優化、模型安全提高等核心工做的自動化。新方法能夠根據上下文的須要,生成數據或代碼,以一種更靈活的方式知足AI應用及內核優化的需求,避免了大量的手工工做,有效提高了開發效率,下降了開發成本。編程

關鍵詞: 生成技術 ; 人工智能 ; 自動化後端

論文引用格式:數組

夏正勳,楊一帆,羅聖美, 等.生成技術在人工智能平臺中的應用探索[J]. 大數據, 2020, 6(6): 119-128.緩存

XIA Z X, YANG Y F, LUO S M, et al. Application and exploration of automatic generation technology in artificial intelligence platform[J]. Big Data Research, 2020, 6(6): 119-128.安全

1 引言
隨着人工智能(artificial intelligence, AI)技術的快速發展,特別是在深度學習(deep learning,DL)技術的推進下,人工智能的應用需求呈爆發式增加。AI平臺是AI功能的載體,多樣化的應用需求對AI平臺提出了愈來愈高的要求,在不一樣的發展時期,AI平臺有不一樣的關注點。在發展初期,AI平臺關注其基礎能力實現,如對訓練及推理的支持能力、支持的算法種類等。在應用普及期,AI平臺關注其落地能力,如性能優化、可視化管理、虛擬化支持等。近年來,AI進入快速推廣期,AI平臺更關注其商用成本及對創新特性的支持能力,如AI硬件支持種類、數據安全特性支持等。
爲了知足不一樣階段的不一樣需求,AI平臺須要不斷優化升級,加強功能,這致使AI平臺處理流程愈來愈複雜,增長了AI平臺優化改造的難度及工做量。爲此,須要一種更靈活的AI平臺內核實現手段支持新功能的開發,而生成技術能夠根據上下文的須要生成數據或代碼,以一種更靈活的方式知足AI上層應用的需求及內核自身的改進需求,提升AI平臺的靈活性及穩定性,快速實現AI平臺的自我優化。
2 生成技術的當前研究方向與現狀
生成技術能夠根據上下文的須要生成符合特定規則的內容(如代碼、數據等),具體包含代碼生成技術、參數空間生成技術、數據樣本生成技術等。
代碼生成技術應用於GNU編譯器套件(GNU compiler collection,GCC)、低級虛擬機(low level virtual machine, LLVM)、Clang(C language family frontend for LLVM)等編譯器中。代碼生成模塊做爲編譯器前端(frontend)的一部分,從語法和詞法分析處理模塊得到抽象語法樹,並向編譯器後端(backend)提供字節碼,是鏈接編譯器前端和後端的紐帶,該過程如圖1所示。性能優化

生成技術在人工智能平臺中的應用探索
圖1 代碼生成在編譯器處理流程中的位置前端框架

受益於代碼生成技術,編譯器能夠將不一樣的編程語言(如C、C++、Java等)的源碼輸出爲統一的中間表示(intermediate representation,IR),並針對中間表示進行統一優化,提高代碼執行效率。另外,代碼生成部分也爲不一樣的編譯器後端提供標準化的字節碼輸入,使編譯器可以在不改變源代碼的狀況下,實現同一份源碼支持多個編譯器後端(如x86硬件平臺後端、PowerPC硬件平臺後端、ARM硬件平臺後端等),使程序具有跨平臺的支持能力。近些年,隨着深度學習技術的發展,出現了衆多深度學習框架,如Caffe、TensorFlow、PyTorch、MXNet等,不一樣深度學習框架輸出的模型相互之間並不兼容。爲解決這一問題,華盛頓大學計算機科學與工程學院於2016年發佈了NNVM(neural network virtual machine)編譯器,NNVM借鑑了LLVM的思想,經過代碼生成技術爲不一樣的深度學習框架模型提供統一的深度學習中間表示(deep learning intermediate representation,DLIR)語言,不須要編碼便可支持多種深度學習框架模型跨硬件平臺的推理執行。
參數空間生成技術主要應用於AI算法的超參數自動調優階段。在AI的上下文中,超參數須要在開始學習過程以前進行設置,而不是經過訓練獲得參數數據。一般狀況下,超參數主要依據工程師的經驗配置,當參數數量增多時,參數組合狀況倍增,人工配置難以取得很好的效果,所以超參數自動化調優技術的出現減輕了AI工程師的負擔,使其將工做重心從煩瑣、重複的選型和調參任務轉移到數據分析上。超參數自動化調優技術一般包含參數空間的生成與參數空間的優化選擇兩個階段,參數空間的生成是從理想狀態下的全部參數組合中選擇有潛力的候選配置,參數空間能夠基於規則方法生成或基於元學習技術方法生成。參數空間的優化選擇階段能夠採用的方法有基於強化學習的超參數優化方法、基於改進粒子羣算法的深度學習超參數優化方法、基於貝葉斯新型深度學習超參數優化方法等。
數據樣本生成技術一般指自主學習原始樣本的分佈規律,生成新的數據樣本,例如目標檢測場景中數據集的半自動生成、基於生成對抗網絡(generative adversarial network,GAN)的小樣本數據的生成等。在AI安全領域,對抗樣本的生成技術指在原有樣本的像素上添加擾動的方法,使包括卷積神經網絡在內的深度學習模型的準確率顯著下降。數據樣本生成技術的應用豐富了AI訓練數據集,解決了訓練樣本數量和樣本多樣性不足的問題,有效地提高了模型的精度及魯棒性。
3 生成技術在AI平臺中的應用及系統實現
AI平臺是提供「算法、算力、數據」基礎能力的平臺,在AI平臺之上是AI的各種行業應用。艾瑞諮詢發佈的《2019年中國人工智能產業研究報告》將AI的服務分爲基礎層服務、技術層服務、產品與解決方案服務,AI平臺主要涵蓋基礎層服務及技術層服務。具體而言,基礎層服務主要包含AI芯片、AI框架、AI邊緣設備、AI容器雲服務、AI數據服務等;技術層服務主要包含計算機視覺、語音識別、天然語言處理、知識圖譜、機器學習等算法及模型服務等。AI平臺的創建有助於下降技術門檻,讓全部人都能享受到AI技術進步帶來的紅利。
但AI技術的快速發展及其相關應用的快速普及也爲AI平臺帶來了新的挑戰。不管是新型算法、新型硬件的支持仍是更高的AI安全可靠性要求,均須要從AI的基礎層、技術層進行創新,而這不可避免地會對AI平臺的原有架構、流程及功能作出變動。依靠傳統人工編碼的方式支持AI平臺新特性的開發,工做量大,開發週期長,對新需求的響應速度較慢。本文對生成技術在AI平臺進行應用實踐及探索思考,指望可以爲AI平臺的架構設計及技術實現提供一種新的思路,快速響應內外部需求的柔性擴展。本文將生成技術應用於AI平臺的模型支持、運行時(runtime)等核心模塊,包括自動化先後端適配、自動化調優、自動對抗學習等功能模塊,從而能夠根據上下文的須要,自動地生成數據或代碼,避免了大量的手工工做,有效地提高了AI平臺的開發效率,下降了開發成本。
3.1 基於代碼生成技術的自動化先後端適配
代碼生成技術是一種利用程序生成代碼的技術,與人工編寫代碼相比,代碼生成技術有效解決了人工編寫代碼工做量大、耗時長的問題,提升了軟件開發效率。近些年,隨着AI軟硬件的快速演進發展,特別是國產軟硬件的發展,爲了可以實現AI平臺對各種深度學習框架(如TensorFlow、MXNet、PyTorch、PaddlePaddle、MindSpore等前端框架)的普遍兼容,同時實現對後端AI硬件的普遍支持,基於代碼生成技術實現了自動化先後端適配子系統,自動化先後端適配流程如圖2所示。

生成技術在人工智能平臺中的應用探索
圖2 自動化先後端適配流程

首先,針對不一樣的學習框架,自動化先後端適配子系統提供不一樣的解析腳本對模型進行解析,以提取模型中的網絡結構定義、網絡參數及超參數等信息。統一IR是自動化先後端適配子系統定義的中間表示,統一IR考慮了全部深度學習框架模型的算子支持狀況,統一IR能夠與模型中的算子一一對應,對應關係被預約義在算子匹配規則表中。算子匹配規則表示例如圖3所示,其中冒號前爲模型中的算子,冒號後爲統一IR中的算子。

生成技術在人工智能平臺中的應用探索
圖3 算子匹配規則表示例

自動化先後端適配子系統在遍歷神經網絡的過程當中,使用代碼生成技術,根據算子匹配規則表的匹配關係,生成統一的計算圖,如圖4所示。

生成技術在人工智能平臺中的應用探索
圖4 統一計算圖示例

自動化先後端適配子系統可針對計算圖進行圖級別的優化,這些優化包含重複子句消除、計算簡化、卷積計算核合併、計算節點合併等。自動化先後端適配子系統根據不一樣的目標硬件平臺選擇不一樣的硬件runtime,一樣基於代碼生成技術將統一計算圖生成爲特定硬件的執行程序。若是目標硬件爲NVIDIA GPU,則選擇的runtime爲統一計算架構(compute unified device architecture,CUDA);若是目標硬件爲AMD GPU,則選擇的runtime爲RCOM。接着就能夠調用與硬件對應的編譯器對執行代碼進行優化、編譯,最終生成能夠在不一樣硬件平臺上運行的可執行模塊。
綜上,基於代碼生成技術的應用,依據簡單的先後端類型配置信息,自動化先後端適配子系統能夠自動地將不一樣深度學習框架模型轉化爲在特定硬件上的可執行代碼,減小了大量的模型轉換、硬件適配工做,提高了AI平臺的開發效率及易用性。
3.2 基於參數空間生成技術的自動化調優
超參數是AI模型中的框架參數,如聚類算法中的類別數目、矩陣乘法中的數據形狀的定義等。超參數與訓練過程當中學習到的權重參數不同,其一般由人工設置,不斷試錯調整,這每每會花費大量的時間。所以,基於參數空間生成及參數空間搜索的自動化參數優化技術能夠實現超參數調優自動化,不須要人工參與,速度更快,性能更優。其核心思想是:創建一個足夠大的搜索空間,保證可能的參數組合所有被包含在這個搜索空間裏;快速地搜索這個空間,獲取最優的參數組合,能夠利用隨機搜索、網格搜索、遺傳算法、極端梯度提高樹(extreme gradient boosting,XGBoost)方法對參數空間進行檢索。
下面以圖片矩陣乘法爲例,說明自動化調優過程當中參數空間生成的應用,其計算過程如圖5所示。

生成技術在人工智能平臺中的應用探索
圖5 二維矩陣乘法示例

如圖5所示,考慮到內存空間有限,對於大型的矩陣乘法,一般採用分片計算的方式。在計算過程當中,參與單次計算的3個數據塊圖片均可以在緩存中被連續訪問,這能夠有效地減小上下文切換,極大地提高計算效率。但不一樣的AI芯片的緩存配置不一樣,所以人工配置難以達到最優計算性能,須要依靠自動化方法實現最優參數搜索的工做。一般首先以2n爲基本單位對輸出數據的每一個維度進行分割,如圖片的計算,分割後結果爲,輸出塊的形狀(shape)共有10種,[32,16]表示圖片。接着以2n爲基本單位對k軸作分割,k一樣有10種取值,所以生成的參數組合空間中的參數組合數目爲100種。
在具體應用中,參數空間的生成方式與參數搜索方法有關。例如,使用網格搜索方法須要生成全部參數組合,並對全部參數組合進行遍歷,這並非一種高效的參數優化方式;使用隨機搜索方法,可能效果特別差,也可能效果特別好,在嘗試次數與網格搜索方法的嘗試次數相同的狀況下,一般隨機搜索方法的最值會更大,變化幅度也更大,但這不會影響最終結果。在實現隨機搜索時能夠進行優化,過濾可能出現過的參數組合,避免重複生成及重複計算。使用遺傳算法進行參數調優時,開始可使用隨機生成方法對「種羣」進行初始化工做,在優化過程當中完成參數的「複製」「交叉」「變異」等處理,當嘗試總次數大於參數空間總數時,「遺傳」結束。使用XGBoost方法對參數空間進行搜索時,每一批計算的參數組合中的95%能夠遍歷生成,5%能夠隨機生成。另外,不一樣場景中的參數生成規則可能不一樣,所以還須要對參數生成規則作必定的管理,在插件式管理的基礎上能夠組合出更強的參數生成能力。
在AI平臺中,與自動化參數調優子系統相似的還有自動網絡設計及調優子系統,網絡生成技術經過神經網絡基礎算子的堆疊組合,改變算子間的連接權重或拓撲結構等生成規則,構建神經網絡架構空間,而後在生成的網絡架構空間中使用遺傳算法、XGBoost等方法完成網絡架構的優化選擇。
3.3 基於數據樣本生成技術的自動對抗學習
隨着AI技術的深刻應用,人們愈來愈關注AI自身的安全性問題。2018年,360安全研究院發佈的《AI安全風險白皮書》指出:深度學習框架中對抗機器學習的惡意樣本生成、訓練數據的污染等可能致使AI驅動的識別系統出現混亂,造成漏判或者誤判,甚至致使系統崩潰或被劫持。Kurakin A等人提出了大規模對抗機器學習系統,經過將對抗樣本加入訓練過程,加強模型的抗***能力。在分析對抗樣本及數據毒化等AI***方法的基礎上,結合對抗學習理念,能夠構建商用化的AI對抗學習子系統,其系統處理流程如圖6所示。

生成技術在人工智能平臺中的應用探索
圖6 AI對抗學習子系統流程

AI對抗學習子系統基於數據樣本生成技術,針對特定的模型及原始樣本生成可以誤導模型判斷的對抗樣本,對抗樣本的生成過程是在原樣本上生成可以讓模型作出誤判的微小擾動的過程。具體而言,這類擾動能夠經過梯度方法或仿射平面方法等白盒方法生成,如FGSM、C&Wattacks、DeepFool等,或者經過生成網絡方法、差分進化算法等黑盒方法生成,如UPSET、ANGRI、Houdini、One-Pixel等。對抗樣本生成器可使用上述方法生成對抗樣本,對抗樣本的特色是與正常樣本誤差很小,但模型輸出結果誤差很大,經過將對抗樣本加入學習過程,能夠提高模型的抗***能力。這個過程是一個自動化的持續學習過程,經過不斷地生成、訓練,持續提高模型的安全性。一樣的思路,對於數據毒化的***來講,能夠經過毒化樣本生成器生成毒化樣本,這類樣本的特色是與正常樣本誤差比較大,但模型輸出結果誤差很小。將毒化樣本加入學習過程,能夠提高模型抗毒化的能力。在模型訓練的過程當中引入對抗***,從而提高模型對對抗***的魯棒性是一種行之有效的提高模型安全性的方法,但理論上也存在侷限性。該方法須要使用高強度的對抗樣本,網絡架構也須要具備充足的表達能力,而且不能排除存在新對抗樣本的可能性。
4 應用案例
AI、大數據等互聯網技術和互聯網企業的發展,爲電網公司進行企業轉型提供了鮮明的指引,電網企業須要使用新的技術手段對總體業務進行賦能。以星環信息科技(上海)有限公司的Sophon AI平臺在某世界500強電力集團公司智能巡檢項目中的應用爲例,其應用場景如圖7所示。

生成技術在人工智能平臺中的應用探索
圖7 輸電線路智能巡檢應用場景

本項目涵蓋了固定攝像頭、無人機、直升機、機器人、移動做業、衛星遙感等空天一體化全方位巡檢方式,採集數據日增量達TB級。爲了支撐當前的線路智能巡檢要求,在變電站一級部署了大量嵌入式邊緣計算設備,邊緣設備有兩種型號EDGE100及EDGE200,其中EDGE100處理器爲ARM Cortex-M系列處理器,EDGE200處理器爲RISC-V定製處理器,操做系統均爲CentOS7。原模型既有TensorFlow模型也有PyTorch模型,運行在Windows x86服務器之上,本項目中須要將AI模型從x86服務器平臺遷移至嵌入式設備。遷移過程一般會遇到以下問題:
● 模型須要對軟硬件環境從新進行適配;
● 嵌入式設備處理能力不足,須要優化模型,提高計算效率,使模型可以正常運行。
按一般作法,須要經過人工方式分別將不一樣框架模型遷移到不一樣硬件平臺,再進行性能調優,這些工做一般須要投入大量資源,從開發到功能上線週期較長,耗時耗力。Sophon AI平臺基於代碼生成技術實現了自動化先後端適配功能,基於代碼生成技術能夠將主流深度學習框架的模型轉換爲統一的IR,實現跨學習框架的模型快速適配。在此基礎上,一樣基於代碼生成技術,Sophon AI平臺可將統一的IR生成適配不一樣硬件的執行代碼,從而實現跨硬件平臺的模型快速遷移。藉助Sophon AI平臺自動化先後端適配、自動化調優的能力,本項目中紅外發熱點檢測、杆塔傾斜檢測、絕緣子脫落檢測等模型在6 h以內實現了模型遷移、部署、微調的工做,相對於傳統人工遷移的方式,大大縮短實施時間。此外Sophon AI平臺還基於參數空間生成技術實現了超參自動優化功能,相對於按經驗配置,自動優化的參數配置更能最大化發揮EDGE100、EDGE200設備的計算性能,優化後單圖片識別的平均處理時長由5.13 ms縮短至4.52 ms,推理效率平均提高了11.9%。本項目的成功實施推進了AI技術在電力電網領域的應用,也驗證了生成技術在AI平臺中的應用價值。
5 結束語
多框架模型的支持、多硬件平臺的支持、模型計算性能調優、模型安全性的提高是AI平臺的核心功能,本文在AI平臺基礎技術實現層面進行了思考與實踐,藉助生成技術實現上述工做的自動化,避免了在代碼遷移、適配、調優、測試等工做環節的重複投入,具備現實的意義。代碼生成、參數生成、網絡生成、樣本生成等生成技術的應用使Sophon AI平臺靈活易用,基於生成技術從先後端適配、性能調優、安全提高等多個層面打造高效的AI開發平臺,避免了大量人工開發的工做,縮短了需求響應週期,全方面地提高了AI平臺的應用開發效率。面向將來,從更高的要求出發,AI系統還須要具有環境自適應性、自我進化能力,而生成技術具有適配上下文的須要、動態輸出合適對象的能力,這種柔性的動態生成能力相對於固化的應用功能,無疑更貼近新一代智能系統「自適應性」「自我進化」的須要。

做者簡介

夏正勳(1979-),男,星環信息科技(上海)有限公司高級研究員,主要研究方向爲大數據、數據庫、人工智能、流媒體處理技術等 。

楊一帆(1985-),男,博士,星環信息科技(上海)有限公司產品總監、首席科學家,主要研究方向爲統計(統計計算、生存分析、時間序列和生物信息)、機器學習中圖計算、強化學習等 。

羅聖美(1971-),男,博士,星環信息科技(上海)有限公司大數據研究院院長,主要研究方向爲大數據、並行計算、雲存儲、人工智能等 。

趙大超(1989-),男,星環信息科技(上海)有限公司產品研發經理,主要研究方向爲大數據、人工智能等 。

張燕(1985-),女,星環信息科技(上海)有限公司大數據技術研究員,主要研究方向爲大數據、人工智能等 。

唐劍飛(1986-),男,星環信息科技(上海)有限公司大數據技術標準研究員,主要研究方向爲大數據、數據庫、圖計算等 。

相關文章
相關標籤/搜索