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

Causal LM 和 Prefix LM 的区别

Causal LM 和 Prefix LM 的区别

刚开始,本人没分清 Causal LM 和 Prefix LM 的区别,不都是那样子续写么
其实真不是!虽然俩都能做续写,但核心差在「怎么理解要续写的上下文」,用大白话给你唠明白:

一、核心区别:上下文是“单向看”还是“回头看”

1. Causal LM(比如GPT、LLaMA):纯“直男式”单向看

就像你看书只能从第一页翻到最后一页,翻到第3页时,绝对回不去看第5页,甚至连第4页都看不着。

  • 比如要续写“今天天气真好,我们去____”:
    • 看到“今天”时,看不到后面的“天气真好,我们去”
    • 看到“天气”时,只能看到“今天”,看不到“真好,我们去”
    • 整个上下文都是“从左到右硬读”,没法回头核对语义,全靠记前面的内容。
  • 掩码矩阵(以“今天/天气/真好/我们/去”5个词为例):
    [1,0,0,0,0] # 今天:只能看自己 [1,1,0,0,0] # 天气:只能看“今天+自己” [1,1,1,0,0] # 真好:只能看“今天+天气+自己” [1,1,1,1,0] # 我们:只能看前4个里的前3个+自己 [1,1,1,1,1] # 去:能看前面所有+自己

2. Prefix LM(比如T5、UniLM):上下文“能回头看”,续写“单向写”

相当于你先把“今天天气真好,我们去”这段上下文完整读一遍(前后都能看),理解透了再开始续写,续写时才不能看后面的内容。

  • 还是续写“今天天气真好,我们去____”:
    • 看到“今天”时,能看到后面的“天气真好,我们去”
    • 看到“天气”时,能看到“今天”也能看到“真好,我们去”
    • 上下文部分是“双向理解”(像做阅读理解),续写部分才是“单向写”(像写作文)。
  • 掩码矩阵(同样5个词,前缀就是前5个上下文):
    [1,1,1,1,1] # 今天:能看所有上下文 [1,1,1,1,1] # 天气:能看所有上下文 [1,1,1,1,1] # 真好:能看所有上下文 [1,1,1,1,1] # 我们:能看所有上下文 [1,1,1,1,1] # 去:能看所有上下文 # 要是加续写的词(比如“公园”),就变成: [1,1,1,1,1,0] # 今天:看不到“公园” [1,1,1,1,1,0] # 天气:看不到“公园” [1,1,1,1,1,0] # 真好:看不到“公园” [1,1,1,1,1,0] # 我们:看不到“公园” [1,1,1,1,1,0] # 去:看不到“公园” [1,1,1,1,1,1] # 公园:能看所有上下文+自己

完整掩码:

[1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,0] --- [1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,0] [1,1,1,1,1,1]

二、举个更接地气的例子

场景Causal LM 操作Prefix LM 操作
续写“小明吃了____,然后去玩了”看到“小明”时,不知道后面是“吃了____,然后去玩了”;看到“吃了”时,只知道前面有“小明”,不知道后面要“去玩”先把“小明吃了____,然后去玩了”全看一遍,知道“吃了”之后要接东西,接完还要“去玩”,再开始填空
翻译“我吃饭了”成英文从“我”开始,逐字翻译,翻到“饭”时,忘了“我”是主语,容易翻错先把“我吃饭了”整句话理解透(谁做了啥),再逐词生成英文“I ate rice”

三、总结:俩到底咋选?

  1. 想“开放式瞎聊、写随笔”:用 Causal LM,纯单向生成,自由度高;
  2. 想“有固定上下文的续写/翻译/摘要”:用 Prefix LM,先吃透上下文再生成,更精准;
  3. 核心差:Causal LM 全程“一条道走到黑”,Prefix LM 先“回头看明白”再往前走。
http://www.jsqmd.com/news/425369/

相关文章:

  • 芒格的“反向激励“分析在科技创业生态系统中的应用
  • 四轮轮毂电机驱动车辆,驱动电机故障状态估计(UKF) 软件使用:Matlab/Simulink...
  • 基于springboot+vue的网络选课管理系统
  • 基于傅里叶特征(Fourier Feature)的物理信息神经网络(PINN)求解一维Burgers方程MATLAB代码
  • 微信小程序 springboot_uniapp的科学养宠物日记系统的设计与实现_f6nw4q82
  • 基于springboot+vue的粉丝公益应援服务平台
  • .NET 记录Amazon上传S异常问题
  • springboot基于微信小程序的福建畲族文化交流与交易平台
  • 网络工程专业毕业设计选题全方向汇总,零基础/进阶/创新型全覆盖
  • 解析大数据领域 HDFS 的块合并机制
  • 基于springboot西岭雪山智慧景区管理系统
  • 微信小程序 springboot_uniapp的教师排课系统_rv98tluz
  • KIHU快狐|多串口卧式触摸查询机设备联动方案
  • .Android Compose 基础系列:在 Kotlin 中创建和使用函数
  • 微信小程序 springboot_uniapp的机房设备故障报修平台_u3em23f1
  • 基于springboot薪酬管理系统
  • 微信小程序 springboot_uniapp的环保生活垃圾分类小助手APP设计与实现_jee8ea9n
  • StuLittleLi
  • KIHU快狐|65寸云平台卧式触摸查询机管理案例
  • openclaw 用例翻译笔记:Multi-Agent Content Factory
  • 基于springboot+vue的美食交流社区系统
  • 穷查理宝纳瓦尔宝典
  • 大坑
  • Git 约定式提交(Conventional Commits)规范说明文档
  • 回溯算法核心笔记
  • 零基础也能玩转金融数据!Tushare入门指南:我的量化投资“第一把钥匙”
  • 基于强化学习和大模型的船舶避碰系统
  • 企业如何被DeepSeek自然推荐?有专业服务商吗? - 品牌2025
  • 基于springboot+vue的科创积分管理系统
  • springboot基于微信小程序的社团管理平台