認識 transformer

Python 的 LLM 入門

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

什麼是 transformer?

  • 深度學習架構
  • 處理、理解與生成文本
  • 多數 LLM 採用
  • 併行處理長序列

三種 transformer 架構示意:僅編碼器、僅解碼器、編碼器-解碼器

Python 的 LLM 入門

Transformer 架構

三種 transformer 架構示意:僅編碼器、僅解碼器、編碼器-解碼器

  • 在 Hugging Face 的模型卡可查看架構細節
Python 的 LLM 入門

僅編碼器(Encoder-only)

僅編碼器示意圖

  • 了解輸入文本
  • 無序列化輸出
  • 常見任務:
    • 文字分類
    • 情緒分析
    • 擷取式問答(擷取或標註)
  • BERT 系列
  • 範例:"distilbert-base-uncased-distilled-squad"
Python 的 LLM 入門

僅編碼器(Encoder-only)

僅編碼器示意圖

llm = pipeline(model="bert-base-uncased")
print(llm.model)
BertForMaskedLM(
  (bert): ...
    )
    (encoder): BertEncoder(
      ...
print(llm.model.config)
BertConfig {
...
  "architectures": [
    "BertForMaskedLM"
...
Python 的 LLM 入門

僅編碼器(Encoder-only)

僅編碼器示意圖

print(llm.model.config.is_decoder)
False
  • 另可用:llm.model.config.is_encoder_decoder
Python 的 LLM 入門

僅解碼器(Decoder-only)

僅解碼器示意圖

  • 重點在輸出
  • 常見任務:
    • 文字生成
    • 生成式問答(句子或段落)
  • GPT 系列
  • 範例:"gpt-5.4-mini"
Python 的 LLM 入門

僅解碼器(Decoder-only)

僅解碼器示意圖

llm = pipeline(model="gpt2")
print(llm.model.config)
GPT2Config {
...
  "architectures": [
    "GPT2LMHeadModel"
  ],
...
  "task_specific_params": {
    "text-generation": {
...
print(llm.model.config.is_decoder)
False
Python 的 LLM 入門

編碼器-解碼器(Encoder-decoder)

編碼器-解碼器示意圖

  • 同時理解與處理輸入與輸出
  • 常見任務:
    • 翻譯
    • 摘要
  • T5、BART 系列
Python 的 LLM 入門

編碼器-解碼器(Encoder-decoder)

編碼器-解碼器示意圖

llm = pipeline(model="Helsinki-NLP/opus-mt-es-en")
print(llm.model)
MarianMTModel(
...
    (encoder): MarianEncoder(
...
    (decoder): MarianDecoder(
...
Python 的 LLM 入門

編碼器-解碼器(Encoder-decoder)

編碼器-解碼器示意圖

print(llm.model.config)
MarianConfig {
...
  "decoder_attention_heads": 8,
...
  "encoder_attention_heads": 8,
...
  "is_encoder_decoder": true,
...
print(llm.model.config.is_encoder_decoder)
True
Python 的 LLM 入門

一起來練習吧!

Python 的 LLM 入門

Preparing Video For Download...