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