解鎖AIGC產(chǎn)品經(jīng)理轉(zhuǎn)型秘籍–大模型知識

0 評論 1506 瀏覽 7 收藏 22 分鐘

在過去的幾十年中,人工智能(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ù)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!