跳到正文

Prompt vs Seq2Seq,怎么转?

Prompt-based Generation vs Seq2Seq,性能与泛化差异

原题:在将传统判别式任务(如文本分类、命名实体识别)转化为生成式建模范式时,常见的转换方法有哪些(如Prompt-based Generation、Sequence-to-Sequence Formulation)?这些方法在性能、泛化能力和标注效率方面的表现有何差异?是否有实证研究支持?

模型训练 · 字节真题

回答与解析

核心判断

把分类或信息抽取改成生成式,不只有一种路线。PET把输入改写为带掩码的完形模板,再用verbalizer把标签映射到词,它本质上是基于掩码语言模型的少样本半监督方法,不是普通自回归生成。另一类才是T5或BART式seq2seq,把标签、实体或结构序列化后解码。GPT-3展示了无需梯度更新的上下文少样本能力,但论文也明确有表现不佳的数据集,不能说它普遍接近微调。

机制与边界

提示分类可让模型预测标签词,关键在模板、verbalizer和标签词概率的校准。PET还会用多个pattern训练模型,对无标注数据产生软标签,再训练最终分类器。seq2seq则把任务统一为文本到文本,可生成类别名、BIO序列、三元组或JSON样式结构,优势是接口统一和跨任务共享,代价是自回归延迟、格式错误与约束解码。UIE论文进一步设计结构化抽取语言和schema提示器,把实体、关系、事件与情感抽取统一成文本到结构生成。

方法优劣依赖模型规模、标注量、标签语义、输出空间和评测。标签很少且名称有语义时,prompt可能充分利用预训练知识;标签任意、类别极多或边界严格时,判别头可能更稳。生成式抽取可复用一个模型处理多schema,却会出现漏字段、重复与非法结构。GPT-3的“有时达到竞争力”是数据集级结果,不是所有任务的保证。UIE应引用Lu等人的ACL 2022工作,公开材料显示其为中科院软件所与百度合作,不应随意归给单一团队,更不能改写成另一机构。

还要区分“少样本上下文学习”和“少样本微调”。前者把示例放进prompt,不更新参数,推理成本随示例长度增加;后者会更新模型或适配器,需要训练但可把行为固化。标注效率也不能只看样本数,还要算模板设计、schema定义、输出清洗和错误复核。信息抽取中,完全匹配F1、边界F1与结构有效率可能给出不同结论,所谓SOTA必须限定任务、数据集和设置。

工程验证

选代表性的分类、NER和关系抽取数据,按零样本、每类少量样本和充足数据分桶。比较判别微调、PET式masked LM、seq2seq与纯in-context方案,固定基座或把模型规模和成本单独报告。指标包含宏微F1、结构有效率、延迟、token成本和跨域鲁棒性;再做模板、verbalizer和解码约束消融。若少样本结果波动大,要跨seed和模板报告均值,不可用单一数据集证明生成范式普遍更优。

口语版讲法(约4分钟(先30秒,再90秒,可继续展开))

  • 30秒:拆开PET、seq2seq和in-context
  • 90秒:模板、verbalizer与结构生成
  • 边界:少样本结果不可普遍外推
  • 工程:格式、成本和机构归属
  • 验证:分数据量、多seed和多指标对比

如果只给我三十秒,我会这样回答:把分类或信息抽取改成生成式,不只有一种路线。PET把输入改写为带掩码的完形模板,再用verbalizer把标签映射到词,它本质上是基于掩码语言模型的少样本半监督方法,不是普通自回归生成。另一类才是T5或BART式seq2seq,把标签、实体或结构序列化后解码。GPT-3展示了无需梯度更新的上下文少样本能力,但论文也明确有表现不佳的数据集,不能说它普遍接近微调。

如果有九十秒,我会把机制讲清楚。提示分类可让模型预测标签词,关键在模板、verbalizer和标签词概率的校准。PET还会用多个pattern训练模型,对无标注数据产生软标签,再训练最终分类器。seq2seq则把任务统一为文本到文本,可生成类别名、BIO序列、三元组或JSON样式结构,优势是接口统一和跨任务共享,代价是自回归延迟、格式错误与约束解码。UIE论文进一步设计结构化抽取语言和schema提示器,把实体、关系、事件与情感抽取统一成文本到结构生成。

继续展开时,我会补上容易混淆的边界。方法优劣依赖模型规模、标注量、标签语义、输出空间和评测。标签很少且名称有语义时,prompt可能充分利用预训练知识;标签任意、类别极多或边界严格时,判别头可能更稳。生成式抽取可复用一个模型处理多schema,却会出现漏字段、重复与非法结构。GPT-3的“有时达到竞争力”是数据集级结果,不是所有任务的保证。UIE应引用Lu等人的ACL 2022工作,公开材料显示其为中科院软件所与百度合作,不应随意归给单一团队,更不能改写成另一机构。

再看一个常被忽略的工程点。还要区分“少样本上下文学习”和“少样本微调”。前者把示例放进prompt,不更新参数,推理成本随示例长度增加;后者会更新模型或适配器,需要训练但可把行为固化。标注效率也不能只看样本数,还要算模板设计、schema定义、输出清洗和错误复核。信息抽取中,完全匹配F1、边界F1与结构有效率可能给出不同结论,所谓SOTA必须限定任务、数据集和设置。

落地时我会这样验证。选代表性的分类、NER和关系抽取数据,按零样本、每类少量样本和充足数据分桶。比较判别微调、PET式masked LM、seq2seq与纯in-context方案,固定基座或把模型规模和成本单独报告。指标包含宏微F1、结构有效率、延迟、token成本和跨域鲁棒性;再做模板、verbalizer和解码约束消融。若少样本结果波动大,要跨seed和模板报告均值,不可用单一数据集证明生成范式普遍更优。

关键一句:PET为什么不能简单归入普通的自回归生成?

核验来源

  1. Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
  2. Language Models are Few-Shot Learners
  3. Unified Structure Generation for Universal Information Extraction
  4. Baidu Developer: UIE jointly proposed by ISCAS and Baidu

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设现在要把一个分类或抽取任务改造成生成式接口,你会怎样在标签生成、结构化输出、seq2seq 与保留判别头之间做选型?

  2. 问法 2 · 层层追问

    标签空间很小还需要自由生成吗?……prompt 与指令微调分别改变什么?……小样本和大样本下怎样公平比较?……格式正确如何与语义正确分开测?

  3. 问法 3 · 直球技术

    请说明判别式任务转生成式任务的主要方法,并从数据需求、输出空间、准确率、校准、延迟和约束解码比较其适用场景。

同模块相关题目