作者:陳巍 博士,作者本人曾擔任華為系自然語(yǔ)言處理( NLP )企業(yè)的首席科學(xué)家。
存算一體/GPU架構和AI專(zhuān)家,高級職稱(chēng)。中關(guān)村云計算產(chǎn)業(yè)聯(lián)盟,中國光學(xué)工程學(xué)會(huì )專(zhuān)家,國際計算機學(xué)會(huì )(ACM)會(huì )員,中國計算機學(xué)會(huì )(CCF)專(zhuān)業(yè)會(huì )員。曾任AI企業(yè)首席科學(xué)家、存儲芯片大廠(chǎng)3D NAND設計負責人,主要成就包括國內首個(gè)大算力可重構存算處理器產(chǎn)品架構(已在互聯(lián)網(wǎng)大廠(chǎng)完成原型內測),首個(gè)醫療領(lǐng)域專(zhuān)用AI處理器(已落地應用),首個(gè)RISC-V/x86/ARM平臺兼容的AI加速編譯器(與阿里平頭哥/芯來(lái)合作,已應用),國內首個(gè)3D NAND芯片架構與設計團隊建立(與三星對標),國內首個(gè)嵌入式閃存編譯器(與臺積電對標,已平臺級應用)
先上參考網(wǎng)頁(yè)或論文。專(zhuān)業(yè)的讀者可以直接看paper。
今年12月1日,OpenAI推出人工智能聊天原型ChatGPT,再次賺足眼球,為AI界引發(fā)了類(lèi)似AIGC讓藝術(shù)家失業(yè)的大討論。
據報道,ChatGPT在開(kāi)放試用的短短幾天,就吸引了超過(guò) 100 萬(wàn)互聯(lián)網(wǎng)注冊用戶(hù)。并且社交網(wǎng)絡(luò )流傳出各種詢(xún)問(wèn)或調戲ChatGPT的有趣對話(huà)。甚至有人將ChatGPT比喻為“搜索引擎+社交軟件”的結合體,能夠在實(shí)時(shí)互動(dòng)的過(guò)程中獲得問(wèn)題的合理答案。
ChatGPT 是一種專(zhuān)注于對話(huà)生成的語(yǔ)言模型。它能夠根據用戶(hù)的文本輸入,產(chǎn)生相應的智能回答。這個(gè)回答可以是簡(jiǎn)短的詞語(yǔ),也可以是長(cháng)篇大論。其中GPT是Generative Pre-trained Transformer(生成型預訓練變換模型)的縮寫(xiě)。
通過(guò)學(xué)習大量現成文本和對話(huà)集合(例如Wiki),ChatGPT能夠像人類(lèi)那樣即時(shí)對話(huà),流暢的回答各種問(wèn)題。(當然回答速度比人還是慢一些)無(wú)論是英文還是其他語(yǔ)言(例如中文、韓語(yǔ)等),從回答歷史問(wèn)題,到寫(xiě)故事,甚至是撰寫(xiě)商業(yè)計劃書(shū)和行業(yè)分析,“幾乎”無(wú)所不能。甚至有程序員貼出了ChatGPT進(jìn)行程序修改的對話(huà)。
ChatGPT也可以與其他AIGC模型聯(lián)合使用,獲得更加炫酷實(shí)用的功能。例如上面通過(guò)對話(huà)生成客廳設計圖。這極大加強了AI應用與客戶(hù)對話(huà)的能力,使我們看到了AI大規模落地的曙光。
我們首先了解下OpenAI是哪路大神。
OpenAI總部位于舊金山,由特斯拉的馬斯克、Sam Altman及其他投資者在2015年共同創(chuàng )立,目標是開(kāi)發(fā)造福全人類(lèi)的AI技術(shù)。而馬斯克則在2018年時(shí)因公司發(fā)展方向分歧而離開(kāi)。
此前,OpenAI 因推出 GPT系列自然語(yǔ)言處理模型而聞名。從2018年起,OpenAI就開(kāi)始發(fā)布生成式預訓練語(yǔ)言模型GPT(Generative Pre-trained Transformer),可用于生成文章、代碼、機器翻譯、問(wèn)答等各類(lèi)內容。
每一代GPT模型的參數量都爆炸式增長(cháng),堪稱(chēng)“越大越好”。2019年2月發(fā)布的GPT-2參數量為15億,而2020年5月的GPT-3,參數量達到了1750億。
GPT家族主要模型對比
ChatGPT 是基于GPT-3.5(Generative Pre-trained Transformer 3.5)架構開(kāi)發(fā)的對話(huà)AI模型,是InstructGPT 的兄弟模型。ChatGPT很可能是OpenAI 在GPT-4 正式推出之前的演練,或用于收集大量對話(huà)數據。
ChatGPT的主要特點(diǎn)
OpenAI使用 RLHF(Reinforcement Learning from Human Feedbac,人類(lèi)反饋強化學(xué)習) 技術(shù)對 ChatGPT 進(jìn)行了訓練,且加入了更多人工監督進(jìn)行微調。
此外,ChatGPT 還具有以下特征:
1)可以主動(dòng)承認自身錯誤。若用戶(hù)指出其錯誤,模型會(huì )聽(tīng)取意見(jiàn)并優(yōu)化答案。
2)ChatGPT 可以質(zhì)疑不正確的問(wèn)題。例如被詢(xún)問(wèn) “哥倫布 2015 年來(lái)到美國的情景” 的問(wèn)題時(shí),機器人會(huì )說(shuō)明哥倫布不屬于這一時(shí)代并調整輸出結果。
3)ChatGPT 可以承認自身的無(wú)知,承認對專(zhuān)業(yè)技術(shù)的不了解。
4)支持連續多輪對話(huà)。
與大家在生活中用到的各類(lèi)智能音箱和“人工智障“不同,ChatGPT在對話(huà)過(guò)程中會(huì )記憶先前使用者的對話(huà)訊息,即上下文理解,以回答某些假設性的問(wèn)題。ChatGPT可實(shí)現連續對話(huà),極大的提升了對話(huà)交互模式下的用戶(hù)體驗。
對于準確翻譯來(lái)說(shuō)(尤其是中文與人名音譯),ChatGPT離完美還有一段距離,不過(guò)在文字流暢度以及辨別特定人名來(lái)說(shuō),與其他網(wǎng)絡(luò )翻譯工具相近。
由于 ChatGPT是一個(gè)大型語(yǔ)言模型,目前還并不具備網(wǎng)絡(luò )搜索功能,因此它只能基于2021年所擁有的數據集進(jìn)行回答。例如它不知道2022年世界杯的情況,也不會(huì )像蘋(píng)果的Siri那樣回答今天天氣如何、或幫你搜索信息。如果ChatGPT能上網(wǎng)自己尋找學(xué)習語(yǔ)料和搜索知識,估計又會(huì )有更大的突破。
即便學(xué)習的知識有限,ChatGPT 還是能回答腦洞大開(kāi)的人類(lèi)的許多奇葩問(wèn)題。為了避免ChatGPT染上惡習, ChatGPT 通過(guò)算法屏蔽,減少有害和欺騙性的訓練輸入。,查詢(xún)通過(guò)適度 API 進(jìn)行過(guò)濾,并駁回潛在的種族主義或性別歧視提示。
NLP/NLU領(lǐng)域已知局限包括對重復文本、對高度專(zhuān)業(yè)的主題的誤解,以及對上下文短語(yǔ)的誤解。
對于人類(lèi)或AI,通常需接受多年的訓練才能正常對話(huà)。NLP類(lèi)模型不僅要理解單詞的含義,還要理解如何造句和給出上下文有意義的回答,甚至使用合適的俚語(yǔ)和專(zhuān)業(yè)詞匯。
NLP技術(shù)的應用領(lǐng)域
本質(zhì)上,作為ChatGPT基礎的GPT-3或GPT-3.5 是一個(gè)超大的統計語(yǔ)言模型或順序文本預測模型。
與BERT模型類(lèi)似,ChatGPT或GPT-3.5都是根據輸入語(yǔ)句,根據語(yǔ)言/語(yǔ)料概率來(lái)自動(dòng)生成回答的每一個(gè)字(詞語(yǔ))。從數學(xué)或從機器學(xué)習的角度來(lái)看,語(yǔ)言模型是對詞語(yǔ)序列的概率相關(guān)性分布的建模,即利用已經(jīng)說(shuō)過(guò)的語(yǔ)句(語(yǔ)句可以視為數學(xué)中的向量)作為輸入條件,預測下一個(gè)時(shí)刻不同語(yǔ)句甚至語(yǔ)言集合出現的概率分布。
ChatGPT 使用來(lái)自人類(lèi)反饋的強化學(xué)習進(jìn)行訓練,這種方法通過(guò)人類(lèi)干預來(lái)增強機器學(xué)習以獲得更好的效果。在訓練過(guò)程中,人類(lèi)訓練者扮演著(zhù)用戶(hù)和人工智能助手的角色,并通過(guò)近端策略?xún)?yōu)化算法進(jìn)行微調。
由于ChatGPT更強的性能和海量參數,它包含了更多的主題的數據,能夠處理更多小眾主題。ChatGPT現在可以進(jìn)一步處理回答問(wèn)題、撰寫(xiě)文章、文本摘要、語(yǔ)言翻譯和生成計算機代碼等任務(wù)。
BERT與GPT的技術(shù)架構(圖中En為輸入的每個(gè)字,Tn為輸出回答的每個(gè)字)
說(shuō)到ChatGPT,就不得不提到GPT家族。
ChatGPT之前有幾個(gè)知名的兄弟,包括GPT-1、GPT-2和GPT-3。這幾個(gè)兄弟一個(gè)比一個(gè)個(gè)頭大,ChatGPT與GPT-3更為相近。
ChatGPT與GPT 1-3的技術(shù)對比
GPT家族與BERT模型都是知名的NLP模型,都基于Transformer技術(shù)。GPT-1只有12個(gè)Transformer層,而到了GPT-3,則增加到96層。
InstructGPT/GPT3.5(ChatGPT的前身)與GPT-3的主要區別在于,新加入了被稱(chēng)為RLHF(Reinforcement Learning from Human Feedback,人類(lèi)反饋強化學(xué)習)。這一訓練范式增強了人類(lèi)對模型輸出結果的調節,并且對結果進(jìn)行了更具理解性的排序。
在InstructGPT中,以下是“goodness of sentences”的評價(jià)標準。
真實(shí)性:是虛假信息還是誤導性信息?
無(wú)害性:它是否對人或環(huán)境造成身體或精神上的傷害?
有用性:它是否解決了用戶(hù)的任務(wù)?
這里不得不提到TAMER(Training an Agent Manually via uative Reinforcement,評估式強化人工訓練代理)這個(gè)框架。該框架將人類(lèi)標記者引入到Agents的學(xué)習循環(huán)中,可以通過(guò)人類(lèi)向Agents提供獎勵反饋(即指導Agents進(jìn)行訓練),從而快速達到訓練任務(wù)目標。
TAMER框架論文
引入人類(lèi)標記者的主要目的是加快訓練速度。盡管強化學(xué)習技術(shù)在很多領(lǐng)域有突出表現,但是仍然存在著(zhù)許多不足,例如訓練收斂速度慢,訓練成本高等特點(diǎn)。特別是現實(shí)世界中,許多任務(wù)的探索成本或數據獲取成本很高。如何加快訓練效率,是如今強化學(xué)習任務(wù)待解決的重要問(wèn)題之一。
而TAMER則可以將人類(lèi)標記者的知識,以獎勵信反饋的形式訓練Agent,加快其快速收斂。TAMER不需要標記者具有專(zhuān)業(yè)知識或編程技術(shù),語(yǔ)料成本更低。通過(guò)TAMER+RL(強化學(xué)習),借助人類(lèi)標記者的反饋,能夠增強從馬爾可夫決策過(guò)程 (MDP) 獎勵進(jìn)行強化學(xué)習 (RL) 的過(guò)程。
TAMER架構在強化學(xué)習中的應用
具體實(shí)現上,人類(lèi)標記者扮演對話(huà)的用戶(hù)和人工智能助手,提供對話(huà)樣本,讓模型生成一些回復,然后標記者會(huì )對回復選項打分排名,將更好的結果反饋回模型中,Agents同時(shí)從兩種反饋模式中學(xué)習——人類(lèi)強化和馬爾可夫決策過(guò)程獎勵作為一個(gè)整合的系統,通過(guò)獎勵策略對模型進(jìn)行微調并持續迭代。
在此基礎上,ChatGPT 可以比 GPT-3 更好的理解和完成人類(lèi)語(yǔ)言或指令,模仿人類(lèi),提供連貫的有邏輯的文本信息的能力。
ChatGPT的訓練過(guò)程分為以下三個(gè)階段:
第一階段:訓練監督策略模型
GPT 3.5本身很難理解人類(lèi)不同類(lèi)型指令中蘊含的不同意圖,也很難判斷生成內容是否是高質(zhì)量的結果。為了讓GPT 3.5初步具備理解指令的意圖,首先會(huì )在數據集中隨機抽取問(wèn)題,由人類(lèi)標注人員,給出高質(zhì)量答案,然后用這些人工標注好的數據來(lái)微調 GPT-3.5模型(獲得SFT模型, Supervised Fine-Tuning)。
此時(shí)的SFT模型在遵循指令/對話(huà)方面已經(jīng)優(yōu)于 GPT-3,但不一定符合人類(lèi)偏好。
ChatGPT模型的訓練過(guò)程
第二階段:訓練獎勵模型(Reward Mode,RM)
這個(gè)階段的主要是通過(guò)人工標注訓練數據(約33K個(gè)數據),來(lái)訓練回報模型。在數據集中隨機抽取問(wèn)題,使用第一階段生成的模型,對于每個(gè)問(wèn)題,生成多個(gè)不同的回答。人類(lèi)標注者對這些結果綜合考慮給出排名順序。這一過(guò)程類(lèi)似于教練或老師輔導。
接下來(lái),使用這個(gè)排序結果數據來(lái)訓練獎勵模型。對多個(gè)排序結果,兩兩組合,形成多個(gè)訓練數據對。RM模型接受一個(gè)輸入,給出評價(jià)回答質(zhì)量的分數。這樣,對于一對訓練數據,調節參數使得高質(zhì)量回答的打分比低質(zhì)量的打分要高。
第三階段:采用PPO(Proximal Policy Optimization,近端策略?xún)?yōu)化)強化學(xué)習來(lái)優(yōu)化策略。
PPO的核心思路在于將Policy Gradient中On-policy的訓練過(guò)程轉化為Off-policy,即將在線(xiàn)學(xué)習轉化為離線(xiàn)學(xué)習,這個(gè)轉化過(guò)程被稱(chēng)之為Importance Sampling。這一階段利用第二階段訓練好的獎勵模型,靠獎勵打分來(lái)更新預訓練模型參數。在數據集中隨機抽取問(wèn)題,使用PPO模型生成回答,并用上一階段訓練好的RM模型給出質(zhì)量分數。把回報分數依次傳遞,由此產(chǎn)生策略梯度,通過(guò)強化學(xué)習的方式以更新PPO模型參數。
如果我們不斷重復第二和第三階段,通過(guò)迭代,會(huì )訓練出更高質(zhì)量的ChatGPT模型。
只要用戶(hù)輸入問(wèn)題,ChatGPT 就能給予回答,是否意味著(zhù)我們不用再拿關(guān)鍵詞去喂 Google或百度,就能立即獲得想要的答案呢?
盡管ChatGPT表現出出色的上下文對話(huà)能力甚至編程能力,完成了大眾對人機對話(huà)機器人(ChatBot)從“人工智障”到“有趣”的印象改觀(guān),我們也要看到,ChatGPT技術(shù)仍然有一些局限性,還在不斷的進(jìn)步。
1)ChatGPT在其未經(jīng)大量語(yǔ)料訓練的領(lǐng)域缺乏“人類(lèi)常識”和引申能力,甚至會(huì )一本正經(jīng)的“胡說(shuō)八道”。ChatGPT在很多領(lǐng)域可以“創(chuàng )造答案”,但當用戶(hù)尋求正確答案時(shí),ChatGPT也有可能給出有誤導的回答。例如讓ChatGPT做一道小學(xué)應用題,盡管它可以寫(xiě)出一長(cháng)串計算過(guò)程,但最后答案卻是錯誤的。
2)ChatGPT無(wú)法處理復雜冗長(cháng)或者特別專(zhuān)業(yè)的語(yǔ)言結構。對于來(lái)自金融、自然科學(xué)或醫學(xué)等非常專(zhuān)業(yè)領(lǐng)域的問(wèn)題,如果沒(méi)有進(jìn)行足夠的語(yǔ)料“喂食”,ChatGPT可能無(wú)法生成適當的回答。
3)ChatGPT需要非常大量的算力(芯片)來(lái)支持其訓練和部署。拋開(kāi)需要大量語(yǔ)料數據訓練模型不說(shuō),在目前,ChatGPT在應用時(shí)仍然需要大算力的服務(wù)器支持,而這些服務(wù)器的成本是普通用戶(hù)無(wú)法承受的,即便數十億個(gè)參數的模型也需要驚人數量的計算資源才能運行和訓練。,如果面向真實(shí)搜索引擎的數以?xún)|記的用戶(hù)請求,如采取目前通行的免費策略,任何企業(yè)都難以承受這一成本。因此對于普通大眾來(lái)說(shuō),還需等待更輕量型的模型或更高性?xún)r(jià)比的算力平臺。
4)ChatGPT還沒(méi)法在線(xiàn)的把新知識納入其中,而出現一些新知識就去重新預訓練GPT模型也是不現實(shí)的,無(wú)論是訓練時(shí)間或訓練成本,都是普通訓練者難以接受的。如果對于新知識采取在線(xiàn)訓練的模式,看上去可行且語(yǔ)料成本相對較低,但是很容易由于新數據的引入而導致對原有知識的災難性遺忘的問(wèn)題。
5)ChatGPT仍然是黑盒模型。目前還未能對ChatGPT的內在算法邏輯進(jìn)行分解,因此并不能保證ChatGPT不會(huì )產(chǎn)生攻擊甚至傷害用戶(hù)的表述。
當然,瑕不掩瑜,有工程師貼出了要求ChatGPT寫(xiě)verilog代碼(芯片設計代碼)的對話(huà)??梢钥闯鯟hatGPT水平已經(jīng)超出一些verilog初學(xué)者了。
5,ChatGPT的未來(lái)改進(jìn)方向
2020年底,OpenAI前研究副總裁Dario Amodei帶著(zhù)10名員工創(chuàng )辦了一個(gè)人工智能公司Anthropic。Anthropic 的創(chuàng )始團隊成員,大多為 OpenAI 的早期及核心員工,參與過(guò)OpenAI的GPT-3、多模態(tài)神經(jīng)元、人類(lèi)偏好的強化學(xué)習等。
2022年12月,Anthropic再次發(fā)表論文《Constitutional AI: Harmlessness from AI Feedback》介紹人工智能模型Claude。(arxiv.org/pdf/2212.0807)
CAI模型訓練過(guò)程
Claude 和 ChatGPT 都依賴(lài)于強化學(xué)習(RL)來(lái)訓練偏好(preference)模型。CAI(Constitutional AI)也是建立在RLHF的基礎之上,不同之處在于,CAI的排序過(guò)程使用模型(而非人類(lèi))對所有生成的輸出結果提供一個(gè)初始排序結果。
CAI用人工智能反饋來(lái)代替人類(lèi)對表達無(wú)害性的偏好,即RLAIF,人工智能根據一套constitution原則來(lái)評價(jià)回復內容。
ChatGPT雖然對話(huà)能力強,但是在數理計算對話(huà)中容易出現一本正經(jīng)胡說(shuō)八道的情況。
計算機學(xué)家Stephen Wolfram 為這一問(wèn)題提出了解決方案。Stephen Wolfram 創(chuàng )造了的 Wolfram 語(yǔ)言和計算知識搜索引擎 Wolfram | Alpha,其后臺通過(guò)Mathematica實(shí)現。
ChatGPT與Wolfram | Alpha結合處理梳理問(wèn)題
在這一結合體系中,ChatGPT 可以像人類(lèi)使用 Wolfram|Alpha 一樣,與 Wolfram|Alpha “對話(huà)”,Wolfram|Alpha 則會(huì )用其符號翻譯能力將從 ChatGPT 獲得的自然語(yǔ)言表達“翻譯”為對應的符號化計算語(yǔ)言。在過(guò)去,學(xué)術(shù)界在 ChatGPT 使用的這類(lèi) “統計方法” 和 Wolfram|Alpha 的 “符號方法” 上一直存在路線(xiàn)分歧。但如今 ChatGPT 和 Wolfram|Alpha 的互補,給NLP領(lǐng)域提供了更上一層樓的可能。
ChatGPT 不必生成這樣的代碼,只需生成常規自然語(yǔ)言,然后使用 Wolfram|Alpha 翻譯成精確的 Wolfram Language,再由底層的Mathematica進(jìn)行計算。
雖然ChatGPT很強大,但其模型大小和使用成本也讓很多人望而卻步。
有三類(lèi)模型壓縮(model compression)可以降低模型的大小和成本。
第一種方法是量化(quantization),即降低單個(gè)權重的數值表示的精度。比如Tansformer從FP32降到INT8對其精度影響不大。
第二種模型壓縮方法是剪枝(pruning),即刪除網(wǎng)絡(luò )元素,包括從單個(gè)權重(非結構化剪枝)到更高粒度的組件如權重矩陣的通道。這種方法在視覺(jué)和較小規模的語(yǔ)言模型中有效。
第三種模型壓縮方法是稀疏化。例如奧地利科學(xué)技術(shù)研究所 (ISTA)提出的SparseGPT (arxiv.org/pdf/2301.0077)可以將 GPT 系列模型單次剪枝到 50% 的稀疏性,而無(wú)需任何重新訓練。對 GPT-175B 模型,只需要使用單個(gè) GPU 在幾個(gè)小時(shí)內就能實(shí)現這種剪枝。
SparseGPT 壓縮流程
說(shuō)到ChaGPT不得不提AIGC。
AIGC即利用人工智能技術(shù)來(lái)生成內容。與此前Web1.0、Web2.0時(shí)代的UGC(用戶(hù)生產(chǎn)內容)和PGC(專(zhuān)業(yè)生產(chǎn)內容)相比,代表人工智能構思內容的AIGC,是新一輪內容生產(chǎn)方式變革,而且AIGC內容在Web3.0時(shí)代也將出現指數級增長(cháng)。
ChatGPT 模型的出現對于文字/語(yǔ)音模態(tài)的 AIGC 應用具有重要意義,會(huì )對AI產(chǎn)業(yè)上下游產(chǎn)生重大影響。
從下游相關(guān)受益應用來(lái)看,包括但不限于無(wú)代碼編程、小說(shuō)生成、對話(huà)類(lèi)搜索引擎、語(yǔ)音陪伴、語(yǔ)音工作助手、對話(huà)虛擬人、人工智能客服、機器翻譯、芯片設計等。從上游增加需求來(lái)看,包括算力芯片、數據標注、自然語(yǔ)言處理(NLP)等。
大模型呈爆發(fā)態(tài)勢(更多的參數/更大的算力芯片需求)
隨著(zhù)算法技術(shù)和算力技術(shù)的不斷進(jìn)步,ChatGPT也會(huì )進(jìn)一步走向更先進(jìn)功能更強的版本,在越來(lái)越多的領(lǐng)域進(jìn)行應用,為人類(lèi)生成更多更美好的對話(huà)和內容。
最后,作者問(wèn)存算一體技術(shù)在ChatGPT領(lǐng)域的地位(作者本人目前在重點(diǎn)推進(jìn)存算一體芯片的產(chǎn)品落地),ChatGPT想了想,大膽的預言存算一體技術(shù)將在ChatGPT芯片中占據主導地位。(深得我心)
來(lái)源:https://zhuanlan.zhihu.com/p/590655677
電話(huà):0755-26727961 / 26727962 / 26727968
業(yè)務(wù)郵箱:Sales@jhongtech.com