解鎖AIGC產(chǎn)品經(jīng)理轉(zhuǎn)型秘籍–大模型知識
在過去的幾十年中,人工智能(AI)從科幻電影中的異想天開,已經(jīng)逐漸走進(jìn)了我們的現(xiàn)實生活,以AI為核心的內(nèi)容生成技術(shù)(AIGC)正在掀起一場創(chuàng)作領(lǐng)域的革命。
以下內(nèi)容源于個人對AI相關(guān)領(lǐng)域的自學(xué)知識總結(jié),如有專業(yè)人士還請指點。
讓我們開啟一場沉浸式的AI之旅吧~
一、基礎(chǔ)概念
人工智能是什么
是一門研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的技術(shù)科學(xué)。它企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以與人類智能相似的方式做出反應(yīng)的智能機器。(來源:百度智能回答)
大模型是什么
大規(guī)模預(yù)訓(xùn)練模型,指具有大規(guī)模參數(shù)和復(fù)雜計算能力的機器學(xué)習(xí)模型(深度學(xué)習(xí)模型)。在深度學(xué)習(xí)領(lǐng)域,大模型通常是指具有數(shù)百萬到數(shù)十億參數(shù)的神經(jīng)網(wǎng)絡(luò)模型。這些模型通過在大量數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,能夠捕捉復(fù)雜的數(shù)據(jù)模式和關(guān)系。
AIGC是什么
指通過人工智能技術(shù)生成內(nèi)容的一種方式,人工智能通過學(xué)習(xí)大量的數(shù)據(jù),實現(xiàn)自動生成各種內(nèi)容,如文本、圖像、音視頻等。
AGI是什么
通用人工智能,指機器能夠完成人類能完成的任何智力任務(wù)的能力,甚至超過人類,目前處于理論階段。
AIGC與大模型的關(guān)系是什么呢?
二、大模型分類
按照輸入類型分類:
1.大語言模型(NLP):
處理文本數(shù)據(jù)和自然語言,如文本生成、問答系統(tǒng)、語音轉(zhuǎn)文字、情感分析、機器翻譯等;
應(yīng)用例如:GPT系列chatGPT(OpenAI)、Bard(Google)、文心一言(百度);
2.視覺大模型(CV):
用于圖像處理和分析,如圖像分類、圖像生成、目標(biāo)檢測、醫(yī)學(xué)圖像分析等;
應(yīng)用例如:VIT系列(Google)、文心UFO、華為盤古CV、INTERN(商湯);
3.多模態(tài)大模型:
能處理多種不同類型數(shù)據(jù),如文本、圖片、音視頻等;
應(yīng)用例如:DingoDB多模向量數(shù)據(jù)庫(九章云極DataCanvas)、DALL-E(OpenAI)、悟空畫畫(華為)、midjourney。
三、語言大模型
初識語言大模型
這里著重介紹大語言模型(NLP),查閱大語言模型相關(guān)資料時,經(jīng)??吹絅LP、LLM、GPT、ChatGPT、Transformer……這些都是什么呢,之間又存在什么關(guān)系呢?
NLP自然語言處理,是人工智能領(lǐng)域的一個分支,是一種學(xué)科/應(yīng)用領(lǐng)域。而LLM大型語言模型,是NLP領(lǐng)域中的一種特定類型的語言模型,是指一個廣泛的分類,涵蓋了所有使用大量數(shù)據(jù)進(jìn)行訓(xùn)練的、能夠處理和生成自然語言的AI模型。而GPT是這一類模型中的一個特定例子,是LLM的一種實現(xiàn),通過海量數(shù)據(jù)訓(xùn)練的深度學(xué)習(xí)模型,能夠識別人的語言、執(zhí)行語言類任務(wù),并擁有大量參數(shù)。它使用Transformer架構(gòu),并通過大規(guī)模的預(yù)訓(xùn)練,學(xué)習(xí)語言的模式和結(jié)構(gòu);ChatGPT則是基于這些內(nèi)容而實現(xiàn)出來供我們使用的產(chǎn)品。
1.基于以上的了解,可將LLM、GPT、Transformer、ChatGPT的關(guān)系用下圖表示:
Transformer是基礎(chǔ)架構(gòu),LLM是建立在這種架構(gòu)上的一類復(fù)雜系統(tǒng),GPT是LLM中的一種特定實現(xiàn),并通過大量的預(yù)訓(xùn)練,獲得了強大的語言處理能力。而已發(fā)布的ChatGPT使用了GPT技術(shù)進(jìn)行了產(chǎn)品的呈現(xiàn)。
2.為了更好理解LLM、GPT、Transformer三者的關(guān)系,我們可將他比作建筑的不同部分:
1)Transformer:基礎(chǔ)結(jié)構(gòu)
將其想象為一座大樓的框架,Transformer提供了基本的支撐和形狀,里面詳細(xì)設(shè)計為空,決定了建筑的整體設(shè)計和功能;
2)LLM:整體建筑
可理解為是建立在前面框架上的整體建筑,不僅有框架(即Transformer架構(gòu)),還包含了房間、電梯、裝飾等,使建筑完整,功能豐富;
3)GPT:特定類型的建筑
可被視為大型建筑中的一種特定類型,如一座特別的摩天大樓,他不僅使用了Transformer架構(gòu),還通過特定的方式進(jìn)行了設(shè)計和優(yōu)化(即大規(guī)模預(yù)訓(xùn)練),以實現(xiàn)特定的功能,如高效的文本生成和語言理解。
語言大模型原理
基本關(guān)系如下:
其構(gòu)建過程簡單描述可以為:
數(shù)據(jù)預(yù)處理(如數(shù)據(jù)清洗等)?? 模型結(jié)構(gòu)設(shè)計(Transformer架構(gòu))?? 模型訓(xùn)練 ?? 模型部署
1.模型結(jié)構(gòu):
為解析句子,預(yù)測下一個單詞;
LLM模型主要用到了Transformer架構(gòu),語言大模型中設(shè)置了多層規(guī)則,為從不同的角度理解與分析句子,試圖預(yù)測下一個將要出現(xiàn)的單詞;
簡單分層來說:
第一層規(guī)則:理解句子中的單詞或短語的含義;
第二層規(guī)則:理解句子之間是怎樣關(guān)聯(lián)的;
第三層規(guī)則:從前面的句子內(nèi)容,來理解下個句子;
2.模型訓(xùn)練:
用海量數(shù)據(jù)訓(xùn)練模型,提高語言的準(zhǔn)確度;
下文會舉例GPT的訓(xùn)練過程,此處不做贅述。
核心Transformer
語言大模型的核心是Transformer,是基于注意力機制的深度學(xué)習(xí)模型(神經(jīng)網(wǎng)絡(luò)架構(gòu)),用于處理序列到序列的任務(wù)。簡單來說,就是捕捉句子中不同位置的詞之間的關(guān)系,用于如理解上下文信息、生成連貫邏輯一致的文本等,且能高效并行計算。
1.Transformer主要核心結(jié)構(gòu)如下:
Transformer內(nèi)部有多個編碼器、解碼器堆疊;
編碼器:主要捕捉輸入序列中的信息并建模特征;
解碼器:主要生成輸出序列;
編碼器/解碼器堆疊的作用:增加模型性能,有助于處理復(fù)雜的輸入輸出關(guān)系。
下面我們深入了解一下Transformer架構(gòu):
1)其核心組成部分包含:
i.編碼器:
? ? 由多個編碼器層堆疊而成,內(nèi)部包含多頭自注意力機制+前饋神經(jīng)網(wǎng)絡(luò),整體主要作用是捕捉輸入序列的上下文信息,并生成一系列編碼向量;
ii.解碼器:
? ? 由多個解碼器層堆疊而成, 內(nèi)部包含帶掩碼的多頭自注意力機制+編碼器到解碼器的多頭注意力機制(常稱為編碼器-解碼器注意力)+前饋神經(jīng)網(wǎng)絡(luò),整體主要作用是利用編碼器的輸出生成輸出序列。
iii.嵌入層:
? ? 將輸入序列中的詞轉(zhuǎn)換為用向量表示(即詞向量),以便模型能夠處理;
詞向量:
? ? 將單詞轉(zhuǎn)換為向量,或者說將語言的基本單位轉(zhuǎn)換為數(shù)字組合(如將英文單詞轉(zhuǎn)換為一串?dāng)?shù)字,讓計算機可識別),核心思想是具有相似語意的詞在向量空間中更接近;
向量:表示具有大小和方向的量,如在直角坐標(biāo)系中(x,y)、在三維空間表示為(x,y,z);
iv.位置編碼:
? ? 把表示各個詞本文順序的向量和上一步得到的詞向量相加;
由于Transformer并行處理輸入序列中的所有單詞,所以不知道輸入序列的順序信息,因此需要生成每個單詞在序列中的位置信息;
2)主要涉及的工作原理:
i.自注意力機制:
允許模型在處理每個單詞時關(guān)注輸入序列中的其他單詞,這種機制能給每個詞分配一個權(quán)重,計算當(dāng)前詞與其他所有詞之間的相關(guān)性;
作用:理解上下文和語言流的關(guān)鍵(捕捉序列數(shù)據(jù)中的依賴關(guān)系);
ii.多頭自注意力機制:
將輸入序列分成多個頭,并對每個頭進(jìn)行自注意力計算,然后將多個頭的結(jié)果拼接在一起,最終通過線性變化得到輸出。簡單的說,每個注意頭專注于句子中的某個特定關(guān)系(如某一個單頭自注意力只關(guān)注主謂關(guān)系、另一個單頭自注意力只關(guān)注形容詞與名詞的關(guān)系等),使模型能夠從不同角度或多個層面捕捉語意信息;
作用:生成更準(zhǔn)確的表示,提高了對復(fù)雜關(guān)系的建模能力;
iii.前饋神經(jīng)網(wǎng)絡(luò):
在每個編碼器與解碼器層中,還包括一個位置獨立的前饋神經(jīng)網(wǎng)絡(luò),由兩個線性層和一個激活函數(shù)(通常為ReLu)組成;
作用:對自注意力層的輸出進(jìn)行進(jìn)一步的非線性變換,強化位置的表示/提取更復(fù)雜的特征,增強模型的表達(dá)能力;
2.基于以上的了解,我們來補全一下Transformer的內(nèi)部結(jié)構(gòu)如下:
1)編碼器及其輸入/出部分:
i.輸入:原始的海量數(shù)據(jù)
ii.嵌入層、位置編碼:對原始輸入數(shù)據(jù)進(jìn)行處理
作用:將輸入的詞轉(zhuǎn)化為向量,并加上位置信息,供編碼器使用
iii.編碼器內(nèi)部:
多頭自注意力:捕捉原始序列信息
前饋神經(jīng)網(wǎng)絡(luò):增強模型表達(dá)能力
iv:輸出:包含了原始輸入信息的上下文信息與位置信息的向量序列,是后續(xù)解碼過程的基礎(chǔ)
2)解碼器及其輸入/出部分:
i.輸入:分為2大部分
·解碼器自身的輸入:
? ? ·開始符號:表示輸出序列的開頭(作用:告訴解碼器開始生成目標(biāo)序列)
? ? ·先前生成的詞:指開始后,前一個時間步解碼器的輸出,也作為輸入(作用:為下一步掩碼多頭自注意力機制提供實際內(nèi)容,如上下文信息、位置信息等)
? ? ? 前一時間步:指在時間序列或序列數(shù)據(jù)中,當(dāng)前元素(詞、字符或時間點的數(shù)據(jù))之前的那個元素或時間點
·編碼器的輸出:
? 編碼器的輸出作為解碼器的輸入(作用:編碼器的輸出綜合了原始序列位置與上下文信息,來指導(dǎo)解碼過程的注意力分配)
ii.嵌入層、位置編碼:僅對解碼器“先前生成的詞”進(jìn)行處理
作用:將輸入的詞轉(zhuǎn)化為向量,并加上位置信息,供解碼器中的多頭自注意力機制使用
iii.解碼器內(nèi)部:
·多頭自注意力機制:詳指帶掩碼的多頭自注意力機制,針對已生成的輸出序列(指前面說的“先前生成的詞”被嵌入層與位置編碼處理后的)進(jìn)行處理,(作用:防止未來的信息被利用,維護(hù)序列生成的因果順序,確保模型生成目標(biāo)序列時的連貫性與一致性)
(詳細(xì)說明:和編碼器中的有點不同,編碼器中的會關(guān)注序列里所有其他詞,但解碼器中的只會關(guān)注當(dāng)前詞和它前面的其他詞,后面的詞會被遮住,確保解碼器生成文本時,遵循正確的時間順序)
·編碼-解碼注意力機制:捕捉編碼器的輸出與解碼器即將生成的輸出序列之間的復(fù)雜依賴關(guān)系,從而將原始序列的信息融合到輸出序列的生成過程中(作用:有助于解碼器生成準(zhǔn)確的目標(biāo)序列輸出)
·前饋神經(jīng)網(wǎng)絡(luò):增強模型表達(dá)能力
iv.輸出:一步步生成一個完整的輸出序列
3)線性層與Softmax函數(shù)
i.線性層(Linera):主要用于對輸入數(shù)據(jù)進(jìn)行線性變換,調(diào)整數(shù)據(jù)的維度或簡單的線性組合,轉(zhuǎn)換維度;
ii.Softmax函數(shù):主要用于將線性層的輸出轉(zhuǎn)換為詞匯表的概率分布,選擇最可能的輸出序列(詞匯表的概率分布代表下一個詞(token)被生成的概率)。
線性層+softmax函數(shù)整體作用:把解碼器輸出的表示,轉(zhuǎn)換為詞匯表的概率分布(從特征空間到最終輸出結(jié)果的轉(zhuǎn)換),從而進(jìn)行詞匯預(yù)測和生成任務(wù)。
4.Transformer與其他神經(jīng)網(wǎng)絡(luò)模型的對比
1)Transformer:基于自注意力機制的模型
能夠高效處理序列數(shù)據(jù)
優(yōu)點:
i.并行處理能力強:可并行處理整個序列,顯著提高計算效率
ii.捕捉長距離依賴關(guān)系:能直接訪問序列中的任意位置,有效捕捉長距離(上下文)依賴關(guān)系
iii.通用性強:能處理復(fù)雜任務(wù),不僅適用于自然語言領(lǐng)域,還適用于圖像處理等其他領(lǐng)域的序列建模任務(wù)
缺點:
i.資源消耗大:對于長序列處理時,計算和內(nèi)存資源需求較高
ii.訓(xùn)練數(shù)據(jù)量要求高:通常需要大量的訓(xùn)練數(shù)據(jù)來獲得良好的性能,特別是在處理復(fù)雜任務(wù)時
2)CNNs:卷積神經(jīng)網(wǎng)絡(luò)
主要適用于圖像識別任務(wù),提取圖片的空間特征(圖片中各部分之間的空間布局和相對位置,如連接、包含等關(guān)系)
優(yōu)點:
i.空間特征提取能力強:無論圖像如何移動,都能提取到相同的特征;
ii.參數(shù)共享和局部鏈接:減少模型參數(shù)數(shù)量,降低計算成本;
缺點:
i.無法處理序列數(shù)據(jù):不適合捕捉長序列內(nèi)的依賴關(guān)系;
ii.平移不變性:可能導(dǎo)致某些任務(wù)表現(xiàn)不佳
3)RNNs:循環(huán)神經(jīng)網(wǎng)絡(luò)
主要用于處理序列數(shù)據(jù),能夠捕捉數(shù)據(jù)中的時間依賴關(guān)系,適合處理如時間序列數(shù)據(jù)(如近3個月的股票價格數(shù)據(jù)、近一周的氣溫數(shù)據(jù));
優(yōu)點:
i.處理序列數(shù)據(jù):擅長處理具有時間關(guān)系的序列數(shù)據(jù),如文本、語音
ii.參數(shù)共享:在時間步上參數(shù)共享,減少了模型的參數(shù)數(shù)量
iii.短期記憶:能夠記住短句子中前面的信息,理解上下文依賴關(guān)系
缺點:
i.長依賴問題:難以捕捉到遠(yuǎn)距離的時間依賴關(guān)系,如長句子中距離遠(yuǎn)的詞,依賴關(guān)系無法捕捉;
ii.計算效率低:難以并行計算,導(dǎo)致訓(xùn)練速度較慢;
4)LSTM:是RNN的一種變體,長短期記憶網(wǎng)絡(luò)
適合處理時間相關(guān)性較強的短序列數(shù)據(jù);
優(yōu)點:
i.處理長期依賴:有效處理序列處理中的長期依賴關(guān)系
ii.梯度問題:相比RNN,LSTM更好的解決了梯度消失/梯度爆炸的問題
缺點:
i.訓(xùn)練時間長:計算復(fù)雜度高,且難以并行
ii.資源消耗大:隨著序列長度的增加,訓(xùn)練難度與資源消耗也會增加
5.應(yīng)用現(xiàn)狀
在Transformer原始架構(gòu)的基礎(chǔ)上后續(xù)出現(xiàn)了變種:
主要分為3類:
1)僅編碼器:如 Bert,適用于理解語言的任務(wù),如掩碼語言建模(讓模型猜被遮住的詞是什么)、情感分析(讓模型猜文本情感是積極還是消極)等
2)僅解碼器:如GPT系列(ChatGPT),擅長通過預(yù)測下一個詞,來實現(xiàn)文本生成等
3)編碼器+解碼器:如T5、BART,適用于把一個序列轉(zhuǎn)換成另一個序列的任務(wù),如翻譯、 總結(jié)等
語言大模型訓(xùn)練過程
接下來我們用ChatGPT舉例,來了解一下大模型的訓(xùn)練過程如下:
1.其中“無監(jiān)督預(yù)訓(xùn)練”階段是整個模型訓(xùn)練的核心部分,基于Transformer架構(gòu)的GPT模型,作為預(yù)訓(xùn)練模型。這一步驟是整個訓(xùn)練過程中,最耗時、耗力、燒錢的環(huán)節(jié)。
過程是通過對海量數(shù)據(jù)的學(xué)習(xí),自行學(xué)習(xí)人類語言的語法、語意,了解表達(dá)結(jié)構(gòu)和模式。
這步訓(xùn)練后,會得到一個基座模型,可進(jìn)行文本生成,模仿上文生成更多類似的內(nèi)容,并不回答你的問題,如發(fā)問“法國首都是哪里?”,他會回復(fù)“英國的首都是哪里?”。
2.為解決上一問題,會進(jìn)行下一步“監(jiān)督微調(diào)”。
過程是從人類撰寫高質(zhì)量的對話數(shù)據(jù)學(xué)習(xí),相當(dāng)于既給了模型問題,又給了模型我們?nèi)祟愔幸獾拇鸢福瑢P瓦M(jìn)行微調(diào),此過程不需要從海量的數(shù)據(jù)中學(xué)習(xí)了。
這步訓(xùn)練后,模型更加擅長對問題做出回答了,這步得到的模型一般稱為SFT模型。
3.為了讓模型的實力繼續(xù)被提升,再進(jìn)行下一步“強化學(xué)習(xí)”。
過程涉及到兩部分內(nèi)容:
1)訓(xùn)練獎勵模型:使用上一步得到的SFT模型對問題生成多個對應(yīng)答案,人類標(biāo)記員對答案進(jìn)行質(zhì)量排序,基于這些數(shù)據(jù)訓(xùn)練出一個能對答案進(jìn)行預(yù)測評分的獎勵模型;
2)強化學(xué)習(xí)訓(xùn)練:接下來讓第二步得到的基座模型(SFT)對問題生成回答,通過獎勵模型給回答評分,利用評分作為反饋,進(jìn)行強化學(xué)習(xí)訓(xùn)練。
這步訓(xùn)練后,模型回答的質(zhì)量會進(jìn)一步提升。
以上就是對AI領(lǐng)域部分知識的分享,希望可以幫到大家。
最后分享一個我在學(xué)習(xí)過程中腦子里冒出的奇怪問題:哈哈
本文由 @不知名產(chǎn)品露 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)
- 目前還沒評論,等你發(fā)揮!