Encoder-only vs Decoder-only vs Encoder-Decoder

Câu hỏi trung tâm

  • Khi chọn Transformer architecture, nên nhớ khác biệt theo cơ chế attention và loại task như thế nào?

Mental model

Encoder-only    -> đọc toàn bộ input -> understanding / representation
Decoder-only    -> chỉ nhìn prefix   -> generation / next-token prediction
Encoder-decoder -> encoder đọc input, decoder viết output -> sequence-to-sequence

Bảng so sánh

NhómCách nhìn contextCơ chế chínhVí dụTask phù hợp
Encoder-onlyNhìn cả trái và phảiBidirectional AttentionBERT, RoBERTa, DistilBERTClassification, NER, semantic understanding
Decoder-onlyChỉ nhìn quá khứ/prefixCausal maskGPT familyText generation, chat, completion
Encoder-decoderEncoder đọc input, decoder sinh outputCross-AttentionT5, BARTTranslation, summarization, seq2seq

Tổng hợp của tôi

  • Tên model là ví dụ; điều cần nhớ là architecture quyết định model được phép nhìn context nào.
  • Encoder-only mạnh cho understanding vì token nhìn được toàn bộ input.
  • Decoder-only mạnh cho generation vì training/inference đều xoay quanh dự đoán token kế tiếp.
  • Encoder-decoder phù hợp khi output là một sequence mới dựa trên input khác, vì decoder có cross-attention để nhìn encoder output.

Điểm dễ nhầm

  • Cùng là sinh văn bản, decoder-only và encoder-decoder không giống nhau: decoder-only sinh từ prefix, còn encoder-decoder sinh có điều kiện trên input đã được encoder đọc.
  • Attention Mask không chỉ dùng cho padding; causal mask là thứ giữ decoder không nhìn token tương lai.

Nguồn

Liên kết