[DLHLP 2020] BERT and its family — Introduction and Fine-tune
本章重點:
- What is pre-train model
- How to fine-tune
- How to pre-train
Pre-train Model:
傳統使用的是Word2Vec, GloVe,但是他缺乏對上下文的理解,因此有了FastText,使用每個字母來當作Token。在中文領域,起初使用類似有邊讀邊的單字法去訓練模型的Embedding。
如今模型越來越大,不過也不是每個人都用得起這些大模型,因此有人也想辦法將模型壓縮成更小的狀態。嘗試由Network變小來著手的模型,舉例:Distill BERT, Tiny BERT, Mobile BERT, Q8BERT, ALBERT,其中值得注意的是ALBERT (有待認識)。另外也有從Network 的結構來著手壓縮模型的模型:Transformer-XL、Reformer、Longformer,後兩者是由降低Self-attention 複雜度來進行。
How to fine-tune
NLP任務輸入分成兩類:輸入一個句子、輸入多個句子;輸出可以分四種類別:一個類別、每個token一個類別、Copy from input、general sequence。
作法ㄧ
作法二:結果通常比較好,但是會遇到一些問題,下方詳細說明。
問題一:因為我們為了Fine-tune整個模型,結果變成每個模型都會變形。
解法:Adaptor,嘗試修改部分的參數的Adaptor
解法:Weighted Features,每一層的output都會依照需要的任務,產生需要的weighted,然後再加成出需要的參數大小。