在六十年的發展史中,AI歷經沉浮與枯榮。面對早期“機器學習在80%的時間里解決80%的問題,但不知道哪個80%的時間解決了哪些80%的問題”的挑戰,到如今AI標準化、普惠化得到長足的發展,在《新程序員004》中,我們邀請到阿里巴巴副總裁賈揚清立足于自身,從AI框架、模型與算法算力、工程化、開源、以及開發者所需具備的特質等方面,分享將AI算法和應用規?;涞剡^程中的心路歷程與方法。
對話|唐小引 作者| 屠敏
受訪嘉賓| 賈揚清
出品 | 《新程序員》編輯部
人工智能的變革,不僅引領了新數字化時代的思想潮流,也影響著成千上萬程序員的技術人生,這其中也包含了現任阿里巴巴副總裁、阿里云計算平臺事業部高級研究員、達摩院AI平臺負責人的賈揚清。
賈揚清不認為自己是一個高智商的人,只是因為興趣使然。他沒覺得自己是一個勤快的人,但是該干的活一定會干?,F在的他也不太想提及過去的種種成就,所謂君子素其位而行,不愿乎其外,也因凡是過往,皆為序章,對于他而言,更想把生命浪費在有意思的事情上,譬如探索人工智能大模型落地、人工智能如何工程化等問題。
因此,當打開互聯網時,賈揚清的身影若隱若現。對于其個人,媒體對他的報道更多的是停留于2019年的3月19日。因為在這一天,賈揚清的身份中除了主流深度學習框架Caffe的作者、TensorFlow聯合創始人之一、PyTorch 1.0的合作領導者、ONNX(Open Neural Network Exchange)的創始人之外,新增了一個阿里巴巴技術副總裁。短短兩年間,賈揚清交出了他繼Caffe、TensorFlow的再一創新成果——用4S標準帶領團隊鍛造大數據+AI產品體系阿里靈杰,開源推動AI工程化落地,助力AI成為產業數字升級的利器。
本文節選自《新程序員004》紙刊+電子刊同步上市
從自動化到AI,賈揚清的堅持與見解
正如外界所熟知的一樣,賈揚清并不是純粹的計算機專業出身。2015年,《程序員》(《新程序員》前身)初遇在谷歌埋頭搞AI的賈揚清,當談及與AI深度學習結緣的故事時,這位在本科和研究生階段專攻自動化的清華學子,曾調侃道,自動化主要做兩件事,一件是燒鍋爐的,一件是開電梯的。
于是,他在研究生畢業之后,決定奔赴加州大學伯克利分校攻讀自己原本就更為喜歡的計算機,拿下了博士學位。
在此期間,他在研究一個題為“人類在個人成長過程中是如何形成類別這樣概念”的心理學課題時,受Alex Krizhevsky在ImageNet獲得成功的啟發,研發了一個較為完整的深度學習框架Caffe,研發的理由也如理工男日常那么幽默,“我寫Caffe的原因是因為我不想寫畢業論文”。
以此為引,賈揚清在深度學習、神經網絡、大規模訓練等技術加持的人工智能道路上越走越深,并對這個領域有了自己不同的見解與思考。
賈揚清
《新程序員》:近兩年,很多從業者表示人工智能在理論研究上沒有重大的突破,并且不少人工智能科學家在從科研進入了產業界后,再次選擇回歸學術界。這種現象下,人工智能是否會再進入下一寒冬?
賈揚清:我覺得“寒冬”一詞可能用不上。今天的人工智能更像是經歷了酷暑后回歸到了正常的溫度。當前無論是在互聯網行業,還是傳統行業,大家用更加智能化的算法來解決以前的問題,已經是常態化。在回歸正常溫度之后,大家能夠真正靜下心來扎扎實實地做一些事情。AI技術永遠是從理論研究突破而后規?;侀_的過程,當前它的理論與實踐已實現兩條腿走路的狀態。AI的起伏本質上是業界普通吃瓜群眾的視角所得出的結論,大家或許看到了曾經不少頭部增長較為迅速的企業現腳步放緩,就誤以為是AI的寒冬期已至,其實這件事本身與人工智能產業本身的關系并不大。
《新程序員》:現在很多高校乃至中小學紛紛開設人工智能專業或課程,您如何看待這種現象?
賈揚清:我認為從學生年代就可以接觸到更加前沿的技術是一件好事?;叵胧暌郧?,卡內基梅隆大學就已經設置了Machine Learning Department系。不過,這種現象或帶來一些短期不可見的缺點,有催熟以及導致很多人渾水摸魚的可能性。不過,我們相信市場經濟本身就具備自我調節的機制,會逐步過濾掉一些沒有用的事情,因此,這些缺點也無須擔心。
大模型趨勢下,阿里巴巴AI工程化實踐
《新程序員》:更大算力、更大數據集的大模型研發似乎已成一種趨勢?,F在很多從業者已經不會特別關注模型的設計細節,我們該如何平衡AI模型精細和規模之間的關系?
賈揚清:我認為這種現象非常典型,也曾在計算機視覺領域中出現過。以2012年參加ImageNet大規模視覺識別挑戰賽中大獲成功的卷積神經網絡AlexNet為例,該模型的總參數數量為6000萬。它的崛起讓不少AI從業人員產生一個比較簡單的想法,即模型越大越深或模型參數越多,效果就越好。
但是到了2014年,基于Inception模塊的深度神經網絡模型GoogLeNet在具備600萬模型參數基礎上也能達到同樣甚至更好的效果。因此,在超大模型領域,很多人為了追求推廣效果,營造出參數規模越大模擬效果越好的現象。隨著時間推移,當用戶對模型規模審美疲勞之后,會發現模型的結構以及模型的可解釋性等細節問題變得更加重要。
不過,這一現象也是科研領域技術迭代很典型的發展過程,即爆火的技術吸引無數人蜂擁而至,而當大家發現此方向過于片面之后又會重回原來的位置。這也并不意味著追求大模型是一件壞事,因為模型越大,對底層支撐的模型算法也會提出更高的要求,同樣有助于推動系統上很多創新的誕生。
《新程序員》:一直以來,AI開發者視模型轉換是一件很麻煩的事情,你認為ONNX是否有可能成為行業規范,以此減輕模型轉換的工作?
賈揚清:這是一個挺有意思的問題,起初在設計ONNX時,我們希望它能夠在各框架、軟件與硬件服務商之間作為一種標準,讓開發者更好地實現模型打通。
經過多年的實踐,我們發現模型在不斷地變化,如BERT、GPT-3等模型不斷涌現,這些模型會和設計該模型的框架緊密地耦合在一起,比如現在大規模分布式模型很多都是在TensorFlow的基礎上實現的。因此,在最新的應用領域中,模型轉換還沒有成為一個核心的問題,不存在要把TensorFlow的模型轉換成其他使用框架的需求。
本質上,ONNX對現有的一些典型的標準模型起作用,比如為計算機視覺很好地提供了一個硬件服務商來更好地切入到這個領域的機會。在價值鏈上,我認為ONNX并不是在支撐著最新的模型轉換,而是在模型標準化了之后讓其普及變得更加迅速。因此,我覺得ONNX會長期地存在并且成為行業中一個標準,但它并不會覆蓋整個行業,因為新的研究永遠都會處于一種相對零散以及并不需要標準的狀態。
《新程序員》:2021年阿里云棲大會上,阿里靈杰正式發布,你也談到AI工程化的本質就是包括了云原生化、規?;蜆藴势栈莼?,這會給AI開發者帶來怎樣的變化?
賈揚清:作為一款讓企業及開發者“開箱即用”的平臺,阿里靈杰集成了阿里大數據+AI能力,更遵循了以“大模型(Scale)、高效率(Speed)、易用性(Simplicity)、場景化(Scenario)”為核心的4S標準。
Scale:靈活擴縮的大數據、大模型、大應用。因為云基礎設施的存在,無論是AI訓練還是模型訓練都開始變得越來越容易。通過云原生的方式,借助如阿里的Max Compute平臺,開發者可以用零啟動成本來使用近乎無限的彈性,也讓算力不再成為AI發展中的瓶頸。
Speed:極致的運行、開發、運維效率?!叭绾瓮ㄟ^云原生來提升開發者的開發與迭代的效率”,是阿里巴巴提出這一標準的初衷。當前在GPU、CPU、新的芯片不斷發展之際,用戶已經對硬件執行效率不是太過關心,反而是如何擺脫過往手工安裝軟件及優化的方式才是眾人所關心的,而基于Speed標準所帶來的云原生容器的管理、云原生運行環境的管理、云原生的調度等工具,使得開發者從編寫代碼、模型到最后模型落地與推廣的整個鏈路變得更加地迅速。
Simplicity:標準、像調用函數般易用。與過往對AI開發者提出的全棧要求有所不同,現在從事AI開發,工程師的分工非常明確。Simplicity所代表的含義是指,今天站在云、AI的算法開發者的角度,業界已經可以提供一系列的標準化API,使得上層的應用、數據、業務工程師們完全不用擔心AI的實現細節,如同調用某個函數一樣直接開發AI應用或產品。
Scenario:向場景而生。沒有場景化的AI能力是沒有用的。上文所提及的Scale、Speed、Simplicity都是為了解決最終在不同的Scenario中落地的過程。對于開發者而言,在深刻了解各行各業、不同場景化的需求后,能夠在AI算法迭代、AI應用落地時更加有的放矢。
《新程序員》:基于以上,可以將一些能力封裝為API方便開發者直接調用。這樣趨勢下,未來AI開發者應該具備哪些能力?
賈揚清:今天AI開發者應跳出AI框架、傳統思維的桎梏,不要將自己的目標僅局限于簡單的優化、調參模式,我們并不需要雕琢一個新的卷積神經網絡的模型并進一步提高正確率,而是需要學習在不同場景中如何將所需要的計算機視覺的問題抽象為一個深度學習的問題。
未來,模型的創新會是一個科研的方向,但是更大的機會其實在于上層的數據建模、模型建模的這一層。
開源為AI帶來了什么?
《新程序員》:今天,我們迎來了開源極其利好的時代。在GitHub上,來自中國開發者的增長速度已經成為了全球最快,開源對AI的發展有怎樣的裨益?
賈揚清:AI領域的發展離不開開源。近幾年我們所見到的AI、算法都是開源的,開源也使得大家在復現代碼、算法時變得非常地容易。
從開源來看,國內向上開源的心態發展非常迅速,且國內開發者對于開源的熱情也并不比國外低。但是,我認為今天開源最大的挑戰在于自頂向下的一些機制設計或者心態。
時下,很多公司在談及開源時,往往仍停留在把代碼開放出來讓大家瞻仰的過程中。不過,從全球開源社區來看,開源最重要的一點應該是讓更多的人共同參與到開源項目中。因此,當將代碼開放出來后,如何進一步構建開源生態社區讓更多的開發者參與一起開發與迭代,這也是國內開源社區必須要走的一條路。
《新程序員》:在新環境下,阿里有什么樣的開源戰略,如何鼓勵更多的人參與開源?另外,在開源應用過程中,很多企業甚至設置了KPI,你怎么看?
賈揚清:這是一個挺好的問題。首先,阿里在內部成立了開源委員會,以保障企業內部能夠看見不同項目開源的需求。這意味著開源并不是簡單地將代碼開放出來,還需要讓包括代碼的許可證、社區的運作、社區的交互都具備比較規范的模式,進而通過開源委員會也能夠更好地推動公司內的開發者更加順暢地參與開源。
至于如何為開源設計KPI,我認為這個事情非常難,因為社區的建設本身就是一個興趣驅動以及參與者熱情驅動的問題。與其想著如何為開源設立合理的KPI,不如反過來思考如何幫助開源跳出KPI框架,讓更多的人更加開放地探索一些事情。因此,該問題一定程度上是一家公司內部的文化建設,并非一切都需要KPI化的。面向開源,我們需要留出一定時間讓工程師們能夠做自己熱情驅動的判斷。如果開源一旦KPI化,用標準化的指標來束縛開源開發者時,也許就是開源在推動過程中變形的開始。
《新程序員》:開源商業化方面,你有什么樣的觀點?
賈揚清:開源與商業化是一個見仁見智的問題。近期,很多從業者認為,開源軟件只要做出來就可以融到大筆資金,但這并非是基于理性的思考結果。
時針撥回五年前,很多人常說的一句話是:開源軟件絕對不可能有商業化的前景。至于為何會有這樣的言論,主要是因為當年商業化并沒有實現。
開源本身是一個與商業化無關的事情。只是有很多的開源項目,在商業應用中逐漸有了非常強的需求后,有公司在開源基礎上提供企業級服務,這實際上是一個順其自然的過程。由于開源軟件的應用對使用者的技術有一定要求,如果某個公司可以直接解決用戶的問題,與此同時,用戶自身又不想或者沒有一個團隊專門來做基礎事情時,就會有公司提供如彈性、免運維,包括像企業級的技術支持等服務。綜合以上,開源與商業化主要可通過兩個層面來衡量,第一是怎么樣實現更好的服務;第二個是看企業能夠為企業級能力付出多少成本,以此實現相對平衡的狀態。
不過,開源軟件本身,我們還是希望它有比較強的純粹性,讓業界能夠有開源這樣的一個技術共享和技術迭代的內容空間存在。
打破頂級程序員的盡頭是無代碼可寫的傳統思維!
《新程序員》:從奮戰在研究和開發的一線,到成為一名管理者、創業者,很多人認為在實踐過程中,優秀的程序員逐漸沒有時間寫代碼、做科研。你認為是否如此?
賈揚清:首先要打破一個觀念,就是很優秀的程序員到最后一定都不寫代碼,都要做管理。事實上,當前行業發展需要多種多樣的人才,可能是一位非常優秀的架構師,也有可能是一位管理者,其中更不乏有著非常優秀的系統架構師擔任著非常高的職位。在此,也向大家推薦《人月神話》這本書,其中提到不同的職業分工,以及為什么一個團隊需要有很好的管理者和架構師的角色。
其實優秀的程序員應該追求自己的本心,而且為了實現一件事情可能在不同的時間戴上不同的“帽子”,有時與人打交道,有時與代碼打交道。要實現一個事情永遠都不是一個單點技能就能夠推動的。因此,大家所需要做的是找準自己擅長的方向,同時能夠在一定程度上適應不同的場合、需求,擔任管理、系統設計等不同的角色。
《新程序員》:這也是一名優秀的程序員應該具備的特質?
賈揚清:是的。當下行業中所應用的系統軟件,包括IT基礎設施的規模,不可能讓一個人單槍匹馬地做事情。因此,即使你是一名好的架構師,也需要和人一起溝通、一起迭代、一起解決問題,這是今天我們任何一個角色都需要具備的技能。
《新程序員》:對于年輕一代的開發者以及正在從事AI的從業者們,關于就業方向的指導與建議?
賈揚清:由于AI領域覆蓋較廣,對于通用型AI人才而言,相對比較成功的AI人才往往都是保持著好奇心行走在路途以及能通過更廣的需求來定義問題的人。以大規模模型為例,日常實踐中,不少開發者往往是在預訓練場景中訓練單點模型,以此提升整個模型的準確度。相比這種方法,不妨試一試拋開單個模型優化或單個框架優化,而是重新定義一個問題。如在預訓練場景中通過大量已有的但不相干數據獨立訓練出來一個模型,使得它在多個應用場景中效果良好,由此演變為一些算法或者系統方向上的提升。
AI新挑戰與新機遇
《新程序員》:不同的深度學習框架在未來是否能夠實現大一統?
賈揚清:我覺得可能不太會。今天如果出現一個新的框架,我們需要考慮的是它解決了整個行業中什么樣的問題。曾經,TensorFlow的出現解決了大規模系統的問題;當超大規模系統用起來不方便時,開發者開始思考如何用一個更加像Python、更加容易迭代的方式讓大家來做算法的開發和迭代,于是PyTorch應運而生。當前市場中有非常多的框架,如果只是開發了一款比TensorFlow、PyTorch稍微有一些不同的框架,并沒有價值。
我覺得不用太擔心框架是否能夠大一統,大一統不是一個目的,能夠解決今天我們在上層AI應用、科研時的問題,才是更為重要的一個點。
《新程序員》:從程序員的角度來說,AI補全代碼也成為一個很常見的功能,未來是否會出現一個程序可以從另一個程序中學習,實現編寫程序?
賈揚清:我覺得從現有的程序學習或編寫新的程序,算法是有可能實現的,不過也不要過度地樂觀。當前市場中已有的一些產品如GitHub Copilot,更多的是利用自身的計算能力在海量的代碼中進行檢索,繼而補齊代碼的功能實現。這與AI真實地編寫程序仍有一定的區別。
AI算法的算力、記憶力顯然比人類要更高,因此在簡單重復勞動層面,AI可以很好地對人類的能力和精力做補充。這一問題就是將人從簡單重復勞動中解放出來,讓我們能夠思考更加智能的問題。因此,我認為AI在這一領域存在非常大的潛力。
《新程序員》:元宇宙浪潮下,AI可以促進落地的場景或應用會是什么?
賈揚清:事實上,今天的元宇宙中堆積了太多的概念,譬如有很多人認為它是區塊鏈或是其他技術的組成。從我所理解的角度來看,元宇宙包含了兩個相對比較重要的概念:
一是VR/AR,它們打破了傳統文字、視頻、語音等統內容呈現的形式,帶來了一種新方式。
二是因為內容呈現方式的不同,內容創造的工具也會發生巨大變化。AI與元宇宙相互碰撞融合的過程中,由于AI本身具備工具屬性,因此它的很多算法使得元宇宙也逐步成為現實。
細分來看,在內容創造上,幾年前VR/AR的發展遇到的最大瓶頸是有設備缺內容。如今隨著AI在發展中帶來了AliceMind、M6等深度語言模型,使得內容創作變得更加簡單高效。
在工具層,在使用VR設備轉頭或者注視某位置時,VR設備需要迅速抓取到我們眼睛位置的變化,同時進行渲染。其中會有瞳孔識別或瞳孔追蹤的AI算法實現,這個算法變得更加迅速、高效之后就使得在VR渲染的時候能夠留出更多的時間給渲染,而不是留出更多的時間給識別。由此使得我們在VR/AR里看到的環境能夠變得更加真實。
以上兩個方向,AI都能夠起到很好的助力作用。
《新程序員》:面向未來,你認為會讓自己最有成就感的場景會是什么樣的?
賈揚清:用一句話總結就是“AI落地”,從實驗室走出來的算法能夠更加廣泛地用到各行各業當中。
分享
點收藏
點點贊
點在看
文章轉發自AI科技大本營,版權歸其所有。文章內容不代表本站立場和任何投資暗示。
Copyright © 2021.Company 元宇宙YIBT.COM All rights reserved.元宇宙YIBT.COM