第四范式胡時偉:如何以產品化最快實現AI商業價值?| 硬創公開課
在實驗室中開發演算法難,將AI研究成果帶出實驗室更是難上加難。怎樣將AI變成產品並實現商業價值?產品和技術方面有什麼改進要點?如何控制企業應用AI技術的成本?有效的AI產品化可以怎樣優化銀行反欺詐體系?我們可以期待一個智慧的未來嗎?
AI已經誕生了60多年,即使伴隨著計算能力的突飛猛進和大資料時代的來臨,但AI的理論到實踐之路仍不是那麼好走。機器學習面臨高維海量資料的現實挑戰,求解企業自建機器學習技術產品設計和工程優化是當前眾多行業從業者苦苦探索,試圖翻越的“AI鴻溝”。
本次是雷鋒網AI金融專場公開課之第三期,我們有幸邀請到第四范式聯合創始人、首席架構師胡時偉,以及產品經理周開拓來分享他帶領團隊完成AI首個全流程產品的心得。
嘉賓簡介:
胡時偉,第四范式聯合創始人、首席架構師。在百度任職期間作為系統架構負責人,主持了百度商業客戶運營、鳳巢新興變現、“商業知心”搜索、阿拉丁生態等多個核心系統的架構設計工作;作為鏈家網創始團隊成員,完成了鏈家網新主站、經紀人新作業系統、績效變革系統的整體架構設計以及研發團隊的建設管理。現任第四范式研發總工程師,帶領團隊打造出國內首款人工智慧全流程平臺“第四范式·先知”,“先知”平臺2016年榮獲中國智慧科技最高獎——“吳文俊人工智慧科學技術獎”創新獎一等獎。
以下是本次公開課實錄,雷鋒網做了不改變原意的編輯:
今天我們給大家分享的主題是如何以產品化的形式實現AI的商業價值,主要分成3個部分:第一部分是商業價值;第二部分是產品化;第三部分,請開拓給大家講一講他為公有雲客戶提供平臺化產品的經驗和體會。
如何發掘AI的商業價值
談到AI的商業價值,首先談一下AI是什麼。今天教育、醫療、金融等各行各業的人都在憧憬人工智慧,並且嘗試實踐,利用人工智慧的技術來給行業提供價值。
這裡面定義很複雜,今天先不講概念,首先縮小一下範圍,談一下資料驅動的人工智慧。
當今大多數的AI系統由兩個基石組成:一個是大資料,一個是機器學習的技術。比如AlphaGo,它的成功首先是因為吸納了KGS的網站上30多萬張棋譜——這個是AlphaGo第一波資料。此外,結合深度學習和強化學習等機器學習的技術,AlphaGo可以比以前基於規則或者基於淺層神經網路的對弈程式,擁有更好的表現。
所以我們認為,人工智慧=大資料+機器學習。如果說大資料是原材料——米,機器學習是工具——電飯煲,那麼人工智慧就是白米飯。
有效AI應用的5個要素
所謂有效的AI應用,指至少可以替代人去做一件事情,比如下棋,打遊戲,或者安全防護。對此,我們總結了產生一個有效的AI應用的5個要素:
清晰的問題邊界
我們對下圍棋可以定義一個數位化的目標,即數子或數目的勝負。而如果定義的目標是下得有藝術,那就不是一個清晰的問題邊界,因為這些是主觀化的定義。
持續的外部回饋
此外,也需要持續的外部回饋。只給一張棋譜是無法讓機器自動下棋的,需要持續的外部或者內部的系統產生回饋信號。AlphaGo自我對弈的功能,就是持續地產生內部回饋。
足夠多的資料
如果只有回饋信號,沒有特徵,也是不可。
舉例來說,用AI技術識別欺詐交易,那麼交易相關主體的屬性,例如人的性別、年齡、居住地址就特別重要,否則,如果我們只知道某天某個卡,交易了多少錢,那麼這些資料是不夠的——因為這種情況下得到的只有回饋信號,沒有特徵。
頂尖的AI科學家,強大的計算資源和計算系統
培養一個成功的AI科學家要6年到10年的時間,但同時帶來的價值也特別大,但今天世界上頂尖的AI科學家,其實並不多,因為作為一個頂尖的AI科學家,也要橫跨很多很多不同的領域。
以銀行為例,AI可以做什麼?
下面我們通過銀行的交易反欺詐來講一下,AI可以做到的事,究竟是什麼。
信用卡盜刷、電信詐騙等這種事情都是典型的欺詐交易。根據相關報告調查,中國是信用卡欺詐以及銀行卡欺詐發生最為嚴重的地區,並且欺詐手段越來越多元化。應該這麼說:這個世界上最聰明的腦袋,一部分在做壞事,另外一部分在防止做壞事。
銀行解決欺詐問題的主要方法
過去銀行解決欺詐問題有4個主要的方法,比較直觀的方法有:法規政策、資訊安全技術,例如借助token等通過防守和法律的方式來解決問題。
另外兩個相對智慧:一是專家規則,二是模型。
專家規則
當前而言,國際上做反欺詐做得最好的廠商有100多名專家,每年投入數千萬美元的研發成本來維護專家的規則。這些規則少則幾千條,多則上萬條:比如同一張卡短時間在兩個城市交易首次取現密碼錯誤等。通過規則來防守,其有效性是毋庸置疑的,但同時也存在著缺點:
一方面,這種方法比較依賴于專家的主觀性。專家行業積累越深,越有經驗,但是面向較新的技術時,並不一定能夠應付。
另一方面,規則需要持續維護,以便應對犯罪分子的變化。比如,規則設定為“交易八千元以上要進行審核”,或者“某個年齡點以上要進行審核”等,這時犯罪分子會通過試探來找到規則的邊界,從而實行欺詐,比如正好盜刷7999元。
最後一點是,多種規則之間存在排斥關係,規則A能解決一個問題,但解決不了另外一個問題。
值得一提的是,傳統上也有基於神經網路的模型的解決方案,然而這種神經網路是指原先基於反向傳播技術的淺層神經網路,由於其結構較為簡單,導致資料利用不充分,所以多數情況下也無法提供足夠多的效果。
高維模型技術全量建模
在反欺詐技術上我們和銀行的合作,首先做的是把以前在互聯網企業做的高維模型技術移植過來,然後用全量的歷史交易取代採樣的歷史交易——利用幾百G,甚至上T的資料來做基礎建模工作。
比如,通過使用持卡人的屬性、商務資訊、交易通道等特徵,進而衍生出一定的二階特徵。舉例來說,持卡人的屬性,組合上商戶的屬性——即什麼樣的人在什麼樣的店裡,是否發生異常的行為,比如一個宅男,突然到了一個奢侈品店裡高額消費,那就有可能是盜刷行為。
根據經驗,越多的特徵和越多特徵組合可以更好地刻畫客觀的規律,但由於人的想像空間有限,在挖掘二階特徵之後,對於三階特徵、四階特徵便出現了瓶頸。
這個時候,我們就引入了一個新的技術——特徵的自動組合和探索。依靠這個技術,我們把特徵的最高階數做到了五階甚至六階,然後把特徵的維度——模型可以覆蓋的情況的數量,做到了數以十億計。基於這樣的高階特徵,機器可以快速地學出各規則,防範欺詐。
如果一個犯罪分子欺詐成功了,銀行就要賠付損失,每個月至少增加千萬級別的支出。而技術就在這個新的場景中發揮出效益,這個是商業的價值。
技術分析
高維度的大規模機器學習
下面我們從技術的角度上來分析,究竟是什麼技術使得業務的提升成為可能。
VC維是衡量模型智慧水準的關鍵
首先,是高維度的大規模機器學習。對於用AI解決業務問題
整體上來說,主要是考慮用VC維的概念。
VC維度是什麼?學術一點來說是“Vapnik-Chervonenkis Dimension”,一個由Vapnik和Chervonenkis於1960年代至1990年代建立的統計學習理論,它反映了函數集的學習能力——VC維越大則模型或函數越複雜,學習能力就越強。
大腦的維度大概就是大腦腦細胞的個數,所以可以把VC維度理解為腦細胞維度。而機器的維度也需要更多的腦細胞,才能更聰明,才能學習更多的知識。機器的誤差隨著模型維度的提升而降低。
此外還有奧卡姆剃刀原理——如無必要,勿增資料。但是這個理論其實是二三十年之前才是正確的理論,今時不同往日的是,今天的手機和那個年代的超級電腦差不多,今天整個互聯網一秒鐘累積的資料也許就已經可以達到過去一年所累積的資料水準。因此,今天我們有更大的資料,也要有更大的利用資料的方式。
所以衡量一個模型的智慧水準,就是VC維越高越好。過去因為沒有足夠的資料,所以無法做高。第四范式創始人戴文淵說過:“人做事情是越簡單越好,機器做事情是越複雜越好。因為機器既不知疲倦,而且做重複性工作的戰鬥力特別強。”因此,從技術來角度來講,我們就要把維度提高。
高維度大規模機器學習需要有演算法框架的支援
維度提升之後,緊接著的問題是:高維度的大規模機器學習需要有演算法框架的支援。
原來的系統中,無論是數的演算法,還是回歸演算法或者神經網路演算法,一旦層數或者並行變數的數量增加以後,運行會變得極其緩慢。如今深度神經網路的進步,也得益于英偉達的GPU。
因為演算法的效果是最終價值的關鍵,所以這個方面必須要達到最極致的優化,針對這個問題,市場上有一些開源的框架。而我們自己開發了一個框架,叫GDBT,即通用的分散式框架。
通用型分散式框架的特點,首先體現在記憶體全分散式,也支援用硬碟的方式來訓練;另外具有較好的擴展性,傳統中比如Spark或者SparkSQL,其實可以做到資料的並行,但是做不到模型並行;最後也是最重要的一點:快。
在資料橫向擴展快速的演算法,以及維度提升的結合下,這個分散式架構可以將以前兩個小時訓練完一千維的效率,提高到現在兩個小時訓練完1000萬維的速度。
需要有大規模的資料處理能力
大資料本身需要大規模的資料處理能力,因為在模型訓練之前,還需要做複雜的特徵工程。這一點來講,我們用spark,加上一些自主開發的特徵訓練演算法,並且在spark介面上開發一些彙總函式,以此使得單位的時間內可以處理更大輸送量的資料,説明有限的計算資源獲得更好的效果。
線上預估服務
高性能
反欺詐中,通過模型提升5到6倍的效果,才完成了整個工作的30%。另外的70%,就是把該技術用到生產上。用到生產上就要有高性能。
銀行業和互聯網行業很不一樣。互聯網行業,比如在百度搜索,一天的搜索請求普遍超過十億,甚至20億次,而銀行業的交易資料,即便在當前的互聯網支付時代,也沒有那麼多,但其特點是,會要求比如在二十毫秒之內把整個流程處理完,並且準確度保證在99.9%以上。也就是說,
穩定性是特別重要的問題。
而在高性能角度來講,我們做了如下幾件事情:
第一個是特徵庫,就是常說的即時變數計算。比如機器學習最後做出來的特徵集裡,包含歷史上“某個人曾經去過的5個地點”一類特徵,那麼就要線上上建立即時資料庫,以便讓機器能夠取到歷史上的5次甚至是更多——比如最多可能要取到1000條歷史行為資料。
第二個是模型庫。原先無論是數模型、線性模型都相對簡單,一兩千個變數甚至都可以在代碼檔裡直接去讀取 if else。
但如今,模型的維度上升至1000萬,甚至上億,十幾億,我們就要將其儲存於分散式的存儲。這當中也要用到很多技術,比如模型的特點是一次性地就把整個模型讀取進來;當然大家就想用hashtable
,在hashtable上也可以進行大量的資料結構優化,以便總體提升性能。
有了這種高性能的線上預估服務,我們才能滿足反欺詐一類極其苛刻的業務需求。
高可用
還有一點就是高可用。“高可用”實現起來有比較明確的做法,因為銀行也是基於交易,所以有自動切換,或者說分片、副本等的技術。
利用Master-Agent結構,它可以自動完成高可用的機制,不需要再手動寫代碼。從中我們可以看到,離線的資料模型發佈到模型倉庫後,可以線上地把模型拉上來,包括分片,以及記憶體的資料庫。
產品化,複製AI研發能力
技術問題解決之後,我們又面臨一個很大的問題是:複製。下面是我們這兩年內在各個領域裡面的嘗試和實踐:
到底需要多少人才能完成如此多的業務?其實我們用的人很少,特別是資料科學家。我們有一些特別的做法可以增強人的能力,降低其他人的進入門檻——我們把它叫做產品化。
產品化最核心的思路是:把A的能力固化下來,讓它被更廣泛的人群所用。一開始A能做的事情,我們想辦法讓B也能做;B有可能是比較擅長業務,但是不一定擅長深入的技術。
另外一個產品化的訴求和目標是,讓這個能力用起來更舒服。
先知的組成部分
產品化的基礎下,我們可以調整機器學習科學家的工作,讓整個過程形成指數級的放大關係。第四範式產品化的平臺叫做“先知”,有3個組成部分:
第一個叫調研平臺,調研平臺是一個純粹向下的過程,可以認為是做一個建模的過程。因為我們要用AI去預測一個業務,就要做一個模型,包括剛剛講的反欺詐模型。
第二個過程是自學習平臺。反欺詐模型每天都會有新的資料、新的欺詐場景回饋回來,這些新的欺詐場景和內容在打上資料的標記後,我們需要更新模型。更新模型就用歷史的資料再訓練一遍。所以自學習平臺就是,如果能夠做一套系統,每天用調研人員做出來的套路,固定地把資料變成新的模型參數檔。
最後是預估平臺。我們已經有了一個模型,預估平臺要解決兩個問題:用什麼資料去預估,因為資料線上上和線下可能並不一致,要做大量的轉換;第二是是資料進來以後,如何把資料轉化成一個分數。
自動機器學習
裡面的技術難點在哪裡呢?第一是自動機器學習。在這樣一個介面中,如何保證最終模型的效果?
正常來講,一個非機器學習或者人工智慧資料採擷專業博士的人,並不懂那些理論,但是上圖中的結構是可以做出來。如何做得比別人好?其中包含以下幾項技術:
第一是自動調參。從技術上來講,第一個部分就是我們如何能在盡可能少的反覆運算次數之下獲得一個較優的解,這是成本和收益的關係。
第二是自動特徵工程。什麼樣的演算法相對能夠更多地代替人的工作?反欺詐中,傳統的方式上,我們需要分別對使用者和商戶刻畫畫像,這已經是兩個模型。假如有了高適應性的演算法,對於既可以用線性資料也可以用離散資料的情況,就用連續值和離散值同時訓練的演算法,降低門檻。
第三是高適應性演算法,比如線性分型、嵌入式的高維模型。
第四是性能的優化和實際性能參數。自動調參和自動特徵工程,本質上是一個搜索的過程。但我們不能窮舉,所以需要智慧的演算法,研究如何能盡可能地減少次數。
預估服務自動構建
我們現在給客戶提供服務,只要建模人員建出來的模型,上線過程在web上面一鍵就可以點出來,這個事情是如何做到的呢?
線上線下有一致性
線上線下的一致性是指,線下怎麼處理一個欄位,線上就要怎麼一起取;線下用什麼樣的演算法訓練,線上就要用什麼樣的演算法預估。這個一致性是通過對代碼進行控制的。
線上自動即時拼表
即特徵預處理和轉換過程的線上版本自動生成。舉例來說,線下要統計過去一個月的最高消費數值,是可以用一個circle解決,但由於線上的資料是不停積累的,我們就需要一個自動轉換的線上版本,簡稱線上自動即時拼表。
自動發佈
正在提供服務的模型,怎麼能夠一鍵無縫替換模型?怎麼做訪問請求遷移?還有一點是發佈。現在發佈的每個單元,其實要放在容器裡才能做到資源和運行環境的隔離。
基於運算元的自學習架構
自學習的架構來講,分成3個部分:
資料的自動引入。
整個訓練過程的知識增量學習——因為一方面是學習代價的問題,另外一方面其實還有很多模型是要求有穩定性。
調度機制,比如如何產生新的模型,如何判斷新的模型。
所以還需要一個架構,就是電腦和自學架構。
這張圖是調研平臺、自學習平臺、預估平臺的整個生命週期流程,先知平臺必須要做到全生命週期才能真正給人像擁有鋼鐵俠能力的一種裝備。基於這整個系統的外延的完整邊界,我們就可以在上面產生基於AI的應用,並且能夠盡可能地降低成本。成本降低了,無論是速度還是效率都能夠得到提升。
對於先知平臺的演示,請看視頻(大概在40:00開始):
雷鋒網公開課視頻實錄