NLP之PTM:自然語言處理領(lǐng)域—預(yù)訓(xùn)練大模型時(shí)代的各種吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transformer→GPT系列/BERT系列等)、關(guān)系梳理、模型對(duì)比之詳細(xì)攻略
導(dǎo)讀:2018年6月,OpenAI最初提出的GPT-1只是一個(gè)12層單向的Transformer,通過預(yù)訓(xùn)練+精調(diào)的方式進(jìn)行訓(xùn)練;
但是,2018年10月,Google的BERT一出來,刷新了11項(xiàng) NLP 任務(wù)的 SOTA,將GPT-1很快就踩在腳下。
接著,2019年2月,改進(jìn)的GPT-2提出了meta-learning,把所有NLP任務(wù)的輸入輸出進(jìn)行了整合,全部用文字來表示,其生成性能最強(qiáng),但NLU領(lǐng)域仍不如BERT;
然后,2020年5月,GPT-3改進(jìn)了BERT的兩個(gè)缺點(diǎn),1750億的參數(shù),使其性能變得吊炸天。
近期,2022年11月,ChatGPT的驚艷表現(xiàn),標(biāo)志著對(duì)話模型領(lǐng)域又向前跨出了一大步。
自此,大模型江湖廝殺仍在繼續(xù)……
單個(gè)模型逐個(gè)概述
Word2Vec模型的概述
NLP:word embedding詞嵌入/word2vec詞向量方法(一種主流的分布式表示)的簡(jiǎn)介、使用方法、案例應(yīng)用之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/128262908
ELMO模型的概述
NLP之ELMO:ELMO模型的概述、結(jié)構(gòu)(預(yù)訓(xùn)練過程、推理過程)之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/128795366
Attention的概述
DL之Attention:Attention注意力機(jī)制算法的起源與盛行及其在長距離有效的原因、概述(背景/本質(zhì)/與ED框架關(guān)系/模型架構(gòu)/優(yōu)缺點(diǎn)/擴(kuò)展,理解,本質(zhì),變種)、案例應(yīng)用(CV/NLP)之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/83187158
DL之self-attention:self-attention自注意力機(jī)制的簡(jiǎn)介(背景、特點(diǎn)、改進(jìn)對(duì)比、傳統(tǒng)對(duì)比、關(guān)系、應(yīng)用,適合長距離捕獲分析)、計(jì)算過程(八大步驟)、案例應(yīng)用之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/100108045
Transformer的概述
更新中……
GPT模型的概述—GPT系列(GPT-1/GPT-2/GPT-3)
NLP之GPT-1/GPT-2:GPT-1的概述(簡(jiǎn)介、原理、意義、結(jié)構(gòu)、創(chuàng)新點(diǎn)、優(yōu)缺點(diǎn)、數(shù)據(jù)集)、為何單向Transfo、模型結(jié)構(gòu)、訓(xùn)練過程,GPT-2的概述(大數(shù)據(jù)、大模型、靈感點(diǎn))之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/80468713
NLP之GPT-3:NLP領(lǐng)域沒有最強(qiáng),只有更強(qiáng)的模型—GPT-3的簡(jiǎn)介(本質(zhì)、核心思想、意義、特點(diǎn)、優(yōu)缺點(diǎn)、數(shù)據(jù)集、實(shí)際價(jià)值,模型強(qiáng)弱體現(xiàn),開源探討,GPT系列對(duì)比與總結(jié))、安裝、使用方法之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/107897654
AIGC:ChatGPT(一個(gè)里程碑式的對(duì)話聊天機(jī)器人)的簡(jiǎn)介(意義/功能/核心技術(shù)等)、使用方法(七類任務(wù))、案例應(yīng)用(提問基礎(chǔ)性/事實(shí)性/邏輯性/創(chuàng)造性/開放性的問題以及編程相關(guān))之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/128229941
BERT模型的概述
NLP之BERT:BERT的簡(jiǎn)介(背景、改進(jìn)點(diǎn)、創(chuàng)新點(diǎn)、簡(jiǎn)介、意義、原理、優(yōu)缺點(diǎn)、總結(jié)與評(píng)價(jià))、模型結(jié)構(gòu)、訓(xùn)練過程(MLM、NSP任務(wù)的概述)之詳細(xì)攻略
https://yunyaniu.blog.csdn.net/article/details/104987840
多個(gè)模型橫向?qū)Ρ?/strong>
GPT和BERT模型對(duì)比及其總結(jié)
| GPT-1(基于單向Transformer 模型) | BERT(基于雙向Transformer 模型) |
顧名思義 | Generative Pre-Training 生成式預(yù)訓(xùn)練模型 | Bidirectional Encoder Representation from Transformer 基于Transformer的雙向編碼器表示模型 |
時(shí)間 | 2018年6月 | 2018年10月 |
團(tuán)隊(duì) | Radford等人,OpenAI(馬斯克成立+微軟投資) | Google Brain |
語言模型 | GPT-1的模型是Transformer 結(jié)構(gòu)中的Decoder部分—Marked Self Attention掩碼自注意力,故使用的是單向語言模型,更適合生成類任務(wù)。 | BERT模型堆疊且只使用了原始 Transformer 結(jié)構(gòu)中的Encoder編碼結(jié)構(gòu)—Self Attention,因此使用了雙向的信息,并在一些任務(wù)中達(dá)到了更好的效果; |
訓(xùn)練 | Pre-Training+Fine-Tuning |
輸入向量 | token embedding + position embedding | token embedding + position embedding + segment embedding |
參數(shù)量 | 1.17億參數(shù)量 | 3.4億參數(shù)量 |
GPT-1使用了12層的Transformer | 48層 |
應(yīng)用 | 適合文本生成類任務(wù) | 不能做生成式任務(wù) |
| (1)、Masked導(dǎo)致單向:由于GPT-1在Decoder中Marked Self Attention的?Mask設(shè)計(jì),使得?GPT 只使用了單向信息,讓模型看不見未來的信息,故得到的模型泛化能力也更強(qiáng); (2)、只利用上文:GPT把原始 Transformer 結(jié)構(gòu)中的解碼器Decoder結(jié)構(gòu)用作編碼器進(jìn)行特征抽取。即該語言模型只使用了上文預(yù)測(cè)當(dāng)前詞,而不使用下文,故其更適用于文本生成類任務(wù)。 | (1)、MLM帶來雙向:BERT模型使用了?Masked-LM?的預(yù)訓(xùn)練方式達(dá)到了真雙向語言模型的效果; (2)、上下文皆利用:BERT使用的基于Transformer的Encoder能夠?qū)?/span>來自過去和未來的信息進(jìn)行建模(理解為偷看下文答案),能夠提取更豐富的信息。 |
共同點(diǎn) | (1)、BERT和GPT的結(jié)構(gòu)相似—都沿用了原始Transformer的結(jié)構(gòu):但是二者分別基于單向、雙向Transformer模型實(shí)現(xiàn)。 (2)、BERT和GPT的訓(xùn)練方法相同—都采用了兩階段:采用了Pre-training + Fine-tuning 的訓(xùn)練模式,在分類、標(biāo)注等 NLP 經(jīng)典下游任務(wù)取得很好的效果。 (3)、BERT和GPT均后接入Task-layer以適應(yīng)不同下游任務(wù):GPT 和 BERT 兩個(gè)模型,都在Fine-tuning 階段在編碼層后面加上?Task-layer?以適應(yīng)不同下游任務(wù)的訓(xùn)練需求。 |
BERT與Word2Vec→ELMO→GPT之間的轉(zhuǎn)換
BERT綜合了ELMO的雙向優(yōu)勢(shì)與GPT的Transformer的特征提取優(yōu)勢(shì):
>> 如果把ELMO的特征抽取器LSTM,換成Transformer→BERT
>> 如果把GPT預(yù)訓(xùn)練階段,換成雙向語言模型→BERT

ELMO、GPT、BERT—預(yù)測(cè)中間詞的模型結(jié)構(gòu)不同
算法 | 預(yù)測(cè)中間詞的模型結(jié)構(gòu)不同 |
ELMO | ELMO采用雙向LSTM結(jié)構(gòu):因?yàn)楦鱾€(gè)LSTM結(jié)構(gòu)之間是互相獨(dú)立的,所以可以根據(jù)上下文預(yù)測(cè)中間詞; |
GPT | GPT采用了單向的Transformer:GPT在做另一個(gè)任務(wù):根據(jù)上文預(yù)測(cè)下一個(gè)單詞時(shí),要求Pre-Training預(yù)測(cè)下一個(gè)詞時(shí),只能夠看見當(dāng)前以及之前的詞,這也使得GPT不得不放棄原本Transformer的雙向結(jié)構(gòu),轉(zhuǎn)而采用單向結(jié)構(gòu)的原因。此舉從而也就決定了GPT只能根據(jù)上文預(yù)測(cè)下一個(gè)單詞; |
BERT | BERT采用了雙向的Transformer:所以并沒有像GPT一樣完全放棄下文信息。 |