跳到正文

判别式转生成式有哪些方法?

分类/匹配等任务转化方法、适用场景与优势

原题:在大模型研究中,将传统的判别式任务(如分类、匹配等)转化为生成式任务是一种常见的设计思路。请列举并解释学术界常用的几种转化方法,并说明其适用场景和优势。

模型架构 · 字节真题

回答与解析

常见转化方法必须分清训练方式

  1. MLM cloze prompting:对BERT类masked LM设计含[MASK]的模板,并以verbalizer词表示类别;GPT类自回归模型没有同样的[MASK]预测接口。
  2. 直接文本生成:把类别、匹配结果或结构化字段写成目标字符串,标签可以是ID、代码或自然语言,只要tokenizer和约束允许。
  3. In-context learning:在推理上下文中放任务说明和示例,不做梯度更新。
  4. Soft prompt/prefix tuning:训练连续提示向量,模型主体可冻结,但提示参数需要梯度更新。
  5. Instruction tuning/text-to-text:用带监督的指令—输出数据更新模型参数或适配器;T5等把任务统一为文本到文本。
  6. CoT:让目标中包含中间推理步骤,适合可验证的多步推理,不是普通分类的默认必选项。

所谓prompt learning不是一律无需训练。选型要比较标注量、参数更新权限、输出合法率、概率校准、延迟和任务迁移,而不是用“都写成生成”抹平方法差异。

口语版讲法(约4分钟)

  • 先按模型接口区分cloze和自回归
  • 说明直接生成标签
  • 区分ICL与soft prompt
  • 解释instruction tuning和text-to-text
  • 限定CoT使用场景

把判别任务改造成生成任务,首先要看底层模型接口。一种常见路线是masked language model的cloze prompting,例如给BERT类模型设计一个含MASK的位置,再用verbalizer把正面、负面等类别映射到候选词。这个方法依赖MLM的掩码预测头,不能拿MASK来解释GPT-3式in-context learning,因为自回归GPT的接口是根据左侧前缀预测后续token。

另一类是直接文本生成。可以要求模型输出类别名称、数字ID、代码字符串或JSON字段。生成模型并非不能输出ID标签,只要该标签能被tokenizer表示,并且训练目标与解码约束定义清楚。需要注意的是,多token标签会引入长度和tokenization差异,线上还要验证格式合法率。

还有一类是in-context learning。它把任务说明和若干输入输出示例放进上下文,在推理阶段改变条件分布,但不通过优化器更新模型权重。后续还要看soft prompt或prefix tuning,它虽然可能冻结主体模型,却要用梯度学习一组连续提示向量。因此“prompt learning都不训练参数”是错误的,必须说明更新的是主体、适配器还是提示参数。

另一个方向是instruction tuning和text-to-text。T5把分类、匹配、抽取等任务统一为文本输入到文本输出;指令微调则用带监督的指令和目标答案更新模型或适配器,让模型学习遵循任务描述。这和只在推理时放几个示例的ICL不同,训练成本、持久性和分布外泛化都不同。

第六类是思维链。它把中间推理过程也作为目标或提示,适合数学、符号推理和需要组合步骤的任务。普通情感分类或简单匹配未必需要长推理,强行加入CoT可能增加延迟、暴露无关步骤,甚至降低稳定性。

实际选型时,我先建立直接生成或verbalizer基线;不能更新参数时评估ICL;允许轻量训练时比较soft prompt与adapter;需要长期任务适应时做指令微调;只有中间步骤可验证且确有收益时才加入CoT。统一报告质量、格式合法率、校准、token成本和延迟,而不是把这些方法都叫prompt后混在一起。

类别输出还要设计评测解析器。若标签是多token字符串,应检查长度偏差、同义词和大小写;若使用JSON约束,要把无效输出和拒答单独统计。统一生成接口的价值来自可组合性,但不能牺牲可复算的分类口径。

若需要比较类别分数,可以对每个候选标签计算条件对数概率,而不是只解析一次自由生成;但标签长度、词频和模板会影响分数,因此仍需统一verbalizer和校准。

关键一句:为什么soft prompt属于prompt方法却仍然需要梯度训练。

核验来源

  1. Language Models are Few-Shot Learners
  2. The Power of Scale for Parameter-Efficient Prompt Tuning
  3. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
  4. Finetuned Language Models Are Zero-Shot Learners

面试官还可能这样问

  1. 问法 1 · 场景切入

    我们有个电商客服场景,原来用BERT做意图分类,现在想换成生成模型统一处理。比如用户问“退款到哪了”这种,怎么把分类任务转成让模型直接生成“退款状态查询”这个标签?你觉得有哪些转化方法?

  2. 问法 2 · 层层追问

    判别式任务转生成式,你了解哪些主流做法?……比如分类任务,怎么让模型输出“积极”而不是计算概率?……那如果数据很少呢,有没有不用微调就能适配的方法?

  3. 问法 3 · 直球架构

    请列举将判别式任务(如分类、匹配)转化为生成式任务的常用方法,并解释每种方法的核心思想、适用场景及优势。

同模块相关题目