当前位置: 首页 > news >正文

【不背八股】19.GPT-2:不再微调,聚焦零样本

引言

在本系列上一篇文章中,我们回顾了 GPT-1 的设计思路:它基于 Transformer 解码器结构,将“生成式预训练 + 下游任务微调”的范式带入自然语言处理领域,成为后续一系列工作的源头。

2019 年 2 月,OpenAI 发布了 GPT-2。这一次,它不再执迷于这套范式,而是更加专注于模型的零样本(zero-shot)能力。

零样本任务是指模型在大规模数据上进行预训练之后,不再进行微调,直接应用于下游任务。

本文就来看看它具体是怎么做的。

论文标题:Language Models are Unsupervised Multitask Learners

论文地址:https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

1. 背景

GPT-1 已经证明了“无监督预训练 + 有监督微调”是可行的,但它依然受到两个方面的限制:

  • 模型规模有限:1.17 亿参数在当时算不上庞大,很难捕捉复杂的语义规律。
  • 训练语料不足:仅使用 BooksCorpus 数据,覆盖面偏窄,导致泛化性不足。

随着计算资源与数据获取能力的提升,一个自然的想法是:如果把模型做得更大,并且用更大规模、更广覆盖的语料训练,能否让模型直接学到跨任务的能力?

GPT-2 的核心探索正是这一点。它将 GPT-1 的思路“简单粗暴”地放大:更多层数、更多参数、更长上下文、更大数据,从而展现出强大的零样本泛化能力。

2. 模型设计

2.1 模型架构

  • 结构:和 GPT-1 框架一致,即 Transformer 的 Decoder 部分。

GPT-2 主要有以下四种参数量版本的模型。

  • 最大模型配置

    • 层数:48 层
    • 隐藏维度:1600
    • 注意力头数:25
    • 总参数量:15 亿(1.5B)
    • 最大上下文长度:1024 token

相比 BERT-LARGE,GPT-2 参数量提升了4倍。

2.2 训练数据

  • 数据来源:WebText。通过抓取 Reddit 上被高质量链接指向的网页,去掉维基百科等常见语料,得到约 800 万网页,40GB 文本。
  • 数据特点:覆盖面更广,包含新闻、小说、代码、对话等多种体裁,比 GPT-1 的 BooksCorpus 更丰富。

2.3 训练目标与策略

  • 目标函数:和 GPT-1 一样。

    • 给定一个序列的前文,预测下一个 token 的概率:

      L=∑ilog⁡P(ui∣ui−k,…,ui−1;Θ) L = \sum_i \log P(u_i | u_{i-k}, \dots, u_{i-1}; \Theta) L=ilogP(uiuik,,ui1;Θ)

GPT-2 在论文中主要强调其零样本能力:在下游任务上,不再需要特定的监督微调,而是通过**任务描述(prompt)**直接驱动模型输出结果。

不同下游任务的方式如下表所示:

任务类别数据集 / 实验原始任务形式GPT-2 的零样本做法(Prompt 化)
语言建模填空CBT (Children’s Book Test)给定上下文 + 填空,候选词列表把候选词分别代入句子,计算完整句子的概率,选最大概率的作为答案
长文本预测LAMBADA给定长上下文,预测最后一个词直接用 LM 预测最后一个词的概率,选最高的
常识推理Winograd Schema Challenge判断代词指代构造两种候选句子(不同指代替换),计算整体句子的概率,选择更合理的句子
阅读理解CoQA给定文档、对话历史、问题,输出答案输入串为 [文档 + QA 历史 + 新问题],让模型直接生成答案
摘要生成Reddit/TL;DR给定文章,写出摘要在文章后面加提示 "TL;DR:",让模型生成摘要
机器翻译WMT-14 En→Fr 等翻译句子构造少量示例 prompt,例如:English: The dog is happy. French:,让模型继续生成翻译
事实问答Natural Questions给定问题,输出事实答案构造 Q&A 格式 prompt,例如:
Q: Who wrote Harry Potter? A: J.K. Rowling
Q: What is the capital of France? A: Paris
再加新问题,让模型生成答案

注:论文里没有详细写每个任务prompt具体是怎么设计的,上表中的 prompt 为 使用 GPT-5 产生的内容推断。

3. 实验与结果

GPT-2 在多个任务上进行了实验,具体如下:

3.1 Language Modeling(语言建模基准)

  • 作者首先在多个标准语言建模数据集上,用零样本方式评估模型的迁移能力(即模型本身没在这些数据上训练/微调,只用模型原生能力预测)。
  • 在多个数据集(如 WikiText-2、LAMBADA、CBT、enwik8 等)上,GPT-2 模型常常取得较大幅度的 perplexity(困惑度)下降。
  • 尤其在较小 / 长依赖任务(如 LAMBADA、CBT)上,大模型优势显著。
  • 实验还分析了训练 / 测试数据之间的重叠(n-gram 重叠),以判断模型是否仅靠“记忆”获益。

3.2 Children’s Book Test(儿童书籍完形填空测试)

  • CBT 是一种 cloze 测试,目标是预测被掩盖句子中的某个词(从若干选项中选择)。
  • 模型对每个候选词计算整个句子的概率,选最大概率的那个作为答案。
  • 实验发现,随着模型规模增加,正确率逐步提升,且接近人类水平(在部分词类上甚至超过前人)——这说明模型在室内语言推断 / 上下文建模方面能力强。

3.3 LAMBADA(长文本预测)

  • LAMBADA 是一个测试长距离上下文依赖任务:句子的最后一个词要求模型知道前 50 个词的上下文才能预测。
  • GPT-2 在 LAMBADA 上大幅提升准确率,并降低 perplexity。
  • 作者还观察到许多错误预测仍是合理的生成(但不是严格的目标词),说明模型生成能力较强。

3.4 Winograd Schema Challenge(常识推理 / 指代消解)

  • Winograd 是一种经典指代消解题,用微妙的语言差异测试模型是否具备常识推理能力。
  • GPT-2 在该任务上也有显著提升(比之前方法高出几个百分点),尽管样本数量少,任务难度大。

3.5 Reading Comprehension(阅读理解 / CoQA)

  • 在 CoQA 数据集(对话式问答 + 文档上下文)上,将文档 + 对话历史 + 问题作为 prompt 条件,模型直接生成答案。
  • GPT-2 在这种零样本方式下取得约 55 F1 分数,这与某些监督系统相近,且超过了若干未专门训练的基线模型。

3.6 Summarization(摘要生成)

  • 给定一篇文章,在其后加上 “TL;DR:” 提示,让模型生成摘要。
  • 为控制生成质量,使用 top-k 随机采样(k = 2)并生成 100 个 token,从中选前三句话作为摘要。
  • 虽然在 ROUGE 指标上仍落后于专门训练的摘要模型,但 GPT-2 生成的摘要在语义流畅性和主题一致性方面已有可用性。
  • 实验还表明,如果移除 task 提示 (“TL;DR:”),性能会显著下降,说明提示在诱导行为中至关重要。

3.7 Translation(翻译)

  • 尽管训练语料主要是英语网页,模型在 prompt 中被诱导去做英→法翻译(给出若干样例对,然后“English: … = French:”)
  • 在 WMT-14 英法数据集上,GPT-2 达到约 5 BLEU(用最基础方式)表现,尽管不及专门的机器翻译模型,但超越部分无监督翻译基线。
  • 有意思的是,尽管 WebText 已过滤掉多数非英语网页,模型仍从语料中学到了一部分多语种提示 / 翻译能力。

3.8 Question Answering(事实问答 / 自然问题集)

  • 在 Natural Questions 数据集上,用提示 + 若干 QA 示例作为上下文,让模型直接生成短答案。
  • GPT-2 在 exact-match 指标下答对约 4.1% 的问题,比最小模型高出许多。
  • 对它最有信心的 1% 回答中,准确率达 63.1%。
  • 实验还展示了最有信心的 30 个答案示例,证明模型确实蕴含了一些事实性知识。

4. 讨论

4.1 零样本泛化能力

GPT-2 表明 不需要针对任务微调,直接通过提示词就能完成多任务

这预示着语言模型已经具备了“通用任务接口”的雏形,为后续“大力出奇迹”的 GPT-3 的奠定了基础。

4.2 安全与伦理问题

OpenAI 选择 不公开完整 GPT-2 模型(仅发布小规模版本),原因在于其生成文本过于逼真,担心被用于虚假新闻、垃圾信息等恶意场景。这也是第一次将“大模型安全性”带入公众讨论。

总结

当 OpenAI 发现 GPT-1 在一些数据集上的性能被 Google 的 BERT 打败后,没有通过 GPT-2 进行反击和刷点对比,而是另辟蹊径,从零样本的角度去思考全新的问题。

虽然 GPT-2 在模型层面没有什么新变化,但意义还是很大的,说明不需要微调,模型也能做的很好,通过这个思路,可以将很多数据直接加上特定的 prompt 就直接利用起来,而不需要单独为特定任务进行标注,这也是大语言模型后续能够“穷尽一切网络语料”的根本原因。

http://www.dtcms.com/a/418401.html

相关文章:

  • 5、焊接质量检验及缺陷分析
  • 【AI】大模型的分析力横评:一次“伪异步”排查后的真实思考
  • 养老院服务质量建设专项网站广州seo关键词优化外包
  • 第一章 假设三:走势包含无序运动状态(混沌现象)和有序运动状态(下跌或上涨)
  • ElementUI-Table 表格实现行拖拽
  • Logit论文阅读
  • 网站cms建设wordpress模仿app启动广告屏弹窗
  • 21. 一个像素对应多个纹素
  • 设备沉睡的“心跳”难题:BLE休眠后无法被手机唤醒的分析与优化
  • 【计算机基础】网络系列(二)TCP
  • 网站seo整站优化淘宝网站的建设
  • Python 自动化导出PDF表格:List、Dictionary、Pandas DataFrame和数据库实例演示
  • GPT-5-Codex Prompting Guide|提示词指南
  • PDF转图片工具:基于PyQt5的完整实现与深度解析
  • 万兴PDF专家安装教程(附安装包)万兴PDF免费版下载详细安装图文教程
  • Codeforces Round 1052 (Div. 2) C. Wrong Binary Searchong Binary Search
  • 网站开始怎么做的做网站用php还是html
  • 算法基础篇(7)双指针
  • 从零开始学华为:Console口连接设备
  • 华为bgp路由的各种控制和团体属性及orf使用案例
  • 网站中的表单怎么做吉林网页制作公司
  • 【开题答辩全过程】以 Python基于大数据的四川旅游景点数据分析与可视化为例,包含答辩的问题和答案
  • MySQL复合查询(重点)
  • Java面试揭秘:从Spring Boot到微服务的技术问答
  • 【项目】自然语言处理——情感分析 <上>
  • 生态碳汇涡度相关监测与通量数据分析实践技术应用
  • 【linux内核驱动day04】
  • 安全笔记(一)
  • 17-Language Modeling with Gated Convolutional Networks
  • ES启用Xpack,配置ssl证书