iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0

Transformer 內有一組很關鍵的機制,是一種 encoder-decoder 的架構。 Encoder 主要扮演的角色是把輸入的一連串的 token 轉換為 embedding vectors,有時候也會被稱為 hidden state。Decoder 則是使用 encoder 的 hidden state,來產生 token。

Transformer 架構最初是為機器翻譯等 sequence to sequence 的任務而設計的,但是隨著時間的演變,已經變 encoder 和 decoder 都已經變成單獨的模組了,即使只要其中一個,也可以完成 transformer 的任務。

只有 encoder 的模型

BERT 和其變體如我們最近一直用到的 DistilBERT 就是這類型最有名的代表。這類的模型將輸入的文本序列轉換為數字表示,而且非常適合文本分類或命名實體識別等任務。像我們最近在做的文本分類,都是用 DistilBERT 來達成的。

只有 decoder 的模型

GPT 模型的家族都是屬於此類,主要由 OpenAI 開發的。這類的 transformer 很適合拿來做下一個單詞的預測,例如說文本生成。「I have a pen, I have a ......」像是這樣子的題目要把後面的句子完成,就很適合用這類型的 transformer。

Encoder-Decoder 的模型

BART 和 T5 家族的模型就是這類型的代表。這些用於從一個文本的 sequence 到另一個文本的 sequence 的複雜映射。一般適用於機器翻譯和摘要任務。

實際上這麼分也不太準

實際上這種方式的區別也不太準。像 GPT 系列中的那些僅 decoder 模型也可以用於翻譯等任務。BERT 也可以做機器翻譯這種 Encoder-Decoder 架構的任務。我們需要的知道是他們架構和機制,但是在做自然語言處理的任務時,不一定要被其架構的特性給侷限住了。


上一篇
# Day16- Fine-tune Transformer --- 訓練模型篇
下一篇
# Day18-Hugging Face 文本生成入門
系列文
變形金剛與抱臉怪---NLP 應用開發之實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言