王牌站士Ⅶ--理解大型语言模型LLM的参数

news2024/12/23 14:13:34

模型的大小并不一定决定其成功

在学习任何大型语言模型 (LLM) 时,您首先会听到的事情之一就是给定模型有多少个参数。如果您查看下面的图表,您会注意到参数大小范围很广 - 一个模型可能有 10 亿或 20 亿个参数,也可能有超过 1.75 万亿个参数。

现在能下载到的模型普遍都是6/7B(小)、13B(中)、大(130B) 三种,比如ChatGLM 和Llama2 等。

LLM现在一般都是基于Transormer结构,参数总和可以看作Embedding部分参数和Transormer-Decoder部分参数,Embedding部分参数由词表大小和模型维度决定;Decoder部分参数由模型层数和模型维度决定。

这当然会引发一些显而易见的问题——参数是什么?它们为什么重要?模型中的参数越多越好,这是真理吗?为了理解和评估大型语言模型,让我们考虑这些问题。

什么是参数?

我们可以将参数视为大型语言模型中的内部设置或拨盘,可以对其进行调整以优化获取标记和生成新标记的过程。就像音响工程师可以通过转动混音板上的拨盘来优化音质一样,数据科学家也可以转动大型语言模型中的拨盘来优化其性能。

回想一下,token 是一个文本单位 - 单词、单词组合或标点符号 - 其格式使得 LLM 可以高效地使用它。在训练大型语言模型时,参数是 LLM 的特征,可以进行调整以优化模型预测序列中下一个 token 的能力。请考虑以下关于参数如何训练和运行的简化解释:

  1. 模型的参数被设置为初始值,可以是随机的,也可以是基于之前的训练。
  2. 正在训练的大型语言模型需要输入大量文本数据。
  3. 在模型训练过程中,它会接受输入并预测正确的输出是什么。
  4. 在训练中,LLM 将其预测与实际文本进行比较,以查看其预测是否正确。如果预测不正确,模型会从错误中“学习”,并调整其参数。
  5. 该过程持续数百万或数十亿个示例,模型每次都会调整其参数并提高其预测准确性。

通过这种预测、错误检查和参数调整的迭代过程,LLM 的语言能力变得更加准确和复杂。

参数越多总是越好吗?

最简洁的答案是

诚然,LLM 的参数越多,它就可以调整越多的“设置”来捕捉人类语言的复杂性,从而比参数较少的模型更好地处理人类语言。因此,在其他条件相同的情况下,如果模型 A 和模型 B 仅在处理和生成语言的能力上有所不同,那么你当然应该选择语言处理能力更出色的模型。

但在现实世界中,并非所有事物都是平等的。还必须考虑其他重要因素。也许最明显的是,模型越大,运行成本就越高。训练模型的过程和持续维护模型都需要大量的计算能力和数据。正是出于这个原因,像 GPT-3 或 GPT-4 这样的 LLM 通常由拥有大量资源的组织开发。

运行大型语言模型也会对环境产生影响。马萨诸塞大学阿默斯特分校最近的一项研究发现,训练一个具有 2.13 亿个参数的大型模型会产生超过 626,000 磅的二氧化碳排放量。相比之下,普通美国汽车的终生排放量(包括汽车制造)为 126,000 磅二氧化碳 - 约为训练具有 2.13 亿个参数的 LLM 所产生的碳排放量的五分之一!模型越大,消耗的能量越多,随后产生的碳排放量也越多。较小的模型对环境的影响要小得多。

您可能会担心,选择具有更少参数的更具成本效益、可持续性的模型会损害 LLM 的有效性和准确性。然而,这引出了评估 LLM 时的一个重要问题——模型的大小并不能统一定义其成功。给定的单词在不同的上下文中可能具有不同的含义。平均而言,较大的模型往往能够区分这种语义区别,但是,使用较低质量训练数据的较大模型不一定会胜过较小且更集中的模型。使用高质量数据训练的具有较少参数的模型将胜过使用低质量数据训练的较大模型。换句话说,用于训练模型的数据的质量与模型本身的大小同样重要。


欢迎你分享你的作品到我们的平台上:www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。

创作不易,觉得不错的话,点个赞吧!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ATC 2024 | 快手开源大模型长序列训练加速技术,性能大幅超越 SOTA 方案

导读 在深度学习领域,训练大型语言模型(LLMs)一直是一项极具挑战性的任务,它不仅需要巨大的计算资源,同时对内存的消耗也非常巨大。近期,快手大模型团队提出了创新的方法,包括感知流水并行的激…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(二)-支持高分辨率视频直播应用

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…

TS真的比JS更好吗?

前言 在讨论TypeScript(TS)是否比JavaScript(JS)更好时,我们需要明确“更好”这一概念的上下文和衡量标准。TypeScript和JavaScript在多个方面有着明显的区别,但它们并不是简单的“好”与“不好”的关系&a…

springboot上传图片

前端的name的值必须要和后端的MultipartFile 形参名一致 存储本地

一文搞定:Syncthing多平台文件同步工具安装全攻略

Syncthing是一款开源的文件同步工具,可以通过本地网络或互联网实现多台设备之间的文件同步。与其他同步工具不同,Syncthing强调隐私和安全,确保用户的数据始终处于用户的控制之下。 功能与特点 开源软件: Syncthing是完全开源的&…

base SAS programming学习笔记11(functions)

1.SAS function 分类&#xff1a; 计算描述统计量的函数&#xff1a; 举例如下&#xff1a;avgscoremean(exam1,exam2,exam3) 2.function 基本格式 function-name(argument1,argument2,......<argumentn>&#xff09; argument可以如下&#xff1a;变量名&#xff1b;常…

新手小白的pytorch学习第三弹-------tensor的基本操作

reshape, view, stacking, squeeze(), unsqueeze(),permute()torch.tensor 和 numpy 的 array切片&#xff0c;张量里面获取元素值随机种子 1 导入torch import torch2 reshape() tensor_A torch.arange(1, 11) tensor_Atensor_A.reshape(2, 5) tensor_A.reshape(2, 5)tenso…

C语言 ——— 实用调试技巧(Visual Studio)

目录 Debug 和 Release 的区别 F10 --- 逐过程调试 & F11 --- 逐语句调试 F9 --- 新建/切换断点 & F5 --- 开始调试 shift F5 & ctrl F5 Debug 和 Release 的区别 Debug&#xff1a;通常为调试版本&#xff0c;它包含调试信息&#xff0c;并且不作任何优化…

Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理

Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 目录 Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 一、简单介绍 二、在Unity中设置颜色空间 三、Unity中的Gamma…

Vortex GPGPU的硬件代码分析(Cache篇2)

文章目录 前言一、VX_cache.sv代码部分解读2——buffering/initialize1.1 core response buffering与VX_elastic_buffer模块解读1.1.1 VX_pipe_buffer模块解读1.1.1.1 一种握手信号的解释1.1.1.2 世界线收束——VX_pipe_buffer的核心代码解释1.1.1.3 VX_pipe_register模块解读与…

算法015:串联所有单词的子串

串联所有单词的子串. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 如果是第一次接触这个题目&#xff0c;接触滑动…

埋点系统如何统计用户的平均停留时长?

Hello&#xff0c;大家好&#xff0c;欢迎使用Webfunny前端监控和埋点系统。 今天&#xff0c;我们将介绍webfunny的埋点系统如何统计用户的平均停留时长 一、页面beforeLeave事件 当你页面离开的时候&#xff0c;会触发一个心跳检测&#xff0c;但是这个可能不是100%触发&am…

跳表的简单学习

跳表&#xff08;SkipList&#xff09;学习 1. 什么是跳表&#xff1f; 基于“空间换时间”思想&#xff0c;通过给链表建立索引&#xff0c;使得链表能够实现二分查找。 跳表是可以实现二分查找的有序链表。 2. 从单链表到跳表 对于一般的单链表&#xff0c;在其中进行查…

EasyCVR视频技术:城市电力抢险的“千里眼”,助力抢险可视化

随着城市化进程的加速和电力需求的不断增长&#xff0c;电力系统的稳定运行对于城市的正常运转至关重要。然而&#xff0c;自然灾害、设备故障等因素常常导致电力中断&#xff0c;给城市居民的生活和企业的生产带来严重影响。在这种情况下&#xff0c;快速、高效的电力抢险工作…

【PVE】新增2.5G网卡作为主网卡暨iperf测速流程

【PVE】新增2.5G网卡作为主网卡暨iperf测速流程 新增网卡 新增网卡的首先当然需要关闭PVE母机&#xff0c;把新网卡插上&#xff0c;我用淘宝遥现金搞了个红包&#xff0c;花了26元买了块SSU的2.5G网卡。说实话这个价位连散热片都没有&#xff0c;确实挺丐的。稍后测下速度看…

从零开始做题:segmentFlow

题目 解题 import string import binascii def Crack_4B(crc_list):print(-------------Start Crack CRC 4B-------------)#crc_list [0xc0a3a573, 0x3cb6ab1c, 0x85bb0ad4, 0xf4fde00b]#文件的CRC32值列表&#xff0c;注意顺序comment chars string.printableflag 0 for …

文心一言的流式接口数据进行处理 增加属性

需求&#xff1a;需要对文心一言的流式接口数据进行处理 增加属性 return ResponseEntity.ok().header("Access-Control-Allow-Origin", "*").contentType(org.springframework.http.MediaType.TEXT_EVENT_STREAM).cacheControl(org.springframework.http…

Leetcode3201. 找出有效子序列的最大长度 I

Every day a Leetcode 题目来源&#xff1a;3201. 找出有效子序列的最大长度 I 解法1&#xff1a;枚举 全奇数、全偶数、奇偶交替三种情况的最大值即为所求。 代码&#xff1a; /** lc appleetcode.cn id3201 langcpp** [3201] 找出有效子序列的最大长度 I*/// lc codesta…

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器&#xff0c;以保证数据的隐私性&#xff0c;这里我用的是emqx。 1.进入emqx官网 EMQX&#xff1a;用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得&#xff1a;&#xff08;右边的忽略&#xff09; 进入…

【matlab】大数据基础与应用实例

目录 引言 线性回归模型 基本形式 最小二乘法 多元线性回归 线性回归的假设 模型评估 应用 独热编码 原理 应用场景 优点 缺点 数据收集 数据可视化 数据处理与分析 完整代码 引言 线性回归模型 线性回归模型是一种用于预测连续值输出&#xff08;或称为因变…