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

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

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

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.xdnf.cn/news/14868.html

相关文章:

  • VS CodeC51 单片机开发环境搭建
  • Django+DRF 实战:从异常捕获到自定义错误信息
  • 从入门到精通:数据库全攻略
  • Jenkins-Publish HTML reports插件
  • 技术与情感交织的一生 (九)
  • Python 的内置函数 reversed
  • WPS中配置MathType教程
  • 数学中微分与导数的理解和区别
  • Linux基本命令篇 —— uname命令
  • 本地部署Dify并结合ollama大语言模型工具搭建自己的AI知识库
  • 垂起固定翼无人机介绍
  • 二叉树题解——将有序数组转换为二叉搜索树【LeetCode】传统解法
  • Compose 高级用法详解——AI教你学Docker
  • 焊接机器人结构设计cad【16张】三维图+设计说明书+绛重
  • SQL 快速参考手册-SQL001
  • 思辨场域丨数字信号技术重塑农林牧渔:从“靠天吃饭”到“靠数吃饭”
  • 【V13.0 - 战略篇】从“完播率”到“价值网络”:训练能预测商业潜力的AI矩阵
  • Rust Web 全栈开发(二):构建 HTTP Server
  • 《导引系统原理》-西北工业大学-周军-“2️⃣导引头的角度稳定系统”
  • 计算机科学导论(10)什么是BIOS
  • 伞兵 钓鱼的肝
  • 好用的自带AI功能的国产IDE
  • Linux 自旋锁的实现
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • Java 核心技术与框架实战十八问
  • 从0开始学习R语言--Day37--CMH检验
  • 如何将信息从 iPhone 同步到Mac(完整步骤和示意图)
  • Mac电脑 触摸板增强工具 BetterTouchTool
  • NumPy 安装使用教程
  • Qt的前端和后端过于耦合(0/7)