能取代90%人工作的ChatGPT到底牛在哪里
人工智能研究實驗室OpenAI在2022年11月30日發布了自然語言生成模型ChatGPT,上線兩個月就已經超過一億用戶,成為了人工智能界當之無愧的超級大網紅。ChatGPT憑借著自身強大的擬人化及時應答能力迅速破圈,引起了各行各業的熱烈討論。簡單來說ChatGPT就是可以基于用戶文本輸入自動生成回答的人工智能聊天機器人。那肯定會有人說這不就是Siri嘛,雖然都是交互機器人但是兩者的差別可老大了。那么ChatGPT在人機交互時為什么會有這么出色的表現?它到底會不會取代搜索引擎?90%的人真的會因為ChatGPT的出現而面臨失業的危險嗎?帶著這些疑問我們一起來看看ChatGPT到底有哪些過人之處以及未來會給行業帶來怎樣的變革。
ChatGPT到底是個啥?
誰搞出來的ChatGPT
OpenAI的創始人Sam Altman是一個8歲就會編程的天才,在2015年他聯合特斯拉老板馬斯克、天使投資人彼得·泰爾等一眾硅谷大佬創辦了OpenAI,這是一家人工智能研究實驗室,主要由盈利組織 OpenAI LP 與母公司非盈利組織 OpenAI Inc 所組成,目的是促進和發展友好的人工智能,避免人工智能脫離人類控制。OpenAI重點研究開發尖端的人工智能技術,其中包括機器學習算法、強化學習以及自然語言處理等。OpenAI在2022年11月30日發布了ChatGPT,正式向外提供實時的在線問答對話服務。
ChatGPT是什么
《知識的邊界》一書中有這樣一段話:
當知識變得網絡化之后,房間里最聰明的那個,已經不是站在屋子前頭給我們上課的那個,也不是房間里所有人的群體智慧。房間里最聰明的人,是房間本身:是容納了其中所有的人與思想,并把他們與外界相連的這個網。
我對這句話的理解就是,互聯網上擁有全人類的知識以及經驗,為人工智能提供了海量的學習數據,當這些知識和經驗被有序的進行組織之后,也同時為為訓練一個“懂王”人工智能應用提供了豐沛的數據土壤。而ChatGPT就是被互聯網海量的文本數據以及語言資料庫數據喂養訓練之后,它就可以根據你輸入文字的內容來生成對應的回答,就好像兩個人在一問一答的聊天。它除了可以和你無障礙的進行溝通,甚至讓你感覺你對話的不是一個聊天機器人而是一個學識淵博又有點風趣的真實的人,回答出來的答案甚至帶有人類的某種語氣,這在以往的聊天機器人中是不敢想象的。
這里稍微說明下ChatGPT的字面含義,它是一款通用自然語言生成模型,Chat是對話的意思,而所謂GPT就是Genarative Pre-trained Transformer,意思就是生成型預訓練轉換模型,聽上去是不是有點不明覺厲的感覺。
除此之外,你還可以讓他幫你完成一些實際的工作,比如寫文案、寫劇本甚至可以幫你直接寫代碼出來還可以幫你找到代碼的bug,這是程序員要把自己飯碗給砸碎而且是稀碎的節奏啊,在文字以及代碼層面可以說是無所不能。這種輸入問題立馬給答案的交互方式,遠勝于傳統搜索引擎在海量數據中查找自己需要內容的使用感受,因此可以預見在不久的將來ChatGPT將會顛覆傳統的搜索引擎,徹底改變信息檢索的使用方式。
另外ChatGPT還可以在上下文語境下回答問題、同時能夠主動承認自己的不足以及挑戰問題的合理性。以下就是ChatGPT在否定我提出來的問題。
PS:幫大家問了ChatGPT如何成為世界首富,秘訣在下面。
正因為ChartGPT具備這樣強大的理解能力、學習能力以及創作能力,促使它成為AI人工智能誕生以來,面向C端用戶增長最快的智能應用產品。在以前,人工智能C端產品總是被認為不夠智能甚至被嘲笑是“人工智障”,即便在B端也只是某些場景下使用,普通人根本感受不到AI人工智能的威力,但是ChatGPT的出現可能預示著未來人工智能將融入到普通人的生活當中。
PS:我真怕他回答有。
ChatGPT為什么這么強?
語言模型迭代
我們都知道自然語言是人類進行交流溝通的最重要的工具,因此如何讓機器可以和人通過自然語言進行無障礙的溝通交流一直是人工智能領域孜孜不倦追求的目標。而NLP(Natural Language Processing,自然語言處理)就是計算機科學領域和人工智能領域專門研究讓機器可以理解自然語言同時在此基礎上進行響應的重要研究方向。那么要想讓計算機可以識別自然語言,那么需要對應的語言模型來對文本進行分析處理。而語言模型的大致原理就是對語言文本進行概率建模,通過模型來預測下一段輸出內容的概率。大致的過程如下所示,通過語言模型將一段話后面的出現概率最高的語句進行輸出。
語言模型可以分為統計語言模型以及神經網絡語言模型。而ChatGPT就屬于神經網絡語言模型,它在經過多個版本的迭代優化后才有了今天震驚四座的優秀表現。我們可以簡單梳理下LM(Language Model,語言模型)的發展脈絡,看看語言模型是怎么一步步進行進化的,這對我們理解ChatGPT背后的技術原理非常有幫助。
RNN
RNN(Recurrent Neural Network,循環神經網絡)在NPL領域有著廣泛的應用。上文我們提到的NLP要解決的是讓機器理解自然語言的問題,因此如果讓機器理解一句話的含義,肯定不能只理解這句話中每個單詞是什么意思,而應該處理這句話連起來之后的序列所表達的的含義是什么,而RNN解決的是就是樣本數據為序列的建模問題。
但是RNN存在效率問題,在處理語言序列的時候是通過串行化的方式來進行的,也就是說后一個單詞的的處理需要等到前一個單詞的狀態輸出后才能進行,另外還有梯度爆炸和遺忘等問題。因此人工智能專家們不斷在此基礎上進行模型優化。
Transformer
Google Brain 2017年在《Attention Is All You Need》論文提出了Transformer模型,這是一個基于自注意力機制的深度學習模型,主要針對RNN的問題進行了優化設計。特別是串行化出列文本序列的問題,Transformer模型可以同時處理文本序列中所有的單詞,同時序列中任意單詞的距離都為1,避免了RNN模型中因為序列過長到導致的距離過長問題。Transformer模型的提出可以說是NLP領域跨越式發展的重要標志,因為后續著名的BERT模型以及GPT模型都是基于Transformer模型演化而來的。下圖為Transformer模型結構。
GPT、GPT-2
無論是原始的GPT模型還是最新的ChatGPT模型其實都是以Transformer模型為核心結構的語言模型。GPT使用的是Transformer模型的Decoder組件,比較適合根據上文回答下文的場景。
為了提高訓練的精準度,很多機器學習的訓練任務都是采用標記的dataset來完成,但是實際上標注數據是一個工作量很大的事情會耗費大量的人力和時間。因此隨著算力的不斷增強,實際上我們需要對更多的未進行人工標記的數據進行訓練。因此GPT提出了新的自然語言訓練范式就是通過海量的文本數據來進行無監督學習從而能實現模型訓練。這也是GPT采用了Pre-training + Fine-tuning的訓練模式的原因。GPT的模型結構如下,它的訓練目標就是根據上文來預測下文。
而GPT-2實際在模型結構上并沒有大的改變,只是進行了簡單的調整,主要是GPT-2使用了更多的模型參數以及更多的訓練數據。它的目標就是訓練出一個泛化能力更強的語言模型,所謂泛化就是應對沒有遇到過的問題的能力。
GPT-3
2020年OpenAI在論文《Language Models are Few-Shot Learners》中提出了GPT-3模型,它使用的模型參數兩以及訓練數據量都非常大。它主要提出了LLM的上下文學習的能力。
GPT-3探討了模型在Zero-shot、One-shot、Few-shot三種不同輸入形式下的效果。它主要考慮如何讓通過已有問題預測可能的回答,這里稍微解釋下Zero-shot、One-shot、Few-shot,Zero-shot意味著只給提示,One-shot會給一個范例,Few-shot意味著給多個范例。但是它是沒有考慮回答的內容是不是符合人類的預期的,這也是后期InstructGTP最主要的優化方向。
通過下表可以看的出來GPT訓練的參數量級以及數據量級爆發性增長,當模型迭代到GPT-3的時候,參數量已經過千億,預訓練數據量達到45TB,可以說是一個實打實的超級LLM模型了。巨大的模型參數量以及預訓練數據量也帶來了訓練成本的不斷攀升,GPT-3的訓練成本高達1200美元。
ChatGPT關鍵能力
目前OpenAI還尚未就ChatGPT公開對應的論文,但是實際上的它的核心思想和OpenAI在2022年發表的論文《Training language models to follow instructions with human feedback》基本是一致的,InstructGPT最重要的優化就是引入了RLHF(Reinforcement Learning from Human Feedback,基于人類反饋的強化學習 )技術。通過讓模型學習人類對話的過程以及讓人類標注評價排序模型回答的結果來微調原始模型,使得收斂后的模型在回答問題的時候能夠更加符合人類的意圖。
另外這篇論文中提出來的InstructGPT訓練方法實際和ChatGPT也基本是一樣的,只是在獲取數據的方式上稍有差別,因此InstructGPT可以說和ChatGPT是一對兄弟模型。我們具體來看下ChatGPT是怎么被訓練出來的,以及ChatGPT如何解決讓模型回答的答案更加符合人類的意圖或者說偏好。?
上面的訓練過程可能看起來有點復雜,經過簡化之后如下圖所示,這樣應該更加便于同學理解ChatGPT模型是怎么被訓練出來的。根據官網給出的步驟,它的核心訓練思想就是收集反饋數據-》訓練獎勵模型-》PPO強化學習。
ChatGPT訓練過程主要分為三個階段:
階段一:通過監督學習,微調GPT-3.5初始模型
其實對于LLM(Large Language Model,大語言模型)來說,并不是說訓練的樣本數據越多越好,為什么這么說呢?因為像ChatGPT這種大語言預訓練模型都是在超大參數以及海量數據中被訓練出來的,這些海量樣本數據實際上對于人工智能專家來說時透明的,也是無法控制的。因此如果樣本數據中帶有一些種族歧視、暴力等不良的數據的時候,可能預訓練出來的模型就會帶有這些不好的內容屬性。但是對于人工智能專家來說,必須要保證人工智能的客觀公正不帶有任何的偏見,而ChatGPT也正是朝著這個方面來進行訓練。
因此ChatGPT通過監督學習的方式來進行模型訓練,所謂監督學習就是要在“有答案”的dataset上進行學習。為此,OpenAI雇傭了40家承包商來進行數據標記工作,首先讓這些標記人員模擬人機交互進行多輪的語言交互,在這個過程中會產生對應的人工精標數據,這些精標數據用來對GPT-3.5模型來進行微調以便于獲得SFT(Supervised Fine-Tuning)模型。
階段二:構建Reward Model
隨機抽取一批prompt數據后,使用第一階段微調后的模型進行不同問題的自動回復,然后讓標記人員對回答出來的結果進行從好到壞排序,排序出來的結果數據用來訓練Reward Model,在此過程中,對排序的結果繼續進行兩兩組合形成排序訓練數據對,Reward Model接受數據對輸入來給出回答質量的分數。這個Reward Model從本質上來講就是抽象出來的人類真實意圖。因為有了這關鍵的一步,Reward Model可以不斷引導模型朝著符合人類意圖的方向去產生對應的回答結果。
階段三:PPO(Proximal Policy Optimization,近端策略優化)強化學習微調模型
PPO 是一種信賴域優化算法,它使用梯度約束來確保更新步驟不會破壞學習過程的穩定性。在這個階段繼續抽取一批prompt數據之后,使用階段二構造出來的Reward Model來對微調后的訓練模型的回答進行打分來更新預訓練的參數。通過Reward Model對產生高分回答進行獎勵,由此產生的策略梯度可以更新PPO模型參數。不斷循環迭代直至最終收斂模型。
可以看的出來實際上ChatGPT訓練的過程實際就監督學習結合RLHF技術應用落地的過程,ChatGPT實際上就是靠RLHF技術來實現生成一個比較符合人類預期的回答。
通過上面的模型訓練過程,我們總結下來ChatGPT之所以具備強大的上下文理解能力,主要得益于三個方面的關鍵能力,分別是強大的基礎模型、高質量的樣本數據以及基于人類反饋的強化學習。
最核心的還是RLHF技術,通過訓練來找到最能解釋人類判斷的reward函數,然后不斷訓練進行強化認知。
ChatGPT帶來哪些變革
取代搜索引擎
當前的搜索引擎只能根據我們搜索的關鍵字,在搜索引擎的數據庫中匹配索引對應的網頁進行結果反饋,像百度這樣的搜索引擎還動不動給你塞點廣告。用戶仍然需要在返回的信息中找到自己最想要的。但是ChatGPT則不同,所答就是所問,省去了用戶大量自己過濾無效搜索結果的時間和精力。ChatGPT能夠非常準確的把握用戶實際意圖的理解,而傳統的搜索引擎還是關鍵字匹配的搜索方式,實際上并不理解用戶輸入搜索語句的真實含義,但是ChatGPT做到可以理解用戶輸入的真實意圖。另外他還會創造性地回答,幫助用戶從繁雜的工作中解脫出來。
PS:微軟的Bing搜索引擎開始接入ChatGPT。
取代人工客服?
現在所謂的智能客服不過是預設了一些常見的問題進行自動回答,遠遠稱不上所謂的智能的程度,但是在一定程度上可以降低公司在客服人員方面的投入成本。但是如果有了ChatGPT之后,由于它可以理解用戶的真實意圖,而不是機械地回答預設問題,因此更能夠幫助用戶解決實際客服問題,最大程度將客服人工成本降到最低。
取代內容創作
ChatGPT不僅可以回答問題,它還可以進行內容創作,比如寫一首歌,作一首詩以及寫一篇活動策劃等等。所以很多關于文字內容創作的從業同學都感覺到了深深的危機,以前一直覺得機器人最先取代的應該是體力勞動工作者,但是誰能想到ChatGPT的出現直接把很多腦力工作者的工作干沒了。
ChatGPT局限性
訓練數據偏差?
ChatGPT的訓練數據是基于互聯網世界海量文本數據的,如果這些文本數據本身不準確或者帶有某種偏見,目前的ChatGPT是無法進行分辨的,因此在回答問題的時候會不可避免的將這種不準確以及偏見傳遞出來。
適用場景有限
目前ChatGPT主要可以處理自然語言方面的問答以及任務,在其他領域比如圖像識別、語音識別等還不局必然相應的處理能力,但是相信在不遠的將來可能會有VoiceGPT、ViewGPT,大家拭目以待。
高昂訓練成本
ChatGPT屬于NPL領域中的非常大的深度學習模型,其訓練參數以及訓練數據都非常巨大,因此如果想訓練ChatGPT就需要使用大型數據中心以及云計算資源,以及大量的算力和存儲空間來處理海量的訓練數據,簡單來說訓練和使用ChatGPT的成本還是非常高的。
總結
AI人工智能已經說了很多年了,一直處于發展階段,在一些特定領域已經取得應用成果。但是面對C端用戶,基本沒有可以拿得出手的真真意義上的人工智能應用產品。但是這次ChatGPT的發布卻是一個里程碑式的節點事件,因為對于普通人來說AI人工智能不再是遙不可及的技術名詞,而是觸手可及實實在在的智能應用工具,可以讓普通人真切地感受到AI人工智能的威力。另外我想說的是也許ChatGPT只是個開始,目前它只是按照人類的指令去完成對應的任務,但是在未來隨著人工智能自我學習的不斷迭代,可能會有意識,可能會自主的去做事情,到那個時候人類面對的到底是一個無所不能的好幫手還是無法控制的惡龍就不得而知了。