陳巍談芯:ChatGPT特點、原理、技術架構和產業未來
引言
:本文將介紹ChatGPT的
特點、功能、技術架構、侷限、產業應用、投資機會和未來
。作者本人曾擔任華為系自然語言處理企業的首席科學家。
語言與視覺模型都走向了Transformer架構
ChatGPT的關鍵改進可以參考paper:Augmenting Reinforcement Learning with Human Feedback
本文中後部分會詳細介紹ChatGPT的主要技術思路和架構
本文為深度技術科普與解讀文章,不涉及過多技術名詞。
作者
:
陳巍 博士
存算一體/GPU架構和AI專家,高階職稱。中關村雲計算產業聯盟,中國光學工程學會專家,國際計算機學會(ACM)會員,中國計算機學會(CCF)專業會員。曾任AI企業首席科學家、儲存晶片大廠3D NAND設計負責人,主要成就包括國內
首個大算力可重構存算處理器產品架構
(已在網際網路大廠完成原型內測),
首個醫療領域專用AI處理器
(已落地應用),
首個RISC-V/x86/ARM平臺相容的AI加速編譯器
(與阿里平頭哥/芯來合作,已應用),
國內首個3D NAND晶片架構
與設計團隊建立(與三星對標),
國內首個嵌入式快閃記憶體編譯器
(與
臺積電
對標,已平臺級應用)
————————————————————————————————
今年12月1日,OpenAI推出人工智慧聊天原型
ChatGPT
,再次賺足眼球,為AI界引發了類似
AIGC
讓藝術家失業的大討論。
據報道,ChatGPT在開放試用的短短几天,就吸引了超過
100
萬
網際網路
註冊
使用者
。並且社交網路流傳出各種詢問或調戲ChatGPT的
有趣對話
。甚至有人將ChatGPT比喻為“
搜尋引擎
+
社交軟體
”的結合體,能夠在實時互動的過程中獲得問題的合理答案。
那麼,
什麼是
ChatGPT
?咱們不如直接問問ChatGPT它是誰。(經典的哲學三問之一)
ChatGPT回答什麼是ChatGPT
ChatGPT 是一種專注於對話生成的
語言模型
。它能夠根據使用者的文字輸入,產生相應的智慧回答。這個回答可以是簡短的詞語,也可以是
長篇大論
。其中GPT是Generative Pre-trained Transformer(生成型預訓練變換模型)的縮寫。
投資人調侃不要被ChatGPT砸了飯碗
透過學習大量現成文字和對話集合(例如Wiki),ChatGPT能夠像人類那樣即時對話,流暢的回答各種問題。(當然回答速度比人還是慢一些)無論是英文還是其他語言(例如中文、韓語等),從回答歷史問題,到寫故事,甚至是
撰寫商業計劃書
和行業分析,“
幾乎”無所不能。甚至有程式設計師貼出了ChatGPT進行程式修改的對話。
ChatGPT和AIGC的聯合使用
ChatGPT也可以與其他AIGC模型
聯合使用
,獲得更加炫酷實用的功能。例如上面透過對話生成客廳設計圖。這極大加強了AI應用與客戶對話的能力,使我們看到了
AI大規模落地的
曙光
。
1,ChatGPT的傳承與特點
我們首先了解下
OpenAI
是哪路大神。
OpenAI總部位於舊金山,由特斯拉的馬斯克、Sam Altman及其他投資者在2015年共同創立,目標是開發造福全人類的AI技術。而馬斯克則在2018年時因公司發展方向分歧而離開。
此前,OpenAI 因推出
GPT
系列
自然語言
處理模
型
而聞名。從2018年起,OpenAI就開始釋出生成式預訓練語言模型GPT(Generative Pre-trained Transformer),可用於生成文章、程式碼、機器翻譯、問答等各類內容。
每一代GPT模型的引數量都
爆炸式增長
,堪稱“越大越好”。2019年2月釋出的GPT-2引數量為15億,而2020年5月的GPT-3,引數量達到了1750億。
GPT家族主要模型對比
ChatGPT
是基於GPT-3。5(Generative Pre-trained Transformer 3。5)架構開發的對話AI模型,是InstructGPT 的兄弟模型。ChatGPT很可能是OpenAI 在GPT-4 正式推出之前的演練,或用於
收集大量對話資料
。
ChatGPT的主要特點
OpenAI使用
RLHF
(Reinforcement Learning from Human Feedbac,人類反饋強化學習) 技術對 ChatGPT 進行了訓練,且加入了更多
人工監督
進行微調。
此外,ChatGPT 還具有以下特徵:
1)可以主動承認自身錯誤。若使用者指出其錯誤,模型會聽取意見並最佳化答案。
2)ChatGPT 可以質疑不正確的問題。例如被詢問 “哥倫布 2015 年來到美國的情景” 的問題時,機器人會說明哥倫布不屬於這一時代並調整輸出結果。
3)ChatGPT 可以承認自身的無知,承認對專業技術的不瞭解。
4)支援連續多輪對話。
與大家在生活中用到的各類智慧音箱和“
人工智障
“不同,ChatGPT在對話過程中會記憶先前使用者的對話訊息,即上下文理解,以回答某些假設性的問題。ChatGPT可實現
連續對話
,極大的提升了
對話互動模式
下的使用者體驗。
對於準確翻譯來說(尤其是中文與人名音譯),ChatGPT離完美還有一段距離,不過在文字流暢度以及辨別特定人名來說,與其他網路翻譯工具相近。
由於 ChatGPT是一個大型語言模型,目前還並
不具備
網路搜尋功能
,因此它只能基於2021年所擁有的資料集進行回答。例如它不知道2022年世界盃的情況,也不會像蘋果的Siri那樣回答今天天氣如何、或幫你搜索資訊。如果ChatGPT能上網自己尋找學習語料和搜尋知識,估計又會有更大的突破。
即便學習的知識有限,ChatGPT 還是能回答腦洞大開的人類的許多
奇葩問題
。 為了避免ChatGPT染上惡習, ChatGPT 透過
演算法遮蔽
,減少有害和欺騙性的訓練輸入。,查詢透過適度 API 進行過濾,並駁回潛在的種族主義或性別歧視提示。
2,ChatGPT/GPT的原理
NLP/NLU領域
已知侷限
包括對重複文字、對高度專業的主題的誤解,以及
對上下文短語的誤解
。
對於人類或AI,通常需接受多年的訓練才能正常對話。NLP類模型不僅要理解單詞的含義,還要理解如何造句和給出上下文有意義的回答,甚至使用合適的俚語和專業詞彙。
NLP技術的應用領域
本質上,作為ChatGPT基礎的GPT-3或GPT-3。5 是一個超大的統計語言模型或順序文字預測模型。
與BERT模型類似,ChatGPT或GPT-3。5都是根據輸入語句,根據語言/語料機率來自動生成回答的每一個字(詞語)。從數學或從機器學習的角度來看,語言模型是對詞語序列的
機率
相關性
分佈的建模
,即利用已經說過的語句(語句可以視為數學中的向量)作為輸入條件,預測下一個時刻不同語句甚至語言集合出現的機率分佈。
ChatGPT 使用來自人類反饋的強化學習進行訓練,這種方法透過人類干預來增強機器學習以獲得更好的效果。在訓練過程中,人類訓練者扮演著使用者和人工智慧助手的角色,並透過
近端策略最佳化演算法
進行微調。
由於ChatGPT更強的效能和海量引數,它包含了更多的主題的資料,能夠處理更多小眾主題。ChatGPT現在可以進一步處理回答問題、撰寫文章、文字摘要、語言翻譯和生成計算機程式碼等任務。
BERT與GPT的技術架構(圖中En為輸入的每個字,Tn為輸出回答的每個字)
3,ChatGPT的技術架構
說到ChatGPT,就不得不提到
GPT家族
。
ChatGPT之前有幾個知名的兄弟,包括GPT-1、GPT-2和GPT-3。這幾個兄弟一個比一個個頭大,ChatGPT與GPT-3更為相近。
ChatGPT與GPT 1-3的技術對比
GPT家族與BERT模型都是知名的NLP模型,都基於Transformer技術。GPT-1只有
12個
Transformer層,而到了GPT-3,則增加到
96層
。
ChatGPT 與GPT-3。5的主要區別在於,新加入了被稱為
RLHF
(Reinforcement
Learning from Human Feedback,人類反饋強化學習)。這一訓練正規化增強了人類對模型輸出結果的調節,並且對結果進行了更具理解性的排序。
這裡不得不提到
TAMER
(Training an Agent Manually via Evaluative Reinforcement,評估式強化人工訓練代理)這個框架。該框架將人類標記者引入到Agents的學習迴圈中,可以透過人類向Agents提供
獎勵
反饋
(即指導Agents進行訓練),從而快速達到訓練任務目標。
TAMER框架論文
引入人類標記者的主要目的是
加快訓練速度
。儘管強化學習技術在很多領域有突出表現,但是仍然存在著許多不足,例如
訓練
收斂速度慢,訓練成本高
等特點。特別是現實世界中,許多工的探索成本或資料獲取成本很高。如何加快訓練效率,是如今強化學習任務待解決的重要問題之一。
而TAMER則可以將人類標記者的知識,以獎勵信反饋的形式訓練Agent,加快其快速收斂。TAMER不需要標記者具有
專業知識
或程式設計技術,語料成本更低。透過TAMER+RL(強化學習),藉助人類標記者的反饋,能夠增強從
馬爾可夫決策過程
(MDP) 獎勵進行強化學習 (RL) 的過程。
TAMER架構在強化學習中的應用
具體實現上,人類標記者扮演對話的使用者和人工智慧助手,提供對話樣本,讓模型生成一些回覆,然後標記者會對回覆選項
打分排名
,將更好的結果反饋回模型中,Agents同時從兩種反饋模式中學習——人類強化和馬爾可夫決策過程獎勵作為一個整合的系統,透過
獎勵策略
對模型進行微調並持續迭代。
在此基礎上,ChatGPT 可以比 GPT-3 更好的理解和完成人類語言或指令,模仿人類,提供連貫的有邏輯的文字資訊的能力。
ChatGPT的訓練過程分為以下三個階段:
第一階段
:訓練
監督策略
模型
GPT 3。5本身很難理解人類不同型別指令中蘊含的不同意圖,也很難判斷生成內容是否是高質量的結果。為了讓GPT 3。5初步具備理解指令的意圖,首先會在資料集中隨機抽取問題,由人類標註人員,給出高質量答案,然後用這些人工標註好的資料來
微調
GPT
-
3.5
模型
(獲得SFT模型, Supervised Fine-Tuning)。
此時的SFT模型在遵循指令/對話方面已經優於 GPT-3,但不一定符合人類偏好。
ChatGPT模型的訓練過程
第二階段
:訓練
獎勵
模型
(Reward Mode,RM)
這個階段的主要是透過人工標註訓練資料(約33K個數據),來訓練回報模型。在資料集中隨機抽取問題,使用第一階段生成的模型,對於每個問題,生成多個不同的回答。人類標註者對這些結果綜合考慮給出
排名順序
。這一過程類似於教練或老師輔導。
接下來,使用這個排序結果資料來訓練獎勵模型。對多個排序結果,
兩兩組合
,形成多個訓練資料對。RM模型接受一個輸入,給出評價回答質量的分數。這樣,對於一對訓練資料,調節引數使得高質量回答的打分比低質量的打分要高。
第三階段
:採用
PPO
(Proximal Policy Optimization,近端策略最佳化)
強化學習來
最佳化策略
。
PPO的核心思路在於將Policy Gradient中On-policy的訓練過程轉化為Off-policy,即將線上學習轉化為離線學習,這個轉化過程被稱之為
Importance Sampling
。這一階段利用第二階段訓練好的獎勵模型,靠獎勵打分來更新預訓練模型引數。在資料集中隨機抽取問題,使用PPO模型生成回答,並用上一階段訓練好的RM模型給出質量分數。把回報分數依次傳遞,由此產生策略梯度,透過強化學習的方式以更新PPO模型引數。
如果我們不斷重複第二和第三階段,透過
迭代
,會訓練出更高質量的ChatGPT模型。
4,ChatGPT的侷限
只要使用者輸入問題,ChatGPT 就能給予回答,是否意味著我們不用再拿關鍵詞去喂 Google或百度,就能立即獲得想要的答案呢?
儘管ChatGPT表現出出色的上下文對話能力甚至程式設計能力,完成了大眾對人機對話機器人(ChatBot)從“人工智障”到“有趣”的印象改觀,我們也要看到,ChatGPT技術仍然有一些侷限性,還在不斷的進步。
ChatGPT在其未經
大量語料
訓練的領域缺乏“
人類常識
”和引申能力,甚至會一本正經的“胡說八道”。ChatGPT在很多領域可以“
創造答案
”,但當用戶尋求正確答案時,ChatGPT也有可能給出有誤導的回答。例如讓ChatGPT做一道小學應用題,儘管它可以寫出一長串計算過程,但最後答案卻是錯誤的。
那我們是該相信ChatGPT的結果還是不相信呢?
ChatGPT給出錯誤的數學題答案
ChatGPT無法處理複雜冗長或者
特別專業的語言結構
。對於來自金融、自然科學或醫學等非常專業領域的問題,如果沒有進行足夠的語料“餵食”,ChatGPT可能無法生成適當的回答。
ChatGPT需要非常
大量
的
算力
(晶片)
來支援其訓練和部署。拋開需要大量語料資料訓練模型不說,在目前,ChatGPT在應用時仍然需要大算力的伺服器支援,而這些伺服器的成本是普通使用者無法承受的,即便數十億個引數的模型也需要驚人數量的
計算資源
才能執行和訓練。,如果面向真實搜尋引擎的數以億記的使用者請求,如採取目前通行的免費策略,任何企業都難以承受這一成本。因此對於普通大眾來說,還需等待更輕量型的模型或
更高性價比
的算力平臺
。
ChatGPT還沒法線上的把
新知識
納入其中,而出現一些新知識就去重新預訓練GPT模型也是不現實的,無論是訓練時間或訓練成本,都是普通訓練者難以接受的。如果對於新知識採取線上訓練的模式,看上去可行且語料成本相對較低,但是很容易由於新資料的引入而導致對原有知識的災難性遺忘的問題。
ChatGPT仍然是
黑盒模型
。目前還未能對ChatGPT的內在演算法邏輯進行分解,因此並不能保證ChatGPT不會產生攻擊甚至傷害使用者的表述。
5,ChatGPT的產業未來與投資機會
說到ChaGPT不得不提AIGC。
AIGC
即利用人工智慧技術來生成內容。與此前Web1。0、Web2。0時代的UGC(使用者生產內容)和PGC(專業生產內容)相比,代表人工智慧構思內容的AIGC,是新一輪內容
生產方式變革
,而且AIGC內容在Web3。0時代也將出現
指數級
增長
。
ChatGPT 模型的出現對於文字/語音模態的 AIGC 應用具有重要意義,會對AI產業上下游
產生重大影響
。
從下游相關受益應用來看,包括但不限於
無程式碼程式設計
、小說生成、對話類搜尋引擎、語音陪伴、語音工作助手、對話虛擬人、
人工智慧客服
、機器翻譯等。從上游增加需求來看,包括
算力
晶片
、資料標註、自然語言處理(NLP)等。
大模型呈爆發態勢(更多的引數/更大的算力晶片需求)
隨著演算法技術和算力技術的不斷進步,ChatGPT也會進一步走向更先進功能更強的版本,在越來越多的領域進行應用,為人類生成更多更美好的對話和內容。
最後,作者問
存算一體
技術在ChatGPT領域的地位(作者本人目前在重點推進存算一體晶片的產品落地),ChatGPT想了想,大膽的預言存算一體技術將在ChatGPT晶片中佔據
主導地位
。(深得我心)