OpenMMLab 是商湯科技開源的一個計算機視覺領域的 AI 算法框架。自 2018 年 10 月逐步開源以來,OpenMMLab 在軟體原始碼託管服務平臺 Github 上共累積了 1.6 萬個星。
開發 OpenMMLab 對於商湯來說意味著什麼?商湯對於未來 OpenMMLab 又會有怎樣的發展計劃?
為此,DeepTech 對商湯科技聯合創始人、香港中文大學信息工程系教授林達華進行了專訪。
圖 | 商湯科技聯合創始人、香港中文大學信息工程系教授(來源:香港中文大學)
OpenMMLab 不是一個算法,而是一個覆蓋了十多個研究的垂直領域,共包含 100 多種算法和 600 多種模型的算法框架, 這是 「迄今為止最完備的算法體系和框架」。目前,OpenMMLab 聚焦的方向包括:圖像分類、檢測、語義分割、動作識別、3D 點雲、圖像的超解析度、圖像的修補、圖像的編輯、人體關鍵點的檢測還有跟蹤。這些是整個計算機視覺領域最主要的方向,也是在實際運用中被最廣泛推動的一些方向。
林達華表示,完成一個人工智慧算法的開發是一個非常複雜的過程,從簡單的想法開始到最後的落地,有很多工程化方面的問題,要花費大量的實踐和工程資源。「有了 OpenMMLab,那麼全球 AI 方面做研發的時候,很多新的想法、創造性的想法、創新性的想法,就能夠基於這樣一個空間和結構順勢形成一個落地的技術,大大地加快整個研發的流程,這也是商湯這個開源體系對於整個 AI 產研界的一個貢獻 「。
而在這個過程中,OpenMMLab 也 「能夠逐漸形成一個非常好的開源生態,讓很多的想法都可以基於這樣一個基礎進行充分的交流」。比如 OpenMMLab 框架裡的 MMDetection, 參與開發的貢獻者多達 100 多位,但其中的商湯全職員工只有幾個人,大部分的其他貢獻者是很多社區和研究機構的同學。對於商湯來說,很多通過這種形式開發出來的算法對於推進人工智慧產業賦能有很大的意義,而對於開發者來說,他們從想法到實現的路徑也大大地縮短。
與行業內其它開源項目相比,林達華認為 OpenMMLab 的最大優勢在於成體系化,從而降低開發的成本。在深度學習時代,Facebook、Google 等公司開發的算法大多是某些垂直方向單點的開源,而 OpenMMLab 基本上覆蓋了計算機視覺領域的幾乎全部主要方向。和單點的算法開源項目相比,OpenMMLab 的整個架構是統一設計的,擁有很強的適用性。
此外,開發者在試圖實現一些學術論文裡面報告的算法的時候,往往達不到論文宣稱的高精度。這是因為,對於深度學習來說,在訓練的過程中有非常多的影響因素,要尋找到這個差別、實現報告水平的精度,往往一個算法要花幾個月的時間來調參。而 OpenMMLab 已經把所有不同算法包到這個代碼庫裡面來了,替外部使用者提前 「踩坑」,後者也就不需要再把這些彎路重走一遍了。
這樣一來,開發人員在開發自己的項目時,就無需重新搭建已經實現的其它算法。只需要實現自己的創新的部分,哪怕只有兩三個函數,再把它們直接接入到 OpenMMLab 的框架,和裡面的組件進行簡單的連接,就能形成一個完整的、能落地的項目。對於應用開發來說,這是非常簡便的。
「這個的話,商湯是第一個」,林達華說。
圖 | OpenMMLab 項目(來源:OpenMMLab,GitHub)
對於未來的發展方向,林達華希望他們的努力能夠逐漸培育出一個生態的體系,從單點單個方向的開源和單篇論文的開源,逐漸走向整個領域的開源。如果得以實現,將會極大降低業界產品和項目落地的難度,以及縮短科研的路徑。
計算機視覺已經處在了產業落地的時期,目前正在從某些重要領域的工業化,逐漸走向以智慧城市、智慧醫療為例的全社會的普及化。深度學習經過這幾年的發展,在工程上、技術上已經到了非常高的水平,但這個水平的獲得依賴巨大的算力和大量數據的獲取,這樣的依賴導致 AI 在任何一個場景的落地中都面臨著比較高的開發、算力和數據的代價。
OpenMMLab 在很大程度上就是解決算法設計的代價問題。林達華認為,人工智慧從技術到產業落地的過程中,會在落地和技術兩個層面面臨挑戰。
在落地層面,最大的挑戰在於要深入理解場景的需求和痛點。不深入這個行業的時候,可能會對這個行業有一些自己的想像,但是如果進去之後就會發現它其實是另外一番風景。
而在技術層面,同樣的算法在不同場景落地的時候也會演化出不同的版本,這會給技術積累產生很大的挑戰。
OpenMMLab 是通過統一架構的方式來解決這個問題的。統一的框架意味著在這個平臺上,大家都聚焦某種架構去做這些算法,雖然具體的部分可能是有不一樣的,但是有很多的部分是共享的。每一個部分在落地過程中都會改進,隨著時間的發展,整個體系各個部分都在持續成長,整個體系的技術能力也就可以每過一兩年都有一個巨大的提升。
在林達華看來,一個優秀的開源項目,應該獲得持久的生命力。一開始可能是一些同事或者研發的人員在開發,後來如果這個開源項目真真正正給到社區、行業、學術界以價值,就可以吸引到越來越多的貢獻者,參與到這個項目共同的創造裡面來。原先的參與者可能已經不再繼續維持這個項目了,但這個社區依然能夠推動項目的發展,保持一個正向的循環。
對於未來,商湯也希望可以逐漸從內容生態、算法生態的開放,延伸到更加基礎層面的設施。他們期待這樣一個開源開放生態的構建,可以在未來讓整個人工智慧領域的研發和落地都得到加速的發展。