ChatGPT大流行的思考-解析篇

1 評論 8348 瀏覽 17 收藏 15 分鐘

ChatGPT爆發(fā)至今,討論的聲音也有很多。為什么chatGPT的能力能如何強大?乃至于影響我們的生活和工作?本文對此展開分析,分享自己關(guān)于這件事情的看法。

背景介紹

目前chatGPT已經(jīng)被全世界所知,其影響已經(jīng)滲透到國家、民營企業(yè)、國企央企、各大行以及每個個體等,未來可能會更火,并且還會衍生各種商業(yè)落地產(chǎn)品。

或許每個人都應(yīng)該主動擁抱這個大變革,而不是觀望或者無視它。

無疑,chatGPT的出現(xiàn)是可以拔高到PC、移動互聯(lián)這個層級,這三個新事物的出現(xiàn),對我們工作學(xué)習(xí),乃至生活方式都會形成巨大影響。

而這也是我對此引發(fā)的思考,為什么chatGPT的能力能如此強大?

總結(jié)內(nèi)容大致可分為以下兩個方面:

  1. 仰望星空(解析)-即簡要剖析chatGPT的技術(shù)及解決方案等內(nèi)容
  2. 腳踏實地(設(shè)想)-設(shè)想未來產(chǎn)品可著力點及產(chǎn)品方向思考等內(nèi)容

chatGPT的解析與說明

1. chatGPT與以往的聊天機器人的區(qū)別

當(dāng)我們詢問ChatGPT和以往的對話機器人(如小冰)我們會有一種強烈的感受,GPT比他們更懂人類的表述與觀念,仿佛是和人在對話,這是為什么?

可以從以下兩個維度來解答:

(1)模型的本質(zhì)區(qū)別

首先我們要了解的是chatGPT是采用了LLM模型構(gòu)建的對話機器人(large Language Model);

一般的語言模型處理任務(wù)的類型大致分為兩種類型:中間任務(wù)及最終任務(wù)(完成對話);

中間任務(wù)指中文分詞、詞性標注、NER、句法分析、指代消解,這類任務(wù)不會解決實際問題,但對應(yīng)最終任務(wù)是必需的操作步驟;

以往NLP的部分研究方向及側(cè)重點在于中間任務(wù)的處理及優(yōu)化,如如何更好的分詞\指代\句法分析,從而更好的輸出最終任務(wù),如這一代(袋)蘋果多少錢,應(yīng)該根據(jù)上下文進行判斷;

但GPT的出現(xiàn)提供了一個新的研究方向,它的理念是嘗試從端到端進行解析,完全忽視中間任務(wù)的處理,我們可以給定大量數(shù)據(jù),讓LLM模型自動學(xué)習(xí)輸出最終任務(wù)的結(jié)果,而這里面如何學(xué)習(xí)我們無須了解,如至于優(yōu)化,我們也無需對中間過程專門建模;

可以說正是因為NLP技術(shù)發(fā)展未成熟,才會衍生出中間任務(wù)的建模及優(yōu)化,現(xiàn)在有了LLM的出現(xiàn),我們似乎可以尋求到新的研究方向;

而這種本質(zhì)區(qū)別,就決定了GPT為什么能更好的理解用戶表述及輸出結(jié)果,因為GPT現(xiàn)在是給定人類的自然表述,LLM通過大量數(shù)據(jù)學(xué)習(xí)語義語法知識及既定事實,最終再用符合人類的表述方法進行反饋,講究的是GPT去適應(yīng)人,而不是人去適應(yīng)GPT(這活脫脫是個絕對合格的乙方思路!誰能不愛)

(2)角色定位的區(qū)別:從預(yù)訓(xùn)練模型走向通用人工智能

以往的技術(shù)鏈路是構(gòu)建各個專業(yè)agents,并提交中控統(tǒng)一管控(DM模塊),組成一個對話機器人;而GPT是通過數(shù)據(jù)及LLM模型,構(gòu)建成一個通用性的對話機器人;

沒錯,你可以想象一下,以前是設(shè)想給你創(chuàng)建很多個專業(yè)人員同時處理服務(wù)(N對N),現(xiàn)在是構(gòu)建一個通用性人才,同時處理多個服務(wù)(1對N);

而為什么能這么轉(zhuǎn)變?得益于LLM模型及海量的數(shù)據(jù)(以萬億為單位的文本數(shù)據(jù));

理論上來講,只要LLM模型足夠大,喂食的數(shù)據(jù)足夠多,那么GPT完全可以變身成為鋼鐵俠里面的賈維斯(想想就很興奮),而且如果按照這個研究思路,未來很多NLP子研究領(lǐng)域?qū)⒉辉倬邆溲芯績r值(如如何更好的分詞)

以上兩點,我理解就是與以往主流的對話機器人的本質(zhì)區(qū)別。

2. ChatGPT如何實現(xiàn)知識的獲取、存儲、推理及實時更新

那究竟GPT如何有如此優(yōu)秀的表現(xiàn)呢?

我們不妨從人類學(xué)習(xí)思路入手,我們學(xué)習(xí)一般可分為獲取知識-存儲知識-推理知識-更新知識,而這也是GPT發(fā)展及學(xué)習(xí)的過程,這更加也是GPT適應(yīng)人類的表現(xiàn);

(1)獲取知識

首先對于知識的獲取,GPT粗略可以分為語言知識及世界知識的獲取,語言知識指代的就是我們自然的表述,指詞性、語義、語法、分詞等知識;

參考文章-“When Do You Need Billions of Words of Pre-training Data?”,對于Bert類型的語言模型來說,只用1000萬到1億單詞的語料,就能學(xué)好句法語義等語言學(xué)知識;

而世界知識,指的是在這個世界上發(fā)生的一些真實事件(事實型知識,F(xiàn)actual Knowledge),指美國現(xiàn)任總統(tǒng)為拜登,太陽從東邊升起,這類既定事實知識的學(xué)習(xí);

而這類知識的獲取學(xué)習(xí),對數(shù)據(jù)的要求及時效性就很高,也是未來GPT的研究重點,即如何從增量知識獲取世界知識;

(2)存取知識

至于GPT如何存儲及提取知識,目前比較可信的思路大體是這樣的,首先我們要知道一個前提,就是LLM模型是以Transformer為基礎(chǔ)的大語言模型,而Transformer我們可以簡單理解為變壓器,對輸入和輸出進行處理的模型。

當(dāng)LLM模型獲取到知識(輸入)時,會轉(zhuǎn)化為一對<Key,Value>信息,如<‘北京,is-capital-of,中國>,并且保存在Transformer的FFN結(jié)構(gòu),也就是說Transformer的FFN可看成存儲大量具體知識的Key-Value存儲器,而每個節(jié)點對應(yīng)的key向量,就是知識節(jié)點和輸入層每個節(jié)點的權(quán)重向量,用來匹配輸入的語言需要獲取什么知識;

舉個例子,簡單通俗點來說,當(dāng)Transformer的輸入是“中國的首都是[Mask]”的時候,節(jié)點從輸入層探測到這個知識模式,會產(chǎn)生較大的響應(yīng)輸出。如果Key層其它神經(jīng)元對這個輸入都沒有任何響應(yīng),那么對應(yīng)的Value層的節(jié)點,其實只會接收到“北京”,這個Value對應(yīng)的單詞embedding放大,進而匹配出最終的結(jié)果<北京>;

(3)推理能力

首先,我們要知道LLM模型本身就具備推理能力;

保證LLM有推理能力的原因有兩種方法,一種是基于Prompt的方法,核心思想是通過合適的提示語或提示樣本,更好地激發(fā)出LLM本身就具備的推理能力;

第二種是是在預(yù)訓(xùn)練過程中引入程序代碼,和文本一起參與預(yù)訓(xùn)練,以此進一步增強LLM的推理能力,這應(yīng)該是OpenAI實踐出的思路;

首先基于Prompt的方法也分為三種實現(xiàn)方法:

第一種方法是可以簡單的理解為追問式推理,我們在LLM輸出結(jié)果時,輸入提示語:“Let’s think step by step”,LLM便會將它思考的思路逐一的反饋出來,而實現(xiàn)的方法就是,我們海量數(shù)據(jù)里面必定存在“Let’s think step by step\讓我們一步一步來思考”關(guān)鍵信息的文本,并且這類文本通常都是攜帶了思考思路,而LLM模型可以通過這些數(shù)據(jù)進行學(xué)習(xí)推理;

第二種是基于示例的思維鏈,又稱CoT,(few-shot CoT,Chain of Thought),方法是:為了教會LLM模型學(xué)會推理,給出一些人工寫好的推理示例,示例里把得到最終答案前,一步步的具體推理步驟說清楚,而這些人工寫的詳細推理過程,就是思維鏈Prompting,這種方法讓模型學(xué)習(xí)了一個道理,就是在推理過程中,步子不要邁得太大,否則很容易出錯,改變思維模式,化大為小,逐一擊破;而這也是我們生活學(xué)習(xí)需要參考的思路;

第三種是問題拆解思路,就是將一個復(fù)雜問題逐步拆解到每一個子問題,在完成了子問題的解答后,我們再從子問題的答案推導(dǎo)復(fù)雜問題的答案;

以上為實現(xiàn)chatGPT的推理能力的第一種方法-基于Prompt方法的簡單介紹;

而另外一種,在預(yù)訓(xùn)練過程中引入程序代碼,和文本一起參與預(yù)訓(xùn)練構(gòu)造LLM推理能力的方法,目前還未證實,比較可能的猜想為如下兩個方面:

1)代碼屬于邏輯性很強的內(nèi)容,可以通過代碼的條理構(gòu)造LLM推理的思路;

2)代碼中的注釋可以有效幫助到LLM關(guān)聯(lián)對應(yīng)的內(nèi)容進行推理,即這類文本幫助預(yù)訓(xùn)練模型做了<文本,Code>兩種數(shù)據(jù)的多模態(tài)對齊工作;

而這兩個猜想目前來看可能性較高,只是需要等待后續(xù)驗證。

(4)實時更新知識

相信很多人都會想到一個問題,既然LLM模型訓(xùn)練是基于已有的海量數(shù)據(jù),那這部分數(shù)據(jù)的時效性如果不符合現(xiàn)實情況,那chatGPT給的答案不就不可靠了嗎?

如詢問美國的總統(tǒng)是誰?按照已有的數(shù)據(jù)量來看,肯定是特朗普的數(shù)據(jù)會多于拜登,那么回答不就不可靠了?

對于這個擔(dān)憂,可以說是客觀存在并且是會出現(xiàn)的,畢竟chatGPT才出現(xiàn)了一段時間,但這個問題雖然還未完全解決,似乎已有三種可以處理的技術(shù)方法,歸納起來為以下三種:

1)基于基礎(chǔ)數(shù)據(jù)來修正知識

如同文章“Towards Tracing Factual Knowledge in Language Models Back to the Training Data”描述的從LLM模型逆向追蹤到數(shù)據(jù)源的可行性;

因此我們可以在識別到錯誤反饋的時候,設(shè)計一個修正功能,當(dāng)用戶反饋說你說的不對時,實時的進行源數(shù)據(jù)的更新,而這里面需要解決的問題就是什么時候需要進行修正以及如何校驗修正后的答案是符合世界認知的,但是這可以說是后話了。

2)對LLM模型做一次fine-tuning來修正知識

第二種方法的思路就是直接從數(shù)據(jù)源開始修正,通過修正后的數(shù)據(jù)源重新訓(xùn)練;

這個方法最為簡單直觀,同時也存在問題:1)帶來災(zāi)難遺忘問題,即可能遺忘掉該忘的知識,還會忘掉了不該忘的知識;2)成本高,涉及到LLM模型的重新訓(xùn)練及驗證,可行性不高;

3)修改LLM模型某些知識的模型參數(shù)

第三種方法其實是第二種的衍生,就是修正某一個知識領(lǐng)域的參數(shù);

參考“Locating and Editing Factual Associations in GPT”和“Mass-Editing Memory in a Transformer”這兩篇文章講述了定位及修正FFN對應(yīng)參數(shù)的方法;

但同樣的,我們要解決的問題也就是方法一要面對的兩個問題。

3. 總結(jié)歸納

以上就是我在查閱資料后整理的chatGPT的優(yōu)異點,個人理解有以下三個原因:

(1)顛覆及超越了以往市面主流的對話機器人(無論是交互、體驗還是性能),并且提供了可落地性及可研究性很強的方向

(2)為目前國內(nèi)或者世界經(jīng)濟下行及行業(yè)內(nèi)卷,提供了新的產(chǎn)品及生產(chǎn)力發(fā)展方向,也提供了新的商業(yè)價值

(3)chatGPT里面的思想(如問題拆解\識別修正等思想)及未來研究方向,符合人類的學(xué)習(xí)及發(fā)展之路,適合每個人學(xué)習(xí)與借鑒

以上內(nèi)容,便是筆者個人對ChatGPT為什么能力如此強大的解析。

參考內(nèi)容

由ChatGPT反思大語言模型(LLM)的技術(shù)精要

在此特別感謝張老師提供的關(guān)于chatGPT研究及說明,對個人的學(xué)習(xí)及思考起了很大的幫助!

拓展閱讀

  1. 關(guān)于chatGPT的八個技術(shù)問題猜想
  2. chatGPT的數(shù)據(jù)集之謎

本文由 @SiegZhong 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 贊~學(xué)習(xí)了

    來自上海 回復(fù)