深科普:走近EasyDL
文/當下君
圖片/來源網絡
本文是《深科普:認識飛槳》的姊妹篇。上次的《認識飛槳》發(fā)表后,引發(fā)了較好的反響,甚至有出版社邀請當下君寫一本關于深度學習的科普著作。
而當下君的想法是,《認識飛槳》只是AI“深科普”系列的第一篇,接下來將推出若干篇,每篇文章說一個方面,單篇大概5000字為限。把深度學習技術及其產業(yè)應用進行深入淺出的解讀,解讀到幾乎每個讀者都能理解的程度。
從長遠來看,這樣的科普工作和飛槳深度學習平臺的發(fā)展是并行和伴生的,也只有如此,才能讓更多人真正能認識深度學習、直接運用飛槳去解決問題。
本文的主角叫EasyDL,它是飛槳全景圖里企業(yè)版中的零門檻AI開發(fā)平臺。它的作用就是讓沒有AI開發(fā)經驗的人(并不僅僅是程序員),都可以便捷的使用這個平臺開發(fā)出自己需要的AI應用。
是的,沒有看錯,網上的那些“小學生開發(fā)出AI模型”的神奇案例,基本上都是EasyDL的功勞。
不過,EasyDL的作用可不是一個“少兒AI興趣培養(yǎng)工具”,它真正的價值在于讓千行百業(yè)的非專業(yè)人士都能零門檻應用AI。
沒錯,讀完這篇文章,你立即就可以動手嘗試了。
1
什么是低代碼/零代碼開發(fā)?
東瀕大西洋、大部地區(qū)丘崗起伏的美國馬薩諸塞州,是美國獨立時最初13州之一。世界學府哈佛大學和麻省理工學院都位于該州,而著名的全球性獨立研究、數據和咨詢服務公司Forrester,也發(fā)源于此。
所謂的低代碼/零代碼開發(fā)平臺(Low-Code Development Platform)的概念,就是由Forrester正式提出的。
上世紀80年代,編程語言進入到第四代,也就是“結構化語言”。在這些語言中,最小的單位不再是“代碼“,而是封裝好的“代碼塊”,當編程人員要系統(tǒng)實現某個功能時,只需發(fā)出指令,計算機就知道要運行對應的封裝好的代碼。
△組裝“代碼塊”
因為作者是個吃貨,所以在這里用吃舉個例子(話說,用吃來舉例是本系列文的一大特點)。比如,你如果按傳統(tǒng)菜譜來準備做一道“紅燒肉”,那么你就需要臨時調制由醬油、醋、糖等勾兌的“醬汁”來給菜肴“定味”??杉t燒肉又是沒點手藝做不出來的菜,很容易把糖燒焦。而所謂結構化語言,就是超市里出售的已經勾兌好的“紅燒肉調味料”,免去了你調制的過程,做菜的時候兌水直接倒進鍋里就可以,還保證色香味俱全。
而到了2000年,VPL(可視化編程語言)出現了,它的特點是,在前述的“結構化語言”的基礎上,把編程的過程用視覺可見的方式呈現,例如圖標、表格、圖表等形態(tài)。
可以說,結構化是低代碼實現的前提,可視化是低代碼外化的界面。
在這兩種追求的相互作用下,又隨著SaaS等軟件的興起,Forrester敏銳的發(fā)現——軟件的開發(fā)過程中,有大量的時間成本都浪費在重復的功能編程上,于是,該機構在2014年首次提出低代碼和零代碼的概念——只需用很少甚至幾乎不需要代碼就可以快速開發(fā)出系統(tǒng),并可以將其快速配置和部署的一種技術和工具。
看上去這是一個為“懶人”準備的技術,其實,它極大的降低的不僅僅是開發(fā)的時間,還因為可視化降低了不同需求方之間溝通的成本,所以一經問世就大紅特紅——2021年初,海外研究機構Infolob表示,預計到2022年,低代碼應用程序市場總規(guī)模達212億美元;Gartner則預測,到2024年,應用軟件開發(fā)活動中,65%將通過低代碼方式完成。
在所有的編程工作中,為人工智能(AI)編寫模型是一項難度極高的工作,因此,實現低代碼化對于AI開發(fā)的意義并不止于降低成本,更大的意義在于迅速的讓許多沒有AI開發(fā)能力的技術人員、甚至是非技術人員能夠開發(fā)AI模型,迅速推廣AI的應用。
然而,給AI準備低代碼開發(fā)可不僅僅像普通編程那么簡單,AI的模型設計需要選擇模型、超參數調整、訓練、部署,還需要調度“云、管、邊、端”各方資源,還要兼顧語音、圖像等異構數據的處理交互,還要適應不同的部署條件,可想而知,AI的低代碼化的開發(fā)難度之大。
如果說普通編程的低代碼化是讓你用半成品炒出一道紅燒肉,那AI的低代碼化就如同讓你用半成品做出一道“佛跳墻”——在同等的操作難度下,AI的低代碼化對后臺的要求更高。
但這擋不住人們追求讓AI應用開發(fā)加速進入產業(yè)界的決心,2013年低代碼工具AutoWEKA發(fā)布,2014年的ICML(國際機器學習大會)開始舉行AutoML研討會(AutoML是自動機器學習的縮寫,后文的AutoDL,即自動深度學習)研討會,AutoML成為學術界的研究熱點之一;2018年,谷歌將AutoML的概念產品化,引發(fā)產業(yè)界的全面關注。
然而,就在谷歌發(fā)布這一產品的前幾個月,大洋彼岸的北京,百度于2017年11月發(fā)布了EasyDL,百度也因此成為國內乃至全球最早推出零門檻深度學習開發(fā)平臺的公司。
2
用AI創(chuàng)造AI的飛槳“精華版”
今年的博鰲亞洲論壇2021年年會分論壇上,百度CTO王海峰分享了一個重要觀點:“當前人工智能已經開始影響各行各業(yè),我們不可能要求每個行業(yè)都有足夠多的精通深度學習底層算法的專家,比如飛槳深度學習平臺目前已經有260多萬名開發(fā)者,這些開發(fā)者不需要每個人都從第一行人工智能的算法代碼開始寫起,而是直接調用這些框架”。
這里,王海峰說的是飛槳,也包括飛槳企業(yè)版EasyDL。
我們說過,一切深度學習框架的共性,都是為了降低開發(fā)的門檻,不需要開發(fā)者從復雜的神經網絡開始編代碼。
還是那個熟悉的例子——如果直接編寫模型的高階AI大師是用畫筆描摹世界的畫家,那用深度學習框架開發(fā)模型的就是高明的Photoshop達人,而EasyDL的用戶,就是用美圖秀秀卻也能做出不俗效果,且操作極度簡便的普通人。
某種意義上說,EasyDL其實可以看做是飛槳的“精華版”,它和飛槳有千絲萬縷的聯(lián)系。它的模型庫,內置的模型是從飛槳的模型庫中精選出來的;它的訓練和推理過程,也是來自飛槳經驗的升華;而EasyDL的底層,結合的是飛槳自研的AutoDL/AutoML技術,基于少量數據就能獲得出色效果和性能的模型。
但是,各位看官,EasyDL絕不簡單的等于精簡版、自動化版的飛槳,否則此文就沒有寫作的必要了,這是因為AutoDL理念的工程化,實在是一個難度很高的工作。
EasyDL絕不是把模型開發(fā)的幾個過程整合在一起,然后提供一些選項讓開發(fā)者打幾個勾那么簡單,雖然從外在形式上來說,這么描述也沒大錯,但背后的工程化難度之高,是難以想象的。
簡單的說,EasyDL(以及各類的AutoML/DL)的共同理念,就是“用AI技術來幫助人們設計AI”,換句話說,開發(fā)一個AI模型的流程中,涉及的數據處理、特征提取、模型選擇、參數調節(jié)、訓練部署等環(huán)節(jié),都利用AI能力才實現了高度的自動化,這才達到了使得EasyDL在構建深度學習模型的過程中,在很少人工干預的情況下,即可簡單的被應用。
而且,簡單不等于簡陋,按照谷歌CEO的說法,谷歌AutoML創(chuàng)造模型的水準,至少相當于一個AI專業(yè)博士生的水平,而從某種意義上來說,EasyDL還要勝過于谷歌版的AutoML,因為EasyDL設計模型的水平,就像高級工程師,這個且在后面講。
當我們打開EasyDL的界面時,的確給人的感覺就是極度簡單,因為你所需要的模型分類已經非常詳盡的開列了:
△EasyDL上的模型類型
這后面的過程其實用幾句話就可以講完,在選擇模型后,系統(tǒng)會要求你上傳數據,過程不會比給一封電子郵件上傳附件更復雜;此后,通過Auto Augment(自動數據增強)、Auto Finetuner(自動超參搜索)、NAS(自動網絡架構搜索)等自動化建模技術,進行模型自動調優(yōu),大大降低模型調優(yōu)的成本,一個新的模型就呼之欲出了。
EasyDL的價值,就在于用AI支持了整個流程的運轉,使之可以高度實用化。
我們看幾個關鍵點,比如數據是一切模型的基石,但數據的標注和清洗,是一個成本很高的工作,甚至還誕生了數據標注師這樣的一個職業(yè)。
因此,EasyDL發(fā)布了EasyData智能數據服務平臺,提供一站式的數據采集、數據清洗、數據標注、數據回流的完整解決方案,助力開發(fā)者高效獲取AI開發(fā)所需的高質量數據。
也就是說,哪怕你的數據只是用普通手機拍攝的照片、或者用家用攝像頭在低照度下拍攝的一段視頻,就像一件臟兮兮且占滿油漬的衣服,扔進這臺自動的“洗衣機”里,最后輸出的結果簡直就像高級染燙店里精心干洗熨平過的一樣。
接下來可能還要說到的是“調參”,這是一個高難度、累死開發(fā)者的活兒,但也是模型打造的靈魂。
EasyDL實現的是自動調參,也就是說針對一個目標,自動調節(jié)超參數,這里的超參數包括batch_size、 learning_rate等等。
這后面的技術太深,也無需展開。簡單說,自動優(yōu)化涉及的是一個應用數學的問題——就拿最近比較火的貝葉斯優(yōu)化來說,所謂優(yōu)化,實際上就是數學中一個求極值的過程,貝葉斯優(yōu)化可通過一種名為「代理優(yōu)化(surrogate optimization)」的方法,通過有限的采樣數據點來解決這一問題。
可能看到這里你有點想撤退了,那我們講故事來調劑一下——
舉個例子,中國食品藥品檢定研究院希望做一個中草藥識別的AI開發(fā),這屬于典型的定制化需求,一般來說,需求定制化越高,客戶的標注數據就越有限,訓練數據成本就越高。
而EasyDL的價值就在于,幫助客戶通過較少的數據,快速獲得可用且準確率較高的模型。
這種情況下,從頭搭建模型不僅慢,也不符合客戶的實際情況, EasyDL就會使用“遷移學習”這個概念——大家都知道,百度APP的“拍照識別植物”的功能是非常強大的,那么,遷移學習就可以把百度已經有的植物識別模型遷移到中草藥識別當中去,把百度已經大規(guī)模標注的數據集用于預訓練,這樣就能把原本不可控的時間變成幾分鐘甚至更短,從而大大提高效率——事實證明,這個模型的準確率>97%、訓練耗時<10分鐘、單圖識別速度<50毫秒。
也許有人問,超高精度訓練效果僅僅是靠遷移學習么,也不盡然。應該說,主要是靠百度的AI技術積累和業(yè)務實踐, EasyDL里面的模型,是基于百度超大規(guī)模數據訓練的預訓練模型,包括超大規(guī)模視覺預訓練模型,文本預訓練模型文心ERNIE等等,這就相當于用國宴廚師的經驗來做一桌家常菜,屬于典型的把高維技術下放使用,你用到的每一個模型、甚至是參數,都是百度十年千億投資在AI上的技術外溢。
所以,EasyDL里的每一步,都充滿了智慧,讓AI創(chuàng)造AI,是EasyDL的靈魂。
也許你會問,相比于谷歌的AutoML,百度的EasyDL如何呢?這里我們不比一些細節(jié),而主要是看應用面——AutoML的特點是針對AI落地中的特定環(huán)節(jié),而EasyDL的特點是真正解決AI落地的全流程實際問題,基于EasyDL訓練完成的模型,可發(fā)布為公有云API、設備端 SDK、私有服務器部署、軟硬一體方案,靈活適配各種使用場景及運行環(huán)境。
也就是說,用戶無需關注模型轉換、適配加速、服務部署等細節(jié),就能獲得可直接運行、部署的鏡像及可進行二次開發(fā)的SDK。
可能實際的市場反饋才有說服力,根據IDC的數據,在機器學習平臺方面,百度EasyDL占比強勁增長,2020年再度登上市場份額首位。數據還顯示,EasyDL的用戶認知度最高,也是受訪者使用頻率最高的平臺。
3
我們?yōu)槭裁磻撚肊asyDL?
這個問題你也許會覺得奇怪,難道不是為了開發(fā)AI應用而使用EasyDL么?
答案還真的不是如此,當下君建議你,無論有沒有確切需求,都要用用EasyDL。
為什么這么說呢,有這么幾個理由:
第一,EasyDL可以讓每個人都零門檻的感受到AI的魅力。讓每個人都覺得AI不是遙不可及的,而是觸手可及、隨時可用的。
第二,EasyDL也許會讓你得到極大的驚喜。
比如你是一個大型企業(yè)的運營人員,這樣規(guī)模的企業(yè)早就實現了信息化甚至是數字化,服務器里積累的數據量,每2到3年時間就會成倍增長。
然而根據研究,雖然這些數據蘊含著巨大的商業(yè)價值,但企業(yè)所關注、能利用的通常只是占總數據量的2%~4%左右的顯性數據,遠遠談不上最大化地利用已存在的數據資源,而你完全可以利用這些龐大的數據,通過某種AI的形態(tài)進行數據的有效挖掘,最終可能會產生遠超出你預期的結果。
第三,EasyDL在解決實際問題方面,可以說已經大放異彩。限制你使用EasyDL的絕不是技術能力,而是你的想象力。
每次筆者去西藏、青海旅行的時候,都會得到再三的叮囑——這些地方有較高的寄生蟲感染風險,而且通常很不好治療。
微生物的世界是變換莫測的,說一個數據你可能不相信,根據臨床統(tǒng)計,一個從業(yè)了4年的專業(yè)醫(yī)生,對最常見的五種寄生蟲,用顯微鏡人工鏡檢的準確率,只有80%。
某種程度上,這是因為基層一線醫(yī)療單位,很少能有技術過硬的檢驗人員所導致的。
所以有個在西藏工作的普通醫(yī)生,可能是偶爾看了一次EasyDL的介紹,看到了AI在檢測醫(yī)學影像方面大放異彩的報道,他就想到,能不能用AI來識別寄生蟲的蟲卵呢?
于是他就借助EasyDL開發(fā)了一個很簡單的模型,而且手頭的數據也不多。但就是這樣,通過實際訓練對常見5種的寄生蟲卵的圖片的識別后,產生出的模型測試識別準確率97%以上,現在這個模型已經在西藏農牧地區(qū)開始試點。
EasyDL的用戶并不僅僅在中國,在美國紐約州、新澤西州、賓夕法尼亞州等七個州的160個超市收銀臺較高,面臨收銀員無法目測清楚購物車下層是否有未結算的商品的實際痛點。
然而,通過EasyDL訓練的模型的精度識別準確率95%以上,部署1600臺攝像頭設備拍攝的照片中,EasyDL模型不僅能準確分辨出是否有未結算商品,還能準確識別殘疾人購物車和兒童購物車,遠超之前靠傳感器判斷的準確率。
還記得前幾年引發(fā)風投領域震動的“無人貨架”大戰(zhàn)么?這次大戰(zhàn)的主要敗局,其實就是因為當時根本沒有一種實用程度可以進入商用領域的無人貨架方案——RFID方式成本太高、重量傳感方式不夠精確,而純視覺方案當時又不成熟。
通過對無人貨架大戰(zhàn)失敗經驗的總結,卓因達基于EasyDL開發(fā)了純視覺方案的無人藥柜,它們的數據比較豐富,120多種藥品對應著9000多張圖片,通過EasyDL中非常成熟的一個類目“物體檢測”,訓練出了藥品識別模型。由于數據質量較高,模型準確度近100%,僅需500ms即可獲得識別結果,進而可以實現C端自助選藥、掃碼購藥,24小時不間斷服務,隨時滿足用戶應急購藥需求。
如果這個技術在當年“無人貨架”大戰(zhàn)開始的時候就出現,完全可能開辟一個新的行業(yè)賽道,這也是百度信仰的——用科技讓復雜的世界更簡單。
其實,如果將EasyDL的案例鋪開,會發(fā)現非常非常的長,涉及我們生活的方方面面。
這讓我想到一個故事,有個日本富豪買下了馬斯克火箭公司的第一張繞月飛行船票,并贊助10位藝術家與自己同行。他的原話是:“過去的人類宇宙史里,只有科學家能上太空。我希望讓藝術家也能去看看太空,看看另一個曼妙的世界?!?/span>
EasyDL也有這樣的愿景和能力——讓AI開發(fā)不再是高級技術人員的專利,讓不會代碼的人也能嘗試用技術改變世界的力量。