GPT (Generative Pre-trained Transformer)

核心思想:GPT 采用的是 Transformer 的解码器 (Decoder) 结构。比喻:它像一个“单向的语言艺术家”,在写下一个词时,只被允许看到前面已经写好的内容。这种自回归(auto-regressive)的方式使得 GPT 极其擅长生成式任务,如写文章、作诗、回答问题等。

GPT 正在预测下一个词...
?
注意力只能看到左边的内容
# GPT-like 模型通常使用 Decoder-only 架构 # Hugging Face Transformers 库简化了使用 from transformers import GPT2LMHeadModel, GPT2Tokenizer tokenizer = GPT2Tokenizer.from_pretrained('gpt2') model = GPT2LMHeadModel.from_pretrained('gpt2') prompt = "AI is the new" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_length=10) # 解码生成的文本 # ...

BERT (Bidirectional Encoder Representations from Transformers)

核心思想:BERT 采用的是 Transformer 的编码器 (Encoder) 结构。比喻:它像一个“双向的阅读理解专家”,为了理解句子中一个词(特别是被遮盖的词)的真正含义,它会同时参考这个词左边和右边的所有上下文信息。这种双向性使得 BERT 极其擅长理解式任务,如文本分类、命名实体识别、问答等。

BERT 正在预测被遮盖的词...
[MASK]
中国
注意力可以看到左右两边的内容
# BERT-like 模型通常使用 Encoder-only 架构 from transformers import BertTokenizer, BertForMaskedLM tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertForMaskedLM.from_pretrained('bert-base-uncased') text = "Paris is the [MASK] of France." inputs = tokenizer(text, return_tensors='pt') outputs = model(**inputs) # 解码被遮盖的词的预测结果 # ...