贾扬清演讲实录:一个AI开发者的奇幻漂流
簡介:2021阿里靈杰AI工程化峰會,賈揚清深度解讀阿里靈杰大數(shù)據(jù)和AI一體化平臺。
演講人:賈揚清
演講主題:一個AI開發(fā)者的奇幻漂流
活動:2021阿里靈杰AI工程化峰會
對于絕大多數(shù)人來說,這一波AI浪潮興許是從深度學(xué)習(xí)開始的。
2011年谷歌發(fā)表的一篇文章講到,用16000個CPU和11個參數(shù)的連接來訓(xùn)練一個能夠識別貓的模型。
今天AI算法和應(yīng)用百花齊放,給我們帶來了非常多的夢想;而這幾年整個行業(yè)的起起伏伏,背后也有許多彎路和故事。今天我們已經(jīng)習(xí)慣了刷臉支付,但是似乎有一些更加高冷的夢想,比如像無人駕駛,都還只在路上。
我叫賈揚清,今天是一個消費網(wǎng)紅的年代,所以我們起了一個名字叫奇幻漂流。如果可以的話,我想把自己描述成一個AI老兵。在人工智能的上半場當(dāng)中,我們的體驗可能沒有那么奇幻,因為基本上我們就像拓荒者一樣,身兼多個角色,在嘗試著把AI 算法跟應(yīng)用能夠逐漸落地。
我們做過算法研究員,從AlexNet開始到ResNet ,到LSTM 到Transformer ,各種各樣的模型,我們都希望逐漸把它落地。
我們做過軟件工程師,從各種各樣的框架,像Torch、Theano、Caffe開始,到今天大家耳熟能詳?shù)腡ensorflow和Pytorch,我們相當(dāng)于在不斷重新設(shè)計一套又一套語言,讓我們能夠把算法高效地實現(xiàn)出來。
我們做過數(shù)據(jù)工程師,把圖片、語音、自然語言、用戶各種行為等數(shù)據(jù)做清洗做標(biāo)注,把它放在無論是磁盤還是數(shù)倉的各種地方,然后再輸入到各種算法當(dāng)中去來做應(yīng)用。
最后。我們也做過系統(tǒng)工程師,從GPU開始到各種各樣嵌入式的系統(tǒng)。我們搭了大大小小的系統(tǒng),讓我們這些模型能夠簡單更高效地跑起來。
當(dāng)然我們也在不斷地看應(yīng)用,搭一個webserver ,做一個open API,把上面訓(xùn)練出來的模型能夠?qū)嶋H的做成一個像刷臉,或者說hopefully 自動駕駛這樣的應(yīng)用。
但是我們就在想,老兵們遇到的挑戰(zhàn)是什么?今天事情越來越多,各種組件越來越復(fù)雜。我們會發(fā)現(xiàn),要把全鏈路問題都像以前這樣人拉肩扛地解掉會累死也不可能。今天AI的應(yīng)用已經(jīng)不是一個模型,一個算法那么的簡單。
回到技術(shù)的角度,數(shù)據(jù)、算法、模型、以及最重要的人,我們有了怎樣的一些變化?我們希望能夠做什么樣的進一步思考?我想從這幾個角度來比較過去和今天有什么樣的區(qū)別。
我們先說數(shù)據(jù),以前我們在做圖片存儲的時候,我們就把圖片都放到一個磁盤上面去。
會發(fā)現(xiàn)速度比較慢,于是我們又把它放到一個,比如說類似LevelDB數(shù)據(jù)庫上面,回過頭來看,我們會發(fā)現(xiàn)這些就是非常標(biāo)準(zhǔn)的KV數(shù)據(jù)庫。
在洞察用戶行為的時候,我們首先要從Hive的數(shù)倉里面做各種各樣的處理,把數(shù)據(jù)從Java的環(huán)境里搬出來。再到Python的環(huán)境里做訓(xùn)練,而這個訓(xùn)練底層的實現(xiàn)又是C++的,類似這樣的拉通,以及AI的模型標(biāo)準(zhǔn)等等,這一系列的問題都變得非常麻煩。
而在AI應(yīng)用當(dāng)中,怎么樣把數(shù)據(jù)回流下來,進一步地再做新的訓(xùn)練,這些數(shù)據(jù)鏈路的質(zhì)量都會決定了最終應(yīng)用的質(zhì)量。今天我們就會非常需要一個大數(shù)據(jù)和AI 一體化的平臺來解決數(shù)據(jù)的全生命周期當(dāng)中各種各樣的問題。
軟件就更是一個備受關(guān)注的領(lǐng)域。如果往回倒8年,我們經(jīng)常聽到“我的框架比你的快”這樣的比較。那么多年過去之后,今天為止我們依然看見有很多框架在走著老路,重新設(shè)計一套語言,重新設(shè)計一個開發(fā)環(huán)境等等。我覺得今天我們不需要來重復(fù)地造輪子。軟件,或者說框架,核心主要在于兩個,一個是往下如何來兼容各種各樣的硬件、不同的處理器、不同的新的芯片,另一個是往上如何實現(xiàn)更好的分布式開發(fā)。
尤其是當(dāng)超大規(guī)模的模型變得越來越受關(guān)注,往下我們需要有更加好地AI編譯環(huán)境,讓軟件和硬件更容易地迭代和開發(fā)。往上我們會需要有更好的系統(tǒng)和模型,或者說系統(tǒng)和算法工程師更好的相協(xié)同工作模式,讓我們構(gòu)建起分布式的模型以及規(guī)模化訓(xùn)練。在今天接下來的講座當(dāng)中,我們就會講到在AICompiler 以及在分布式框架Whale等等上面做的工作和思考。
當(dāng)有了數(shù)據(jù)和算法,我們怎么樣來找到最需要的AI模型?最簡單的方式是直接訓(xùn)練一個。但是圖片、語音、自然語言處理等等領(lǐng)域有太多的模型,我們不可能每一個都從零開始自己訓(xùn)練。學(xué)術(shù)界有一個Model Hub ,我們經(jīng)常可以在網(wǎng)上找到偏向?qū)W術(shù)的不同領(lǐng)域的模型。但這些實驗?zāi)P驮鯓硬渴?#xff0c;會是個難題。工業(yè)界我們能夠看到各種各樣的AI服務(wù),比如說像OCR 、語音識別等,但要把它們連接起來,好像又比較難。開發(fā)者自己也多多少少有一些自己的模型,我們怎么樣來自己部署一個模型,怎么樣實現(xiàn)所需要的彈性、穩(wěn)定性、免運維的能力,怎么樣把模型從非常大的訓(xùn)練結(jié)果到逐漸做量化、做蒸餾、做壓縮,到變成一個可以在不同平臺上部署的模型,這些都是我們在平臺層面需要解決的問題。
最后我們來說人的故事。我們以前在做代碼開發(fā)的時候,有GitHub等非常成熟的模式。AI要管的東西更多,有數(shù)據(jù)、有算法代碼、有模型、有計算資源、有訓(xùn)練跟推理的資源。怎么樣來讓一個開發(fā)平臺從以前的單機,到今天的多機多卡多個數(shù)據(jù)中心的情況下,依然能夠高效地管理調(diào)度這些資源。今天后面會跟大家講到,我們在AIdesigner 或者說AI 工作空間上的思考,用一個統(tǒng)一的空間來拉通我們的算法迭代,數(shù)據(jù)管理、模型訓(xùn)練和最后模型上線。
AI 的痛苦在于本質(zhì)上今天AI還沒有范式。AI 不是一個產(chǎn)品,這句話有兩層含義,一方面它不光是一個單點的產(chǎn)品,而是一系列能力的組合;AI 今天非常強烈地需要標(biāo)準(zhǔn)軟件和定制化服務(wù)的協(xié)同。
我們在云棲大會推出的阿里靈杰就是這樣的一個大數(shù)據(jù)和AI一體化的產(chǎn)品體系。為什么要推出靈杰呢?我們非常強烈地意識到,我們需要把軟件、定制化服務(wù)、以及開發(fā)者效率都結(jié)合起來。靈杰做的一件事情是,它將可以標(biāo)準(zhǔn)化的部分標(biāo)準(zhǔn)化,將沒法標(biāo)準(zhǔn)化的部分用一系列工具和組件的方式提供出來,讓開發(fā)者在定制上層服務(wù)的時候,能夠更加便捷易用。
我們可以把靈杰理解為四層產(chǎn)品的有機組合。它的最底層是基于云基礎(chǔ)設(shè)施,比如像計算、存儲、網(wǎng)絡(luò)等等這一些我們耳熟能詳?shù)幕A(chǔ)產(chǎn)品。和以前不同的是,我們并不需要思考,從資源視角怎么樣搭一個集群、加一堆GPU、或者裝一個硬盤。今天我們可以從需求視角來考慮,需要多大存儲、怎樣的異構(gòu)計算、怎樣通過云原生容器化等等方式把資源簡單地鏈接起來。這是最底層基礎(chǔ)設(shè)施給我們提供的簡單化、便捷化的能力。
在上面是大數(shù)據(jù)和AI一體化的平臺。我覺得它是靈杰的核心部分。首先它給我們提供了大數(shù)據(jù)跟AI結(jié)合的能力。比如MaxCompute平臺已經(jīng)可以調(diào)用10萬臺集群來支持2000萬張表跟千萬級任務(wù)調(diào)度,它的Serverless模式代表著我們可以在非常小的,例如一張表、一個數(shù)據(jù)集、一個GB、一個任務(wù)開始就用零公攤成本來使用幾乎無限的彈性。
和大家分享一個數(shù)字。過去我們經(jīng)常有一個感覺,覺得大數(shù)據(jù)和AI是分開的。當(dāng)我們在看阿里集團內(nèi)自己的應(yīng)用情況時,在大數(shù)據(jù)平臺上,有超過30%的數(shù)據(jù)計算都已經(jīng)應(yīng)用于AI模型訓(xùn)練,這里都還沒有計入AI推理這塊。通過AI ?Compiler和Whale軟件框架,我們今天也在進一步提升AI計算效率。?當(dāng)然平臺的另一個重點是提升開發(fā)效率。在今天后面的分享中,我們會向大家介紹在大數(shù)據(jù)和AI一體化的平臺上,如何用AI 工作空間這樣的輕量化平臺,以及PAI-DSW、PAI-DLC、PAI-EAS等組件來打通數(shù)據(jù)、訓(xùn)練、資源管理、推理和服務(wù)等等這一系列挑戰(zhàn)。?工程平臺最終目的是為了實現(xiàn)算法創(chuàng)新。想象一下8年前我們要做一個AI應(yīng)用的時候應(yīng)該怎么辦?基本上就是我們自己去搜集數(shù)據(jù),然后訓(xùn)練一個模型,再非常痛苦地把這個模型在自己手工搭建Web Server里面透出出來。還要時刻擔(dān)心,如果沒有人來訪問這個模型,是不是資源就浪費了,如果太多人來訪問,是不是服務(wù)穩(wěn)定性又會打折扣。?
今天很多AI能力,比如說像OCR、語音、自然語言處理等等,都已經(jīng)是標(biāo)準(zhǔn)化開箱即用的狀態(tài)了。因此阿里云的工程師和達摩院的算法同學(xué)們合作,在10多種場景下的開放服務(wù)層,提供了上百種標(biāo)準(zhǔn)化的算法模型和服務(wù),來解決AI落地應(yīng)用最后一公里的問題。無論是OCR、語音、還是文本的理解,我們希望能夠通過一個標(biāo)準(zhǔn)的模式來實現(xiàn)AI 模型的開通、接入和使用流程,就像下載和使用一個APP那么簡單。?在靈杰之上我們搭建了非常多應(yīng)用,今天大家可能都經(jīng)常聽見,像城市大腦、醫(yī)療大腦等等這樣的概念。今天后面分享當(dāng)中,我們想跟大家分享在互聯(lián)網(wǎng)領(lǐng)域一個非常典型的應(yīng)用,就是像在電商這類業(yè)務(wù)中,如何實現(xiàn)更高效地增長。它的本質(zhì)就是怎么樣把用戶和他們所感興趣的內(nèi)容結(jié)合起來,最終達到用戶體驗和商業(yè)結(jié)果雙贏的局面,后面的分享會有更細節(jié)地呈現(xiàn)。?總結(jié)一下,8年前我們說能夠訓(xùn)練一個圖像識別模型然后搭一個小的demo,就已經(jīng)是一個頂級的AI開發(fā)者了。今天我們所面對的需求是將AI 的數(shù)據(jù)、算法和場景結(jié)合起來,去構(gòu)建一個完整而且更加復(fù)雜的解決方案,來解決各行各業(yè)當(dāng)中的實際問題。?從開發(fā)的角度來說,從我們想寫第一行代碼開始,到寫下第一個AI模型需要多久?從應(yīng)用的角度來說,從我們看到一個需求到prototype上線和服務(wù)需要多久??這是我們今天一直在考慮的問題。阿里靈杰解決這個問題的思路,就是讓不同的開發(fā)者們都能夠按需取用、開箱即用。從最底層的基礎(chǔ)產(chǎn)品,到中間的開發(fā)平臺,到上層的開放服務(wù),來幫助各行各業(yè)的科學(xué)家們和開發(fā)者們在云上一起畫出人工智能增長的第二曲線。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的贾扬清演讲实录:一个AI开发者的奇幻漂流的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云服务网格ASM集成SLS告警
- 下一篇: Inclavare Containers