|
“ 學(xué)習(xí)是一個(gè)從圍觀到宏觀,從宏觀到微觀的一個(gè)過(guò)程 ” 學(xué)習(xí)大模型技術(shù)也有幾個(gè)月的時(shí)間了,之前的學(xué)習(xí)一直是東一榔頭,西一棒槌,這學(xué)一點(diǎn)那學(xué)一點(diǎn),雖然弄的亂七八糟,但對(duì)大模型技術(shù)也算有了一個(gè)初步的認(rèn)識(shí)。 因此,今天就來(lái)整體梳理一下大模型技術(shù)的框架,爭(zhēng)取從大模型所涉及的理論,技術(shù),應(yīng)用等多個(gè)方面對(duì)大模型進(jìn)行梳理。 01 — 大模型技術(shù)梳理 這次梳理大模型不僅僅是大模型本身的技術(shù),而是一個(gè)以大模型為核心的涉及到多個(gè)方面的理論,技術(shù)和應(yīng)用實(shí)踐,也可以說(shuō)是對(duì)自己學(xué)習(xí)大模型技術(shù)的總結(jié)吧。 話不多表,下面開(kāi)始進(jìn)入正題。 首先,大家應(yīng)該明白一件事,大模型技術(shù)是人工智能技術(shù)的一個(gè)分支,是目前主流的一個(gè)研究方向,但并不是唯一的方向。
人工智能技術(shù)是一個(gè)通過(guò)某種技術(shù)手段人為的創(chuàng)建一個(gè)具有類(lèi)人智能的系統(tǒng)(軟件或硬件),而大模型技術(shù)是一種仿造人類(lèi)學(xué)習(xí)進(jìn)化的一種方式,使用深度學(xué)習(xí)(機(jī)器學(xué)習(xí))算法模仿人類(lèi)大腦神經(jīng)元,來(lái)實(shí)現(xiàn)智能的一種方式,其主要載體是神經(jīng)網(wǎng)絡(luò)。 神經(jīng)網(wǎng)絡(luò)之所以得到發(fā)展的原因是因?yàn)?,基于神?jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行預(yù)訓(xùn)練之后,神經(jīng)網(wǎng)絡(luò)會(huì)產(chǎn)生一種無(wú)法解釋的涌現(xiàn)能力,而這個(gè)涌現(xiàn)能力特別像是具有了智能一樣。 神經(jīng)網(wǎng)絡(luò)模型架構(gòu) 既然是模仿神經(jīng)網(wǎng)絡(luò),那么就需要一種深度學(xué)習(xí)模型來(lái)模仿人類(lèi)大腦神經(jīng)系統(tǒng),比如CNN(卷積神經(jīng)網(wǎng)絡(luò)),RNN(循環(huán)神經(jīng)網(wǎng)絡(luò)),以及目前主流的Transformer模型,還有LSTM,ResNet,GANs等。 神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu)為一個(gè)輸入層,一個(gè)輸出層,以及隱藏層(一個(gè)或多個(gè)層組成),不同網(wǎng)絡(luò)層之間使用全連接的方式進(jìn)行連接,每一個(gè)圓都代表著一個(gè)神經(jīng)元,如下圖所示:
在神經(jīng)網(wǎng)絡(luò)中,除了輸入/輸出層之外,每一個(gè)神經(jīng)元都有其參數(shù),神經(jīng)網(wǎng)絡(luò)的效果就是由這些參數(shù)值決定的。 神經(jīng)網(wǎng)絡(luò)模型通過(guò)一種叫正向傳播,損失計(jì)算和反向傳播的方式來(lái)調(diào)整神經(jīng)網(wǎng)絡(luò)模型中每個(gè)神經(jīng)元的參數(shù)。 通過(guò)把大量的訓(xùn)練數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)中,讓神經(jīng)網(wǎng)絡(luò)進(jìn)行“學(xué)習(xí)”(不斷的調(diào)整參數(shù)),來(lái)達(dá)到類(lèi)智能的能力。 不同神經(jīng)網(wǎng)絡(luò)的架構(gòu)和實(shí)現(xiàn)有所不同,但其核心點(diǎn)都是基于此模型實(shí)現(xiàn)的,對(duì)想學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的朋友來(lái)說(shuō),先學(xué)會(huì)基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)架構(gòu),然后再針對(duì)不同的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行深化是最好的選擇。 目前的大模型主要采用的是預(yù)訓(xùn)練的方式來(lái)實(shí)現(xiàn)智能的,簡(jiǎn)單來(lái)說(shuō)就是給神經(jīng)網(wǎng)絡(luò)模型一堆資料,讓它自己學(xué),自己看,自己總結(jié);其中給答案的叫做監(jiān)督學(xué)習(xí),沒(méi)答案的叫無(wú)監(jiān)督學(xué)習(xí)。 然后根據(jù)不同的任務(wù)需求,又設(shè)計(jì)出用來(lái)解決不同類(lèi)型任務(wù)的神經(jīng)網(wǎng)絡(luò),比如分類(lèi)任務(wù),圖片處理任務(wù),自然語(yǔ)言處理任務(wù)等。 至于大模型技術(shù)細(xì)節(jié)方面的東西,就不詳細(xì)描述了,感興趣的可以自己學(xué)習(xí),比如編碼器,損失計(jì)算和反向傳播怎么實(shí)現(xiàn)等。 再有,設(shè)計(jì)并訓(xùn)練一個(gè)完整可用的神經(jīng)網(wǎng)絡(luò)模型是一個(gè)復(fù)雜的工程,比如模型的設(shè)計(jì),訓(xùn)練數(shù)據(jù)的收集與處理,損失函數(shù)與反向傳播算法的設(shè)計(jì),模型過(guò)擬合,欠擬合等問(wèn)題。
而且隨著模型規(guī)模的增大,模型的訓(xùn)練難度成幾何式增長(zhǎng),比如分布式訓(xùn)練,并行計(jì)算等問(wèn)題;以及為了提升大模型的學(xué)習(xí)效率,節(jié)約成本而設(shè)計(jì)的強(qiáng)化學(xué)習(xí),遷移學(xué)習(xí)等。 最后,為了使得大模型更像人,也為了實(shí)現(xiàn)真正的AGI(通用人工智能),現(xiàn)在多模態(tài)大模型大行其道,而多模態(tài)大模型技術(shù)比傳統(tǒng)大模型的技術(shù)復(fù)雜度又上升了不止一個(gè)臺(tái)階。 基于知識(shí)庫(kù)的向量檢索——RAG 大模型技術(shù)雖然很強(qiáng)大,但其有幾個(gè)明顯的缺點(diǎn),第一就是知識(shí)是有限制的,因?yàn)椴捎玫氖穷A(yù)訓(xùn)練方式,因此大模型的知識(shí)最多只能到訓(xùn)練開(kāi)始的時(shí)間節(jié)點(diǎn),之后產(chǎn)生的新的知識(shí)大模型無(wú)法獲取。 其次,由于訓(xùn)練大模型的成本問(wèn)題,導(dǎo)致很多企業(yè)無(wú)法承擔(dān)大模型的訓(xùn)練成本,因此只能使用第三方的大模型,但第三方大模型沒(méi)有在特定領(lǐng)域的數(shù)據(jù)上進(jìn)行訓(xùn)練或微調(diào),因此,其表現(xiàn)能力一般。 這時(shí)RAG就出現(xiàn)了,RAG中文是檢索增強(qiáng),是通過(guò)外掛知識(shí)庫(kù)的方式,提問(wèn)大模型之前先從向量數(shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù),然后一起輸入到大模型,這樣大模型就相當(dāng)于有了一個(gè)外部資料庫(kù),遇到不懂的問(wèn)題就可以通過(guò)查資料的方式解決。 以目前的技術(shù)來(lái)說(shuō),RAG是大模型技術(shù)的一個(gè)重要節(jié)點(diǎn),即是大模型能力范圍的擴(kuò)展,也是對(duì)大模型短板的補(bǔ)充。
微調(diào)與提示詞工程 我們一般使用的大模型都是預(yù)訓(xùn)練模型,也就是用某些數(shù)據(jù)集訓(xùn)練過(guò)的模型;但這些模型一般情況下只會(huì)在特定領(lǐng)域表現(xiàn)出色,但如果用來(lái)解決自己的實(shí)際問(wèn)題可能就不太好用了。 這時(shí)怎么讓預(yù)訓(xùn)練模型在其它任務(wù)中表現(xiàn)更好就是一個(gè)值得思考的問(wèn)題,而這就是微調(diào)與提示詞工程存在的意義。 微調(diào) 微調(diào)從技術(shù)手段上來(lái)說(shuō)和模型訓(xùn)練沒(méi)有區(qū)別,只不過(guò)微調(diào)是在相似任務(wù)的預(yù)訓(xùn)練模型的基礎(chǔ)之上,通過(guò)少量的數(shù)據(jù)對(duì)模型參數(shù)進(jìn)行調(diào)整,使得其能夠更加適應(yīng)當(dāng)前任務(wù)的一種方式。由于其成本低,對(duì)資金和技術(shù)要求要比完全重新設(shè)計(jì)和訓(xùn)練一款模型要低的多。 因此,微調(diào)存在的意義是為了節(jié)約成本和降低門(mén)檻,如果資金充足的情況下,根據(jù)任務(wù)需求設(shè)計(jì)并訓(xùn)練一款模型是最好的選擇,微調(diào)是退而求其次的一種方式。
提示詞工程 如果說(shuō)微調(diào)是為了讓大模型去適應(yīng)特定的任務(wù),那么提示詞的作用就是怎么更好的使用一個(gè)大模型。 根據(jù)研究發(fā)現(xiàn),對(duì)待同樣的問(wèn)題使用不同的提示詞有時(shí)會(huì)得到完全不一樣的效果,因此根據(jù)這一現(xiàn)象就提出了提示學(xué)習(xí)的方法,具體的可以看之前的問(wèn)題——提示學(xué)習(xí)。 用人類(lèi)來(lái)舉例就是,假如有人問(wèn)你吃飯了嗎這種簡(jiǎn)單的問(wèn)題,你可以下意識(shí)的回答,而且可以回答的很好;大模型也是如此,如果你問(wèn)大模型很簡(jiǎn)單的問(wèn)題,它也能回答的比較好。 但如果問(wèn)到一些復(fù)雜的問(wèn)題就需要更加準(zhǔn)確的描述,比如說(shuō)根據(jù)當(dāng)前的就業(yè)環(huán)境,從經(jīng)濟(jì),市場(chǎng),貿(mào)易,國(guó)際局勢(shì)等多個(gè)方面來(lái)分析一下產(chǎn)生當(dāng)前情況的原因,以及后續(xù)的應(yīng)對(duì)方法。 這種復(fù)雜的問(wèn)題,不論是問(wèn)人還是問(wèn)大模型,你說(shuō)的越準(zhǔn)確,它回答的才能更好,這就是提示詞存在的意義。 智能體Agent 在前面的描述中,神經(jīng)網(wǎng)絡(luò)架構(gòu)講的是怎么構(gòu)建一個(gè)大模型,知識(shí)庫(kù)是怎么補(bǔ)充和強(qiáng)化大模型,微調(diào)和提示詞是怎么更好的使用大模型,那么智能體就是真正的使用大模型,研究大模型的具體應(yīng)用。 如果把大模型比做人類(lèi)的大腦,那么智能體就是大模型的手和腳。 在此之前使用大模型,我們能夠讓它回答問(wèn)題,寫(xiě)文章,生成圖片和視頻,但這都是大模型天生具備的能力,就類(lèi)似于人類(lèi)可以寫(xiě)寫(xiě)畫(huà)畫(huà)一樣。 但如果讓大模型完成更加復(fù)雜的任務(wù),這時(shí)就需要借助外部工具,比如外出旅行需要設(shè)計(jì)旅行路線,定酒店和車(chē)票等。 這種任務(wù)就完全超出大模型或者人類(lèi)本身的能力圈,如果想完成這些任務(wù)就需要借助外部工具,比如說(shuō)手機(jī)APP。 智能體就是大模型+外部工具實(shí)現(xiàn)的一種能夠獨(dú)自分析和解決復(fù)雜任務(wù)的一種載體,利用大模型的獨(dú)立規(guī)劃能力,讓它根據(jù)自己的判斷去調(diào)用外部工具完成任務(wù)。
使用的技術(shù)主要有function call,langchain等;如上圖所示,大模型使用function call的方式調(diào)用外部工具,使用自身能力完成規(guī)劃和行動(dòng),并且由于大模型沒(méi)有足夠的記憶能力,需要增加記憶模塊來(lái)記錄對(duì)復(fù)雜任務(wù)的分析過(guò)程。 目前,大模型解決復(fù)雜任務(wù),主要通過(guò)思維鏈(CoT)的方式來(lái)實(shí)現(xiàn)對(duì)復(fù)雜問(wèn)題的分解。 langchain是一種人工智能開(kāi)發(fā)框架,它封裝了大部分調(diào)用大模型的細(xì)節(jié),以及其它輔助功能,比如文檔的加載,多個(gè)大模型的鏈?zhǔn)秸{(diào)用,提示詞模板的封裝等,與其類(lèi)似的還有LlamaIndex等。 總結(jié) 從大的方向上來(lái)說(shuō),大模型從技術(shù)到應(yīng)用,主要涉及到以上幾個(gè)大的模塊;而每個(gè)模塊又涉及到大量的技術(shù)和細(xì)節(jié)。比如打造不同任務(wù)的神經(jīng)網(wǎng)絡(luò)模型,強(qiáng)化學(xué)習(xí),遷移學(xué)習(xí),知識(shí)蒸餾,分布式訓(xùn)練與存儲(chǔ)等;以及RAG使用的向量檢索,向量數(shù)據(jù)庫(kù),語(yǔ)義理解等,還有復(fù)雜任務(wù)的思維鏈(CoT),模型訓(xùn)練使用的LoRa等微調(diào)方法。 還有多模態(tài)模型中的知識(shí)對(duì)齊,數(shù)據(jù)融合等復(fù)雜技術(shù)。 基于大模型開(kāi)發(fā)的人工智能機(jī)器人,感興趣的可以點(diǎn)擊查看: 因此,大模型技術(shù)到應(yīng)用到學(xué)習(xí)是一個(gè)系統(tǒng)性的復(fù)雜過(guò)程,中間涉及到無(wú)數(shù)的技術(shù)細(xì)節(jié)和理論,并且還在不斷的產(chǎn)生新的技術(shù)和理論。 千里之行,始于足下。 |
|
|
來(lái)自: kbmgmg > 《AI應(yīng)用》