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

因果语言模型、自回归语言模型、仅解码器语言模型都是同一类模型

因果语言模型、自回归语言模型、仅解码器语言模型都是同一类模型

flyfish

因果语言模型(causal Language Models)
自回归语言模型(autoregressive language models)
仅解码器语言模型(decoder-only language models)

这三个词虽然说的是同一类模型,但为啥会有三个名字?其实是因为研究者从不同角度给它起的——有的从数学逻辑,有的从生成方式,有的从模型结构。

因果语言模型

早年间(2010年以前),研究语言模型的人就发现:生成句子时,后面的词只能由前面的词决定(比如“我吃饭”里,“饭”只能跟着“吃”后面)。这就像“因果关系”——前面是“因”,后面是“果”,没法反过来。但那时候没明确叫“因果”,只是默默按这个逻辑做模型。

2017年,有篇很重要的论文(《Attention Is All You Need》)提出了“Transformer”这个模型框架。里面有个关键技术:给模型加了个“挡板”(专业叫“因果掩码”),让模型算词的时候,只能看到前面的词,看不到后面的。比如算“饭”的时候,只能看到“我”和“吃”,后面的词哪怕已经写好了,也故意挡着不让看。这一下就把“前面决定后面”这个模糊的逻辑,变成了模型里实实在在的规则。

后来GPT系列火了,大家需要一个词来形容这种“只能看前面”的模型。2019年,OpenAI在论文里第一次明确用了“因果语言模型”这个说法,意思就是“模型学的是‘根据前面的词猜下一个词’”。这名字就慢慢传开了。

主要是研究理论的时候用。比如讨论“模型是怎么算概率的”:有的模型能看前后所有词(比如BERT),算的是“某个词在整句话里的概率”;而因果模型只能看前面,算的是“某个词在前面词之后的概率”。又比如解释“为啥模型训练时能一批处理好多词,生成时却得一个一个来”——因为“因果”规则要求必须按顺序,前面的没确定,后面的就没法算。

自回归语言模型

为啥叫“自回归”?因为“自己生成的词,自己接着往下说”
这个词的老家在统计学,几十年前就有了。比如预测明天的气温,不用看湿度、风力,就用过去7天的气温来猜——这就叫“自回归”:“自”是“自己的过去”,“回归”是“用过去猜未来”。
“自” 与 “回归” 的数学溯源

  1. “自”(Auto-):自我引用,用自身历史预测未来
    希腊语前缀 “auto-”,意为 “自我”(self)。在自回归模型中,“自” 特指用变量自身的历史值作为预测依据。
    预测明天的气温,不依赖外部因素(如湿度、气压),仅根据过去 7 天的气温值。

  2. “回归”(Regression):向均值靠拢的统计关系
    19 世纪英国统计学家高尔顿(Francis Galton)提出 “回归均值”(regression toward the mean),指身高异常的父母,子女身高更可能接近平均水平。
    在现代统计学中,“回归” 泛指通过已知变量预测目标变量的函数关系(如线性回归 y=wx+b)。

后来这个思路被用到了语言模型上。2010年左右,RNN这类模型火了,它们生成句子的逻辑就是“接龙”:先用“我”猜“吃”,再用“我吃”猜“饭”,再用“我吃饭”猜“了”……每一步都用自己刚生成的词当素材,接着往下说。这种“自己生成的内容再当输入”的方式,就被叫做“自回归生成”。

早期的生成模型(比如翻译模型)基本都这么干。直到后来出现了“非自回归模型”(比如一次性生成一整句话),大家才更明确地用“自回归”来称呼这种“接龙式”的生成方式。不过要注意:早期的自回归模型可能偶尔会“偷看”后面的词(没加那个“挡板”),直到Transformer加了“因果掩码”,才让“自回归”和“只能看前面”严格绑在了一起。

主要是说生成算法的时候用。比如讨论“怎么让模型生成的句子更靠谱”:可以一次保留几个候选(beam search),或者随机选一个(采样)——这些方法都只适合自回归模型,因为它们都是“一个一个词生成”的。又比如比较模型训练效率:自回归模型得算每个词的“猜对概率”,而非自回归模型算的是“整句话对不对”,这时候就会用“自回归”来区分。

仅解码器语言模型

Transformer框架,它原本有两个核心零件:

  • 编码器:能同时看一句话的前后所有词(比如读“我喜欢苹果”,“苹果”能看到“我”和“喜欢”),适合理解句子意思;
  • 解码器:只能看前面的词(比如读“我喜欢苹果”,“苹果”只能看到“我”和“喜欢”),原本是配合编码器用的(比如翻译时,编码器先理解原文,解码器再生成译文)。

2018年,OpenAI做了个大胆尝试:他们搞了个叫GPT-1的模型,直接把编码器扔了,只留了解码器。结果发现,就靠这一半零件,不仅能生成句子,还能理解意思,而且参数更少、更高效。

后来模型越来越多:有只用编码器的(比如BERT),有编码器解码器都用的(比如T5),还有像GPT-1这样只留解码器的。为了区分这三种,大家就给GPT这类模型起了个名:“仅解码器语言模型”。

选模型、聊工程实现的时候用。比如:
分类模型时会说:“BERT是编码器模型,T5是编码器-解码器模型,GPT是仅解码器模型”;
分析性能时会说:“仅解码器模型参数更集中(全堆在解码器上),处理长文本更厉害(不会被后面的词干扰),训练时随便给一堆文章就行(不用成对的原文和译文)”;
部署模型时会说:“聊天机器人用仅解码器模型更快,因为不用先让编码器处理输入,直接就能从一句话开始生成”。

这三个词并存是因为研究者关心的点不一样:
“因果语言模型”是从数学逻辑角度说的:强调“前面决定后面”的规则;
“自回归语言模型”是从生成方式角度说的:强调“接龙式生成”的过程;
“仅解码器语言模型”是从模型结构角度说的:强调“只留了解码器”的零件。

关键时间线捋一捋

  • 2010年左右:RNN语言模型火了,已经在用“自回归”的方式生成,但“因果”只是默默遵守的规则,还没有“仅解码器”这个说法;
  • 2017年:Transformer论文提出“因果掩码”,解码器第一次有了严格“只看前面”的能力,但解码器还得配合编码器用;
  • 2018年:GPT-1第一次只用了解码器,“仅解码器模型”诞生,OpenAI开始在论文里提“因果语言模型”的训练目标;
  • 2019年:BERT(编码器模型)和GPT(仅解码器模型)对比火了,“仅解码器”这个词开始传开,也就更清楚“自回归”和“非自回归”的区别;
  • 2023年:GPT-4这类仅解码器模型成了主流,能处理超长文本,证明了这种结构的优势,三个词也成了常用词。
http://www.lryc.cn/news/579793.html

相关文章:

  • 同步(Synchronization)和互斥(Mutual Exclusion)关系
  • 【机器人】复现 DOV-SG 机器人导航 | 动态开放词汇 | 3D 场景图
  • (超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
  • 敏捷开发在国际化团队管理中的落地
  • 二维码驱动的独立站视频集成方案
  • 碰一碰发视频源码搭建与定制化开发:支持OEM
  • 译码器Multisim电路仿真汇总——硬件工程师笔记
  • TensorFlow 安装使用教程
  • MySQL数据库----DML语句
  • 【2.4 漫画SpringBoot实战】
  • 【模糊集合】示例
  • vue-37(模拟依赖项进行隔离测试)
  • Unity Android与iOS自动重启
  • uniapp打包微信小程序主包过大问题_uniapp 微信小程序时主包太大和vendor.js过大
  • 《导引系统原理》-西北工业大学-周军-“2️⃣导引头的角度稳定系统”
  • 暑期前端训练day3
  • RNN案例人名分类器(完整步骤)
  • Linux常见指令以及权限理解
  • 网安系列【1】:黑客思维、技术与案例解析
  • 实现如何利用 Kafka 延时删除 用户邮箱的验证码(如何发送邮箱+源码) - 第一期
  • Web攻防-文件上传黑白名单MIMEJS前端执行权限编码解析OSS存储分域名应用场景
  • 二叉树题解——二叉树的层序遍历【LeetCode】队列实现
  • 热血三国建筑攻略表格
  • SciPy 安装使用教程
  • 【agent实战】用Agentic方案构建智能附件处理聊天服务
  • Element UI 完整使用实战示例
  • 智能设备远程管理:基于OpenAI风格API的自动化实践
  • 每日算法刷题Day41 6.28:leetcode前缀和2道题,用时1h20min(要加快)
  • Java中Stream流的使用
  • 低代码实战训练营教学大纲 (10天)