神話的誕生
記得幾年前流行一本書,《人類簡(jiǎn)史》。此書風(fēng)行之后還有一些類似的《智能簡(jiǎn)史》之類。 在AlphaGo出現(xiàn)之前,《人類簡(jiǎn)史》的作者尤瓦爾·赫拉利對(duì)人工智能的態(tài)度還是比較客觀和保守的,對(duì)奇點(diǎn)的探討也不是很絕對(duì)。但在李世石慘敗后,作者的觀點(diǎn)則出現(xiàn)了較大的轉(zhuǎn)變。《人類簡(jiǎn)史》的末尾,在人類社會(huì)的發(fā)展進(jìn)程中,從最開始的動(dòng)物到神的出現(xiàn),最后催生出有關(guān)神話的想象和信仰,而這個(gè)神話的中心點(diǎn)就是AI。 李世石和DeepMind研發(fā)的AlphaGo進(jìn)行的人機(jī)大戰(zhàn),每一盤直播我都幾乎是屏住呼吸在看。圍棋上手的每一步,都會(huì)給對(duì)手帶來巨大的心理壓力,而AlphaGo的棋一直讓人喘不過氣來。直到第四盤李世石的78神之一手——看到這步棋之后,我?guī)缀踹煅剩瑑裳蹚臐駶?rùn)到流淚。
李世石VSAlphaGo第四盤白78手
DeepMind創(chuàng)始人握著李世石的手說,AlphaGo的勝利是人類自身的進(jìn)步,而不是機(jī)器對(duì)人類的勝利。在當(dāng)時(shí)的愛好者群里,我提出一個(gè)建議:馬上更換25路棋盤再戰(zhàn)。這個(gè)策略是出于對(duì)AI仍舊是一種統(tǒng)計(jì)程序的考慮,我估計(jì)它還不能從19x19中發(fā)現(xiàn)通用規(guī)律并移植到更大的盤面上去。
李世石對(duì)戰(zhàn)AlphaGo 也有人認(rèn)為盤面越大人類越不行。但在LeelaZero出現(xiàn)后,我曾跟Leela多次對(duì)弈,結(jié)果是19路完敗,25路完勝。在更大盤上面,AI完全沒有基本的圍棋常識(shí),這一定出乎很多人的意料。 雖然口頭上還在探討圍棋AI的弱點(diǎn),但作為一個(gè)從90年代就開始編程的程序員,在那一刻,我真實(shí)感受到的是時(shí)代的巨變。我覺得自己必須馬上行動(dòng),馬上跟上時(shí)代的腳步,才能避免被無形的巨輪碾壓在塵埃中。 在此之前,我一直在做編碼解碼器優(yōu)化、內(nèi)容分享這一類工作。看完這幾盤棋后,我暫停了所有的手頭開發(fā)方向,安裝了Python,下載了DeepMind論文的相關(guān)開源代碼,開始學(xué)習(xí)AI。后來又選擇了超分辨率這個(gè)方向來作為突破口,到今天縱向發(fā)展到推理引擎深度優(yōu)化,橫向關(guān)聯(lián)到NPU加速的編碼解碼器等等。 尤瓦爾·赫拉利有一個(gè)很有名的觀點(diǎn),那就是神話在人類社會(huì)發(fā)展過程中起到的最重要作用。在有語言通信工具的情況下,十幾個(gè)人的小團(tuán)隊(duì)能夠運(yùn)作得很好,智人和尼安德特人的團(tuán)隊(duì)合作都達(dá)到了這個(gè)程度。但是當(dāng)智人和尼安德特人在歐亞大陸相遇的時(shí)候,智人還有更強(qiáng)的工具,那就是gossip,我們理解為八卦,意思是通過篝火和睡眠前的八卦,智人的溝通更有效率,能夠保證比較穩(wěn)定的更大規(guī)模上的團(tuán)隊(duì)合作。因此智人最終取代了尼安德特人。
《人類簡(jiǎn)史》作者尤瓦爾·赫拉利 后來人類團(tuán)體變得更大了,達(dá)到了幾百數(shù)千人,這個(gè)時(shí)候八卦也出現(xiàn)了問題,因?yàn)楦蟮膱F(tuán)隊(duì)也更容易產(chǎn)生分裂。于是,神話就適時(shí)地出現(xiàn)了。神話也就是宗教,氏族首領(lǐng)代表神來進(jìn)行治理。國(guó)家形態(tài)出現(xiàn)了,而且這種統(tǒng)治形態(tài)可以長(zhǎng)時(shí)間保持。人類的科學(xué)技術(shù)、文化文明等等,都得益于超大規(guī)模的團(tuán)隊(duì)合作,也就是國(guó)家和政治。 神話并不屬于科學(xué)技術(shù),而是一種社會(huì)意識(shí)形態(tài),但是神話對(duì)于人類社會(huì)的發(fā)展、科學(xué)技術(shù)的飛躍都是不可或缺的。超級(jí)AI,奇點(diǎn)理論,其實(shí)就是一種神話。 無論是DeepMind的哈撒斯比,還是BAT的普通程序員,都知道自己正在開發(fā)的AI,和超級(jí)AI扯不上一點(diǎn)關(guān)系。奇點(diǎn)究竟是怎么回事,在OKR的壓力下也沒有幾個(gè)人去關(guān)心。但是開發(fā)AI的人,總是有一種使命感,總覺得自己不僅僅是寫一些模塊算法或者拿一點(diǎn)工資,自己每天在干的事情屬于一個(gè)無比宏偉的藍(lán)圖的一部分,自己和成千上萬的開發(fā)者一同在書寫一部史詩。這就是我們心中的神話。 在神話的鼓舞下,我這樣的老程序員,每天都在學(xué)習(xí)新的算法新的技能,不斷轉(zhuǎn)換賽道開疆拓土。更有無數(shù)的年輕程序員,抱著一種創(chuàng)造神話的激情和理念,突破了一個(gè)又一個(gè)的技術(shù)難點(diǎn),把AI算法推向千千萬萬的用戶。我們看到了新的億級(jí)別VV應(yīng)用的快速崛起,也見證了一批不思進(jìn)取老牌APP的迅速消失。
為什么說我們現(xiàn)在的AI不是超級(jí)AI
從事AI開發(fā)的人都知道,現(xiàn)在的AI還沒有自主學(xué)習(xí)的能力。算法都是工程師設(shè)定好的,AI只是在執(zhí)行一種程序。與其說是AI在學(xué)習(xí),不如說是算法工程師在學(xué)習(xí)更合適。和基本的傅里葉變換、拉普拉斯草帽算子、線性方程組一樣,現(xiàn)在的深度學(xué)習(xí)也只是一種統(tǒng)計(jì)算法,是一種從數(shù)據(jù)中尋找規(guī)律的計(jì)算機(jī)程序。 那么將來是不是有這種可能:AI會(huì)發(fā)展到自主學(xué)習(xí)、自行修改算法、自行進(jìn)化的程度?這是對(duì)未來的一種預(yù)測(cè)。因?yàn)槭穷A(yù)測(cè),所以很難是準(zhǔn)確的。 對(duì)過去歷史上發(fā)生過的事件進(jìn)行總結(jié),總有人可以做的很到位。但是有沒有人能夠預(yù)測(cè)新冠肺炎的爆發(fā)?有沒有人能預(yù)測(cè)到雙色球開獎(jiǎng)號(hào)碼?有些理論說世界本質(zhì)上是模擬和隨機(jī)的,沒有能夠長(zhǎng)期成立的預(yù)測(cè)。 首先,AI的發(fā)展是不是可以按照指數(shù)形式無限制暴漲?要知道,硅芯片從20年前到達(dá)4G主頻之后,CPU的計(jì)算能力增長(zhǎng)開始減緩,改進(jìn)形式變成了多核心,GPGPU,NPU,FPGA,這是因?yàn)槲锢硪?guī)律的限制。 愛因斯坦的廣義相對(duì)論已有百年歷史,至今再無突破性的理論出現(xiàn),科學(xué)家們還在茫茫宇宙中尋找相對(duì)論的一些證據(jù),這是人類智能的限制。 人們都說外星文明幾乎是必然的,但是人類如何走出太陽系都是一個(gè)問題,這是空間和時(shí)間的限制。 其次,從目前的狀態(tài)來說,超級(jí)AI還很遠(yuǎn)。超級(jí)AI的神話總是和永生,和人造生命一同綁定。某種意義上來說這是同一個(gè)問題。我們目前面臨的冠狀病毒、艾滋病、癌癥、衰老,仍舊是沒有解決的問題,長(zhǎng)生不老還只是一個(gè)神話。無論你多么成功,或者富可敵國(guó),該死還得死。更別提還有全球性變暖、生態(tài)災(zāi)難、小行星撞擊等種種不可預(yù)測(cè)的事件。 第三,對(duì)AI未來的預(yù)測(cè),實(shí)際上是對(duì)人類自身甚至地球共同體未來命運(yùn)的預(yù)測(cè)。每個(gè)人,每個(gè)生命都參與其中。那么這個(gè)事件的發(fā)展就不是一個(gè)可以被獨(dú)立觀察的孤立系統(tǒng)。由于每個(gè)人都可能有意無意地影響事件的走向,那么這個(gè)系統(tǒng)的演化很大程度上就帶有主觀色彩,至少不是完全客觀的。 兩種極端情況:第一種,我手中握著一只小強(qiáng),讓你來預(yù)測(cè)生死。你說“活”,我捏死它,你說“死”,我放開它;第二種,我預(yù)測(cè)自己明天早上吃個(gè)漢堡。那我完全可以強(qiáng)行讓這個(gè)預(yù)測(cè)成立。實(shí)際上在具體項(xiàng)目開發(fā)中,往往存在這種情況,決定工程最終走向的,往往是最有實(shí)力的程序員,而這個(gè)走向跟大家最初的判斷往往差別很大。 并不是說這個(gè)“最強(qiáng)程序員”的走向一定是最合理的,而是因?yàn)橹挥兴芴钇酱罂幼屗惴ㄗ呦驅(qū)嵱谩4蠹翌A(yù)測(cè)AI的未來和規(guī)律也是類似的,這種預(yù)測(cè)往往會(huì)改變被預(yù)測(cè)過程的走向。如果人類意識(shí)到不加限制的超級(jí)AI會(huì)帶來威脅,那么超級(jí)AI從開發(fā)到使用就必然受到一系列限制,超級(jí)AI仍舊只會(huì)是一種工具,不會(huì)發(fā)展出無限智力。 因此,實(shí)際上目前的AI并不是影視文學(xué)作品中的那種超級(jí)AI,也不是很多人心中神話了的AI。目前不是,甚至20年、30年之后也差得很遠(yuǎn)。
那么目前的AI究竟是個(gè)什么狀態(tài),短期的發(fā)展會(huì)如何?
AI落地三要素:算法、芯片、工程
算法層面上,主要是要證明該算法的有效性。在算力能夠保證的前提下,深度算法一般能提供傳統(tǒng)算法不具備的一些特征。但這并不是說你只要說明自己是深度算法,市場(chǎng)和客戶就會(huì)買賬。 比如用戶往往希望超分辨率、HDR、降噪等技術(shù),能夠把一些質(zhì)量較差的視頻做出很明顯的改善。但算法并不是仙丹妙藥,只能在滿足工作區(qū)間的條件下,起一部分作用。所以我們要有比較清醒的認(rèn)識(shí),主觀意愿和客觀算法能力上肯定是不匹配的。 在芯片層面,主要是因?yàn)樯疃葘W(xué)習(xí)需要很大的計(jì)算能力,這個(gè)能力是傳統(tǒng)CPU不具備的。通用計(jì)算的GPU在模型訓(xùn)練上是比較有優(yōu)勢(shì)的,但和專有的加速芯片(TPU,NPU)比起來,單位芯片面積算力產(chǎn)出和功耗上,效率是比較低的。 如果前兩個(gè)問題解決的話,算法最終落地到APP用戶層面,是依靠工程開發(fā)來實(shí)現(xiàn)的。并不是說算法的算力需求和芯片的理論能力能夠匹配了,實(shí)際運(yùn)行效果就一定滿意。這個(gè)問題在移動(dòng)平臺(tái)上非常突出。手機(jī)是依靠電池供電的,電力非常有限,同時(shí)散熱空間也很小。這兩個(gè)特點(diǎn)使得在手機(jī)上應(yīng)用深度算法難度陡然加大。比較大的網(wǎng)絡(luò)即使在NPU上運(yùn)行也是很慢的,常規(guī)的暴力裁剪縮小網(wǎng)絡(luò),往往使得算法失效,或者出現(xiàn)大量badcase.
AI 能落地的幾個(gè)條件:
1) 工作區(qū)間內(nèi)沒有明顯的badcase。 這個(gè)原因顯而易見,自然界生物里面,老弱病殘是第一個(gè)被淘汰的。先天殘疾的幼兒很難存活,產(chǎn)生癌癥的變異不能通過自然選擇。一個(gè)算法有badcase的話,就得有很多彌補(bǔ)措施,這些措施的代價(jià)可能超過了算法本身的收益。這就如同用錢買了房子,坐等房子升值就可以發(fā)財(cái),至少是不虧;而如果投資做買賣的話,費(fèi)了很大力氣折騰半天反而賠了。 2) 相對(duì)于其他算法選擇,要有明顯的收益。如果相對(duì)于別的算法,投入過大而收益更小,那么很明顯的應(yīng)該放棄當(dāng)前的思路。3) 對(duì)于現(xiàn)階段的硬件芯片和軟件驅(qū)動(dòng)來說,算法可以高效運(yùn)行。 比如一些深度算法,4k超分辨率疊加HDR、超幀率等,在服務(wù)器硬件加速下,性能滿足需要。即使不能實(shí)時(shí)運(yùn)行,也不至于等待太長(zhǎng)時(shí)間,這是可行的。但是這樣的算法放到移動(dòng)平臺(tái)上,有耗電限制,芯片都是低功耗低性能類型,顯然落地的困難就非常大。
目前比較成功的落地算法
我們所了解的深度算法發(fā)展里程中,有兩個(gè)影響比較大的事件。第一個(gè)是人像識(shí)別,深度算法超越了傳統(tǒng)的統(tǒng)計(jì)特征分析。第二個(gè)就是本文提及的圍棋AI程序AlphaGo, 后續(xù)當(dāng)然還有Master、zero等等。另外,在語音識(shí)別上也是類似。接近十年的時(shí)間過去了,目前圖像識(shí)別和語音識(shí)別還是最成熟的應(yīng)用。從識(shí)別到內(nèi)容生成,這一步還在繼續(xù)進(jìn)化之中。 視頻畫質(zhì)類算法,典型的包括HDR、超分辨率和超幀率。這類算法在非實(shí)時(shí)性約束的場(chǎng)景下已經(jīng)有很多應(yīng)用例子。其中一個(gè)難題是,非實(shí)時(shí)約束就必須使用視頻編碼器,編碼后的視頻質(zhì)量損失是比較大的。極端的例子是,一個(gè)720P的視頻,如果先解碼為單幀圖像序列,然后做超分辨率到4k,然后再編碼為4k高清視頻來播放。 這時(shí)候我們會(huì)發(fā)現(xiàn),雖然超分辨率帶來了一定的畫質(zhì)改善,但是編碼過程帶來的畫質(zhì)損失更大。 結(jié)果是,直接播放720P視頻反而比播放超分4k編碼的視頻效果更好。超分等算法放到端上實(shí)時(shí)運(yùn)行,能避免這個(gè)問題,還能節(jié)省傳輸碼率。但是對(duì)于算法的實(shí)時(shí)性要求,使得芯片的計(jì)算壓力和算法工程的優(yōu)化壓力,又變得極大。
我們看到短時(shí)間內(nèi)會(huì)解決的應(yīng)用:
在4k分辨率下,幾個(gè)典型視頻畫質(zhì)類算法目前三元素的狀態(tài):
我們看到,芯片的計(jì)算能力實(shí)際上是達(dá)到了。考慮到功耗的因素,算法和工程的優(yōu)化還需要做一個(gè)2-3倍的改善。 但實(shí)際上無論從算法上還是工程實(shí)現(xiàn)上,優(yōu)化的空間還是非常巨大的。我相信再過一段時(shí)間,出現(xiàn)20-30倍的效率提升是很正常的事情。 以AI輔助編碼為例,有人做過一個(gè)試驗(yàn),用AVX512指令集,用下山法暴力計(jì)算,實(shí)現(xiàn)了視頻編碼的運(yùn)動(dòng)估計(jì)模塊。在小運(yùn)動(dòng)向量場(chǎng)景下,1080分辨率的運(yùn)動(dòng)搜索,每個(gè)像素代價(jià)大概是2個(gè)指令周期。這意味著3G主頻的CPU,單線程ME性能達(dá)到了1000FPS左右。
-
AI
+關(guān)注
關(guān)注
87文章
30998瀏覽量
269328 -
程序員
+關(guān)注
關(guān)注
4文章
952瀏覽量
29815
原文標(biāo)題:從神話到落地——AI工程化淺談
文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論