去年12月1日,OpenAI推出人工智慧聊天原型ChatGPT,再次賺足眼球,為AI界引發了類似AIGC讓藝術家失業的大討論。
ChatGPT 是一種專注於對話產生的語言模型。它能夠根據使用者的文字輸入,產生相應的智慧回答。
這個回答可以是簡短的字詞,也可以是長篇大論。其中GPT是Generative Pre-trained Transformer(生成型預訓練變換模型)的縮寫。
透過學習大量現成文字和對話集合(例如Wiki),ChatGPT能夠像人類一樣即時對話,流暢的回答各種問題。 (當然回答速度比人或慢一些)無論是英文或其他語言(例如中文、韓語等),從回答歷史問題,到寫故事,甚至是撰寫商業計劃書和行業分析,「幾乎」無所不能。甚至有程式設計師貼出了ChatGPT進行程式修改的對話。
ChatGPT和AIGC的聯合使用
ChatGPT也可以與其他AIGC模型聯合使用,獲得更酷炫實用的功能。
例如上面透過對話產生客廳設計圖。這極大加強了AI應用與客戶對話的能力,使我們看到了AI大規模落地的曙光。
我們先了解下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 進行過濾,並駁回潛在的種族主義或性別歧視提示。
NLP/NLU領域已知限制包括對重複文本、對高度專業的主題的誤解,以及對上下文短語的誤解。
對於人類或AI,通常需接受多年的訓練才能正常對話。
NLP類模型不僅要理解單字的含義,還要理解如何造句和給出上下文有意義的回答,甚至使用合適的俚語和專業詞彙。
NLP技術的應用領域
本質上,作為ChatGPT基礎的GPT-3或GPT-3.5 是一個超大的統計語言模型或順序文本預測模型。
與BERT模型類似,ChatGPT或GPT-3.5都是根據輸入語句,根據語言/語料機率來自動產生答案的每一個字(字)。
從數學或從機器學習的角度來看,語言模型是對詞語序列的機率相關性分佈的建模,即利用已經說過的語句(語句可以視為數學中的向量)作為輸入條件,預測下一個時刻不同語句甚至語言集合出現的機率分佈。
ChatGPT 使用來自人類回饋的強化學習進行訓練,這種方法透過人類幹預來增強機器學習以獲得更好的效果。
在訓練過程中,人類訓練者扮演著使用者和人工智慧助理的角色,並透過近端策略優化演算法進行微調。
由於ChatGPT更強的性能和海量參數,它包含了更多的主題的數據,能夠處理更多小眾主題。
ChatGPT現在可以進一步處理回答問題、撰寫文章、文字摘要、語言翻譯和產生電腦程式碼等任務。
BERT與GPT的技術架構(圖中En為輸入的每個字,Tn為輸出回答的每個字)
說到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層。
InstructGPT/GPT3.5(ChatGPT的前身)與GPT-3的主要區別在於,新加入了被稱為RLHF(Reinforcement Learning from Human Feedback ,人類回饋強化學習)。
這項訓練範式增強了人類對模型輸出結果的調節,並且對結果進行了更具理解性的排序。
在InstructGPT中,以下是「goodness of sentences」的評價標準。
這裡不得不提到TAMER(Training an Agent Manually via Evaluative Reinforcement,評估式強化人工訓練代理)這個框架。
此框架將人類標記者引入Agents的學習循環中,可以透過人類向Agents提供獎勵回饋(即指導Agents進行訓練),從而快速達到訓練任務目標。
引入人類標記者的主要目的是加快訓練速度。儘管強化學習技術在許多領域有突出表現,但仍存在許多不足,例如訓練收斂速度慢,訓練成本高等特徵。
特別是現實世界中,許多任務的探索成本或資料取得成本很高。如何加快訓練效率,是現今強化學習任務待解決的重要問題之一。
而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模型。
只要使用者輸入問題,ChatGPT 就能給予回答,是否意味著我們不用再拿關鍵字去餵Google或百度,就能立即獲得想要的答案呢?
儘管ChatGPT表現出出色的上下文對話能力甚至編程能力,完成了大眾對人機對話機器人(ChatBot)從“人工智障”到“有趣”的印象改觀,我們也要看到,ChatGPT技術仍然有一些局限性,還在不斷的進步中。
1)ChatGPT在其未經大量語料訓練的領域缺乏「人類常識」和引申能力,甚至會一本正經的「胡說八道」。 ChatGPT在許多領域可以“創造答案”,但當用戶尋求正確答案時,ChatGPT也有可能給出有誤導的答案。例如讓ChatGPT做一道小學應用題,儘管它可以寫出一長串計算過程,但最後答案卻是錯的。
那我們是該相信ChatGPT的結果還是不相信呢?
2)ChatGPT無法處理複雜冗長或特別專業的語言結構。對於來自金融、自然科學或醫學等非常專業領域的問題,如果沒有進行足夠的語料“餵食”,ChatGPT可能無法產生適當的答案。
3)ChatGPT需要非常大量的算力(晶片)來支援其訓練和部署。拋開需要大量語料資料訓練模型不說,在目前,ChatGPT在應用時仍然需要大算力的伺服器支持,而這些伺服器的成本是普通用戶無法承受的,即便數十億個參數的模型也需要驚人數量的計算資源才能運作和訓練。 ,如果面向真實搜尋引擎的數以億記的用戶請求,如採取目前通行的免費策略,任何企業都難以承受這一成本。因此對於一般大眾來說,還需等待更輕量型的車型或更高性價比的算力平台。
4)ChatGPT還沒辦法線上的把新知識納入其中,而出現一些新知識就去重新預訓練GPT模型也是不現實的,無論是訓練時間或訓練成本,都是普通訓練者難以接受的。如果對於新知識採取線上訓練的模式,看上去可行且語料成本相對較低,但是很容易由於新資料的引入而導致對原有知識的災難性遺忘的問題。
5)ChatGPT仍然是黑盒子模型。目前還未能對ChatGPT的內在演算法邏輯進行分解,因此並不能保證ChatGPT不會產生攻擊甚至傷害用戶的表述。
當然,瑕不掩瑜,有工程師貼出了要求ChatGPT寫verilog程式碼(晶片設計程式碼)的對話。可以看出ChatGPT水準已經超越一些verilog初學者了。
2020年底,OpenAI前研究副總裁Dario Amodei帶著10名員工創辦了一個人工智慧公司Anthropic。
Anthropic 的創始團隊成員,多為 OpenAI 的早期及核心員工,曾參與OpenAI的GPT-3、多模態神經元、人類偏好的強化學習等。
2022年12月,Anthropic再次發表論文《Constitutional AI: Harmlessness from AI Feedback》介紹人工智慧模型Claude。 (arxiv.org/pdf/2212.0807)
CAI模型訓練過程
Claude 和ChatGPT 都依賴強化學習(RL)來訓練偏好(preference )模型。 CAI(Constitutional AI)也是建立在RLHF的基礎上,不同之處在於,CAI的排序過程使用模型(而非人類)對所有產生的輸出結果提供一個初始排序結果。
CAI以人工智慧回饋取代人類對錶達無害性的偏好,即RLAIF,人工智慧根據一套constitution原則來評價回覆內容。
ChatGPT雖然對話能力強,但是在數理計算對話中容易出現一本正經胡說八道的情況。
計算機學家Stephen Wolfram 為此問題提出了解決方案。 Stephen Wolfram 創造了的 Wolfram 語言和計算知識搜尋引擎 Wolfram | Alpha,其後台透過Mathematica實現。
ChatGPT與Wolfram | Alpha結合處理梳理問題
在這結合體系中,ChatGPT 可以像人類使用Wolfram|Alpha 一樣,與Wolfram| Alpha “對話”,Wolfram|Alpha 則會用其符號翻譯能力將從ChatGPT 獲得的自然語言表達“翻譯”為對應的符號化計算語言。
在過去,學術界在 ChatGPT 使用的這類 「統計方法」 和 Wolfram|Alpha 的 「符號方法」 上一直存在路線分歧。
但如今 ChatGPT 和 Wolfram|Alpha 的互補,為NLP領域提供了更上一層樓的可能性。
ChatGPT 不必產生這樣的程式碼,只需產生常規自然語言,然後使用 Wolfram|Alpha 翻譯成精確的 Wolfram Language,再由底層的Mathematica進行計算。
雖然ChatGPT很強大,但其模型大小和使用成本也讓許多人望而卻步。
有三類模型壓縮(model compression)可以降低模型的大小和成本。
第一種方法是量化(quantization),即降低單一權重的數值表示的精確度。例如Tansformer從FP32降到INT8對其精度影響不大。
第二種模型壓縮方法是剪枝(pruning),即刪除網路元素,包括從單一權重(非結構化剪枝)到更高粒度的元件如權重矩陣的通道。這種方法在視覺和較小規模的語言模型中有效。
第三種模型壓縮方法是稀疏化。例如奧地利科學技術研究所 (ISTA)提出的SparseGPT (arxiv.org/pdf/2301.0077)可以將 GPT 系列模型單次剪枝到 50% 的稀疏性,而無需任何重新訓練。對 GPT-175B 模型,只需要使用單一 GPU 在幾個小時內就能實現這種剪枝。
SparseGPT 壓縮流程
#說到ChaGPT不得不提AIGC。
AIGC即利用人工智慧技術產生內容。與先前Web1.0、Web2.0時代的UGC(使用者生產內容)和PGC(專業生產內容)相比,代表人工智慧構思內容的AIGC,是新一輪內容生產方式變革,而AIGC內容在Web3. 0時代也將出現指數級成長。
ChatGPT 模型的出現對於文字/語音模態的 AIGC 應用具有重要意義,將對AI產業上下游產生重大影響。
從下游相關受益應用來看,包括但不限於無程式碼程式設計、小說產生、對話類搜尋引擎、語音陪伴、語音工作助理、對話虛擬人、人工智慧客服、機器翻譯、晶片設計等。
從上游增加需求來看,包括算力晶片、資料標註、自然語言處理(NLP)等。
大模型呈現爆發態勢(更多的參數/更大的算力晶片需求)
隨著演算法技術和算力技術的不斷進步,ChatGPT也會進一步走向更先進功能更強的版本,在越來越多的領域進行應用,為人類產生更多更美好的對話和內容。
最後,作者問存算一體技術在ChatGPT領域的地位(作者本人目前在重點推進存算一體晶片的產品落地),ChatGPT想了想,大膽的預言存算一體技術將在ChatGPT晶片中佔據主導地位。 (深得我心)
參考文獻:
以上是趣談ChatGPT原理及演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!