1. 程式人生 > >郭律: 論機器學習平臺與人工智慧的關係

郭律: 論機器學習平臺與人工智慧的關係

歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~

郭律,騰訊高階產品經理,騰訊雲AI基礎產品中心高階產品經理、解決方案架構師。主導騰訊智慧鈦TI-ONE(視覺化機器學習平臺)和TI-S(自動機器學習平臺)兩個產品的設計工作。從上海交通大學模式識別與智慧系統專業博士畢業後,先後就職於IBM、普華永道從事IT架構、諮詢方面的工作,對機器學習與金融、零售等業務場景的結合具有深刻理解,幫助學員掌握如何利用工具解決實際業務中面臨的機器學習問題。

眾所周知,現階段的人工智慧特別熱門,研究人員也都想進入到這一領域,人工智慧究竟是什麼?我們有一個形象的比喻來說明什麼叫做人工智慧。

img

人工智慧是這樣,把米煮熟成飯的過程就是機器學習的過程,米是大資料,而飯就是人工智慧。概括為一句話就是,將海量資料通過機器學習的手段來進行處理最後形成模型的過程就是人工智慧。說到具體的例子,阿爾法狗的海量資料來自於各種各樣的棋譜,通過機器學習成為一個下棋的人工智慧。

機器學習說起來是一個詞,其實背後有很多的事情要做,比如預處理、特徵抽取、資料建模、模型評估等等。在建模過程中,除了調參選演算法之外還有很多重要環節。在這個過程當中比較重要的一環是特徵工程,一個模型好不好取決於特徵工程做的好不好。

img

人工智慧為什麼這麼火?相比於傳統的商業智慧(BI),人工智慧更加精準。,以往的商業智慧實現了對大資料的分析和處理,不同之處在於BI主要是通過人對資料的規則進行發現,AI是通過機器對資料的規則進行發現。我們同行裡面有一個專家曾經說過,當規則超過1千萬條,機器是可以超過專家的。這句話就是講機器學習的特點就是精準。

img

AI通過機器學習挖掘資料裡面的規則,效果比人做的更精準,而想用AI解決問題有4個約束條件。

第一個條件是業務場景。我們現階段的人工智慧不是強人工智慧,並不能像科幻電影裡一樣可以解決任何問題。能夠用機器學習解決問題的前提之一,是把業務問題轉化為機器學習的建模問題,這樣的問題可以用AI解決,所以業務場景是特別重要的一點。

第二個條件是海量資料。我們現在的機器學習,其原理是基於統計來學習資料中的規則。我們根據資料歷史,基於統計發現其中規律,然後再將這些規律用於未來的資料預測。在歷史資料裡發現規則,需要海量的資料,這些海量資料應該是特徵豐富、不重複,高質量的資料。

第三個條件是人才。這涉及到做演算法人才、把演算法在工程中實現的人才、產品化的人才以及將AI和業務系統整合的人才,這些人都屬於AI人才。

第四個條件是技術能力。包含了計算資源、儲存、網路以及和業務系統的整合。AI如果不能跟企業業務系統整合在一起是沒有業務價值的。

img

剛才說的是機器學習的4個要素,接下來舉例說明這4個要素在不同場景當中的體現。

在風控領域,海量資料包括客戶交易資料、黑名單資料、客戶資料、客戶賬戶資料等等。這些資料都為我們提供各種維度的特徵。我們用AI做風控,例如用AI判斷信用卡交易是不是欺詐交易,或者信用卡催收時,判斷一個客戶的還款意願是否強烈,這些問題可以轉化為迴歸或者是分類問題。用這樣的方式,把金融風控領域裡的一些業務場景轉化為一個系列具體的、可以通過機器學習建模來解決的技術問題。

img

在營銷領域,海量資料包括客戶畫像、客戶行為,商品目錄,營銷活動資料、營銷成果資料(如歷史上把某一類商品推銷給某些客戶,成功或者沒有成功)等等,我們把這些資料送給機器去學習,哪種商品推給哪類客戶比較容易成功,哪種不容易成功,這是我們要做的事情。具體到業務問題,例如說沉睡喚醒,在銀行和電商有很多客戶都存在開戶後可能兩三年再也沒有業務的情況,就屬於沉睡客戶,如果通過一些推銷手段,如給你發簡訊或者推薦促銷活動,看能不能讓客戶重新在銀行或電商活躍起來;又如商品個性化推薦,很多人在京東買手機以後,京東會推薦手機膜、耳機、儲存卡等商品,這些推薦會根據其他使用者選擇或該使用者購買歷史以及跟該商品有關聯的其他商品做推薦。

img

在健康領域,海量資料包括患者的行為資料、處方資料、病史資料等等,用這些資料做疾病預測,例如糖尿病預測,根據病人的資料預測兩年或三年以後得糖尿病的概率,就是AI的一個應用場景。

img

最後一個場景AI加製造,在很多工廠裡面也需要,用AI改善工藝流程或者降低成本,在這裡海量資料會包含機臺引數(每一個不同的裝置加工時的輸出引數)、工藝流程資料,場景包括通過機器學習做一些智慧測量以解決在某些人到不了的情況下需要做檢測的問題。

img

在不同的業務場景裡面,AI資料和AI業務問題具有多樣性。但是相對而言AI人才(包括建模和工程人才)和AI的計算資源和計算能力是通用的,各場景的建模過程大體上也差不多。

img

同時AI人才和計算能力又是有層次的,AI從理論研究到能夠應用到工程中需要經歷4個層面,最貼近業務的一層是模型,然後是演算法,業務問題提出後在演算法層面除錯獲得模型,模型不不能直接使用,如何打造資料閉環,需要在工程層面或者產品層面去實現。至於計算框架和計算資源層,模型訓練還有很多工程方面的問題需要解決,包括演算法與資料來源整合、訓練的日誌和錯誤監控、任務排程等等。這些問題和業務相關度較小,但技術難度又很大,實施週期長,給傳統企業使用AI、擁有AI能力造成了一定的困難。

img

我們把AI的人才按照成熟度的不同分成4類:第一種是AI Geek,從底層計算資源搭建到計算框架的引入,一直到上面的演算法編寫,包括模型的調優,一個人可以做完,這種人非常的稀缺,效率不一定高,因為所有工作都要重頭做。

第二種是AI研究者,他們對某類演算法很熟,他們自己會寫比較高階的演算法。但是他們可能對底層的計算框架,比如說GPU怎麼管理,不是很清楚,只要把演算法寫好就可以了,底層交給工程人員,這屬於AI的研究者。

第三種是AI的從業者,在座的同學大部分在這個層級上面,這一塊的特點是:知道整個建模的流程;也能夠用一些開源的演算法做模型訓練,希望能夠有一個比較好的機器學習UI,不需要從框架上或者每一個互動都需要一個命令列來建模。

最後一種是AI的應用人員,希望直接拿到發揮作用的模型,不關心模型的原理,希望的是能夠從業務資料直接獲取一個模型來解決業務問題。

img

根據以上這麼多使用者層次的差異性,我們需要針對不同使用者訴求提供差異化的方案、產品和服務。

先從最底層說起,針對AI研究人員需要提供計算資源、任務的排程、計算資源的管理,他自己寫演算法。

第二類是AI從業者,AI從業者需要自己建模,對演算法做少量改動。另外他們關心模型建好以後,如何與業務系統整合,資料閉環如何實現。資料閉環是為了防止模型衰減,保證模型上線後能夠迭代訓練以保持效果,這也是這個層級的使用者會關心的事情。

再往上一個層級就是AI應用者,AI應用者需要模型自動訓練、自動資料分析、自動特徵工程,模型訓練完成後自動佈署為服務。最好還能夠對模型微調,就是加一些資料,可以適應新的場景。

img

我們針對不同層次的客戶提供差異化的產品,最左邊的TI-A是深度學習加速器,主要是做模型訓練加速,我們的速度很快,在雲上面使用TI-A平臺,可以幫助使用者實現深度學習訓練的加速。而且這個模型訓練完以後,它可以一鍵部署,這也解決了模型訓練完以後怎樣可以應用到業務場景裡,怎樣做預測的問題。

中間的產品TI-ONE,是智慧鈦一站式機器學習平臺,它有一個視覺化的UI,使用者可以一目瞭然看到整個建模的工作流,可以看到資料的流轉關係和各環節的依賴關係,這個產品可以讓使用者方便地建模,而且裡面有很多內建的演算法。

最右邊是TI-S,它的特點是全自動、黑科技,不需要使用者建模,只需要給它資料,就可以反饋給你一個可用的模型,真正一鍵建模,模型訓練完後能夠部署成一個應用。

img

接下來我們仔細來看一下智慧鈦產品具體都有哪些功能。在TI-ONE裡面支援機器學習、深度學習和模型推理,機器學習裡面包含了資料載入、預處理、特徵工程、特徵選擇的工具,後面還有一些具體的演算法。深度學習裡面包含了一些已經寫好的神經網路的演算法,針對一些業務的場景也有一些封裝好的、針對這個業務場景的演算法,例如機器視覺的演算法,自然語言處理等等。

在模型推理部分,對於機器學習訓練出的模型,後續處理包括模型部署、模型管理、模型監控、模型驗證等等。

TI-A相對比較簡單,含有一些深度學習的神經網路庫和模型推理的功能,UI採用輕量化的客戶端,用控制檯支援模型和任務的監控。

TI-S的模型訓練、部署都是自動化在後臺執行,使用者只需要把資料傳上去,TI-S自動完成資料處理,特徵工程,演算法選擇和引數優化。

img

智慧鈦平臺降低企業獲得AI能力的門檻:框架方面,智慧鈦平臺內建眾多主流框架,省去使用者自己整合框架的工作;演算法方面,由於有內建演算法,省去使用者很多寫演算法的工作;模型調優方面,智慧鈦平臺的圖形介面可以幫助使用者做演算法調優,有比較靈活的排程和調參方式;在模型管理方面,智慧鈦平臺可以幫助使用者搭建資料閉環,資料閉環只有在自己搭建的演算法訓練出的模型上才能實現,直接購買的AI應用通常不支援資料閉環;協作方面,智慧鈦平臺支援團隊的模型分享、演算法分享。

img

以智慧鈦為核心,企業還能打造開發者生態,在這個平臺上面開發應用,開發者可以省去很多底層比較辛苦的工作,而且能通過這個平臺來實現模型的閉環。另外,騰訊有比較強大的技術能力和演算法服務,也有比較豐富的資料服務,可以幫助開發者做出更好的AI應用。雲平臺底層有比較豐富的計算資源,AI開發和運轉需要大量計算資源。

img

這個圖是模型自更新的框架圖,自建AI模型很難,所以很多企業願意直接購買AI應用,但當出現以下幾種情況的時候,就必須自建模型。第一,如果你需要解決的問題場景比較獨特,而不是一個簡單的人臉識別、語音識別,例如在很多製造型的企業中,生產流程中需要測量的值比較獨特,這種情況下只能自己建模型。第二,資料比較獨特,而且你也不願意把資料公開。建模需要大量資料,例如剛剛講的AI語音識別中,因為沒有方言的語料,就沒有很好的方言識別模型。那麼如果你需要一個AI模型,而這個模型需要廠商來幫你訓練,那你至少得把相應的資料給他。但是有一些你自己公司內部的應用資料,別人買不著,你又不願意拿出去,這個時候就得自己建模。第三,模型需要不斷自更新,自更新在很多場景下都是很重要的,因為模型會衰減,所以需要增加新的資料以適應新的情況,自己建的模型,首先這個資料是自己的,通過一個標註平臺進入訓練平臺,平臺都在你自己的機房裡面,這邊的模型全部都是在平臺計算出來的。通過平臺和業務系統資料匯流排打通以後,實際上可以形成一個模型的閉環和資料的閉環,就滿足一個模型自更新的要求。

關於平臺的應用案例:我們這個平臺目前的案例包括:金融領域的風控,營銷以及基於NLP、OCR實現運營優化等等;教育領域和高校或賽事舉辦方合作,以平臺為基礎來提供比賽的環境以及教學環節等等;商業領域方面,幫物業公司實現物業管理的服務水平優化;工業領域方面,幫地鐵公司對軌道、車輛裝置做異常檢測。以上這些場景大多比較特殊,只能通過機器學習平臺自己訓練這樣的模型。

Q&A

Q1:騰訊的AI定義是什麼?從最早的AI識別,到大資料系統,建模放在AI當中,現在更多的是講深度學習和機器學習,我不太清楚。

A1:語音包括小微都屬於AI應用層面,AI應用底下靠什麼來承載,就是AI的平臺和框架,以及再往下的計算資源。我們這個平臺定位的是AI基礎平臺,它就是一個建模的工具,可以提供的是機器學習和深度學習的建模所需要的工具。

Q2:機器學習在原理上沒有變化?用matlab能不能訓練機器學習和深度學習模型?

A2:機器學習在原理上沒有變,深度學習是神經網路演化出來的,神經網路層數變大以後變成了深度學習學習,用matlab訓練模型從原理上和演算法上來講是沒有問題的,但是從思路上來說,現在機器學習的思路跟以前不一樣的地方,以前是降維,因為計算能力有限,現在都是升維。現在隨隨便便一個神經網路幾十層,計算量都是很大的,這就是為什麼深度學習需要用GPU的原因,用matlab訓練的話計算能力會有問題,訓練不出來。

此文已由作者授權騰訊雲+社群釋出,更多原文請點選

搜尋關注公眾號「雲加社群」,第一時間獲取技術乾貨,關注後回覆1024 送你一份技術課程大禮包!

海量技術實踐經驗,盡在雲加社群