大语言模型的三种主要架构 Decoder-Only、Encoder-Only、Encoder-Decoder

现代大型语言模型(LLM)的演变进化树,如下图:

https://arxiv.org/pdf/2304.13712.pdf

  • 基于 Transformer 模型以非灰色显示:

    • decoder-only 模型在蓝色分支,

    • encoder-only 模型在粉色分支,

    • encoder-decoder 模型在绿色分支。

  • 模型在时间线上的垂直位置表示它们的发布日期。

  • 开源模型由实心方块表示,而闭源模型由空心方块表示。

  • 右下角的堆积条形图显示了各公司和机构的模型数量。

从时间轴上,我们可以看到:

2021年前,当 OpenAI 决定在 GPT 系列中采用 Decoder-Only 架构时,他们实际上是在逆流而上。在那个时代,Encoder-Decoder 架构,如在 BART 和 Transformer 模型中见到的,是技术巨头和学术界的宠儿,而 Decoder-Only 架构当时被视为一条不被主流认可的小径。

然而,正是这种冒险的选择催生了一个突破性的产品——ChatGPT。它不仅挑战了当时的技术共识,还引领了一个全新的对话生成和文本续写的潮流。ChatGPT 展现的生成连贯、流畅和相关文本的能力,彻底颠覆了业界对 Decoder-Only 架构的看法,将其从一个被边缘化的选择转变为人工智能研究的前沿。

大语言模型常见架构

大语言模型如GPT系列(包括GPT-4)通常采用不同的架构,主要有三种:Decoder-Only、Encoder-Only、以及Encoder-Decoder。每种架构都有其独特的特点和适用场景:

1. Decoder-Only 架构(GPT)

这就像一个讲故事的人。你给他一个开头,比如“有一次,一只小猫走失了”,然后他会继续这个故事,讲述下去,一直到故事结束。

Decoder-Only模型就是这样,它接收一些信息(开头),然后生成接下来的内容(故事)。

特点:擅长创造性的写作,比如写小说或自动生成文章。它更多关注于从已有的信息(开头)扩展出新的内容。

OpenAI 选择了Decder-Only方案(如GPT系列),因为它对于自然语言生成特别有效。这种架构能够更好地理解和预测语言模式,尤其适合处理开放式的、生成性的任务

2. Encoder-Only 架构(BERT)

这就像是一个专业的书评家。他阅读和理解一本书(输入的信息),然后告诉你这本书是关于什么的,比如它的主题是爱情、冒险还是悬疑。

Encoder-Only模型就是专注于理解和分析输入的信息,而不是创造新的内容。

特点:擅长理解和分类信息,比如判断一段文本的情感倾向(积极还是消极)或者主题分类。

这种架构主要用于处理输入数据,专注于理解编码信息,而不是生成新的文本

Encoder-Only模型在理解和分类任务中更为有效,例如文本分类、情感分析等。

3. Encoder-Decoder 架构(如BART、T5)

这就像是翻译家。他先听你说一段话(比如英文),理解它,然后把它翻译成另一种语言(比如中文)。

Encoder-Decoder模型就是这样,先理解输入的信息(Encoder部分),然后基于这个理解生成新的、相关的内容(Decoder部分)。

特点:擅长处理需要理解输入然后生成相关输出的任务,比如翻译问答系统

这种模型在需要深入理解输入内容并生成相关响应的任务中表现良好,例如机器翻译、问答系统等。

从上面的介绍,我们可以看到,三种架构都有其适用场景,那为啥OpenAI选择的Decoder-Only大获成功呢?因为:

理解自然语言是通往通用人工智能(AGI)的关键路径

语言是人类智能的一个核心表现。通过有效地处理和生成自然语言,人工智能系统可以更好地理解人类的意图、情感和知识,这是通向AGI的重要一步。

想象一下,语言就像是一座桥。这座桥连接着人类的思维世界与外部世界。当人们交流时,他们实际上是在这座桥上相遇,通过语言的桥梁来分享思想、情感和知识。

现在,设想人工智能(AI)像是一位初到陌生城市的旅者。最开始,这位旅者可能只懂得一些基本的词汇和短语,类似于旅游手册里的内容。随着时间的推移,如果他开始学习当地的语言,了解当地的文化和习俗,他就能更深入地理解这座城市,甚至能够与当地人进行深层次的交流。在这个过程中,这位旅者不仅学会了如何使用语言,还学会了理解当地人的想法、情感和行为方式。

把这个比喻应用到AI上,刚开始,AI就像是只懂得基础语言的旅者。但随着它学习和理解更多的自然语言,它就能更好地理解人类的意图、情感和复杂思想。这种深入的理解能力是通往通用人工智能(AGI)的桥梁,因为它不仅帮助AI理解语言本身,还帮助它理解使用这种语言的人类社会和文化。图:语言就像是一座桥.就像一个逐渐融入新城市的旅者,AI通过学习语言,能够逐渐理解参与人类的世界。

从语言突破,较少的计算量

OpenAI首席科学家Ilya Sutskever有句话:

“语言是人类知识的压缩”

对比视觉和声音,语言的压缩比要高很多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295664.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Linux下探索MinIO存储服务如何远程上传文件

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 创建Buckets和Access Keys二. Linux 安装Cpolar三. 创建连接MinIO服务公网地…

JavaWeb—html, css, javascript, dom,xml, tomcatservlet

文章目录 快捷键HTML**常用特殊字符替代:****标题****超链接标签****无序列表、有序列表****无序列表**:ul/li 基本语法**有序列表ol/li:****图像标签(img)**** 表格(table)标签****表格标签-跨行跨列表格****form(表单)标签介绍****表单form提交注意事项**div 标签p 标签sp…

el-select如何去掉placeholder属性

功能要求是&#xff1a;当el-select的disabled属性为true的时候不展示“请选择”字样 1、要去掉 el-select 元素的 placeholder 属性&#xff0c;可以在代码中将其设置为空字符串。 <el-select placeholder"" ...></el-select> 注意&#xff1a;这种方…

HBase基础知识(三):HBase架构进阶、读写流程、MemStoreFlush、StoreFile Compaction、Region Split

1. 架构原理 1&#xff09;StoreFile 保存实际数据的物理文件&#xff0c;StoreFile以HFile的形式存储在HDFS上。每个Store会有一个或多个StoreFile&#xff08;HFile&#xff09;&#xff0c;数据在每个StoreFile中都是有序的。 2&#xff09;MemStore 写缓存&#xff0c;由于…

LED灯驱动模块加载与卸载代码框架

一. 简介 本文来编写 LED灯驱动模块加载与卸载的代码。 二. LED灯驱动模块加载与卸载代码框架 1. 创建工程 我的驱动代码存放目录&#xff1a; ubuntu系统 /home/wangtian/zhengdian_Linux/Linux_Drivers 目录下。 进入 /home/wangtian/zhengdian_Linux/Linux_Drivers 目…

【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护

文章目录 一、实验介绍二、实验环境准备三、验证实验环境四、Web ACLs 配置 & AWS 托管规则4.1 Web ACLs 介绍4.2 Managed Rules 托管规则4.3 防护常见威胁类型&#xff08;sql注入&#xff0c;XSS&#xff09;4.4 实验步骤4.4.1 创建Web ACL4.4.2 测试用例4.4.3 测试结果4…

uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)

效果预览 相关代码 页面–我的 src\pages\my\my.vue <!-- 个人资料 --><view class"profile" :style"{ paddingTop: safeAreaInsets!.top px }"><!-- 情况1&#xff1a;已登录 --><view class"overview" v-if"membe…

Linux bridge开启hairpin模拟测试macvlan vepa模式

看到网上介绍可以通过Linux bridge 开启hairpin方式测试macvlan vepa模式&#xff0c;但是没有找到详细资料。我尝试测试总提示错误信息&#xff0c;无法实现&#xff0c;经过几天的研究&#xff0c;我总算实现模拟测试&#xff0c;记录如下&#xff1a; 参考 1.Linux Macvla…

MySQL报错:1054 - Unknown column ‘xx‘ in ‘field list的解决方法

我在操作MySQL遇到1054报错&#xff0c;报错内容&#xff1a;1054 - Unknown column Cindy in field list&#xff0c;下面演示解决方法&#xff0c;非常简单。 根据箭头指示&#xff0c;Cindy对应的应该是VARCHAR文本数字类型&#xff0c;字符串要用引号&#xff0c;所以解决方…

如用postman进行web端自动化测试(超详细解析)

前言 概括说一下&#xff0c;web接口自动化测试就是模拟人的操作来进行功能自动化&#xff0c;主要用来跑通业务流程。 主要有两种请求方式&#xff1a;post和get&#xff0c;get请求一般用来查看网页信息&#xff1b;post请求一般用来更改请求参数&#xff0c;查看结果是否正…

SpringBoot3-核心原理

生命周期监听 场景&#xff1a;监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件&#xff1b; 1.1. 编写SpringApplicationRunListener 实现类 1.2. 在 META-INF/spring.factories 中配置 org.springframework.boo…

安装vcpkg管理opencv的安装+MFC缺失的解决

第一步&#xff0c;出现#include没有办法找到opencv头文件的问题&#xff0c;无法解决 在VC的提示下&#xff0c;安装了vcpkg&#xff0c;然后用vcpkg命令来帮助安装opencv&#xff0c;过程十分顺利。 1. cmd 到命令行窗口&#xff1b; 2. 建立src文件夹&#xff0c;并进入…