阿里巴巴AI系統建設的思考

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最近人工智能得到了爆發式的發展,這個背後的主要的原因,就是因爲互聯網的發展速度之快,使得我們能夠快速的堆積數據,同時加上硬件的快速發展,以及神經網絡訓練方式的革新,使得我們有能力能夠訓練比較深的神經網絡,產出了能夠具有突破人類“智能”的模型,並且廣泛落地到了實際應用中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個趨勢下,算法以及背後的工程體系更加的收攏,促成了TensorFlow,PyTorch等深度學習框架的誕生和流行,從而使得進行深度學習應用開發的門檻進一步的下降,原有人工智能的算法結構創新,變得並不是那麼高不可攀,"},{"type":"text","marks":[{"type":"strong"}],"text":"如何能夠將AI的工程化做到更大普惠化,成爲人工智能研發的關鍵。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時隨着Transformer以及Bert等訓練方式的創新,"},{"type":"text","marks":[{"type":"strong"}],"text":"大規模預訓練模型以及從大模型進行場景化蒸餾進,而產生垂直場景的AI應用"},{"type":"text","text":",已經漸漸成爲人工智能研究標準流程,那麼"},{"type":"text","marks":[{"type":"strong"}],"text":"AI的工程如何能夠有效支撐超大規模預訓練"},{"type":"text","text":",成爲另外一個關鍵。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲大規模預訓練模型需要耗費大量算力資源,AI工程需要通過雲化方式來提高算力的共享,利用雲良好的彈性,共享性和互通性來降低研發成本,阿里巴巴機器學習平臺PAI就是在這樣的需求理解上,構建自己AI系統的建設,提高AI工程化的能力和效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我覺得"},{"type":"text","marks":[{"type":"strong"}],"text":"做深度學習框架其實有兩個派別的人,一派是做分佈式系統的人來做的,另外一派是做算法的人來做的"},{"type":"text","text":"。不同的人的背景不同,所以做這個事情的角度也會不同,從而產生不同門派。TensorFlow屬於系統派,而PyTorch屬於算法派。像我們這種做系統,特別是做過超大規模分佈式系統的人,往往最擔心的就是,當你要對一個已部署在成千上萬臺的計算集羣上的平臺軟件,需要做重大重構的時候,如何保證重構和遷移能夠更靈活順暢的進行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個中間的困難沒有做過這個事情的人可能不會太有體感,這麼大一個平臺,公司財力不可能讓你去通過鏡像一個個集羣的方式來完成任務的遷移,並且越大公司的平臺上用戶數衆多,業務都會耦合在一起去完成公司的使命,基本上你不可能有時間點可以讓全公司的業務團隊都放下他們自己手頭的優先級,來配合你做這種遷移,哪怕你工程能力非常強,也不敢百分百的確保這種遷移中間不會出現任何意外,而對於很複雜的系統來說,要做到這一點基本上就更難了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我們做系統的,往往會在系統設計階段就有所考慮,把"},{"type":"text","marks":[{"type":"strong"}],"text":"系統設計得更加具有可擴展性"},{"type":"text","text":",從而盡最大可能去避免出現這種大的重構和推倒重來。當我們在面對需要構建一個深度學習框架的時候,我們第一時間就在設想這個"},{"type":"text","marks":[{"type":"strong"}],"text":"框架需要能夠(從規模上)很好支持分佈式,能夠很好的擴展到任意大的深度模型的框架"},{"type":"text","text":",我們希望構建一個系統,(從模態上)能夠像人腦一樣能夠把視覺,語音,語言等多種模型能夠一同訓練。其實這個就是TensorFlow這樣系統構造的時候的原始想法,把整個計算構成一個Tensor的Flow圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲分佈式本身就很複雜,需要處理各種節點相互的數據和執行中的各種依賴關係。這些事情由人來寫代碼,太繁瑣且容易出錯,所以自然地,我們就會設想由系統來負責這種依賴關係。這也就是爲什麼我們希望整個分佈式執行的計劃是一個靜態圖,然後系統再根據用戶指定的或者系統智能的決定的placement進行分圖,並在這些分圖中添加合適的Send-Recv的OP,從而構成一個分佈式的執行計劃。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是這樣的設計理念也會帶來一些困擾,我們在模型訓練時候,有時候有些類似控制圖的部分,在這種設計理念下,我們必須要把這些控制流圖的代碼也OP化,然後把這些OP也整體串聯在Tensor的Flow執行圖中。大家有興趣瞭解細節的話也可以看看論文《"},{"type":"link","attrs":{"href":"https:\/\/arxiv.org\/abs\/1805.01772","title":"","type":null},"content":[{"type":"text","text":"Dynamic Control Flow in Large-Scale Machine Learning, Eurosys2018"}]},{"type":"text","text":"》,不過這種方式會使得一些習慣單機開發的研究人員覺得比較晦澀。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時也是因爲分佈式的原因,我們做系統的很自然會"},{"type":"text","marks":[{"type":"strong"}],"text":"把模型的開發過程分成構圖和執行兩個階段"},{"type":"text","text":"。構圖的時候只是生成一個邏輯執行計劃,然後通過顯式方式的提交(或者execute)過程進行執行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種方式讓研究人員覺得不能一邊寫代碼一邊就能夠馬上看到代碼片段的結果,所以這也造成很多人詬病TensorFlow的模式不太容易調試自己模型程序的原因,其實這也對分佈式帶來負擔。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是TensorFlow也有很多優勢,因爲TensorFlow是靜態圖的方式,(帶來好處之一就是)其可以做到訓推一體,正在訓練出來的模型能夠導出模型圖,並且在這個圖上進行系統化的推理優化,從而能夠非常方便部署到線上。這個系統性的方法,對於工程化也是另外一個優勢。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"框架的另外一派是算法派,特別是感知類模型(圖像,語音,語言類)訓練,因爲這類訓練一般都是同步訓練,然後“分佈式訓練”也不像系統派那樣設想是任意異構的分佈式執行圖(即每個分佈式節點的執行邏輯可以不同),而只是需要數據並行,這樣我們就可以利用MPI的AllReduce的通訊源語來進行梯度的彙集計算。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"算法同學需要一種豐富的可擴展的在GPU上能夠很好運行的,並且能夠很好進行自動梯度的算子庫,並且因爲面向是數據並行的場景,這樣的話在神經網絡部分其實都是單機程序,從而可以利用任何python的語法糖去構建任何的動態的訓練控制邏輯(大家也把這種稱作動態圖),對於算法研究人員來講,這種方式寫代碼比較隨性也方便調試,所以在研究界PyTorch得到大量的關注和使用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"剛纔說過TensorFlow從設計之初就在考慮可以超大的模型分佈式訓練的場景,但是沒有預想到硬件的發展也非常迅速,顯存越來越大以及訓練技術的發展,還有非常精細化優化顯存的工作,比如DeepSpeed等,把optimizer所需要的顯存sharding化掉,使得除了超大規模稀疏模型訓練外,感知類的SOTA模型一直可以利用數據並行的方式來進行訓練。從而使得TensorFlow這種設計理念看上去有overdesign的嫌疑。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"並且就算超大規模稀疏模型訓練,因爲TensorFlow整體化的設計理念,不把Parameter Server作爲遊離在Flow圖之外,使得他在超大規模場景下的(限制了它)scalability上出現了問題,從而催生一堆自建PS+深度學習框架的(稀疏)模型訓練框架。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"好在隨着Transformer的出現,我們終於有方法能夠迴歸到最初那個夢想,使得我們可以把多種數據(圖像的,文字的)合在一起訓練多模態的模型,因爲問題規模的增大,必然需要更多參數的模型來支持,所以我們迅速將模型大小從幾十億增加到萬億規模,這個時候就必然需要能夠支持很好模型的並行框架,這也是爲什麼最近這個領域重新變得火熱,比如類似OneFlow,MindSpore,PaddlePaddle,Mesh Tensorflow,GShard,以及我們阿里的Whale框架。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其實從設計理念來看,模型並行正是迴歸到原來TensorFlow一開始設計時候的設想,只是那個時候因爲模型並行的需求不夠,沒有必要提供比較好高層自動分佈式的抽象,寫模型的人還是可以自己精細化去構造每個計算節點的子圖,整體上TensorFlow的框架只是負責把這些子圖能夠自動通過Send-Recv進行連接,並且在Runtime能夠合法的進行計算。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而現在,因爲需求增多,算法迭代需求的增多,迫切"},{"type":"text","marks":[{"type":"strong"}],"text":"需要一種高層次的自動分佈式框架"},{"type":"text","text":",從而使得算法同學能夠去快速簡單構造一個邏輯圖的方式,去構造自己神經網絡,而由系統層來進行復雜模型並行的構成。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以其實可以看到TensorFlow的設計理念正好就是爲這個考慮的,利用靜態圖,我們可以邏輯性去描述一個網絡訓練,然後在執行時候在進行系統化的分圖和分佈式訓練。所以說自動分佈式的需求並沒有超越原來設計的基本範疇,也是因爲這樣,我們採取和谷歌GShard類似技術路線去提供自動分佈式的能力。正是"},{"type":"text","marks":[{"type":"strong"}],"text":"站在原有框架基礎上去做增量"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不同於GShard更加關注於谷歌TPU集羣,我們關注於異構的GPU集羣,這裏所說異構是因爲我們不如谷歌這麼有錢,構建非常大的同構化TPU集羣,我們集羣中有不同年代的GPU和CPU,這些GPU各自算力和顯存都大小不一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也正是因爲這樣,其實給我們系統提出更大挑戰,我們在進行自動分佈式時候需要在cost model上考慮好這些差異點。這樣才能做到比較優化的分佈式訓練。這也是我們自動分佈式框架Whale一種差異性和核心能力之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其實"},{"type":"text","marks":[{"type":"strong"}],"text":"系統派的框架和算法派的框架也在進行一定的融合"},{"type":"text","text":",TensorFlow提出了Eager模式,通過TF.Func在Eager模式下可能單步執行計算,得到Tensor來提高可調式性;而Pytorch通過Trace或者Parse的方式轉化爲TorchScript的圖描述,從而能夠更好支持訓練到推理的工程化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是這種動靜結合其實只是在一定層次的,比如如果考慮分佈式,Trace的方式去得到TorchScript就不足夠。需要進一步去限制構圖能夠使用的API,這也是像NVIDIA的Megatron以及微軟DeepSpeed,在PyTorch上去支持分佈式所帶來的一些約束,感興趣的可以讀讀OneFlow的Blog,《"},{"type":"link","attrs":{"href":"https:\/\/arxiv.org\/abs\/1805.01772","title":"","type":null},"content":[{"type":"text","text":"Dynamic Control Flow in Large-Scale Machine Learning"}]},{"type":"text","text":"》"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我們認爲現在深度學習框架中兩個主要流行的框架TensorFlow和Pytorch,是有其設計理念原因的。我們做Whale正是在這種理解的基礎上進行路線選擇,並且認爲應該站在已有的TensorFlow工作基礎上去做增量的東西。而不是再去造一個別人做過的輪子。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們認爲"},{"type":"text","marks":[{"type":"strong"}],"text":"當前深度學習已經進入到超大規模預訓練模型時代"},{"type":"text","text":",在這個時代下,"},{"type":"text","marks":[{"type":"strong"}],"text":"如何加速預訓練模型的迭代,從而掌握人工智能上游的預訓練模型的研發就成爲關鍵"},{"type":"text","text":"。因爲這些模型訓練都需要比較複雜的模型並行方式來進行訓練,所以如何能夠降低甚至是對於算法同學能夠隱含分佈式訓練的複雜,使得算法同學僅僅需要關注建模代碼構建,而由框架來自動進行分佈式從而加速模型結構迭代。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不同於Megatron優化一個定製的模型分佈式訓練,Whale可能在特定模型上,d訓練的自動分佈式做不到最優,但是我們可以支持模型的快速的迭代,從而推動算法和系統協同優化,而在這個層面上就能夠和算法同學一起快速找到一個更加合適分佈式的模型結構,而這個層面得到的訓練加速比可能是一個量級的提升,這也是Whale能夠快速幾個月時間,把阿里巴巴的多模態預訓練模型從幾億快速提升到千億參數規模,並且利用算法和系統的協同優化,利用480張卡就能訓練出比肩NV3072卡訓練出來的模型的核心原因。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以下是"},{"type":"text","marks":[{"type":"strong"}],"text":"阿里自研分佈式訓練框架Whale整體的架構圖:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/76\/35\/764f87932664fba5cb52d723a9311f35.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Whale會將已有的靜態圖結構轉化成IR描述的邏輯執行計劃,然後系統會根據自動規劃出來的並行策略,對於執行計劃進行切圖,並且把系統資源進行相應的劃分,然後把切圖的結果和資源進行相應的綁定,從而生成最終的執行計劃。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就如同我們說的Whale設計的一大目標就是希望是個scaleup的解決方案,可以讓用戶寫的單機單卡模型程序,能夠自動擴展到分佈式訓練上,從而完成比較自然的程序的scaleup的過程。這樣就能極大加快模型開發迭代速度,從而研究者可以先在單機上去聚焦模型本身的特性,比如收斂性,模型效果,模型研究方向是不是對頭等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"到了需要把模型規模擴大的時候,算法工程師只是需要擴大Tensor的Shape,或者擴大模型結構的堆疊,系統就會根據模型結構的特點,結合數據並行,流失線並行,算子切分,混合並行,顯存優化等方法,通過Cost Model選擇一個合理的分佈式訓練的方案來自動分佈式化,取得一個不錯的訓練加速比。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然我們系統工程師都知道這個自動化其實是非常難的,因爲要考慮不同切圖情況,顯存消耗,數據IO的範式,計算的瓶頸都是各自不同的,有時候分佈式專家相比系統,在一些關鍵點,能夠進行更好的指導,所以Whale把進行分佈式策略探索中,如何描述切圖的subgroup,如何描述資源組成的virtual device以及進行各種並行策略,進行了用戶層的暴露,然後用戶可以在原有構建模型的過程中,可以通過python的with字句進行這些annotation和靜態圖的節點進行綁定,從而來指導系統,達到更好的更可控的分佈式優化結果。隨着系統自動優化的成熟,我們可以期待這種annotation將會越來越少。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時因爲大規模分佈式訓練對於資源消耗非常大,所以我們自然會在一個共享的大集羣上運行訓練,這樣集羣時時刻刻都會在不同的任務在上面去跑,用戶得到的資源其實是一個動態的,並且考慮到硬件發展很快,比如NVIDIA的硬件基本上是半年一代,我們購買的硬件在數據中心平均使用時長是3年,這樣就必然造成我們集羣是多種GPU卡型共存的集羣,加上有多種任務在集羣中跑,必然造成資源有時候會有碎片的出現(即便調度器會極力去避免),這個時候我們是沒有辦法事先知道集羣資源的情況,而系統自動優化能夠更好適應資源實際情況,生成一個更加優化的分佈式訓練方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"更進一步,如果我們希望調度器能夠提供更大可能性,我們可以把不同任務裝箱在一起,去共享GPU等計算資源,我們其實會把自動分佈式和調度以及編譯結合在一起。調度器可以給出不同的資源調度的計劃,資源的上限限制,然後自動分佈式通過這些約束結合編譯器來生成不同執行計劃,最後在全局上選擇一個優的執行計劃。從而能夠達成全局最優而不是局部最優。當然現在離這個最終目標還有不少的工作需要去做。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總結下,我們認爲"},{"type":"text","marks":[{"type":"strong"}],"text":"未來AI的模型發展方向會從單機訓練向大規模分佈式訓練發展,通過大規模預訓練模型+小樣本的蒸餾的模型開發流程將會成爲主流"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個潮流下,我們需要有個更好的(自動)分佈式框架能夠讓算法開發人員繼續能夠聚焦在模型結構的設計上,而由系統上進行有效自動分佈式,這個易用性比並行化一個固定模型結構將會更加重要,從而推動算法的快速迭代。並且因爲大規模分佈式訓練對於資源渴求,我們需要依託雲的彈性構建一個共享的大的集羣來激發算法的研究。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"正是根據這些思考,"},{"type":"text","marks":[{"type":"strong"}],"text":"阿里巴巴機器學習平臺PAI會持續進行AI工程化建設"},{"type":"text","text":",通過調度和分佈式編程範式的規模化建設,數據和算力的雲原生化建設,以及上層算法開發和服務標準化和普適化建設,從而使得算法能夠關注他們要做什麼,由系統來優化如何高效、低成本來執行模型訓練和推理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"作者介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"林偉,阿里雲智能研究員,阿里雲機器學習PAI平臺技術負責人,主攻大規模分佈式訓練加速、編譯優化等AI工程的建設和性能優化。具有大規模併發系統有15年的系統架構設計及研發經驗,並在國際一流ODSI、NSDI、SIGMOD會議上多次發表論文。原微軟大數據平臺組的核心成員,曾在微軟亞洲研究院和微軟美國工作10年,一直從事分佈式系統開發和大數據平臺的相關工作。如果大家對於我們PAI團隊的工作有興趣,非常歡迎和我們聯繫,我的郵箱是[email protected]"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章