記者 | 吳洋洋

編輯 | 陳    銳

如果技術發展的歷史有大小年之分,2022年應該算是人工智能(Artificial Intelligence,AI)歷史上的一個“中”型年份——它比不上2012年,那一年,工程師們第一次疊出了5層人工神經網絡,“深度學習”的概念就此誕生;也比不上2016年,那一年,人類最優秀的圍棋選手李世石被一個叫AlphaGo的AI打敗。

但2022年的人工智能領域絕對比2016年之後任何一年結下的碩果都多。

4月,一個叫DALL-E 2的模型幾秒鐘就能根據指令生成令人眼前一亮的圖像畫作;11月末,一個叫ChatGPT的模型又橫空出世,富有邏輯地接住了來自人類的任意發問——除了天氣預報。兩個模型都由一家位於舊金山的人工智能公司OpenAI開發。

ChatGPT官網對其的介紹是優化對話的語言模型。

一個月後,總部位於倫敦的Deepmind也發佈了一個可以寫代碼的模型AlphaCode。從名字就能看出,它是該公司旗下圍棋高手AlphaGo和蛋白質預測大師AlphaFold的兄弟。

此前,AI普遍擅長分析,比如判斷一個郵件是否爲垃圾郵件、辨別一張圖片是蘋果還是梨或者猜測你喜歡哪一類型的商品。與這類“分析式人工智能”(Analytical AI)不同,2022年誕生的DALL-E 2、ChatGPT和AlphaCode都是“生成式人工智能”(Generative AI),相較於分析,它們更擅長創造。

DALL-E 2的代表作。根據官網介紹,DALL·E 2 可以根據文字描述創建原創、逼真的圖像和藝術作品。

可以肯定的一點是,無論分析式AI還是生成式AI,都仍然基於深度學習。過去兩週,體驗過ChatGPT的人多數都會經歷這麼一個過程:初試驚豔,爲ChatGPT可以給出如此富有邏輯的答案而驚歎,它寫出的述職報告差不多改一改就能用;有人用它爲代碼debug,還有人用它編出了情節離奇富有創意的科幻故事;但很快,大家又發現,這個AI在很多問題上的回答並不靠譜,比如,它會認爲賈寶玉應該娶賈母,或者一本正經地給出“4是無理數”的證明。

我們的一位同事給ChatGPT出了一道題,這是它給出的答案。

還有人讓ChatGPT“給領導寫信”。

但如果你問ChatGPT如何看待林黛玉倒拔垂楊柳……

沒錯,ChatGPT的背後仍然是深度學習的“黑盒”,你不知道它會生成什麼內容,它自己也不知道。

但現在,用以深度學習的神經網絡規模變了。在ChatGPT被推出之前,OpenAI就因一系列GPT(Generative Pre-trained Transformer,生成式預訓練語言模型)而聞名,其中GPT-3一度是全球最大的自然語言模型,有1750億個參數。GPT證明,更大的模型的確效果更好——至少比之前面世的所有聊天機器人都更連貫、更富有邏輯和創意。但這仍遠不是最終答案。

語言一直被視爲智力的明珠,無論對人還是對人工智能都如此。GPT系列一誕生就被寄予厚望,這部分人認爲人類語言沒什麼神祕的,就是一種“Predict The Next Word”模式。回想一下,你是不是經常在聽到對方講出上一個詞的時候就能預測到他接下來要說的詞是什麼?沒錯,GPT的擁躉認爲一切基於概率,語言也一樣,而概率基於統計,前面講過的話幾乎可以決定接下來會說出的話。

但也有持謹慎態度的人,他們認爲,人類的語言沒有那麼簡單,因爲語言反映的不只是詞與詞之間的關係,更包括詞與外部世界之間的關係,所以只玩文字遊戲不能從根本上解決問題。

那麼,一個仍然只是在玩文字遊戲的AI還值得我們對它認真嗎?或者,我們該如何看待它的價值?若要實現更好的智能,前沿的算法開發者們在做什麼?

第一財經Yimagazine與資深算法工程師徐昳昶就ChatGPT的相關技術問題做了一次對談。徐昳昶是社交應用即刻的算法負責人 ,他畢業於復旦大學計算機系,2018年加入即刻,長期關注推薦搜索的技術趨勢,同時對NLP(神經語言程序學)、音頻等方向也多有涉獵。

Yi = YiMagazine

徐昳昶 = 即刻算法工程師

一次只能預測一個單詞

Yi:你用ChatGPT的體驗如何,覺得它很好?很蠢?還是相比其他AI有進步?

徐昳昶:其實是有一些進步了,但是這個進步和之前的DALL-E 2模型(注:OpenAI旗下的圖片生成模型)一樣,只是向前跨出了讓大家覺得好玩的一步,所以才流傳這麼廣。這一步背後的技術變化可能不是很大,比如可能只是準確率從85%提升到了90%,只是5個點的進步,但這一步讓它正式邁入應用級行列了。

Yi:準確率是基於什麼?

徐昳昶:這只是一個通俗說法,比如一個分類模型,給它100張圖片,它分對了80張,那麼它的準確率就是80%,分對了90張,準確率就是90%。不同模型實際上有不同的評判標準,像這種生成式模型,其實更多是看用戶體驗。訓練的時候,會有人來告訴它生成的內容到底好還是不好。比如ChatGPT,它在網頁上也會有點贊或倒讚的反饋按鈕讓你去選。令人滿意的答案就會多出,不滿意的答案就會少出,以此迭代模型。

Yi:這種生成式AI如何從零開始生成一個答案?

徐昳昶:它基於的是自然語言模型,這種語言模型2000年左右就出現了,本質就是“predict the next word”,預測下一個詞。比如我跟你說:“He is a ……”,讓你預測下一個詞是什麼。如果用兩個模型來做這件事,其中一個模型給出的詞是“yes”,另一個模型給出的詞是“man”,你覺得哪個詞更可能出現?還有的模型可能會給出“king”。對有的用戶來說,“king”這個回答也許就比前兩個更高級。總之,每個模型都通過大量語料訓練,它見過哪個詞最常跟在哪個詞後面,就預測它是接下來最可能被生成的詞,這就是生成式模型的原理。

Yi:每次最多隻能生成一個詞嗎?

徐昳昶:只能生成一個詞。ChatGPT看起來能大段地說話,但它回答的內容也是一個詞一個詞生成的。只不過,它會在每生成一個詞之後,就把這個詞重新作爲input(輸入),去預測接下來最可能出現在後面的詞。比如當它說出“He is a king”之後,king這個詞就會反過來成爲input的一部分,爲繼續生成下一個詞作貢獻。

Yi:這會不會造成說到哪兒是哪兒、看起來很連貫但並沒有回答問題的狀況?

徐昳昶:會存在這樣的問題,我們叫做“長時間記憶缺失”。其實人一樣會有這個問題,比如我說了一段話,有時候我後面說的跟前面說的,會在邏輯上完全不相關,原因就是我沒有記住前面說的那麼多東西。

AI有一樣的問題,它的input長度同樣有限制,因爲過長的input會讓AI算不過來。現在的ChatGPT之所以效果更好、語言更有邏輯、在多輪對話的時候上下文也更連貫,原因之一就是它有了更好的記憶能力,它能處理的input更長了。

Yi:更長的input、更好的記憶能力就能產生邏輯嗎?

徐昳昶:表面上看,ChatGPT產生了一些邏輯上的連貫性。實際上,目前的這些AI仍然是深度學習模型,不具有所謂的邏輯推理能力,它們本質上還是基於統計在工作。它的邏輯、它所生成的單詞和句子,都來自它曾經見過的語料。

ChatGPT的邏輯一方面來自它見過的語料中使用的邏輯,另一方面來自監督學習。GPT-3(注:OpenAI在ChatGPT之前推出的自然語言模型)的語料規模非常龐大,超過40T。而ChatGPT在GPT-3大規模語料訓練的基礎上,又增加了人爲打標的監督學習。比如在機器生成答案後,ChatGPT的工程師會去審查那些答案,他們會給出答案哪裏好、哪裏不好的反饋,在ChatGPT回答的基礎上修改其答案,使其更符合人的邏輯,再將答案反饋給ChatGPT去學習。實際上是對數據質量做了進一步優化。

Yi:這種監督學習如何窮盡用戶可能問出的問題?

徐昳昶:它確實沒辦法窮盡,但這些有限的反饋數據是不是足夠,是另一個問題。起碼目前從ChatGPT的效果來看,這些有限的數據已經幫助它嚮應用級邁出了一步,而這一步已經讓大家覺得它很好玩了。

Yi:需要什麼程度的記憶力,才能達到ChatGPT現在的連貫性?

徐昳昶:雖然GPT能夠記住(即在預測下一個詞時input的長度)的信息長度已經比以前的模型更長了,但實際上也沒有太長,大概2048個字。

這種長度與成本有關。成本的增長以平方級爲單位,即長度每增長一倍,訓練成本就有平方級的提高。最早的GPT和Bert(Google旗下的生成式模型)能夠記憶和輸入的長度都是512個字,現在能做到2048個,長度成長了4倍,訓練成本就增長16倍。

Yi:人是否也像這些模型一樣用“predict the next word”的方式構建語言?

徐昳昶:現在模型說話方式和人說話本質上仍然是兩種思維。人在說話的時候不會只想下一個詞是什麼,而是會想我下面的邏輯是什麼,大概知道要說什麼後,再去組織語言。不是像模型那樣一個字一個字往外蹦,它甚至不知道它說的話連不連貫,所以可能產生很多廢話文學。

Yi:這些模型是否加載了語言學家已經建構的人類語法?

徐昳昶:據我所知沒有,生成式模型不能這麼做。看似我們已經爲我們的語言總結了很多規則,而且你認爲這個規則肯定是對的,但如果把這樣的死規則寫到模型裏面去,它就只會按照這個規則走,最後不能保證它生成出來的東西都是對的。

所以生成式模型所生成的結果都是由大量語料訓練出來的,而不是因爲人給它賦予了語言規則。哪怕是那些連接詞、邏輯詞,你認爲它說得很有邏輯的部分,也都是因爲它在大量語料裏見過。它沒有見過,就不能憑空生成。

大模型時代:參數競賽

Yi:相較於其他生成式AI,GPT系列模型爲什麼表現更好?

徐昳昶:從GPT和Bert開始,業界第一次有了“大模型”這個概念。在此之前,所有的神經網絡都比較小,沒有多少參數量。GPT-1剛出現,參數量就上億了。以前大家不知道參數這麼多到底好不好。最早的神經網絡只有2層,直到2012年的AlexNet有了5層神經網絡,圖像效果的確好一些,但大家不知道網絡疊多深是好的。

到了GPT,GPT-1開始有12個block,你可以理解爲12層,GPT-2有48個block,GPT-3疊到了96個。事實證明,它們確實大力出奇跡了。

Yi:大模型指的是網絡層數多還是參數多?

徐昳昶:層數變多,參數自然就變多,每一層網絡都有自己的參數。而要訓練更深的網絡,意味着要有更大的數據集,不然淺層的網絡就已經能夠把數據訓練得夠好。

所以GPT其實做了兩件事,一來它把模型變得更大了,二來它用了更多更高質量的數據。你說從技術上它到底有沒有突破?從框架上來說沒有,它使用的仍然是深度學習。如果讓我來做,我一樣可以做,問題是我有沒有那麼多的數據,有沒有那麼多的算力,能不能拿到跟它一樣好的結果,以及我要投多少錢進去。

Yi:同樣基於深度學習,在GPT使用的”predict the next word”之外有別的技術路徑嗎?

徐昳昶:Google的Bert和OpenAI的GPT走的是兩條路。GPT走的是單向transform,而Bert的技術路徑是雙向transform。GPT是從前向後做單向預測,而Bert做的是完形填空。

比如“He is a man”這句話,中間摳掉“a”這個詞,讓你完形填空,這是Google的Bert在做的事。因爲Google認爲,“He is”和“man”都對“a”這個詞有貢獻。而GPT在看不到後面的“man”時就直接根據“He is”預測接下來的詞是“a”了。GPT一直想要做的是生成式模型,所以它堅持走單向預測的路子,從GPT-1到GPT-3都是單向預測。

Yi:難道雙向預測的效果沒有單向預測好?

徐昳昶:其實最早雙向的預測效果比單向好,理論上也是這樣。但現在很難說到底誰好,因爲各家模型越做越大,比如Bert一開始疊了24層神經網絡,GPT-2就疊了48個,它們網絡深度不一樣。即使網絡深度相同,也可以調整參數,只要參數變得更大,其實單向的效果也不差。所以很難說單向模型更好還是雙向更好,目前還沒有結論。

Yi:單向訓練對算力的消耗會更少嗎?

徐昳昶:不一定,看起來單向預測可以比雙向預測少算一點,但實際訓練要看對數據集的需求規模。單向訓練可能需要比雙向訓練翻倍的數據量,才能讓模型收斂。所以兩種模型實際要用多少算力我們是不知道的。

商用:智能客服、搜索引擎、創意、代碼助手?

Yi:ChatGPT也被認爲是一種聊天機器人,它跟很多互聯網公司已經在使用的智能客服有什麼不同?

徐昳昶:問答機器人很早就有了,問答機器人分爲閉源的問答和開源的問答。閉源回答就是給定特定場景,用窮盡的方式列出可能被問的問題和答案。淘寶客服就屬於這一種,它回答的大多數問題都跟它的生意有關,比如物流信息、產品還有沒有貨等,這些問題都有相應的參考答案。這種問答機器人可以回答的問題是有窮盡的,你不能問它業務之外的問題。

但GPT這類模型可以回答的問題是開放的,它什麼都知道,也意味着它在特定領域上面一定不夠專業,目前來看也是這樣,沒有辦法商用。

Yi:這兩類機器人所使用的技術有什麼不同?

徐昳昶:淘寶客服等屬於上一代聊天機器人,它們通過抓取問題中的關鍵詞來識別問題。比如它們會構建客人最常問的30個問題,製作30個回答模板,然後將關鍵詞對應的模板作爲答案輸出給用戶,跟生成式模型是兩回事。如果你的問題裏有多個關鍵詞,它就不一定抓得準。但這種聊天機器人可以商用,因爲確實節約了很大部分人力。

Yi:ChatGPT可以有哪些商用場景?

徐昳昶:問題無法窮盡的場景就需要用GPT這種生成式模型來做。我認爲它目前可能可以幫助一些初級文字工作者,當然不是說它生成的東西直接就可以使用,而是它確實能夠提供一些思路。比如寫個年終總結,或者設計個菜譜,它給出的東西不一定完全正確,但確實能給你一些思考。

但如果只是作爲提供創意的system,一般個人也不太會爲它付費,這也是個問題。其實GPT-3出來的時候,大家已經在問這個問題了。目前OpenAI仍然不能靠GPT來賺錢。

Yi:你認爲它會取代搜索引擎嗎?

徐昳昶:只要它還沒有辦法解決事實性錯誤這個問題,它就不能替代搜索引擎。原因很簡單,當你去搜索一個東西,搜索引擎給出的大概率是非常相關的東西,且保證一定的準確性。比如搜索陳凱歌的作品,你搜出的結果一般不會出錯,因爲是人編輯好的。ChatGPT不行,有人試過,它可能會說張藝謀的什麼作品是陳凱歌的。這種事實性錯誤它不能解決的話,就不能替代搜索引擎。

Yi:這跟它的語料是靜態而非動態有關嗎?

徐昳昶:可能有關係,更大的問題在於,在它的生成邏輯還是基於“predict the next word”的情況下,它自身沒有辦法對事情的對錯作出判斷。ChatGPT在官網也承認了這一點,負責給ChatGPT生成的文本打標籤的人其實也不知道答案的對錯,他們只能從文法結構上看出哪個更好,做出排序,但對於事實性錯誤也無法完全判斷。

Yi:Google旗下的Bert是否更有機會解決這個問題,比如將Google搜索引擎裏的數據與Bert生成的答案做比較?

徐昳昶:暫時應該不會,它可能會用搜索引擎的結果去給Bert做一些提示,但不會通過Bert去直接展示結果。

問題不在於生成式模型與搜索引擎有不同的數據源,而在於它們本質上是架構不一樣的兩套東西。搜索本質是對已有數據的排序,匹配出與搜索詞最相關的信息,而生成式模型基於神經網絡。

Yi:智能音箱出現的時候,就有人討論過它們取代搜索引擎的可能性,生成式模型和這些智能音箱裏的AI有什麼區別?

徐昳昶:你問智能機器人問題的時候,其實它們只是把你問的問題轉換成文字,然後去搜索引擎裏搜索了一下,拿到答案後反饋給你的。這些AI更多是做了一個語音識別和文字轉換的工作。如果你不聯網,這些AI就什麼都做不了。最典型的例子就是天氣預報,ChatGPT做不了這樣的預報,因爲它不是一個天氣預測模型。智能音箱裏的AI可以給出第二天的天氣,因爲它通過搜索引擎去抓取了其他平臺的天氣預測數據。

反過來,如果你問那些智能音箱裏的AI一個開放性問題,比如“你覺得某個音樂好不好聽”,它可能也能生成一些反饋,但會比ChatGPT主觀得多,因爲模型不夠大。

Yi:也有人認爲ChatGPT未來可能取代程序員?

徐昳昶:在ChatGPT之前,Google就已經推出過所謂的自動補全式AI,專門給程序員使用,用以補全代碼。它也用“predict the next word”的方式,一整段一整段地給出補全代碼,就像你在ChatGPT裏問了問題它回答一樣。比如你跟這種寫代碼小助手說“你給我寫個什麼函數,這個函數滿足哪些功能”,它就能給你生成一個滿足你需求的函數。在一部分場景下它補全的已經不比人寫得差了,所以它可以替代程序員的一部分初級工作。

找bug也是它可以完成的任務之一。就是當一個語言模型能夠預測下一個詞是什麼的時候,它就可以通過對比它的預測和程序員的輸入,如果兩者不一樣,它就可以初步判定是程序員錯了。這類代碼助手用了大量的代碼做訓練,所以它知道一行代碼下面應該大概率接什麼。

通用智能只有深度學習是不夠的

Yi:在人工智能的發展過程中,ChatGPT的進步有多大?怎麼理解大家的興奮?

徐昳昶:底層框架上面沒有新進展,但在這套框架(指深度學習)上面往應用級還是進了一步的。從今年4月開始,整個AIGC(AI-Generated Content)領域不停有新東西產生,把整個社區帶得非常火。這種進步是在模型的細節上有了新進展,應用了一個叫Diffusion Model(擴散模型)的算法,這個算法在2020年才被髮表。

GPT-3出來的時候,有人說它給AI又續了5年到10年的命。因爲AI領域確實有一段時間沒有新東西出來了,ChatGPT有更好的效果,的確會給大家帶來一些興奮。但這種興奮能持續多久還不確定。進步肯定是有,但沒有那麼大。

Yi:人工智能領域爲什麼長期難以有大的進步?

徐昳昶:影響AI進步的原因不只在於算法本身,也跟硬件有關。ChatGPT能有那麼大算力,與硬件發展分不開。如果沒有英偉達等硬件公司在顯卡上面的優化,就無法支撐現在這些大模型的訓練。ChatGPT放到5年前是訓練不起來的,因爲顯卡不夠。

深度學習其實也纔是過去10年間的事情。深度學習的理論1980年代就有,但真正跑起來是在2012年。2015年開始,業界開始全面使用,到現在其實也沒有幾年。1980年代的神經網絡還不叫深度學習,因爲不deep,只有2層。後來大家發現,疊得越深,效果越好,直接就開啓了一個新時代。

Yi:一種觀點認爲深度學習領域也存在摩爾定律,每增加一個級別的訓練數據,模型的表現就會上一個臺階,那麼當可用以訓練的數據量見頂的時候,AI還可以如何成長?

徐昳昶:有兩條路,一條路是去研究現在的模型是不是真的足夠大了(注:指神經網絡的層數和參數更多),這是一個問題。當年GPT-1出現的時候,已經有了上億參數,我們覺得已經夠大了。後來的事實告訴我們,模型還可以更大,GPT-2出來的時候參數數量達到10億個,你覺得它不能更大的時候,GPT-3的參數達到了千億級別,GPT-4會不會有萬億個參數不知道。這是一條路,就是把模型不停加大,花錢就能有更好的效果。

還有一條路,是徹底推翻深度學習,改用別的算法。但新算法到底在哪裏,現在還不清楚。學界還在探索新算法,包括原來所謂的深度學習三巨頭(注:Hilton、LeCun和Bengio,因在深度學習上的貢獻,獲得2018年的圖靈獎),他們也在尋找比深度學習更好的算法。比如LeCun就認爲,深度學習本質還是梯度回傳(指梯度下降+反向傳播),而他認爲梯度回傳不是最終的解決方案。

也有人認爲,深度學習在方向上是對的,但是需要在理論上再做一些突破。否則我們只能不停擴大模型、增加算力。

Yi:生成式模型在生成文字、圖片、視頻等不同內容時的技術有何不同?

徐昳昶:不太一樣,生成圖片不是像文字那樣一個字一個字、一個像素一個像素生成的。它是一整張圖片直接生成的,只不過中間有很多步驟,第一步先生成一張比較模糊的圖片,然後不斷去噪,把圖片一步一步具象化。它不是把不同關鍵詞對應的最可能圖片疊加在一起實現的,大家一開始看到成果的時候以爲它們這麼做,但實際上不是。它使用的是Diffusion Model(擴散模型)算法,這個算法在2020年才被髮表。

Yi:是否存在一個可以生成各種類型內容的通用型AI?

徐昳昶:目前還有些困難,但不保證ChatGPT做更多訓練之後能做這件事。現在你讓ChatGPT去生成一些圖片,它好像也能做到。

Yi:那深度學習的神經網絡模型是否一定越大越好?

徐昳昶:並不是越大越好。它可能到某個程度就好了,把這個程度確定出來,大家就可以照着這個程度去訓練。但哪個規模的模型是最好的,還不知道,這個也是業界探究的方向之一。

Yi:是否照着人腦神經網絡的規模去構建最好?

徐昳昶:問題是人的大腦神經元還是比目前已有模型的參數量多的。所以也有一派研究者說,人工智能神經網絡要大到跟一個人腦參數量一樣的規模,才能智能起來。到底對不對,也還不知道。

Yi:即刻是一個做社交產品的公司,你擔不擔心這種智能的聊天機器人未來取代你們的產品?

徐昳昶:它會不會替代社交,我個人認爲不一定,就它目前的能力還達不到。目前整個AI領域都還處於弱人工智能階段,離強人工智能還有比較遠的距離。

起碼在深度學習的框架下,還不能實現這個事情。AI可能會隨着訓練語料增多,生成的東西越來越接近於我們給它看到的東西。因爲它見過的東西肯定比人多很多,一個人只能看到世界的一部分,模型能看到更多,那麼它給你生成的內容可能會讓你覺得新鮮。但它仍然沒有形成人的邏輯和情感,這是人不可替代的地方。

Yi:很多人認爲這些模型之所以回答問題回答不好,是因爲它自己都不理解它在說什麼,“理解”對實現機器智能來說重要嗎?

徐昳昶:我個人理解,理解這個東西對機器不是很重要,目前的框架(指深度學習)對機器來說不存在理解這個東西。對機器來說,它只是在擬合對標。哪怕它做得好的時候,也只是因爲它在訓練數據中見過,而不是它理解了。

Yi:既然我們已經可以在深度學習的框架上加上注意力模塊和記憶模塊,爲什麼不再加上個理解模塊呢?

徐昳昶:如果我們知道怎麼去實現它,應該就去實現它了。目前我們在理論上還沒有實質性進展。

相關文章