大型语言模型(LLMs)演化树 Large Language Models
大型语言模型(LLMs)演化树 Large Language Models
flyfish
下面的图来自论文地址
Transformer 模型(如 BERT 和 GPT-3)已经给自然语言处理(NLP)领域带来了革命性的变化。这得益于它们具备并行化能力(能够同时对输入数据的多个部分进行计算)、处理长距离依赖关系的能力(可以考虑并理解序列中相隔较远元素之间的关系),以及它们的可扩展性,使得大型语言模型(LLMs)能够有效地在大量数据和信息上进行训练并对其加以处理。
Transformer 是一种神经网络架构,由 Vaswani 等人在 2017 年一篇题为《Attention is All You Need》的论文中提出。Transformer 架构的一个关键特性是它使用了自注意力机制,该机制使大型语言模型能够聚焦于输入数据的相关部分,同时忽略不必要的信息,从而提升上下文相关的准确回复以及文本生成的质量。尽管大型语言模型领域发展迅速,新的架构不断涌现(如接纳加权键值架构),但了解编码器、解码器以及编解码器模型的架构设计和分类情况仍是很有必要的。大型语言模型的架构及其预训练目标可能存在显著差异,而它们的配置能够决定一个模型在哪些方面表现出色(例如,在文本生成任务、语言理解任务以及理解上下文方面)以及在哪些方面存在局限。
以下是一张更新后的大型语言模型(LLMs)演化树,它分为三个家族分支(仅编码器模型、编解码器模型以及仅解码器模型)。这张演化树勾勒出了语言模型的发展脉络以及庞大的大型语言模型版图,并且依据模型和数据的许可信息突出强调了大型语言模型的使用限制。该演化树基于《在实践中驾驭大型语言模型的力量:关于 ChatGPT 及其他的综述》
Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond
基于 Transformer 的模型以非灰色进行显示:仅解码器模型位于蓝色分支,仅编码器模型位于粉色分支,编解码器模型位于绿色分支。模型在时间线上的纵向位置代表了它们的发布日期。开源模型以实心方块表示,闭源模型则以空心方块表示。右下角的堆叠柱状图展示了来自不同公司和机构的模型数量。
理解这三种类型的模型(编码器模型、解码器模型以及编解码器模型)之间的差异,对于为任务选择合适的模型、针对特定应用对模型进行微调、管理计算资源以及指导人工智能研发工作而言都至关重要。值得一提的是,尽管这些分类有助于理解不同类型的模型,但许多先进的大型语言模型往往会对组件进行修改,所以这并非严格意义上的分类,而更像是一种便于理解基础知识的概念性分类方式。
仅编码器模型 Encoder - Only Models
一种经过优化的架构,旨在理解输入文本中字词的语境,但本身并不生成新文本。
仅编码器模型以词元(单词、子词、字符或字节)作为输入,通过编码器对其进行处理,为每个词元生成一个数值表示(也称为特征向量或张量),以此来捕捉含义及双向的语境信息。这种表示可用于下游任务,无需进一步生成文本。
适用于多种任务,包括序列分类、实体识别以及抽取等。在需要深入理解语境的任务(如情感分析)方面表现尤为出色。在训练期间能够实现高效的并行处理。
自身缺乏生成连贯文本的能力。这一局限可能使得它们不太适用于涉及文本生成的任务。
示例
BERT、ELECTRA、RoBERTa
编解码器模型 Encoder - Decoder Models
一种既能理解输入文本中字词的语境,又能生成新文本的架构。
编解码器模型由两部分组成:编码器将词元作为输入,将其转换为数值表示,然后解码器利用这些表示来生成输出序列。这类模型尤其适用于序列到序列的任务。
对于那些既需要编码又需要解码的任务(如机器翻译和文本摘要),通常是性能最佳的模型。不过,这些模型在训练和微调时可能会消耗大量计算资源,且耗时较长。
由于采用两部分的设计,与仅编码器模型或仅解码器模型相比,编解码器模型的训练速度可能较慢,且会占用更多计算资源。
示例
FLAN UL2、FLAN T5
仅解码器模型 Decoder -Only Models
一种经过优化、可基于输入生成新文本的架构。
仅解码器模型同样以词元作为输入,并将其转换为数值表示。然而,与编码器不同的是,解码器使用掩码自注意力机制,专注于生成连贯的文本序列。它们通常是自回归模型(基于模型自身先前的输出进行预测)。
解码器在文本生成任务(如故事创作和对话生成)方面表现出色。一些最受欢迎且被广泛使用的语言模型(例如,GPT - 4)就是仅解码器模型。
仅解码器模型的训练速度较慢,因为每个词元的预测都依赖于先前的词元,这使得训练期间无法进行并行处理。此外,在不需要生成新文本而需深入理解输入序列语境的任务方面,它们可能不太擅长。
示例
Bard、GPT - 4、Jurassic - 2、LLaMA、BLOOM、YaLM、Chinchilla、MT - NLG、PALM 2
相关文章:

大型语言模型(LLMs)演化树 Large Language Models
大型语言模型(LLMs)演化树 Large Language Models flyfish 下面的图来自论文地址 Transformer 模型(如 BERT 和 GPT-3)已经给自然语言处理(NLP)领域带来了革命性的变化。这得益于它们具备并行化能力&…...
部分背包问题
本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题. 问题描述: 给定一些物品,用matrix表示各个物品的属性,第一项表示物品的质量,第二项表示物品的总价值.现有一背包最大承重为M,试求如何让背包中所装物品…...

教师管理系统
大概功能: 1.显示所有教师 2.按姓名查找教师 3.按工号查找教师 4.增加教师 5.删除教师 6.退出 数据会保存到 txt 文件里面 姓名:必须是中文 手机号码:必须是11位,必须是数字 效果展示: 代码展示: Teache…...

Word论文交叉引用一键上标
Word论文交叉引用一键上标 1.进入Microsoft word使用CtrlH快捷键或单击替换按钮 2.在查找内容中输入[^#] 3.鼠标点击,标签为“替换为:”的文本框,注意光标一定要打在图红色方框圈中的文本框中! 4.点击格式选择字体 5.勾选上标…...

集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!
本文将详细介绍 Docusign 与蓝凌 EKP 的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 在当今数字化办公环境中,企业对于提高工作效率和提升用户体验的需求日益迫切。蓝凌…...

Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider
开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 价格区间界面 用户信息界面 品牌管理 笔记本管理 电脑主机…...

【递归与回溯深度解析:经典题解精讲(下篇)】—— Leetcode
文章目录 有效的数独解数独单词搜索黄金矿工不同的路径||| 有效的数独 递归解法思路 将每个数独的格子视为一个任务,依次检查每个格子是否合法。 如果当前格子中的数字违反了数独规则(在行、列或 33 小方块中重复),直接返回 Fals…...
Spring boot处理跨域问题
Spring boot处理跨域问题 方案一方案二推荐解决方案注意 方案一 实现WebMvcConfigurer的addCorsMappings方法 Configuration public class InterceptorConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMappin…...

每日小题打卡
目录 幂次方 手机键盘 简单排序 校庆 性感素数 幂次方 题目描述 对任意正整数 N,计算 X^Nmod233333 的值。 输入格式 共一行,两个整数 X 和 N。 输出格式 共一行,一个整数,表示 X^Nmod233333 的值。 数据范围 1≤…...
RockyLinux介绍及初始化
文章目录 一、背景二、下载 RockyLinux9 镜像三、环境初始化四、安装 Docker 环境 一、背景 这里讲一个小故事: 我们都知道Linux 内核是由芬兰计算机科学家林纳斯托瓦兹 (Linus Torvalds) 于 1991 年首次开发的,随后有一个非常重要的公司RetHat成立&am…...
2024年12月青少年软件编程(C语言/C++)等级考试试卷(三级)
2024.12青少年软件编程(C语言三级)等级考试试卷 1.最近的斐波那契数 题目描述 斐波那契数列 Fn的定义为:对n≥0有Fn2Fn1Fn、初始值为 F00和F11。所谓与给定的整数N最近的斐波那契数是指与N的差之绝对值最小的斐波那契数。 本题就请你为任意给…...

【Leecode】Leecode刷题之路第92天之反转链表II
题目出处 92-反转链表II-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 92-反转链表II-官方解法 前言 链表的操作问题,一般而言面试(机试)的时候不…...

StableAnimator模型的部署:复旦微软提出可实现高质量和高保真的ID一致性人类视频生成
文章目录 一、项目介绍二、项目部署模型的权重下载提取目标图像的关节点图像(这个可以先不看先用官方提供的数据集进行生成)提取人脸(这个也可以先不看)进行图片的生成 三、模型部署报错 一、项目介绍 由复旦、微软、虎牙、CMU的…...
3.阿里云flinkselectdb-py作业
1.概述 Python API中文文档 本文介绍在阿里云实时计算flink中使用python作业,把oss中的数据同步数据到阿里云selectdb的过程。python简单的语法特性更适合flink作业的开发; 先说结论: 在实际开发中遇到了很多问题,导致python作业基本基本无法…...
MATLAB语言的网络编程
标题:MATLAB中的网络编程:深入探索与实践 一、引言 在现代科学和工程领域中,网络编程已经成为了数据处理、信号分析、模型构建等众多任务中不可或缺的一环。MATLAB作为一款强大的数学计算软件,不仅提供了丰富的数值计算功能&…...

深入浅出 Linux 操作系统
深入浅出 Linux 操作系统 引言 在当今数字化的时代,Linux 操作系统无处不在。从支撑互联网巨头庞大的数据中心,到嵌入智能家居设备的微型芯片,Linux 都发挥着关键作用。然而,对于许多人来说,Linux 仍笼罩着一层神秘的…...
golang实现生产者消费者模式
在Go语言中,生产者消费者模式可以通过使用Goroutines和Channels来实现。Goroutines允许并发执行,而Channels则用于在生产者和消费者之间安全地传递数据。 生产者消费者模式的基本思路 生产者:负责生成数据并将其放入一个共享的缓冲区…...

自动化测试-Pytest测试
目录 pytest简介 基本测试实例 编写测试文件 执行测试 pytest运行时参数 mark标记 Fixture pytest插件 Allure测试报告 测试步骤 pytest简介 Pytest是一个非常流行的Python测试框架,它支持简单的单元测试和复杂的功能测试,具有易于上手、功…...
Ingress-Nginx Annotations 指南:配置要点全方面解读(下)
文章目录 1.HTTP2 Push Preload2.Server Alias3.Server snippet4.Client Body Buffer Size5.External Authentication6.Global External Authentication7.Rate Limiting8.Global Rate Limiting9.Permanent Redirect10.Permanent Redirect Code11.Temporal Redirect12.SSL Passt…...
【QED】等式构造
文章目录 题目题目描述输入输出格式数据范围测试样例 思路代码复杂度分析时间复杂度空间复杂度 题目 题目链接🔗 题目描述 有关 「上述等式为何正确」 的问题解决了,然而 「如何构造出上述那种让人啼笑皆非的正确等式」 成为了一个新的问题。 我们认…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...