回顧過去幾年的上榜技術,越來越多與AI有關的技術入選榜單,例如2008年的機器學習、2009年的 Siri、2013年的深度學習、2014年的神經形態晶片、2016年的語音介面與知識分享型機器人以及 2017年的自動駕駛與強化學習等,可見AI影響之深。
但另一方面,我們也發覺,儘管AI影響範圍如此之廣,但仍然還只是亞馬遜、谷歌等大體量企業的“玩具”以及部分創業公司的顯著標籤。對於絕大多數企業來說,AI 的成本高、全面部署困難等特性依然為它的落地帶來不小的困擾。
基於這樣的背景,有人稱,AI這波來勢洶洶的浪潮實在需要一個智慧化的堅實“底座”來加以支撐,才能“站得住腳、走的更遠”,雲端計算就被“首當其衝”列入了備選陣營中。那麼,如何利用雲端計算降低AI落地的門檻?企業又當如何通過“雲端賦能”,降低研發成本、加快方案迭代呢?10月27日,UCan下午茶深圳站,來自UCloud、達觀資料、探智立方的技術專家們分享了他們的技術經驗與實戰心得。
AI公有云平臺實踐
AI演算法依賴於大量計算資源,對於想涉獵AI的企業來說,第一步面臨的就是成本壓力。這其中包括伺服器成本、運維成本、人員培養學習成本等。因此,如何有效降低成本,加快AI方案的試錯,是每個想把AI演算法產品化的企業都需要考慮的問題。UCloud深度學習開發工程師範融,就如何利用公有云的規模效應和分時租賃特性,講述了使雲使用者在不改變AI演算法開發流程的基礎上,降低企業的AI轉型門檻的方法和工具。
一般,一個AI專案的研發週期包含場景的選擇、AI框架/演算法的選型、訓練環境/推理環境的選擇以及配置,最後才是進行AI訓練和推理工作。目前,業界主流的AI演算法和框架非常多,如何在繁雜的組合裡選擇合適的演算法和框架?範融分享了AI平臺構建時需要考慮的五大要素:演算法相容性、平臺擴充套件性、叢集化、縱向擴充、易用性,使用者可以以這五大要素為基準點,根據平臺構建的目的來搭配最適合的場景、演算法和框架。
基於上述的五大要素,UCloud構建了自有的AI基礎平臺,包含AI Train訓練和AI Inference線上服務兩大核心功能。如下圖所示,最上層是訓練日誌和TensorBoard框架,下面接著就是圖形化介面,這裡面主要是完成一些基本的部署操作,右側是Python SDK介面,接入層下面即為平臺核心的AI Train和AI Service服務功能,最底層封裝了所有的硬體和儲存接入。
現場,範融以影象分類為例,詳細講解並演練了UCloud AI平臺的應用。以Dockerfile打包為例,使用者只需通過建立Dockerfile、編譯映象、上傳映象、下載並上傳資料、即可在UCloud的AI平臺山進行訓練並獲取訓練結果。
此外,UCloud在GitHub開源了自身基於AI基礎平臺的公共映象庫和SDK,使用者可以通過開源的SDK,將UCloud開源的映象庫打包成自身可以應用的映象,開發者可以在本地映象使用,也可以放在UCloud的線上服務或者說訓練的平臺,這些都是完全相容的。感興趣的同學也可以訪問連結https://github.com/ucloud/uai-sdk/,進行深入瞭解和演練。
雲端計算助力人工智慧快速搭建底層資源
眾所周知,人工智慧的入門門檻非常高,需要整理原始的資料來源、購買底層伺服器資源、搭建不同的演算法框架、保障平臺的穩定性等,這給運維和研發帶來了龐大的工作量。UCloud的解決方案架構師徐強,圍繞資料的整理、模型訓練及線上服務等維度,探討了何利用雲端計算助力人工智慧快速搭建底層資源,讓使用者專注於自身的演算法以及業務程式碼。
徐強認為,當今AI落地的挑戰主要源於兩個方面:一是基礎環境的選擇,如AI框架、演算法、依賴環境、硬體裝置、儲存資源的選擇等等;二是AI系統的建設,一個穩定的、可用的AI系統,不僅需要相容各類AI框架和演算法,同時還要具備平臺擴充套件能力以及彈性伸縮能力,以支援業務規模不斷擴大。
要解決這些問題,可以從以下四個方面著手:資料共享、環境分離、底層資源共享和可擴充套件性建設。
·資料共享:不管是AI訓練還是AI推理,都需要大量的資料做支撐,對於初創企業和個人開發者而言,收集大量可用於AI訓練的資料是非常困難的。為了解決資料收集的難題,UCloud基於區塊鏈技術,研發了一款資料共享平臺安全屋。安全屋首先通過雲端計算讓使用者可以把資料上傳,但是使用者無法下載;其次,通過區塊鏈技術確保每個使用者對資料操作進行全方面的記錄,一旦發現資料洩露,即可全程追蹤,並實施相應的處罰。如此,即可保證在資料所有權不變的情況下,實現資料使用權的可信流通共享。
·環境分離:環境分離可以使執行環境完全隔離,不同任務之間不會產生軟體衝突。UCloud採用了容器封裝和資料接入兩種方法實現環境的分離 ,將不同功能的AI框架、依賴環境、硬體裝置、儲存分隔開來,讓不同的模組實現不同的功能。
·底層資源共享和可擴充套件性建設:UCloud是公有云平臺,底層可以提供海量的計算、儲存、網路資源,並通過負載均衡(ULB)、分散式儲存、動態擴縮容等技術,實現AI服務的橫向擴充套件和縱向擴充套件。
文字智慧處理的深度學習技術
文件資料的內容自動化處理是人工智慧技術落地的關鍵應用之一,達觀資料聯合創始人張健演講過程中,分享了在對篇幅較長的文字進行內容理解和資訊挖掘過程裡,如何應用深度學習技術來進行更好的分析挖掘,以及工程實踐中值得注意的應用點等實踐知識。
文字智慧處理的應用非常廣泛,包括文字分類、情感分析、分詞、NER、機器翻譯等領域,但不管是哪種應用,其處理過程基本上是一致的。首先需要對文字資料進行預處理,這種預處理主要是將資料轉換成模型需要的形式,然後通過深度學習模型識別資訊,再通過一些後處理,將資訊轉化為人類可以識別或者需要的結果。
在整個過程中,最重要的步驟就是構建學習模型過程,以文字分類為例,傳統的機器學習技術在進行文字分類過程時,主要流程為首先選擇分類器SVM、KNN、LR(不同領域成本比較高,通常需要分類演算法提升效果),然後再深度學習處理文字分類任務,這過程中,輸入的是序列,輸出為具體要分類的標籤。傳統機器學習的好處是不需要特徵工程構造特城,缺點是不同領域的定製優化成本高,常常需要分類演算法融合提升效果。
為了解決這個問題,可以通過端到端的深度學習方式來減少大量特徵工程,並使用非監督語料訓練字詞向量提升效果。這種方式主要是通過對詞的級別、句子級別進行注意力機制處理,通過輸出結合注意力機制挑選出認為重要的詞,然後根據注意機制輸出一個比較重要的句子,實現分類的目的。
端到端的深度學習模型可以使用非監督資料訓練字詞向量,提升泛化能力,同時一些模型結構能夠克服傳統模型的缺點,但在小資料量的情況下其挖掘效果不一定理想且調參工作量有時不亞於特徵工程。
因此,在業務場景下,張健建議儘量收集並理解資料,分析問題本質,進而選擇合適模型。在初始階段可以使用傳統機器學習模型快速嘗試,作為baseline版本,碰到疑難問題時可以使用端到端的方式,或許會有驚喜。但具體問題還需具體實踐,不斷嘗試才能有新的收穫。
AutoML人工智慧自動化模型設計與進化演算法實現
AutoML是當前人工智慧發展的一個重要方向,受到Google,Facebook,等諸多公司的重視。近期,在AutoML領域,特別是深度神經網路模型搜尋有了很多突破性的進展。探智立方CTO錢廣銳著眼於目前在機器/深度學習模型搜尋方法的進展,對不同方法之間的差異進行了詳細的分析,並介紹探智立方的DarwinML自動化模型設計平臺底層進化演算法實現、特性以及DarwinML在金融、製造業領域內的實際案例。
AutoML主要用於解決AI應用中資料特徵提取和擴增、機器學習和深度學習模型合成以及模型超參調優等,其實現方式包括序貫模型優化、遷移學習、強化學習、元學習、進化演算法以及基於連續假設的梯度求導方法(DARTS)等。
目前,主流的神經網路架構搜尋中,進化學習(evolution)和強化學習(Reinforcement)是採用得比較多的,但這兩種方法的搜尋空間都是不可微的。DARTS提出了一種可微的方法,它認為可以用梯度下降來解決架構搜尋的問題,效率可以比之前不可微的方法快了幾個數量級。如圖,每兩個節點之間都連著所有的邊,點和點之間所有連線的權重為alpha(加權平均,和softmax類似),alpha稱作一個權值矩陣,可以通過梯度下降優化alpha矩陣。當然這個演算法有也比較大的問題,它在簡單的網路裡面效力會非常快,但是在複雜網路系統裡還有很多需要改進的地方。
一個效果好的AI模型通常需要大量的經驗調優,這個過程包括:資料預處理、特徵選擇、模型演算法的選擇、調參、上線後的模型優化升級、效果評估。探智立方在這方面也做了大量的探索實踐,並以AutoMl為核心技術,釋出了人工智慧模型自動設計平臺-DarwinML 1.0。該平臺以自動化機器學習以基因進化理論為設計思想,使用者只需要具備人工智慧基本概念,即可設計開發機器學習和深度學習模型,從而縮短建模人員及資料科學家建立模型的時間及門檻。
·首先,DarwinML 平臺會提取資料的統計資訊。
·然後它開始自動進行模型設計。在進化到每一代時,都會對模型進行一次評估,以選擇繼續演化的方向,同時防止種群,也就是所有模型的整體早熟(避免重複使用前期效果比較好的相同或者相近的模型,儘量讓選擇在解空間裡分散化)。
·當演化到達客戶的準確率或者時間限制要求後,DarwinML 平臺會再固定模型結構進行一次引數精調,同時進行超引數的區域性優化。
·最後,在整個過程結束後,以報告的形式將模型的特徵、硬體配置、各項表現指標返回給使用者。
值得一提的是DarwinML 平臺是一個全生命週期管理平臺,基於其基因庫,平臺具有自我演化、自主設計的特性,可以加快模型設計收斂速度,提供ML模型可解釋性,能夠無縫與生產系統對接,並對生產模型實時優化。