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

ELMO、GPT、BERT—預測中間詞的模型結構不同
| 算法 | 預測中間詞的模型結構不同 |
| ELMO | ELMO采用雙向LSTM結構:因為各個LSTM結構之間是互相獨立的,所以可以根據(jù)上下文預測中間詞; |
| GPT | GPT采用了單向的Transformer:GPT在做另一個任務:根據(jù)上文預測下一個單詞時,要求Pre-Training預測下一個詞時,只能夠看見當前以及之前的詞,這也使得GPT不得不放棄原本Transformer的雙向結構,轉而采用單向結構的原因。此舉從而也就決定了GPT只能根據(jù)上文預測下一個單詞; |
| BERT | BERT采用了雙向的Transformer:所以并沒有像GPT一樣完全放棄下文信息。 |