獨家專訪阿里集團副總裁賈揚清:我為什麼選擇加入阿里巴巴?
真正跟賈揚清近距離接觸後筆者發現,這位被很多人稱為“AI 架構大神”的 80 後青年科學家,更像一位溫柔且平易近人的鄰家“學霸”,雖然技能全面碾壓但絲毫沒有架子。加入阿里以來,賈揚清一直忙於瞭解集團覆蓋範圍極廣的各項產品和業務,近兩個月才開始在一些重要活動上以新身份亮相。他在訪談中直言,阿里非常大、方向非常多,短短几個月還未能全部瞭解完。雖然離職時多家媒體均報道賈揚清的 base 地是阿里矽谷研究院,但由於團隊基本都在國內,賈揚清加入阿里後在杭州待的時間更多。新的身份給他帶來了很多挑戰,忙到沒時間理髮、一個月倒三次時差、參加活動大半天沒吃上飯。但身為阿里集團副總裁的同時,賈揚清依然是典型的技術人,在聊到他最熟悉的 AI 技術和平臺時會因為興奮而語速加快。
在這次訪談中,賈揚清向我們透露了他加入阿里的原因,並對他目前在阿里主要負責的工作做了詳細說明,他不僅回顧了過去 6 年 AI 框架領域發生的變化,也分享了自己對於 AI 領域現狀的觀察和對未來發展的思考。結合自己的經驗,賈揚清也給出了一些針對 AI 方向選擇和個人職業發展的建議,對於 AI 從業者來說有不少可借鑑之處。
從 Facebook 到阿里巴巴
被內部稱為“阿里計算平臺掌門人”的賈揚清目前直接領導阿里雲智慧計算平臺事業部,而計算平臺事業部同時負責大資料和人工智慧兩大平臺,其中大資料方面包括 Flink、Spark 以及從阿里自己做起來的 MaxCompute 大資料平臺,人工智慧平臺則包括底層資源管理、中間層 AI 框架開發等一系列工作。
相比原來在 Facebook 所負責的 AI 框架和 AI 平臺相關工作,賈揚清現在在阿里所負責的工作範圍更加寬泛。用賈揚清自己的話說,原來在 Facebook 他更多是大資料的使用者,只是在 AI 訓練的時候需要大資料平臺提供支援;而在阿里計算平臺事業部,他需要同時支援人工智慧和大資料這兩塊。在賈揚清看來,阿里雲智慧計算平臺事業部是全球少數的幾個把大資料和人工智慧放在一起的部門,但他認為大資料和人工智慧本身就是緊密結合的,因此這兩塊放在一個事業部做非常有道理。
過去幾年深度學習得以快速發展,很大程度上要歸功於資料,而今天的人工智慧在一定程度上其實可以說是“資料智慧”,即 AI 需要大量的資料才能夠提煉出來我們所謂的模型。於是,大規模人工智慧可以歸納為兩種計算模式,第一個是“智慧計算”,就像 AI 工程師熟知的訓練、模型迭代等,另外一個是“資料計算”,就是怎麼樣把大量的資料灌到人工智慧訓練和推理的鏈路裡面。“資料計算”是大資料一直以來擅長的事情,把這兩個計算結合到一塊的時候,大量的資料處理跟高效能的資料鏈路,再加上現在人工智慧的演算法、高效能運算等一系列技術,才能把整個的解決方案給做出來。從這個角度來說,賈揚清認為人工智慧跟大資料是天生結合在一起的。
除了技術範圍不同,從 Facebook 到阿里巴巴也給賈揚清帶來了另一個新挑戰,那就是崗位角色的變化。早期還是研究員的時候,賈揚清只需要關注技術,後來升任 Facebook AI 架構總監後他轉型技術管理,到現在成為計算平臺事業部總裁,賈揚清需要管理技術、產品和業務,後兩者對於他來說是更大的挑戰,但也是很有意思的挑戰。賈揚清告訴記者:“就像開源要商業化落地一樣,技術最後也需要經過產品和商業的錘鍊,這是一定程度上我來阿里的原因。另外,雲原生接下來是整個 IT 產業大勢所趨的方向,在雲上,技術肯定會有新一輪的進化,這個時候對於我來說是接受新挑戰的一個非常好的時機。”
與阿里一起將開源進行到底
除了上文提到的 Title,賈揚清如今也同時支援阿里巴巴的一系列開源工作,因此他在這次開發者大會上所做的演講主要也是圍繞開源這個話題來展開。對於開發者社群工作,賈揚清有非常大的熱情,他希望自己加入阿里之後能夠更好地推動國內開源的發展。
在採訪中,賈揚清向我們詳細介紹了阿里巴巴接下來在開源層面的幾個重點策略。阿里巴巴希望在以下三個方面做比較完整的梳理並和社群合作推進:
- 底層作業系統,阿里有飛天作業系統底座,同時也應用過很多像 Linux 這樣本身就開源的系統,前段時間阿里就剛剛釋出了自己的 Alibaba Cloud Linux 2 OS,接下來阿里會考慮如何將自己在這方面的能力以最優的方式貢獻給社群。另外一塊是再往上層的雲原生,這一層可以廣義地叫做作業系統,在一定程度上跟應用比較相關,比如 AI 平臺、大資料平臺,在上雲的情況下可以認為他們也是大規模雲原生的作業系統底座。接下來阿里在 K8s 等雲原生系統上也會深入跟一些開源組織合作,加強 Flink、Spark 等開源大資料產品的輸出。
- 前端,相比底層系統的開發模式,前端更偏向設計和互動,螞蟻金服的 AntDesign 是其中做得非常好的一個代表專案,在前端領域非常受歡迎。
- 工具層也是阿里巴巴一直以來非常感興趣的一個方向,比如怎麼用開源的專案和解決方案,來幫助開源的開發做得更有效率,這其中又包括測試部署工具,原始碼管理工具,專案交流平臺,等等。這一塊國外社群相對來說做得更好,因此未來如何在國內推動建立更好的工程師交流平臺和文化,也是阿里巴巴開源層面關注的重點。
在賈揚清看來,應用開源專案的時候,跟社群的緊密程度往往決定了整個應用的成敗。過去業界常常出現一種情況,每個公司都對開源社群版本有所謂的改動,最後社群的能力和公司的能力分別發展,很難融合回去。但今天大家已經從過去的經驗教訓中學到了與社群對接更好的方法。以計算平臺事業部當前投入大量精力運營的實時計算引擎 Apache Flink 專案為例,一方面,公司會深入參與到一些功能的開發和優化當中,另一方面,大家會把軟體上的能力和系統架構上的思路都貢獻到開源社群,避免每個人把開源拿到公司內部自己又改一通這種做法,進而推動開源專案更好地發展。對於公司來說的話,反過來也能夠更加有效地利用開源最新的成果。
除了集團層面的開源策略,對 Apache Flink 開源社群,賈揚清也透露了接下來的一些規劃。
目前 Flink 對於流計算的使用場景已經支援得非常好了,接下來阿里依然會從使用者的需求出發,繼續對 Flink 做優化和改進。同時,阿里會繼續開展 Flink Forward 大會這樣的活動,通過這些活動和開發者互動,向大家傳達 Flink 接下來的 Roadmap 等;另外也希望通過這種方式和社群對接,來獲得更多的關於 Flink 接下去應該怎麼走的系統設計,包括 Roadmap 上的一些輸入。賈揚清表示,對一個比較健康的開源專案來說,自己的系統設計跟使用者需求的輸入這兩方面都是必不可少的。 所以很多開源專案都會有一個對應的開發者大會作為跟開發者互動的媒介,Flink 也不會例外。
AI 技術的現狀和未來
Caffe 是“之前的代表作”
作為 AI 架構大神,很多人知道賈揚清是因為他寫的 AI 框架 Caffe,但那也已經是 6 年前的事情了。在聊到 Caffe 這個代表作時,賈揚清特意停下來強調,“是 之前的代表作”。因為 6 年前還沒有框架可以滿足需求,所以賈揚清為了解決論文研究中遇到的問題自己開發了 Caffe。賈揚清認為,那個時候還是相對比較刀耕火種的時代,大家更多隻是出一些科研論文,對於工程上軟體框架怎麼做、怎麼適配都比較早期。但隨著深度學習的興起和發展,工業界的輸入越來越多,如今像 TensorFlow、PyTorch 等主流 AI 框架在解決影象、自然語言處理、語音等一系列建模問題時,已經比當年做得好很多,現階段主流框架要解決的問題比 6 年前賈揚清自己研發 Caffe 框架時想要解決的問題也更大了。
賈揚清將 Caffe、Theano、Torch 定義為上一代 AI 框架,這些早期框架帶有很強的學術界的烙印,做的更多的是針對科研方向的一些嘗試。而如今的第二代 AI 框架如 TensorFlow、PyTorch 已經把框架的概念擴得更寬,不光只是做深度學習的神經網路建模,更多的是怎麼設計一個通用的科學計算引擎,同時探索編譯器、軟硬體協同設計和更復雜的建模的上層框架等方向。“6 年前所說的框架在今天看來,可能只是整個軟體棧裡面很窄的一部分。”
Caffe 推出之初,賈揚清希望它能成為“機器學習和深度學習領域的 Hadoop”,現在回過頭來再看當時定下的目標,賈揚清覺得其中有一些巧合特別有意思。當初定下這個目標,是希望 Caffe 能夠像 Hadoop 一樣廣泛普及,沒想到後來二者真的在發展路線上經歷了類似的情況。從大資料的角度來說,今天大資料已經從 Hadoop 進化到 Spark、Flink 這樣更為複雜的引擎。當年 Hadoop 主要的計算模式就是 MapReduce,而如今的 Spark、Flink 都使用了更復雜的做法。比如 Spark 使用 Directed Acyclic Graph(DAG)對 RDD 的關係進行建模,描述了 RDD 的依賴關係,它的計算模型比 MapReduce 更加靈活。Caffe 跟現在的新一代框架相比也有類似的情況,Caffe 等之前的框架的設計非常針對神經網路,它的系統設計中有一個叫 Network 的概念,然後裡頭還有一個 Layer 的概念,做前向和後向計算,比較固化,有點像 MapReduce 一樣。而今天的主流框架如 TensorFlow、PyTorch、Caffe2 等,使用的是更加通用的計算圖模型。可以說 AI 框架和大資料框架經歷了類似的發展歷程,都有一個從第一代向第二代往前進化的情況。
AI 框架應該關注重複造輪子之外的挑戰
在早前阿里一次內部演講中,賈揚清表達了這樣一個觀點,他認為“AI 框架的同質化說明技術的挑戰在其他更廣泛的方向”。對於做出如此判斷的理由,賈揚清向 InfoQ 記者做了更詳細的說明。
賈揚清將當前 AI 框架的用途歸結為最重要的兩點,一是支援在框架之上簡單靈活地建模,也可以叫做開發的靈活性;另一點是實現更高效的計算,因為一旦把 AI 演算法應用到工程上,基礎架構的效率會變得非常重要,比如推薦系統可能要跑在幾萬臺甚至幾十萬臺機器上,效能優化就必須做好。當前大多數框架都在朝這兩個方向努力,包括 TensorFlow 2.0 加入了 Eager Mode 和 PyTorch 1.0 將舊版本的 PyTorch 和 Caffe 合併,都是在逐漸解決前面提到的這兩個問題,補齊自己的短板。其實目前已有的框架都在互相學習和借鑑,大家要解決的問題已經開始逐漸變得清晰和明朗化,大家的設計也在朝著同一個方向走。“這個時候,從一定程度上來說,重新造一個輪子到底有多大的意義呢?這是 AI 工程師需要深入考慮的問題。”
更深地說,幾年前,大家說到 AI 的時候有點將 AI 等同於 AI 框架這樣的情況,但到了今天,整個 AI 工程的解決方案做出來,其實框架是裡面很薄的一部分。賈揚清認為 AI 框架就好像計算機程式語言,比如 C++ 是一個比較好用的語言,但光有它是不夠的,框架真正能體現價值的原因,在於它有非常好的生態,而且有非常多的科學計算和外部服務等。所以從框架開始,往上跟往下都有非常多新的戰場或者說更多的領域需要我們關注。
往下可能包括系統上的創新,比如怎麼做高效能運算、怎麼做軟硬體協同設計等;往上做的話,框架本身可能沒有做太多大規模訓練、模型迭代等工作的完整工具鏈。因此阿里現在關注的第一個是擁抱框架,第二是把 AI 整個鏈路做出來,比如前段時間阿里開源了一個 MNN 引擎,它可以讓我們更好地在手機端、嵌入式端執行模型。另外,阿里還有一個開源專案叫 XDL,XDL 的一個想法是怎麼構建大規模稀疏化的推薦系統,稀疏化建模是很多通用框架上非常缺的一層:在基本的框架上面,需要有一個高層的抽象,或者是更加跟業務相關的工具平臺來解決這個問題。為什麼大規模稀疏的系統有用呢?因為所有的推薦系統都是跟它有關係的,比如說阿里巴巴怎麼樣來做推薦,使用者在不同的新聞網站上面感興趣的新聞是什麼,都涉及到稀疏資料,所以這一塊光有通用計算框架解決不了,AI 端到端的工程需要在整個棧上發力。
軟硬體協同設計
在賈揚清看來,AI 編譯器是接下來比較有趣並且非常重要的一個研究方向。首先,深度學習框架之前往往需要手寫各種運算元的實現,如果有一個新硬體版本出來,這些函式往往需要重新優化;其次,做優化的時候,這些手寫函式到底是不是最優的,即使是專家,是否能窮盡所有可能的辦法找到效能最優解,都是不一定的。而像 XLA、TVM 這樣的 AI 編譯器就是在解決這些問題。
AI 編譯器屬於軟硬體協同設計的範疇,旨在最大化晶片能力。當前新的晶片產品層出不窮,我們原來這種來一個硬體在上面手寫設計軟體的模式已經開始逐漸的跟不上了。現在的應用越來越複雜,結構也越來越複雜,我們也不知道手寫的設計是不是最優的,這個時候就開始要考慮怎麼做 AI Guided Compilation 或 Performance Guided Compilation,把硬體的能力跟軟體的靈活性更好地結合在一起。以 TVM 這個專案為例,它可以在執行時的時候,通過計算模式跟硬體特徵來設計或者生成最優的執行程式碼。這些都是軟硬體協同設計正在探索的方向,已經變成比框架更有意義的方向,無論從科研還是應用上來說都是如此。
但軟硬體協同設計要做好難度很大,需要對體系結構有豐富經驗的人才行,這樣的工程師很少而且培養也非常困難。如果我們能夠將體系結構建模成一個可優化的問題,那麼機器學習就可以派上用場了。
AI 與計算機系統架構
Jeff Dean 等人從 2018 年 3 月開始發起 SysML 會議,聚焦於機器學習 / 深度學習相關的硬體基礎設施和計算機系統。那麼 AI 到底能夠給計算機系統架構帶來哪些新的機會?賈揚清認為可以從兩個方面來看。
Jeff Dean 在提到 SysML 的時候,其實提過這樣一個概念,就是 Machine Learning for Systems and Systems for Machine Learning。今天我們做的更多的是 System for MachineLearning,指的是當機器學習有這樣一個需求的時候,我們怎麼去構建一個系統來滿足它的需求。另一方面,在計算機系統構建的過程中,我們還可以考慮怎麼通過機器學習的方法跟資料驅動的方法來優化和設計系統,解決原來系統設計對人的經驗的依賴問題,這是 MachineLearning for System 可以解決的事情,不過目前這方面還處於相對比較早期的探索階段,也是人工智慧接下來還需要突破的瓶頸之一。
AI 商業化落地
工業界落地是賈揚清現階段重點關注的另一個方向。與初入 AI 領域的時候相比,賈揚清認為現在 AI 領域最大的一個變化就是工業界對於 AI 的應用需求和演算法輸入變得越來越多了。最早在 2000 年初的時候,業內大家會有一個感覺:機器學習在 80% 的時候能夠以 80% 的準確率解決 80% 的問題。這其實意味著它沒有跨過可以實際商用的門檻。但到了現在,深度學習在不同領域取得了相當亮眼的成果,很多演算法的準確度提升到了可以落地應用的閾值之上,如此一來工業界開始大量地使用演算法,反過來又推動演算法進一步發展,越來越多工業界的場景需求被反饋到科研上,同時也使 AI 研發人群數量有了一個非常大的增長。
但與此同時,人工智慧在實際落地的時候依然存在行業壁壘。如何把人工智慧的通用性做好,使 AI+ 行業能夠真正地推動下去,這在賈揚清看來是人工智慧領域目前面臨的另外一個瓶頸。
從科研的角度來說,人工智慧領域也存在不少待解決的問題,比如智慧的本質到底是什麼,我們現在更多在做的還是預測問題,那麼怎麼做因果關係和因果推理,怎麼做可解釋的人工智慧,等等。
如何選擇 AI 研究方向?
最近知乎上有一個問題非常火爆,題主的問題是“當前(2019 年)機器學習中有哪些研究方向特別的坑?有哪些小方向實用性很差或者很難做?或者有哪些小方向是隻有圈子內的人能發?”我們把這個問題也拋給了賈揚清,請他來回答。不過揚清大神表示預測未來太不靠譜,當初他剛開始搞機器學習的時候大家都認為神經網路肯定沒戲,“所以這事誰也說不清楚。但有一點是比較肯定的:不要再寫老框架了,而是要看看新的方向。”
賈揚清直言,如果現在再去寫個 Caffe 框架就沒意思了,但如果你是想看到 TensorFlow 和 PyTorch 的長處和短處,並寫出一個不管是程式語言還是系統角度跟他們有差異化優點的更好的框架,還是可以做。總之就是:不要 Follow,而要想些新的問題。 比如谷歌最近有一個叫做 JAX 的專案就非常受歡迎,首先它能夠非常自然地跟 Python 結合到一起,同時應用底層編譯器的能力來做優化,這些是科研上很有意思的新方向。雖然賈揚清不認為 JAX 會馬上替換掉 TensorFlow,也不認為它一定能解決所有問題,但它確實是一個很好的探索方向,就像 2008 年的 Theano、2013 年的 Caffe 一樣,是值得一看的新東西。
另外,賈揚清也表示最近看到偏網路調參的論文有點多,他認為通過手工調參使效能得到一點提升這樣的研究價值正在逐漸下降。研究人員更應該去關注是否有更好的方法論來實現自動網路調優。也就是說“越偏手工的科研方向是越低價值的方向,越能夠提煉出通用的方法論並用到大規模系統上的研究可能更加有意思。”
也談大資料計算平臺
當前深度學習其實還是非常依賴大資料量,隨著網際網路和終端裝置的快速發展,產生的資料不僅量大而且變化也非常快,那麼如何快速將最新的資料輸入進來、處理並生成更為精準的演算法模型?這給 AI 基礎設施,包括大資料計算平臺,提出了新的要求。
早前像 Hadoop 這樣的系統是將計算、儲存都放在一起,後來業內開始更多提倡計算與儲存分離,便於實現彈性的擴縮容。當時說計算跟儲存分離,更多在說的是儲存跟大資料計算,而今天我們又有了新的計算,就是 AI 訓練帶來的異構計算。賈揚清將對應的新系統稱為儲存、資料計算和科學計算三者分離:儲存主要解決分散式儲存大量資料、穩定性、Throughput 這一系列的問題;資料計算解決怎麼做資料的預處理、資料的清洗、資料的變換這一類問題;科學計算解決怎麼利用硬體的效能來快速解決大量數學表示式的運算和計算模式問題。這樣一個系統,怎麼進行模組化設計,怎麼將不同模組有機地聯合起來,這是對於大資料系統設計提出的新挑戰。
對於大資料計算平臺未來需要重點發力的方向,賈揚清認為主要是如何進一步對接場景、提高效率以及優化使用者體驗等。他表示,大資料計算現在主要有四個場景,第一個是傳統的批計算,第二個是像 Flink 這樣的流計算,第三個是怎麼做秒級甚至毫秒級的互動式查詢,第四個是怎麼把大資料鏈路跟 AI 打通,來做大規模的智慧模型的訓練和部署。
流計算這幾年越來越受重視,Flink 一直主打流批統一,對此,賈揚清也有自己的看法。
批和流在大資料領域面對的場景還是很不一樣的,我的觀點是,批和流這兩個場景是根據底層的系統設計自然出現的,不同的引擎有些擅長批,有些擅長流,Flink 在流上面就是無出其右的,做批流統一是為了給使用者提供更加完整的體驗。
現在大家經常討論批和流統一的問題,其實是因為有比較實際的背景。大家更多場景是以流計算為主,有時候需要有一些批計算的應用,但不需要太高的效率。這個時候如果完全整個換一套引擎,開銷太大,這時候引擎就要考慮怎麼去補齊短板,為應用提供一個端到端的體驗,不需要在計算過程中因為不同需求把所有資料都挪一遍。在批流統一上,我認為 Flink 還是會繼續加強自己在流計算上面領先的地位,同時對於批計算、互動式查詢做補齊,使使用者在一個以流為主、相對比較綜合的場景下,就能夠很快地構建自己的解決方案。
現在我們看見越來越多的流計算、互動式計算這兩個應用場景出現。至於未來是以流計算為主還是以批計算為主,我個人覺得接下來很長一段時間這兩類計算還是會同時存在,而且針對不同的場景優化其實還是比較獨特的,很難用一套來解決所有的問題。
給 AI 從業者的建議
作為 AI 科學家中的佼佼者,賈揚清在短短几年裡完成了從工程師、研究人員到技術管理者的蛻變,在職業發展生涯的不同階段,大神也會面臨不同的挑戰。在採訪的最後一小段時間,賈揚清跟我們分享了他從自己的職業發展生涯總結的幾點小經驗,希望對大家有所幫助。
持續學習,多和同行交流
AI 技術發展日新月異,對於開發者、工程師來說,最頭疼的可能是每天都會不斷湧現出新的技術、新的框架、新的演算法模型等,一不留神可能自己掌握的知識就過時了,而且這也使研究方向的選擇變得越來越困難(有多難、能否出新的成果、有沒有別人做過了等都要考慮)。
賈揚清強調,AI 領域的工程師一定要主動吸收學習新的資訊和技術成果,持續進行知識迭代。像 HackerNews、Reddit 的 Machine Learning 板塊等都是很好的資訊渠道。現在也有很多媒體在推動 AI 領域前沿一些新想法、新成果和新的科研方向的傳播,這也是一件很好的事情。
至於研究方向的選擇,賈揚清認為兩條原則就夠了,一個是興趣,另一個是多和同行交流。
讓自己成為技術多面手
正如前面提到觀點,在賈揚清看來,現在 AI 框架已經不再是 AI 工程師的桎梏了,AI 工程師的崗位職責也會相應的發生一些變化,未來大家需要把自己的關注點更多地放在跟實際應用場景相結合上。接下來最大的機遇是怎麼把 AI 真正落地,對於工程師來說,他就需要從單純只做 AI 轉變成具備全棧能力,包括怎麼對接 IoT 裝置、怎麼把 AI 能力做到汽車上去等。工程師除了要加強自己的 AI 能力以外,也要把自己的技術能力培養得更加多面手一些。
賈揚清坦言,在一定程度上,其實“AI 工程師”這個稱謂有點被濫用了,更多還是因為 AI 比較熱而催生出來的角色。
“其實今天沒有隻是做 Java 的 Java 工程師,因為 Java 只是一個工具,AI 其實也只是一個工具,更重要的還是你拿它來做什麼。就像每個工程師都得會程式設計,或者說每個工程師都得會基本的一些工程能力,AI 也是一項基本的工程能力。”
對於普通開發者,不管是哪個領域的的開者,未來都可以學一學 AI 的應用,不一定需要學到知道怎麼構建 AI 框架這個程度,只需要學會怎麼把 AI 當成 Excel、Java 這樣的工具來用,這是增強自己能力的一個比較有意思的方向。對於專門做 AI 的工程師或者科研人員來說,更多的還是需要在自己的領域深挖。
從一線開發到管理者:學會後退一步,成就他人
賈揚清剛剛從一線開發轉到管理崗位的第一年,依舊埋頭寫程式碼,產出的程式碼量在組裡頭不是第一就是第二,但這使他在對團隊的支援和培養方面的投入捉襟見肘。對於一線開發這或許是個不錯的表現,但對於一個管理人員來說就未必了。因為作為管理者,他並沒能給團隊的成長提供足夠多的價值。人的精力是有限的,哪怕他當時工作時間從上午九點到晚上十二點,甚至更晚,也無法做到兼顧寫程式碼和支援團隊。
這一年發生的事情對賈揚清的觸動很大,他後來才意識到作為管理者真正需要做的是幫助團隊其他人最大化自己的能力,而不是說像單純搞技術開發的時候那樣自己一個人往前衝就可以了。管理者要學會自己往後退一步,提供必要的指導和賦能,相信別人併為他們創造空間,讓一線的同學能夠得到更多的鍛鍊,心態得從自己鑽技術轉變為支援團隊 Scale 技術。
本文作者:Ververica
本文為雲棲社群原創內容,未經