清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

【CSDN 編者按】

無論是學業還是事業,陳愷看起來都一路順遂。

從清華大學本科和香港中文大學博士畢業後,他入職商湯科技,不到兩年便成為研究總監,帶領近百人的團隊。

在GitHub上,他負責的OpenMMLab取得了卓著成績。

從研究者到管理者,他的技術人生究竟是如何鋪就的?

作者 | 楊陽

出品 |《

新程式設計師》

編輯部

陳愷無疑是家長口中“別人家的孩子”。天資聰慧、努力踏實,讓他無論在清華大學讀本科,還是在港中大(以下簡稱“港中大”)多媒體實驗室讀博(直博)都沒有遇到太多困難,可以說學業順遂。

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

陳愷

商湯科技研究總監

博士畢業後,他順理成章地入職商湯科技,初始崗位便擔綱技術管理。而真正讓他獨當一面的,是將開源專案OpenMMLab做到行業知名。在他的帶領下,OpenMMLab成功在GitHub收穫了“50000+”Star,他和團隊的影響力在開發者中逐漸開啟。

從學習者到研究者,再到管理者的十年,還未到而立之年的他可以說是一路小跑。而年少成才的背後,則是他在學業上的矜矜業業,師出名門;也是在工作中的拼搏進取,成績斐然;更是他對於技術興趣和信仰的不斷堅持,以夢為馬。

本文節選自《新程式設計師》004,

『紙質書+電子刊』已正式開售

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

別人家的孩子

清華大學的自動化專業全球知名,自建系以來,已經培養了一萬餘名優秀學子。他們當中不乏傑出者,遍佈在系統工程、自動控制、人工智慧等各個領域。深度學習框架Caffe的作者、阿里巴巴集團副總裁賈揚清就是其中之一,他的本科和研究生階段都是在清華大學的自動化專業度過。

2012年——距陳愷和計算機視覺結緣的前兩年,他剛考入清華大學。作為自動化專業學生,他的日常主要是與洗衣機為伴,這是系裡長期沿襲下來的調侃:“我們的專業課程是自動控制,老師經常會拿抽水馬桶、洗衣機舉例子,有時也會動手操作,可能是洗衣機用得太多了,大家就叫洗衣機繫了,我們是修洗衣機的。”

當然,調侃歸調侃,能考上清華大學的,都是“別人家的孩子”,不僅學習能力較強,更知道自己想要什麼。高中時候的陳愷就對未來想幹什麼非常清楚:“我喜歡理科,接觸過一些工程概念,就覺得學工程很好,可以動手操作,看得見、摸得著。自動化專業比較符合我的預期,可以透過軟體來實現硬體。而且聽起來也炫酷。”

不同於計算機的軟體屬性,自動化是軟硬兼修的。大學期間,陳愷主要學習了四類課程:基礎學科;計算機,包括網路、程式設計、演算法;電路,包括模電、數電;自動控制原理,這是自動化科學的特色,用他的話說是“看家本領”。

相較於硬體,陳愷更喜歡軟體,尤其喜歡做控制實現。比如,如何將一個倒立的單擺左右搖晃,但又不會掉下來,或者透過程式設計識別出一個手繪的火柴人,讓它翩翩起舞……

進入大三後,在課程和實踐的基礎上,陳愷也需要思考自己的出路了。清北學霸畢業之後的打算,大機率是出國或留校深造,但陳愷選擇了港中大。他的這一契機來自於商湯科技創始人湯曉鷗,因為湯教授在清華大學舉辦的一場講座,陳愷認識了這位人工智慧界的頂級科學家:“當時就覺得港中大多媒體實驗室特別厲害”。

作為行動派,“有想法就做”是他秉持的理念。大三暑假,他就聯絡到商湯的團隊,想去實習。此時的商湯剛從實驗室初創,人臉演算法的識別準確率高達98。52%,超過了工業化應用標準,意味著國內的計算機視覺技術終於不再紙上談兵,可以落到實地,商湯科技便在湯教授的帶領下應運而生。

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

學霸中的學霸

計算機視覺並不是新技術,但它的早期落地卻頗為緩慢。20世紀60年代,統計模式識別最早應用在二維圖形的分析和識別,並在晚些時候實現了立體結構的識別。到20世紀70年代中期,MIT開設了機器視覺課程。後來,這一技術開始從實驗室走向產業。最初的成績還不錯,到1988年,包括視覺系統在內的人工智慧產業收入達到數十億美元。

但到了20世紀90年代,機器視覺的熱度並沒有如料想的那樣爆發,倒是網際網路走在了前面。當然,網際網路的迅猛發展和快速產業化,也給視覺技術的深入研究和落地帶來了推動作用。

這一時期,正在MIT攻讀博士的湯曉鷗加入海底機器人實驗室,開啟了人工智慧的啟蒙之旅。《泰坦尼克號》是電影史上的經典鉅作,為了還原最真實的場景,實驗室在發現沉船方面起到了非常大的作用。因為親眼見證了機器人完成發現沉船“泰坦尼克號”的作業,他認定人工智慧,尤其是視覺技術將會對未來世界產生不可估量的變革。

博士畢業後,湯曉鷗回國,在香港中文大學資訊工程系任教,並在2001年創辦了香港中文大學多媒體實驗室。他帶領的研究者則成為最早運用深度學習對視覺進行研究的華人團隊。

因為聽了一場講座而結識湯曉鷗,陳愷是幸運的。在實驗室實習期間他感覺做視覺特別有意思,而且也確實是自己擅長的。畢業前夕,他便申請到實驗室讀博,做目標檢測方面的研究。後在博士期間,他師從同樣是MIT博士畢業的林達華,和教授一起編寫的多篇論文收錄於計算機視覺三大頂會:CVPR、ECCV、ICCV。

2015年底,商湯在當年的ImageNet比賽中奪魁。隔年,實驗室入選“世界十大人工智慧先鋒實驗室”,同時入選的包括MIT和斯坦福。

就這樣,陳愷博士生涯的前兩年和團隊共同成長著。到了博三,他開始參與更多的學術實踐,在一次目標檢測領域知名的學術比賽上,他和團隊透過創新演算法獲得了第一名。“比賽結束後,我們就將這一套目標檢測演算法框架保留了下來,經過不斷復現和調優,MMCV(計算機視覺基礎庫)和MMDetection(物體檢測演算法庫)就做起來了。”

2018年年中,林達華教授主導發起了OpenMMLab專案,作為牽頭人之一,陳愷實際上負責了該專案的後續運營。在2018年10月釋出MMCV和MMDetection之後,他和團隊正式將這個專案開源了出來。

“先期的兩個庫做起來後,我們就進行了開源。當時市面上沒有系統性的基於PyTorch的目標檢測演算法庫,我們先開源出來就很受社群的歡迎。林達華老師也非常支援這件事,他把更多研究方向的同學納入這個專案,包括做動作識別演算法庫的、超解析度演算法庫的,這樣就慢慢把OpenMMLab做成了一個多演算法庫的品牌,這是它最初的目的。”

2019年,畢業後的陳愷正式加入商湯,第一份工作便是管理崗,帶領團隊為公司業務提供演算法支援,同時負責OpenMMLab的運營。

回憶求學的八年,在陳愷看來,清華大學將他培養成精進的學習者,港中大則進一步讓他蛻變為獨立的研究者。“本科期間我打下了很好的基礎,包括知識和學業兩個方面。因為經過了嚴格的訓練,後來才能順利進入湯老師的實驗室。港中大則把我從學習者進一步塑造成研究者,讓我逐漸具備了獨立的課題探索能力,包括如何設計選題,以及如何進行研究方式和完成路徑的規劃。”

除此之外,讀博的後兩年,陳愷的團隊協作能力和管理意識也有了很大提升,這段時間他已不像之前一樣單打獨鬥做研究,而是帶一些低年級的同學進行科研工作,有時也組織團隊打比賽,這些經歷都為他加入商湯帶團隊打下了良好的基礎。

從學習者到研究者,再到管理者,他的成就感源於在頂會上發表論文,源於選對方向並得到驗證,更源於團隊中每一位成員的成長。

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

兩年晉升總監,帶領近百人團隊

《新程式設計師》:

你入職商湯時是什麼崗位,負責哪些工作?因為哪些突出貢獻晉升到總監?

陳愷:

2019年畢業後去了商湯,當時在一個偏業務的演算法中臺團隊,主要為主營業務提供演算法支援,也做一些預研性質的工作,最開始我的崗位是副總監。

在和團隊的磨合過程中,我發現了當時存在的一些問題,比如大家使用的研發工具不統一,而且研發流程比較低效。針對這兩個問題,我主要做了兩項工作,第一項是不斷提升演算法的效能,第二項是研發工具和流程的標準化制定。

後來我們發現標準化的演算法庫能給業務帶來很大價值,就花了很長時間去做開源演算法體系,後來這項工作得到了包括我的直屬上級在內的多位領導支援,這樣一來我也獲得了一些資源,就能把這件事做得更大。經過一年多的沉澱,OpenMMLab在視覺領域越來越具有影響力。此外,我在業務上也有比較好的成績,基於兩方面的工作,就在2021年晉升為總監。

《新程式設計師》:

你日常如何規劃團隊的技術研發和落地轉化?可以從團隊架構和運營管理角度來談。

陳愷:

我目前負責的團隊接近一百人,我一個人不可能覆蓋到團隊每位成員的工作。我們按照不同的研發方向分成不同的小組,每個小組會有一個Leader來負責。

我的日常工作主要分為兩大部分,一部分是謀事,一部分是聚人。謀事上,負責一些核心的規劃,比如在年初進行全年度的安排和對未來計劃的承接。定好目標後,對於具體的實現會和每個方向的Leader一起商討,核心的演算法架構和產品設計我都會參與,其他比較細節的事情就主要交給各個Leader,讓他們也能有更好的自由度和成長空間。

聚人方面,招聘是比較重要的一部分,要怎麼吸引人才,怎麼在團隊內部培養人,都是我工作的重要組成部分。我們現在已經積累了至少10萬字的新人培訓文件。

為了把社群建好,我們也需要時刻思考如何能吸引更多的開發者,透過社群或者其他渠道觸達優秀的候選人,包括品牌、運營的不定期輸出等。開源團隊內部也有很多經驗和成果,我會定期要求大家對外分享,透過分享、反饋和重構,建立良好的技術品牌。

《新程式設計師》:

從學術到研發,再到做管理,能不能分享一件你覺得最有成就感的事情?

陳愷:

學術方面最有成就感的事是第一篇論文在CVPR上獲得了Spotlight(亮點論文),在上千位全球各地的研究者面前分享了我的一些研究成果。第一次在這麼多人面前“拋頭露面”,很緊張,也很興奮。即使後來也在一些比賽中獲得了冠軍,但沒有那次激動。

研發方面的成就感來自選對了方向並且得到驗證。比如,要進一步推動OpenMMLab專案的時候,我們其實有不同的選擇方案,是把不同的方向做到統一的演算法庫裡,還是分成不同的演算法庫,更加強調模組化。最終選擇了後者,找對了方向,這讓我們的技術先進性做到行業頂尖。

除了團隊規模的不斷擴大,管理的成就感主要還是來自團隊成員的成長。我期望的團隊是在我們在制定好目標後,每位同學都能發揮自己獨當一面的創造力,我主要起培養的作用。當然,這是一個長期的沉澱過程。

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

“50000+”Star之路

《新程式設計師》:

OpenMMLab專案在GitHub上獲得了“50000+”Star,這一成績歸功於什麼?

陳愷:

我覺得主要是兩方面:一方面是時機,我們較早看到了這個領域的潛力;另一方面還是我們的硬實力,OpenMMLab演算法庫的工程架構是當時開源社群中具有標杆性的。我們釋出之後才會有很多人來用,也有很多開發者借鑑和參考。

更多開發者關注到OpenMMLab是在2020年,我們在世界人工智慧大會上釋出了重要升級,進一步構建出“人工智慧演算法開放體系”,這應該是專案成立後的第二個里程碑。

《新程式設計師》:

它對開發者有哪些吸引力?

陳愷:

對開發者的吸引力在不同階段表現不一樣,開始主要是單個演算法庫,現在是基於體系化的架構,不同的演算法庫可以“組合打包式”應用。比如,一位開發者可能同時需要目標檢測和語義分割兩種演算法,都可以在OpenMMLab上打包使用。如果不採用OpenMMLab,開發者可能在開源專案中找到目標檢測演算法,但之後假如還想用分割演算法,那他需要自己實現,或者得找另一個框架,重新學習和研究。

OpenMMLab提供了覆蓋大部分視覺方向的演算法,而且是基於相同的架構開發,使用起來非常方便。同時,模組化工程設計讓開發者使用更方便,可以很簡單地新增或者替換模組。這樣一來,很多公司也會採用OpenMMLab作為內部研發工具。

《新程式設計師》:

2021年也釋出了不少新的演算法庫,包括MMGeneration、MMOCR、MMTracking等,它們可以給開發者帶來哪些幫助?

陳愷:

MMGeneration是生成模型演算法庫,比如,我們現在看到的一些熱門話題,“假人臉”或是“換臉”之類,都以生成模型作為基礎,可以達到以假亂真的效果。MMOCR主要是做文字的檢測和識別,現在很多手機和電腦軟體都有這些功能,我們就提供了這樣一個開源工具。

MMTracking主要實現目標跟蹤,包括三類:第一類是單目標,在影片裡畫一個框,MMTracking可以一直跟蹤;第二類是多目標,某個影象或某一幀可能會有多個物體或多個人,透過MMTracking可以持續不斷地跟蹤每個人的位置,並且保證ID不出錯。當兩個人一起走路,不會把這個人跟蹤成另外一個人;第三類是影片中的目標檢測。

清華“洗衣機系”學霸,如何在 GitHub 拿下 50000+Star?

“好摘的果子大都被摘完了”

《新程式設計師》:

你認為視覺技術在落地方面發展到什麼階段了?未來可能有哪些方向?

陳愷:

相較於2012年和2013年的爆發期,視覺在工業應用方面已經到了平臺期,或者說瓶頸期。一些“好摘的果子”大都已經被摘完了。目前主要在做資料標註監督,或者模型學習的一些模式。也有很多難題,但應用還不錯。

接下來在新的學習方向或者說正規化上可能會有更大發展,比如,現在大家都比較關注的,近兩年投入較大的大模型、超大模型的訓練。透過大模型,可以得到非常好的基準,然後再把它泛化到具體任務層面。這是接下來非常值得研究的方向,有不少大公司會宣傳“我們要訓練多大引數量的模型”,當然前提是能耗得起資源。

此外,還有一個比較有價值的方向,是“對真實空間的理解”。這麼說可能比較抽象,其實像3D,或者最近比較熱的元宇宙都可以歸為這一類。目前產業界對影象和影片的識別,以及分類都成熟了,未來會逐漸關注和真實空間相關的方面,比如怎麼做3D重建、生成、渲染等。

《新程式設計師》:

你日常開發主要用哪些語言?在深度學習上正在研究什麼課題?

陳愷:

技術語言主要包括Python、C++和CUDA程式設計。Python是深度學習必備語言,C++和CUDA能夠在GPU寫一些高效能的運算元,做進一步最佳化。

深度學習正在研究的課題包括目標檢測、自監督學習,還有一些分割和3D等。整個團隊覆蓋到多大範圍,我就會把研究課題或者說方向拓展到多大範圍。

《新程式設計師》:

想對從事AI視覺的開發者提出哪些學習和實操的建議?

陳愷:

除了推薦我們的OpenMMLab外,還推薦多瀏覽arXiv。org,上面有很多論文,有沒有發表的都會放。還有一個比較好的網站是Papers With Code,它會收集不同領域的演算法,以計算機視覺和NLP為主。同時也會發一些榜單,相應的程式碼也會羅列在上面,包括效能如何實現,這些對大家找相關資訊都非常有幫助,個人認為是一個很好的檢索網站。

炒股開戶享福利,入金抽188元紅包,100%中獎!

開啟App看更多精彩內容