理解 transformer

Python 中的 LLM 入门

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

什么是 transformer?

  • 深度学习架构
  • 处理、理解并生成文本
  • 多数 LLM 采用
  • 并行处理长文本序列

三种 transformer 架构示意图:仅编码器、仅解码器、编码器-解码器

Python 中的 LLM 入门

Transformer 架构

三种 transformer 架构示意图:仅编码器、仅解码器、编码器-解码器

  • 在 Hugging Face 模型卡中查看架构细节
Python 中的 LLM 入门

仅编码器

仅编码器示意图

  • 理解输入文本
  • 无序列化输出
  • 常见任务:
    • 文本分类
    • 情感分析
    • 抽取式问答(抽取或标注)
  • BERT 模型
  • 示例:"distilbert-base-uncased-distilled-squad"
Python 中的 LLM 入门

仅编码器

仅编码器示意图

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

仅编码器

仅编码器示意图

print(llm.model.config.is_decoder)
False
  • 另一种方式:llm.model.config.is_encoder_decoder
Python 中的 LLM 入门

仅解码器

仅解码器示意图

  • 关注点转向输出
  • 常见任务:
    • 文本生成
    • 生成式问答(句子或段落)
  • GPT 模型
  • 示例:"gpt-5.4-mini"
Python 中的 LLM 入门

仅解码器

仅解码器示意图

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 入门

编码器-解码器

编码器-解码器示意图

  • 同时理解并处理输入与输出
  • 常见任务:
    • 翻译
    • 摘要
  • T5、BART 模型
Python 中的 LLM 入门

编码器-解码器

编码器-解码器示意图

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

编码器-解码器

编码器-解码器示意图

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...