天天看點

深度學習蠶食軟體,十年内大部分軟體工作不再涉及程式設計

本文來自AI新媒體量子位(QbitAI)

深度學習蠶食軟體,十年内大部分軟體工作不再涉及程式設計

△ Pete Warden

今天,跟他聊過這一概念的谷歌工程師Pete Warden也在自己的部落格上發了一篇文章,題為“Deep Learning is Eating Software”,闡述了他對軟體2.0時代的看法。他說,以後程式員的角色會變成軟體的“老師”,10年内,大多數軟體相關工作都将不再涉及編寫程式本身。

以下内容翻譯自Pete的部落格。

深度學習蠶食軟體,十年内大部分軟體工作不再涉及程式設計

幾周前,我和Andrej Karpathy喝了幾杯,聊起了我們認為未來幾年裡,機器學習會走上什麼方向。Andrej抛出了“軟體2.0”這個概念,我立刻感到羨慕嫉妒,因為這個詞所捕捉到的,是我在幾百個項目中所見到的日常。

他寫了部落格發出來之前,我都忍着沒說話,不過現在,我想來講講我對這件事的看法。

我所看到的模式是這樣的:有一個軟體項目,用明确的程式設計邏輯來處理資料,然後負責維護它的團隊發現,他們可以用基于深度學習的解決方案來替換它。

Alphabet有很多這樣的例子,我隻能舉一些已經公開的,比如說搜尋排序的更新、資料中心節能、語言翻譯、下圍棋,這些在Alphabet内部并不是特例。

我所看到的是,幾乎每一個有意義的資料處理系統都可以用現代機器學習技術來大幅提高。

這樣說可能顯得沒那麼戲劇性,但是在我們如何建構軟體這個問題上,這是一種劇變。不用再寫一層一層錯綜複雜的邏輯,程式員的角色變成了一名老師、訓練資料的管理者、結果的分析師。這和我在學校裡所學的程式設計非常非常不一樣,但最讓我激動的是, 一旦工具完備了,它比傳統的程式設計工作門檻更低。

這種新程式設計方式的核心是提供一大堆樣例作為輸入,以及你期望什麼樣的輸出。這不要求程式員具備傳統程式設計工作所需的技術能力,卻需要對于問題領域的深入了解。這就意味着和以往不同,軟體的積極使用者會參與到它的建構之中,扮演一個更直接的角色。

本質上,是使用者自己描述了使用者故事,把它們喂到機器裡,建構自己想要的軟體。

Andrej的部落格專注于語音識别等領域,但我想說的是,軟體2.0帶來的影響将遍布更多領域。經典文章Machine Learning: The High Interest Credit Card of Technical Debt(https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/43146.pdf)描述了一種十分常見的模式:機器學習系統開始嵌入到軟體的深層堆棧之中。

我所看到的是,因為越來越多的軟體堆棧被單個深度學習模型整體替代,“技術債”的問題也開始得到解決。跟斷裂點進行類比,這就像将你的所有債務都合并為一筆費用更低的貸款。與一組深度聯通的子產品相比,單個的模型更容易提高,維護起來也更容易。

對很多大型系統來說,反正都沒人敢說自己清楚這些軟體究竟在幹什麼,是以實際上在可調式性或者控制性方面也沒有損失。

我知道這聽起來就像是又一篇深度學習忽悠文,如果我不是每天都看見這樣的曆史程序正在發生,也會覺得這很難接受,但這是真的。

比爾·蓋茨好像說過“大多數人都高估了他們一年内能做的事情,低估了10年内能完成的事情”,對于将傳統軟體替換成深度學習這件事來說,我正是這種感覺。随着知識在開發者圈子裡的擴散,這将會是一個長長的緩慢上升過程,但我預測,10年之内,大多數軟體工作都不會再涉及程式設計。

就像Andrej明确指出的:深度學習比你強!

深度學習蠶食軟體,十年内大部分軟體工作不再涉及程式設計

— 完 —

本文作者:夏乙 

原文釋出時間:2017-11-14

繼續閱讀