ChatGPT的不專(zhuān)業(yè)解析-從算法、應(yīng)用到展望

一 起因
最近的ChatGPT也是越來(lái)越火了,更是帶動(dòng)了一波新的AI發(fā)展趨勢(shì)。但是呢,大部分人都是抱著一個(gè)獵奇的心態(tài)去嘗試了解。其實(shí)并未嘗試深層次的角度去解析這次的浪潮。
二?正文
2.1 算法解析(源自ChatGPT和筆者自身專(zhuān)業(yè)知識(shí)的解讀)
ChatGPT其實(shí)是采用了深度學(xué)習(xí)中的Transformer架構(gòu),以及預(yù)訓(xùn)練和微調(diào)的技術(shù),可以理解為一個(gè)很大的神經(jīng)網(wǎng)絡(luò),其中包含了數(shù)十億個(gè)參數(shù)。這個(gè)網(wǎng)絡(luò)在大量的文本數(shù)據(jù)上進(jìn)行了預(yù)訓(xùn)練,從而學(xué)習(xí)到了語(yǔ)言的結(jié)構(gòu)和規(guī)律。然后,可以通過(guò)微調(diào)這個(gè)預(yù)訓(xùn)練模型來(lái)完成各種具體的任務(wù),例如聊天機(jī)器人、文本生成、文本分類(lèi)等等。
而這個(gè)Transformer架構(gòu)是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),最初是由Google提出的(是不是有點(diǎn)意外,谷歌提出的東西被其對(duì)手微軟用到極致了)。它的主要特點(diǎn)是不需要像傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)那樣需要逐個(gè)處理序列中的每個(gè)元素,因此在處理長(zhǎng)序列時(shí)具有很好的效率和并行性。在Transformer中,序列數(shù)據(jù)首先通過(guò)一個(gè)叫做“自注意力機(jī)制”的模塊進(jìn)行編碼。
自注意力機(jī)制在處理序列數(shù)據(jù)(文本語(yǔ)言)時(shí),會(huì)計(jì)算每個(gè)位置與序列中其他位置之間的關(guān)聯(lián)程度,并根據(jù)這些關(guān)聯(lián)程度來(lái)給每個(gè)位置分配一個(gè)加權(quán)值。這個(gè)加權(quán)值表示該位置在序列中的重要性,也就是它對(duì)整個(gè)序列的貢獻(xiàn)程度。簡(jiǎn)單來(lái)說(shuō),就是每句不那么胡說(shuō)八道的話其實(shí)對(duì)模型來(lái)說(shuō)都有意義的,如果有上下文,那么這句話就應(yīng)該包含更多的信息
自注意力機(jī)制的計(jì)算過(guò)程中,需要用到三個(gè)向量,分別是“查詢(xún)向量”、“鍵向量”和“值向量”。查詢(xún)向量用于計(jì)算該位置與序列中其他位置之間的關(guān)聯(lián)程度,鍵向量和值向量用于表示序列中其他位置的信息和該位置的信息。這三個(gè)向量可以通過(guò)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到,通常使用多層感知機(jī)(MLP)來(lái)計(jì)算它們之間的關(guān)系。簡(jiǎn)單來(lái)說(shuō),就是建模。大批量文本的建模。這也可以解釋了ChatGPT說(shuō)出的話總是那么有條理。即使是胡說(shuō)八道,也會(huì)讓人覺(jué)得有理的那種胡說(shuō)八道
在自注意力機(jī)制的計(jì)算過(guò)程中,查詢(xún)向量會(huì)與序列中其他位置的鍵向量計(jì)算內(nèi)積,得到一個(gè)關(guān)聯(lián)程度的分?jǐn)?shù)。然后,這個(gè)分?jǐn)?shù)會(huì)經(jīng)過(guò)一個(gè)softmax函數(shù)來(lái)歸一化,得到每個(gè)位置的權(quán)重。最后,將這些權(quán)重與對(duì)應(yīng)位置的值向量進(jìn)行加權(quán)平均,得到該位置的表示向量。簡(jiǎn)單來(lái)說(shuō),就是經(jīng)過(guò)一個(gè)函數(shù)將這個(gè)數(shù)據(jù)歸一化,方便機(jī)器進(jìn)行處理。
通過(guò)自注意力機(jī)制編碼之后,編碼器輸出會(huì)被輸入到一個(gè)叫做“解碼器”的模塊中。解碼器的作用是生成一個(gè)與輸入序列相關(guān)的輸出序列,例如進(jìn)行翻譯或文本生成任務(wù)時(shí)所需的翻譯或生成結(jié)果。解碼器也使用自注意力機(jī)制來(lái)計(jì)算輸入序列中每個(gè)位置與當(dāng)前正在生成的位置之間的關(guān)聯(lián)程度,并根據(jù)這些關(guān)聯(lián)程度來(lái)給每個(gè)輸入位置分配一個(gè)加權(quán)值。此外,解碼器還會(huì)使用另一個(gè)注意力機(jī)制來(lái)關(guān)注編碼器輸出中與當(dāng)前正在生成的位置相關(guān)的信息。簡(jiǎn)單來(lái)說(shuō),就是一句話通過(guò)編碼器轉(zhuǎn)換成一個(gè)機(jī)器理解的數(shù)據(jù)格式,解碼器則將輸出的結(jié)果轉(zhuǎn)換為人類(lèi)能夠理解的語(yǔ)句。
之后,這個(gè)Transformer模型使用文本數(shù)據(jù)進(jìn)行訓(xùn)練,即文本經(jīng)過(guò)編碼器,轉(zhuǎn)換為機(jī)器理解的數(shù)據(jù),隨后通過(guò)解碼器,將這個(gè)訓(xùn)練或者預(yù)測(cè)后的數(shù)據(jù)轉(zhuǎn)換為人類(lèi)理解的文本。通常這類(lèi)的輸入數(shù)據(jù)通常是一組文本序列,例如機(jī)器翻譯中的源語(yǔ)言和目標(biāo)語(yǔ)言序列。在訓(xùn)練過(guò)程中,這些序列通常會(huì)伴隨著相應(yīng)的標(biāo)簽,用來(lái)指示模型應(yīng)該預(yù)測(cè)的正確輸出。
Ps:?數(shù)據(jù)的模型肯定原本這篇推文提到的復(fù)雜的多,但是能夠從小白層面大致理解一下原理,其實(shí)都能夠幫助我們知道這個(gè)模型能干什么和不能干什么了。
2.2 應(yīng)用:
現(xiàn)在OpenAI已經(jīng)開(kāi)始開(kāi)放ChatGPT的API接口了,以后寫(xiě)代碼的人只需要一句‘import ChatGPT’,就能夠?qū)崿F(xiàn)同等量級(jí)的AI表現(xiàn)了。那么我們簡(jiǎn)單想想,一個(gè)擁有眾多知識(shí),且能夠回答人類(lèi)所有正常提問(wèn)的AI究竟有哪些應(yīng)用前景
課題設(shè)計(jì):不得不說(shuō),對(duì)于課題設(shè)計(jì)這一塊,ChatGPT還遠(yuǎn)遠(yuǎn)達(dá)不到一個(gè)科研工作者的水平。其實(shí),很多課題的設(shè)計(jì)都會(huì)涉及到選題,文獻(xiàn)的凝練,突破口的尋找。這些其實(shí)都不是簡(jiǎn)簡(jiǎn)單單的套路能夠?qū)崿F(xiàn)的,特別是那種創(chuàng)新,才是需要科研工作者的護(hù)城河。
代碼閱讀:相信許多生信程序員都很苦惱的一個(gè)方面,一個(gè)是代碼寫(xiě)作,一個(gè)則是代碼閱讀。而這兩個(gè)方法,我在使用過(guò)ChatGPT一段時(shí)間后發(fā)現(xiàn),這兩種工作基本上都可以被漸漸取代了。所以我們應(yīng)該嘗試掌握代碼編寫(xiě)的邏輯思維,以及系統(tǒng)架構(gòu)的能力。比如,就基因組的組裝而言,不同的基因組間必然存在很大的差異,那么這時(shí)如何調(diào)整策略以適應(yīng)差異才是我們應(yīng)該掌握的。其次,針對(duì)一個(gè)新技術(shù)(比如基因組測(cè)序技術(shù)的進(jìn)步),我們?nèi)绾握{(diào)整策略,完成基因組組裝也才是我們應(yīng)該真正關(guān)心的。
論文寫(xiě)作:雖然說(shuō)現(xiàn)在很多高校都開(kāi)始禁用ChatGPT,以防止學(xué)生使用這一功能作弊。但是,筆者想說(shuō)這種措施無(wú)異于自欺欺人。除非所以的工作都是能夠在課堂上完成的,那么學(xué)生總是有理由找到對(duì)應(yīng)的ChatGPT使用空間和時(shí)間。事實(shí)上,這個(gè)工具就像計(jì)算器一樣。我們所做的不應(yīng)該是禁止學(xué)生使用計(jì)算器,而是應(yīng)該在引導(dǎo)學(xué)生使用計(jì)算器的同時(shí),能夠保證自己仍然具有一個(gè)計(jì)算邏輯。這樣我們才能夠在發(fā)揮這些工具能力減少無(wú)用勞動(dòng)的同時(shí)保持自己的邏輯能力。
2.3 前景:
很早之前,生物學(xué)就解析出人類(lèi)大腦包含860億個(gè)神經(jīng)元,而這次的ChatGPT已經(jīng)達(dá)到1750億個(gè)參數(shù),已經(jīng)超過(guò)人類(lèi)神經(jīng)元的數(shù)量。雖然說(shuō)神經(jīng)元的數(shù)量不能夠與參數(shù)進(jìn)行直接比較,但是可以看出,ChatGPT已經(jīng)達(dá)到了某個(gè)里程碑,也證實(shí)了大參數(shù)所具有的意義。而這,可能是這一模型能夠?qū)崿F(xiàn)流程問(wèn)答的原因之一。另外,高質(zhì)量的語(yǔ)料和微調(diào)參數(shù)也幫助這個(gè)模型實(shí)現(xiàn)了成功。后續(xù),相信隨著參數(shù)量級(jí)的進(jìn)一步提高以及更高質(zhì)量語(yǔ)料的持續(xù)訓(xùn)練,ChatGPT或許能夠達(dá)到一個(gè)更令人瞠目結(jié)舌的地步也未嘗不可。至于未來(lái),如果這一模型的準(zhǔn)確率繼續(xù)提高,最終像imageNET那樣達(dá)到某種能夠接受的容錯(cuò)率。那么,哪些技能能夠幫助我們?cè)谶@一浪潮中不至于喪失優(yōu)勢(shì)呢
首先,必然是會(huì)總結(jié)的人。因?yàn)樗械拇鸢付夹枰獑?wèn)題引導(dǎo)出來(lái),而高質(zhì)量問(wèn)題的提出就是需要總結(jié)的過(guò)程。就像現(xiàn)在的搜索引擎,會(huì)用的人可以快速檢索到自己想要的,從而節(jié)省工作效率。
其次,不斷嘗試新的東西,拋棄套路的人。目前來(lái)看,ChatGPT就像一個(gè)高端的擬合方程,對(duì)于回歸內(nèi)的問(wèn)題,基本就可以做到高質(zhì)量的回答,但是對(duì)于偏離回歸的東西,則無(wú)法實(shí)現(xiàn)。
第三,掌握資源的人。無(wú)論ChatGPT是一個(gè)如何高端的AI機(jī)器人,他始終是需要為人服務(wù)的。如果大家都能夠靠ChatGPT實(shí)現(xiàn)智能等級(jí)的提高,那么,必然擁有資源的人才能夠更快的增長(zhǎng)。并且,如果后續(xù)ChatGPT開(kāi)啟某項(xiàng)VIP服務(wù),則會(huì)讓那些掌握資源的人迅速造成壟斷。就如同掌握了石油,你就掌握了世界的經(jīng)濟(jì),而掌握了ChatGPT的未來(lái),你可能就掌握了世界的智力。
三?慣例小結(jié)
不過(guò),目前來(lái)看,總是感覺(jué)ChatGPT的回答仍是一種概率性的問(wèn)題,缺少了一些直覺(jué)性的東西(或許,目前來(lái)看,這個(gè)直覺(jué)性的東西才是人類(lèi)有別與機(jī)器的主要區(qū)別吧)。只是,這一所謂的直覺(jué)性的東西在正式的工作中是可有可無(wú)的吧,因?yàn)楫吘?96的社畜最需要做的就是高質(zhì)量的完成工作。
四 公眾號(hào)其他資源(方便讀者使用)
本公眾號(hào)開(kāi)發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。
Multi-omics Hammer軟件下載地址:
https://github.com/wangjun258/Multi-omics-Hammer
Multi-omics Visual軟件下載地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03
PS:因?yàn)楸拒浖怯胮ython腳本撰寫(xiě),調(diào)用了部分依賴(lài)包,用戶(hù)首次使用需要安裝python以及對(duì)應(yīng)的包,安裝之后便可永久使用。
下面是本號(hào)在其他平臺(tái)的賬戶(hù),也歡迎大家關(guān)注并多提意見(jiàn)。
簡(jiǎn)書(shū):WJ的生信小院
公眾號(hào):生信小院
博客園:生信小院
最后,也歡迎各位大佬能夠在本平臺(tái)上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對(duì)某一科研領(lǐng)域的看法;3:想要達(dá)成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機(jī)會(huì);5:博導(dǎo)提供博后工作或者博士攻讀機(jī)會(huì),都可以后臺(tái)給筆者留言。希望本平臺(tái)在進(jìn)行生信知識(shí)分享的同時(shí),能夠成為生信分析者的交流平臺(tái),能夠?qū)崿F(xiàn)相應(yīng)的利益互補(bǔ)和雙贏(不一定能實(shí)現(xiàn),但是夢(mèng)想總得是有的吧)。
五 每日一圖(源自Stable-diffuse創(chuàng)作)?



