【云駐共創】1/10代碼,1/6時間,如何基于Mindx快速開發一個商業AI應用
【云駐共創】1/10代碼,1/6時間,如何基于Mindx快速開發一個商業AI應用

人工智能已經進入場景化應用時代:
早些年人工智能還處在實驗室,現在人工智能技術不管是計算機視覺的圖像識別、目標檢測,還是圖像分割、人臉識別 ,都已經跟行業結合得很緊密了。 人工智能技術也只有跟行業結合起來才能發揮它應有的價值。 我們核心是說到, 這樣一些人工智能的技術怎么樣把它用到行業里面。 同時成熟的還有語音識別,最近很火的NLP類的BERT,GPT-3這樣的一些模型,慢慢的已經開始達到非常高的精度,可以真正進入場景解決行業場景的一些問題。
核心是說,怎么樣把人工智能的技術,用到行業中去,解決行業的問題。 比如說我們行業面臨的問題,就像工業質檢 ,它其實當前就面臨著一個用工荒的一個問題,因為如果生產線那么多設備那么多,都需要一個人一個人去看的話,那它整個的工作量和人力的消耗,勞動力的消耗都是非常巨大的,就當前這個能力是嚴重不足的,那么需要通過一些機器設備和一些智能技術來解決我們當前這樣一個用工荒的一個問題。 同樣的還有智慧園區、智能駕駛,電力線巡檢問題。
我們這一輪人工智能技術大概從 08,09 年開始,一直到可能15 年前后,我們一直都在解決算法的問題。 從那個時候,我們深度學習的算法也是卷積的算法,一直在不停的前進。 但我記得大概在15年左右的時候 ,如果說我們要想要搭建一個人工智能深度學習的系統, 比如說caffe的這樣一個訓練平臺的話, 一個博士,大概是需要7天左右才能夠把GPU 、 訓練環境裝好, 然后要把那些bug都調 好,但是今天的話其實已經很簡單了,可能一個小時基本上就能夠搭好了,其實已經得到了非常大的簡化。 但是如果我們再往前看一步,就是說如果我們把這個模型訓練好了之后,這個基礎訓練環境有了,那我們現在想要做一個 應用系統的話,或者是做一個行業解決方案的話,其實中間還是有非常大的一些 GAP( 障礙 ) 的。
從AI算法到產品化應用還有很遠, 我們會把它總結出來叫三大鴻溝,八大困難。
1. 算法開發難
算法開發難 ,還不僅僅局限在模型復現難 ,你把這個模型復現了 之后 ,你需要有行業的數據,你才能夠訓練出來一個你想要的這個模型。 那如果我們想要訓練一個行業模型,比如說你要想訓練一個人臉識別,或 者你想要訓練一個車輛結構化或者想要識別一個車型,如果你想要做這樣一個模型的話呢, 第一個模型獲取, 核心是需要選擇一個合適的模型。然后需要準備行業的數據, 你可能需要大概占整個模型開發時間的70%都在收集這個行業的有效數據。 數據準備好后的訓練過程,有可能跟數據是不斷迭代的。選擇了模型之后數據的標注過程有可能跟你選擇的模型或者是后面的應用開發過程是強相關的。我們一般拿到的是開源的模型,比如說是 目標檢測選擇的yolov3,yolov4 ,yolov5, 有可能會跑在coco,Pascal_voc 上面 ,針對目標是20類,或者是80類的目標檢測。但是實際應用中,你肯定不是這個樣子的,你自己的任務里面一般也就是三五類,最多十類的目標檢測。這樣,你的檢測精度實際上還可以做的更高。這樣就需要有遷移學習,拿自己的數據去做模型調優( Fine tunning )。第四步,還需要驗證模型的精度。這四步都完成了,才能算是做完了一個模型訓練的閉環 。
2. 應用開發難
訓練完成之后,那后面就是你的應用系統的開發了。比如說做一個目標檢測的,假如做一個安全帽的現象,是跟IPC相連的。你的視頻圖像怎么獲取,你跟相機怎么連, 可能選擇rtcp協議 ,那rtcp協議怎么配置,完了之后 ,那你拿到的可能是1080p的一個視頻流 ,1080p的視頻流里的幀緩存怎么做?然后呢,你這個解碼在哪做?解完碼之后 resize在哪做?因為這些其實都是人工智能計算以外的計算。 前面的那個resize ,你到底是選擇 YUV還 是選擇 BGR的 ,或者選擇RGB 的,然后你的數據通道也是選擇那個NHWC的還是選擇NCHW的,這些都是整個應用開發過程中你需要面臨的選擇。 這些東西你選完了之后, 就需要去做NPU的一個性能的調優。怎么樣才能把NPU的這個資源,做到這個利益最大化的利用。 這個時候系統中除了你的 NPU也好或者GPU也好,除了這個神經網絡算力以外 還附加了很多的內存管理 , CPU的能力, 系統的調度 ,多線程的調度,只有把這一整個系列全部都做好了之后 ,才能開發出來一個好的應用。
3. 業務部署難
業務開發完了之后,可能還會涉及到一個流程監控和 業務的部署 。因為最終是需要把應用部署的一個環境中去,可能會涉及到更新策略 :假設有五千個或者五萬個 邊緣設備節點, 怎么更新 , 怎么管理 , 然后故障了之后怎么上報 ;怎么去做這個數據的協同和設備的協同,這都是你作為一個完整的解決方案里面需要去完整考慮的。
為解決上述一系列的問題,華為推出了 Mindx 使能應用
這是整個昇騰技術棧 : 從下往上 ,昇騰的系列硬件 ,包括端、邊、云的一些硬件設備。設備之上那就是我們的異構計算架構——CANN 。之上是 MindSpore ,負責模型訓練的 ,與TensorFlow / PyTorch 是屬于同一層的。再往上 Mindx使能應用 ,希望在模型和應用之間搭建 一個橋梁 。
Mindx 應用使能核心包含四大組件(2+1+X):
2: Mindx DL 和 Mindx Edge
Mindx DL 負責深度學習使能,核心是做集群計算(訓練、推理) 和 Mindx Edge 負責邊云協同的組件。
1: ModelZoo 高性能模型庫,選擇在昇騰上效率和速率更高的模型 。
X : Mindx SDK 面向 行業應用 SDK。
合作伙伴可以結合深度 學習全 流程參考設計, 在 MindX DL 四大組件之上, 能夠快速開發自己的深度學習系統,包含訓練系統和推理系統。
Mindx Edge 核心是要提供一個輕量化的邊緣計算資源資源管理的一個運維的平臺, 核心能力是使能行業客戶,快速 搭建邊 云協同推理平臺。
ModelZoo 為開發者提供多場景、高性能優選模型,篩選出對昇騰性能和效率較高的模型。
使用 MindX SDK可四步快速開發 AI 應用
MindX SDK 每個模塊就是一個插件;所有的插件都已經寫好了,使用時 只需要替換om文件,就可以進行開發應用 。
? 第一步:轉換離線模型
模型轉換的過程 通過文檔 或腳本的方式提供出來 。
? 第二步:插件開發 (可選 )
如果插件都支持就不需要開發。
? 第三步:流程編排? ? 支持圖形化,可視化,拖拉拽方式開發
流程編排 Json 方式文件 , Mindstudio中提供了流程編排圖形化工具 。
? 第四步: 應用推理調度, 提供兩種使用模式
API調用和Web方式
昇騰的Mindx SDK還 提供了豐富的應用案例供客戶參考 ,歡迎大家根據自己的需求來嘗試。
應用案例展示:
應用案例展示:動態人臉識別應用
備注:本文整理自華為昇騰應用使能項目群總監王建輝 直播《1/10代碼,1/6時間,如何基于Mindx快速開發一個商業AI應用》,點擊可以回看。10 代碼,1/6 時間,如何基于MindX快速開發一個商業AI應10 代碼,1/6 時間,如何基于MindX快速開發一個商業AI應
AI 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。