這幾天ChatGPT可謂是熱火朝天,很多同事和朋友都來(lái)找到勇哥,說(shuō)能不能說(shuō)一說(shuō)相關(guān)話題,但是之前幾天勇哥都在默默的干一件大事情,今天終于成型、有結(jié)果了,所有就抽了點(diǎn)時(shí)間來(lái)和大家一起聊聊ChatGPT背后的技術(shù),讓大家對(duì)一自然語(yǔ)言處理背景的技術(shù)有一個(gè)入門(mén)級(jí)別的了解。
了解到ChatGPT是什么、有哪些功能?
了解到ChatGPT背后自然語(yǔ)言技術(shù)有那些?
(資料圖片僅供參考)
了解到一般AI系統(tǒng)的工作流程
老規(guī)矩,你覺(jué)得本文不錯(cuò),點(diǎn)贊、關(guān)注一下,鼓勵(lì)鼓勵(lì)勇哥!
ChatGPT是OpenAi 在12 月 1 日上線的一套在線人機(jī)聊天產(chǎn)品,而這套產(chǎn)品這幾天已經(jīng)突破上100萬(wàn)的,可謂是火得不要不要的了,但勇哥總結(jié)其火的背后主要有這么幾方面的因素:
OpenAi 背后的大佬是微軟
ChatGPT之別被姓馬的夸贊,起到了很好的宣傳
OpenAi 這套產(chǎn)品自身從技術(shù)+架構(gòu)方面有新的突破
各位網(wǎng)友心中都有一個(gè)未來(lái)科技?jí)?/p>
ChatGPT不對(duì)中國(guó)區(qū)開(kāi)放,但是支持中文(這點(diǎn)細(xì)品....)
在這里勇哥主要站在產(chǎn)品自身的技術(shù)和架構(gòu)方面的突破來(lái)給大家說(shuō)一說(shuō),先說(shuō)一說(shuō)ChatGPT能做什么,我簡(jiǎn)單的歸類(lèi)了一下功能,包括:
知識(shí)問(wèn)答
知識(shí)點(diǎn)解答
數(shù)學(xué)題求解
.....
文學(xué)創(chuàng)作
寫(xiě)作文
寫(xiě)詩(shī)
寫(xiě)小說(shuō)
寫(xiě)郵件
......
程序創(chuàng)作
寫(xiě)代碼
改BUG
......
下面這張圖是OpenAi官網(wǎng)上的一張說(shuō)明圖,但是這張圖只說(shuō)明了其系統(tǒng)的模型(PS:這里的模型大家可以簡(jiǎn)單理解成一對(duì)特殊的數(shù)據(jù))訓(xùn)練和應(yīng)用流程:
上圖并沒(méi)有說(shuō)明太多這樣系統(tǒng)的技術(shù)架構(gòu),那么勇哥在這里來(lái)給大家腦補(bǔ)一下,一般這種系統(tǒng)的數(shù)據(jù)流是如何進(jìn)行流轉(zhuǎn)的:
ChatGPT是一個(gè)聊天系統(tǒng),用戶輸入一句話,那么ChatGPT就需要依據(jù)用戶輸入的信息反饋相關(guān)內(nèi)容,比如上述用戶輸入“背《觀滄?!?,系統(tǒng)接收到信息后,就經(jīng)過(guò)以下處理,來(lái)為用戶生產(chǎn)相對(duì)準(zhǔn)確的答案:
Li處理:既語(yǔ)言識(shí)別(Language identification),ChatGPT是面向中國(guó)區(qū)之外的用戶,因此用戶輸入的信息有多種語(yǔ)言,至于是那種語(yǔ)言需要先進(jìn)行識(shí)別。識(shí)別之后既可以確定在PPO中使用的是中文、還是英文、還是其它模型數(shù)據(jù)。
Ea處理:既情感分析(Emotional analysis),ChatGPT對(duì)于輸入信息進(jìn)行了多中情感分析,如果情感不符合正能量方面的要求,ChatGPT會(huì)自動(dòng)拒絕回答相關(guān)用戶問(wèn)題。這點(diǎn)也是非常必要的。Ea處理也需要基于PPO模型庫(kù)來(lái)分析計(jì)算。
Ei處理:既抽取信息 (Extract information),從用戶輸入的信息中提取關(guān)鍵特征,為下一步準(zhǔn)備數(shù)據(jù)
NER處理:既命名實(shí)體識(shí)別(Named entity recognition),負(fù)責(zé)提取其中的人名、地名、專(zhuān)業(yè)術(shù)語(yǔ)等信息
SS處理:既句子相似性處理(Sentence Similarity),用戶輸入的信息可能存在錯(cuò)別字等信息,通過(guò)此步可以進(jìn)行一個(gè)修正
TC處理:既文本分類(lèi)(Text Classification),把用戶輸入得信息進(jìn)行分類(lèi),通過(guò)此步分類(lèi),好定位到下一步搜索用到的相關(guān)搜索索引
Full Search 處理:既全文搜索處理,ChatGPT是一個(gè)自然語(yǔ)言+搜索引擎集成的架構(gòu),通過(guò)Ei處理得到的數(shù)據(jù)就是全文搜索的輸入數(shù)據(jù),比如EI提取出 NER=觀滄海,SS=,TC=文學(xué),那么此步就可以去搜索文學(xué)索引中的《觀滄?!?,得到想要的答案。
TG處理:既文本生成(Text Generation),上一步搜索的結(jié)果可能有多條數(shù)據(jù),那么那一條最符合用戶需求呢?則通過(guò)RM模型來(lái)進(jìn)行選取,選取后生成對(duì)應(yīng)的文本內(nèi)容。
QA處理:既問(wèn)題解答(Question Answering),把上一步生成的答案進(jìn)一步轉(zhuǎn)換成適合問(wèn)答的形式或格式。
ChatGPT總體架構(gòu)技術(shù)是:NLP是核心 , 搜索輔助,算力是硬核
NLP : 上述流程描述中:Li、Ea、Ei、NER、SS、TC、TG、QA等處理,都需要依賴(lài)ChatGPT自身的GPT-3.5自然語(yǔ)言模型數(shù)據(jù),而且按照上述流程執(zhí)行,流程步驟長(zhǎng),上一步的結(jié)果就是下一步的輸出,一步出錯(cuò),結(jié)果必錯(cuò)。ChatGPT能做到現(xiàn)在這樣已經(jīng)是相當(dāng)?shù)牧瞬黄鹆?。NLP自然就是ChatGPT的核心了。
搜索:一般自然語(yǔ)言處理后的特征數(shù)據(jù),是句子或者詞組,對(duì)此搜索,常規(guī)的搜索肯定不行,而全文搜索技術(shù)自然就成為首選,比如開(kāi)源流行的Elasticsearch,在里面主要存儲(chǔ)了大量的問(wèn)題答案、范本數(shù)據(jù)等。
算力:告訴大家一個(gè)事實(shí):一般一個(gè)NLP模型數(shù)據(jù)非常大,上G上T都是非常正常的事情;那么這么大的數(shù)據(jù)量,每次搜索都要進(jìn)行與其計(jì)算,普通的CPU肯定是更不上的,因此GPU是首選,而且最好是使用云上的GPU算力,才能收縮性更得上。
我在網(wǎng)上看到很多噴ChatGPT答案不正確的(如下圖),其實(shí)這個(gè)問(wèn)題在我意料之中,畢竟AI的難度不是一點(diǎn)半點(diǎn),而且它還依賴(lài)硬件等外部因素的影響,所以一步登天很難。展望未來(lái),ChatGPT這一波展現(xiàn)出模型上的突破,但在應(yīng)用場(chǎng)景上并沒(méi)有創(chuàng)新,所以未來(lái)ChatGPT除了完善模型(這個(gè)是重點(diǎn))、完善搜索庫(kù)等之外,還需要考慮一些創(chuàng)新性的應(yīng)用場(chǎng)景。
比如:網(wǎng)友問(wèn) ChatGPT,霍布斯主張三權(quán)分立嗎?很明顯回答的很好,但它的回答卻是錯(cuò)誤的。
關(guān)鍵詞: 技術(shù)工作