跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

冻结 Prompt 微调大语言模型:T5 与 PET 解析

综述由AI生成详细解析了冻结 Prompt 微调大语言模型的两个经典工作:T5 与 PET。T5 提出了 Text-to-Text 统一框架,将各类 NLP 任务转化为文本生成任务,通过前缀 Prompt 实现多任务处理。PET 则利用完形填空式 Prompt 将文本分类转化为掩码词预测,结合半监督蒸馏方案提升小样本性能。文章分析了两种方法的架构设计、Prompt 构建逻辑、损失函数及优缺点,并提供了代码实现示例,为理解 Prompt Engineering 奠定基础。

abccba发布于 2025/2/7更新于 2026/6/719 浏览
冻结 Prompt 微调大语言模型:T5 与 PET 解析

冻结 Prompt 微调大语言模型:T5 与 PET 解析

引言

随着预训练语言模型(PLM)的发展,传统的微调方法逐渐显露出参数效率低、灾难性遗忘等问题。Prompt Tuning 作为一种新兴范式,旨在通过设计输入提示(Prompt)将下游任务转化为预训练时的原始任务形式,从而在冻结大部分模型参数的情况下实现高效迁移。本文深入探讨了两个经典工作:Google 的 T5(Text-to-Text Transfer Transformer)和 PET(Prompt-based Few-Shot Text Classification),分析其核心机制、构建方式及优缺点。

T5: 统一文本到文本框架

论文背景

Paper: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer (2019.10)

T5 的核心初衷在于全面公平地对比不同预训练和迁移策略的贡献。为了避免特定模型架构对预训练目标效果的干扰,T5 提出了一个统一的建模框架,将所有 NLP 任务转化为文本生成任务。

实验对比维度

为了验证通用性,T5 在以下维度进行了广泛对比:

  • 预训练目标: 包括语言模型(LM)、乱序还原、MLM(不同掩码率)、Span 掩码等。
  • 预训练数据: 构建了 C4 数据集,从 Common Crawl 中抽取不同领域语料进行训练。
  • 模型架构: 对比了 Encoder-Decoder、Decoder Only、Encoder Only 三种结构。
  • 迁移策略: 逐步解冻、全量微调、局部微调等。
  • 其他因素: 多任务预训练、模型大小缩放。

结果显示,Encoder-Decoder 架构配合 Span Masking 损失函数效果最佳。这或许解释了为何 Google 押注 T5 而非像 OpenAI 早期那样选择纯 Decoder 结构。

Text-to-Text 通用建模框架

T5 提出了一种通用的建模框架:使用相同的模型、相同的预训练、相同的损失函数和解码方式,将文本分类、摘要、翻译、QA 等任务全部转化为生成任务。转化的关键在于加入前缀 Prompt。

任务构建示例

针对不同的下游微调任务,T5 设计了特定的 Prompt 模板:

  1. 机器翻译 (WMT English to German)

    • 输入:translate English to German: + 原文
    • 输出:译文
  2. 文本摘要 (CNN Mail)

    • 输入:Summarize: + 原文
    • 输出:摘要
  3. 自然语言推理 (MNLI)

    • 输入:mnli hypothesis: + 假设 + premise: + 前提
    • 输出:contradiction, entailment, neutral
  4. 语义文本相似度 (STS)

    • 输入:sts sentence1: + 句子 1 + sentence2: + 句子 2
    • 输出:1~5 的打分(离散化)
  5. 问答 (SQuAD)

    • 输入:question: + 提问 + context: + 上下文
    • 输出:答案

局限性与贡献

在 T5 的时代,Prompt 模板的构建相对粗糙,更多是单纯的任务名称加任务类型来区分。这种方式让模型在解码时采用不同的条件概率(Attention),但并未充分利用语义和上下文关联的深度优化。尽管如此,T5 在通用 LM 上的贡献奠定了后续 Prompt Engineering 的基础。

PET: 完形填空式 Prompt 微调

论文背景

Paper: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Understanding (2020.1)

PET 将输入映射成完形填空式的 Prompt 模板,对掩码词(MASK)进行预测作为分类标签。它引入了半监督方案来解决 Prompt 的不稳定性问题。

核心机制

1. Prompt & Answer Engineer

PET 针对每个数据集人工设计了 Prompt 模板和 Answer 词对标签的映射。标签词的选取是一对一的构建模式,每个 Label 只选取一个词来表示。

  • 单输入示例 (Yelp 评论打分)

    • 标签词:terrible, bad, okay, good, great
    • 模板:It was [MASK].
  • 双输入示例 (AG's News 新闻分类)

    • 标签词:Worlds, Sports, Business, Science/Tech
    • 模板:The category is [MASK].

这种构建思路尽可能还原文本所在的上下文场景,利用标签词本身的语义信息。

2. 固定 Prompt 微调优势

完形填空式 Prompt 在微调时具有显著优势:

  • 无额外参数: 常规微调需要引入 hidden_size * label_size 的分类头参数。而完形填空的 Token 在原始 Vocab 中,只需调整标签词的预训练表征使其在 Label 上线性可分即可。
  • 前置语义信息: 标签词本身隐含了语义(如 Yelp 中的形容词),避免了从头学习,这与 MRC(机器阅读理解)有相似之处。
  • 一致性高: 预训练和微调都解决完形填空问题,学习目标一致。
3. 损失函数设计

微调的损失函数是交叉熵。作者没有引入额外参数,而是把 MASK 位置上模型的预估 Logits 在 Label 上归一化来得到分类预测。 例如 AG 新闻分类任务,先得到 MASK 位置 worlds, sports, business, science 这四个词的预测 Logits,然后归一化得到预估概率,再和分类标签计算交叉熵。

为避免灾难性遗忘,作者在下游任务微调时加入了预训练的 MLM 任务,损失函数为两者之和。

4. 半监督 + 蒸馏

这是一个半监督方案。针对每个任务对应的多个 Prompt 模板,分别固定 Prompt 微调 LM 得到一版模型,然后在大量未标注样本上进行预测,对多个模型的预测值进行加权得到伪标签。最终在伪标签上使用常规微调方案(加 Classifier Head),训练模型作为输出。这一步类比知识蒸馏。PET 最后输出的还是常规的监督微调模型,Prompt 仅被当作一种半监督方案。效果上在小样本设定下比直接使用监督微调有一定提升。

疑问与改进方向

尽管 PET 表现优异,但仍存在一些问题:

  • 灾难遗忘风险: 微调过程中可能因偏离词在原始文本中的语义表征而导致遗忘。
  • 模板敏感性: 人工构建的 Prompt 模板不一定是最优的,差异带来的效果波动尚未完全解决。
  • 标签限制: Answer 词单 Token 以及一对一的设定限制性较强。后续研究对此进行了改良(如 Soft Prompt)。

代码实现示例

以下是基于 HuggingFace Transformers 构建 T5 和 PET 风格 Prompt 的 Python 伪代码示例:

# T5 风格:文本转文本
def format_t5_prompt(task_type, input_text):
    prefixes = {
        "translation": "translate English to German",
        "summarization": "summarize",
        "qa": "question"
    }
    prefix = prefixes.get(task_type, "generate")
    return f"{prefix}: {input_text}"

# PET 风格:完形填空分类
def format_pet_prompt(input_text, mask_token="[MASK]"):
    # 假设标签为 'good' 或 'bad'
    template = f"This review is {mask_token}."
    return template.replace(mask_token, input_text) 

总结

T5 和 PET 代表了 Prompt Tuning 发展的两个重要阶段。T5 确立了 Text-to-Text 的统一范式,证明了所有任务皆可生成;PET 则探索了如何利用完形填空进行少样本分类,并通过半监督蒸馏解决了稳定性问题。虽然它们存在模板构建依赖人工、标签空间受限等不足,但其思想深刻影响了后续如 GPT-3、InstructGPT 等模型的发展。在实际应用中,理解这些基础原理有助于更好地设计高效的 Prompt 策略。

参考资料

  1. Raffel, C., et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.
  2. Schick, T., & Schütze, H. (2021). Exploiting Cloze Questions for Few Shot Text Classification.
  3. HuggingFace Documentation on T5 and Prompt Tuning.

目录

  1. 冻结 Prompt 微调大语言模型:T5 与 PET 解析
  2. 引言
  3. T5: 统一文本到文本框架
  4. 论文背景
  5. 实验对比维度
  6. Text-to-Text 通用建模框架
  7. 任务构建示例
  8. 局限性与贡献
  9. PET: 完形填空式 Prompt 微调
  10. 论文背景
  11. 核心机制
  12. 1. Prompt & Answer Engineer
  13. 2. 固定 Prompt 微调优势
  14. 3. 损失函数设计
  15. 4. 半监督 + 蒸馏
  16. 疑问与改进方向
  17. 代码实现示例
  18. T5 风格:文本转文本
  19. PET 风格:完形填空分类
  20. 总结
  21. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 为什么 VsCode 远程 Copilot 用不了 Claude Agent?系统权限不足的解决策略
  • Python 网络编程实战:基于 Socket 实现简易聊天室
  • 若依框架升级 JDK21 选型指南与性能分析
  • C 语言、Java、Python 的选择与未来指南
  • CosyVoice3 声音克隆应用搭建指南:从零部署 AI 语音模型
  • Spring Boot + Leaflet 构建省级旅游口号 WebGIS 可视化平台
  • JVM GC 核心解析:收集器、GC 类型与四种垃圾回收算法
  • NASA 火星任务软件测试:利用 AIGC 模拟极端环境攻击
  • PyCharm 中提升 GitHub Copilot 代码建议准确性的实战技巧
  • C++ 基础概念
  • Qt 布局管理器详解:QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout
  • 常见字符编码方式详解
  • Windows/Mac/Linux三平台OpenClaw部署指南
  • 鸿蒙金融理财全栈项目安全合规与用户体验优化
  • MCP 工具速成:npx 与 uvx 安装使用指南
  • LangChain 实战:工具调用与结构化输出应用指南
  • OpenClaw 多飞书机器人及多 Agent 团队实战指南
  • LazyLLM 低代码框架实战:代码专家智能体开发
  • 程序员面试中常见的 3 个求职陷阱与应对策略
  • MATLAB 实现基于多目标粒子群算法(MOPSO)的无人机三维路径规划

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online