大模型时代下小模型知多少?从模型结构、预训练数据到运行时成本分析总结

news2024/11/29 11:52:44

今天,我们来谈谈小模型。《Small Language Models综述,Small Language Models: Survey, Measurements, and Insights》:https://arxiv.org/pdf/2409.15790这个工作,会有一些启发。

本文主要介绍三个话题,一个是小模型的运行时成本分析、小模型的预训练数据总结以及什么是小语言模型,这些实验对比结论,对我们增强对大模型的认识,很有用处。

持续跟进,持续思考,供大家一起参考并思考。

一、什么是小语言模型?

SLMs已经引起了研究和工业界的越来越多的关注。值得注意的是,自2023年底以来,SLM模型的数量显著增加。

其中,“小”的定义是主观的,并且是相对的。随着时间的推移,它也可能发生变化,考虑到设备内存在不断增加,并且将来可以承载更大的“小型语言模型”。将SLMs的大小上限设定为5B,因为截至2024年9月,7B LLMs主要还是在云端部署。

为了理解它们的能力与成本,根据以下标准全面收集了SLMs:(1)只收集具有仅解码器Transformer架构的模型(其性能优越且在现实世界中易于部署);目前不包括变体,如RWKV和Mamba。

(2)只收集具有开放权重的SLMs,以便可以评估它们。

(3)本文中SLMs的权重范围定义在100M到5B之间。

(4)调查主要关注来自预训练过程中的基础知识,因此我们只收集SLMs的基础模型,除非它们只提供了指导版本(Microsoft Phi和StabilityAI StableLM)。

根据这些标准,选择了59个SLMs,如表1所详述。

选择涵盖了来自工业界和学术界的各种模型,基于模型架构、参数大小和数据可用性等因素。虽然所有选定的SLMs都具有相似的架构,但它们在特定的超参数和训练数据集上有所不同,有些数据集仍然是封闭源代码的。这些变化导致了不同任务上的性能差异。

二、小模型的模型结构总结

虽然研究聚焦于仅具有解码器的Transformer SLMs,但这些模型的具体配置仍然多样化。Transformer的核心是多头自注意力(MHA)机制和前馈神经网络(FFN)。

1、模型架构分析

1)自注意力的类型:SLMs主要使用三种自注意力机制:多头注意力(MHA)、多查询注意力(MQA)、分组查询注意力(GQA)和多头潜在注意力(MLA)。这些机制在不同的SLMs中有不同的应用和变化。

2)前馈神经网络的类型:前馈网络可以分为标准FFN和带门控的FFN。标准FFN是带有激活函数的两层神经网络,而带门控的FFN增加了额外的门控层。

3)前馈网络的中间比例:FFN的中间比例是中间维度与隐藏维度的比率。不同的FFN类型和配置在这个比例上有所差异。

4)前馈神经网络的激活函数:FFN使用的激活函数主要有ReLU、GELU、GELUtanh和SiLU。这些激活函数在不同时间发布的模型中有不同的偏好。

5)层归一化类型:层归一化主要有LayerNorm和RMSNorm两种类型。随着时间的推移,这些归一化技术的使用有所变化。

6) 词汇量大小:词汇量是SLM能够识别的独特标记的总数。模型的词汇量随着时间的推移逐渐增加,最新模型的词汇量通常超过50k。

2、模型架构创新

1)参数共享:参数共享是大型语言模型中使用的一种技术,它允许在网络的不同层或组件之间重用同一组权重。这可以显著减少参数数量,从而提高训练和推理的效率,同时保持性能。

2)逐层参数缩放:这种技术最初由OpenELM提出。与每个Transformer层使用相同配置的传统SLMs不同,OpenELM中每个Transformer层有不同的配置,从而在模型的每个层中实现参数数量的变化。

3)非线性补偿:一些模型采用了非线性补偿技术来解决特征崩溃问题,例如在FFN中采用系列激活函数,并在MHA中集成增强的快捷方式。

总的来说,截至2024年8月,典型的SLM架构倾向于使用分组查询注意力、带SiLU激活的门控FFN、FFN的中间比例在2到8之间、RMS归一化,以及大于50K的词汇量。然而,这些设置的选择大多是基于经验的,没有严格的公开验证来证明这些模型容量的优越性。

此外,当今SLMs对Transformer架构的创新是有限的。对于少数进行了架构创新的模型(除了嵌入-lm头共享之外),并没有观察到它们明显优于原始Transformer的强有力证据,也没有被不同研究小组或公司普遍采用或研究。这些创新的重要性仍有待探索和验证。

三、小模型的预训练数据总结

真堵开源预训练数据集在训练SLMs时的使用情况。作者发现共有12个这样的数据集被使用,包括如The Pile、FineWeb-Edu、StarCoder、Cosmopedia、RefinedWeb、RedPajama、Dolma、WuDaoCorpora、RoBERTa CCNewsV2、PushShift.io Reddit、DCLM-baseline和CulturaX等。

1、数据集使用偏好

通过统计2022年至2024年期间的数据集使用频率,发现选择变得越来越多样化。例如,The Pile在2022年和2023年最常被使用,但最近逐渐被其他数据集如RefinedWeb和RedPajama所取代。

2、数据集质量比较

作者还研究了基于SLMs性能的开源预训练数据集的质量。他们根据模型参数数量将过去三年的SLMs分为小于0.5B、1B、2B和3B的组,并根据常识推理/理解问题解决的平均准确率对这些组进行了排序。

研究发现,最近发布的两个数据集,DCLM和FineWeb-Edu,显示出比其他数据集更优越的性能。这些数据集的一个共同特点是采用了基于模型的数据过滤。

3、模型参数数量与训练token数量的关系

分析了2022年至2024年间训练令牌数量与SLMs模型参数数量的关系。通常,模型越大,用于训练的令牌数量就越多,较新的模型倾向于有更多的训练令牌。

值得注意的是,与Chinchilla法则建议的参数数量与训练令牌数量的最佳比例约为20相比,SLMs通常被训练在更多的训练令牌上(通常超过1.5T),无论它们的参数大小如何。

训练token数量与模型准确率的关系

通常,令牌数量与模型准确率之间存在正相关关系,尤其是对于那些训练令牌少于700B的模型。然而,当训练令牌超过1T时,这种相关性变得较弱,因为数据质量通常比更多的训练令牌的影响更大。

最后,也有一些具体的发现,例如:

数据质量对SLMs的能力至关重要,这一点在最近的SLMs研究中越来越受到重视。数据质量对最终SLMs能力的重要性通常超过了数据数量和模型架构配置。数据集研究的一个显著趋势是使用基于模型的过滤,这导致了两个最先进的开源预训练数据集:FineWeb-Edu和DCLM-baseline。

最近的SLMs在大量的训练token上进行训练(通常超过1.5T),不管它们的参数大小如何。在某些情况下,较小的SLMs甚至比更大的SLMs接受了更多的数据训练。这表明这些SLMs在训练时显著“过度训练”。这样做的动机是通过在训练时投入更多的计算资源,将功能强大的SLMs部署在资源受限的设备上。

三、小模型的运行时成本分析

通过不同参数大小模型的延迟和内存使用情况的总体分析,并研究量化方法和硬件对模型延迟的影响,可以对模型的不同部分的延迟和内存使用进行了详细分解后得到一些结论;

先看这个设置,有点意思,在Jetson Orin Module(常用于边缘AI设备)和智能手机(日常使用)上评估了20个模型,使用开源推理引擎llama.cpp进行所有实验,以消除推理引擎实现的差异,并记录模型参数、预填充和解码阶段的延迟以及运行时内存使用情况。

可以得到以下几个结论:

1、推理延迟:分析了从0.1B到3B参数大小的模型的推理延迟,包括首令牌时间和每令牌解码延迟。这些延迟随模型大小的增加而增加,但特定架构的模型在预填充阶段的延迟差异显著。

2、内存占用:内存占用测试表明,随着模型大小的增加,内存占用也线性增加。然而,拥有较大词汇量的模型(如Bloom系列)的内存使用量更大。

3、模型架构对延迟的影响在预填充阶段比解码阶段更为显著,因为预填充阶段的计算密度更高。

4、运行时内存使用通常与模型参数数量线性相关,但词汇量较大的模型内存使用量更大。

5、量化的影响:量化可以显著减少推理延迟,尤其是在预填充阶段。然而,随着提示长度的增加,量化带来的优势会减少。在解码阶段,量化带来的优势比预填充阶段更大。

6、硬件的影响:在Jetson Orin NX 16GB GPU上,预填充阶段的延迟比智能手机CPU低得多。智能手机在长时间推理任务中的延迟稳定性较差,而Jetson由于更有效的散热系统,延迟更稳定。GPU在预填充阶段比CPU有更大的优势,因为它能更好地处理令牌的并行处理。

7、 延迟分解:分析了Qwen1.5-0.5B和Qwen2-0.5B这两个参数相似但延迟不同的模型,发现矩阵-向量乘法操作占用了大部分推理时间。矩阵-向量乘法是SLM中最耗时的操作,占端到端推理时间的70%以上。

8、内存分解:内存使用主要由模型参数、KV缓存和计算过程中的中间变量决定。具有较大词汇量的模型需要更大的计算缓冲区。当上下文长度达到32,000时,KV缓存将占用超过80%的内存。

总结

本文主要回顾了三个话题,一个是小模型的运行时成本分析、小模型的预训练数据总结以及什么是小语言模型,这些实验对比结论,对我们增强对大模型的认识,很有用处。大家可以多看看。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

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

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

相关文章

【笔记】信度检验

一、信度 信度是指测量结果的一致性和稳定性。 1.一致性(Consistency) 一致性指的是测量工具内部各个部分或项目之间的协调一致程度。高一致性意味着测量工具的不同部分都在测量同一个概念或特质。 例子:智力测试 假设我们有一个包含100…

成为AI产品经理,应该具备哪些条件?

开篇勘误标题:未来不会有AI产品经理这个岗位,就像没有移动产品经理一样。 如果你是个产品经理,但是不懂移动端的产品交互和设计,那你就只能在自己的头衔前面加上一个“PC”:PC产品经理,代表你的细分或者不…

在线Html到Markdown转换器

具体请前往:在线Html转Markdown

6个最受欢迎的大模型本地运行工具

运行大型语言模型 (LLM)(如 ChatGPT 和 Claude)通常涉及将数据发送到 OpenAI 和其他 AI 模型提供商管理的服务器。虽然这些服务是安全的,但一些企业更愿意将数据完全离线,以保护更大的隐私。 本文介绍了开发人员可以用来在本地运…

Java 枚举一口气讲完!(´▽`ʃ♡ƪ)

Java 枚举类型 Java面向对象设计 - Java枚举类型 什么是枚举类型&#xff1f; 枚举类型创建常量的有序列表作为类型。它以特定顺序指定常量。 在枚举类型中定义的常量是该枚举类型的实例。 语法 使用关键字enum使用以下语法定义枚举类型&#xff1a; <access-modifie…

Vue基础指令用法

vue2&#xff0c;官网&#xff1a;介绍 — Vue.js (vuejs.org) 例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

【SpringBoot】基础+JSR303数据校验

目录 一、Spring Boot概要 1. SpringBoot介绍 2. SpringBoot优点 3. SpringBoot缺点 4. 时代背景-微服务 二、Spring Boot 核心配置 1. Spring Boot配置文件分类 1.1 application.properties 1.2 application.yml 1.3 小结 2. YAML概述 3. YAML基础语法 3.1 注意事…

生信初学者教程(二十六):特征和免疫浸润的关联分析

文章目录 介绍加载R包导入数据函数重要特征与免疫细胞的相关热图SLC6A8关联图SLC6A8与特定免疫细胞SLC6A8与其他免疫细胞输出结果总结介绍 在成功获取核心特征集之后,我们计划深入地探究这些特征与免疫浸润细胞之间的关联性,这是因为免疫浸润细胞在癌症的进程中扮演着至关重要…

成都睿明智科技有限公司抖音电商新蓝海的领航者

在当今这个数字化浪潮汹涌的时代&#xff0c;电商行业正以惊人的速度迭代升级&#xff0c;而抖音电商作为新兴势力&#xff0c;更是凭借其庞大的用户基数、精准的算法推荐和高度互动的社区氛围&#xff0c;成为了众多商家竞相追逐的蓝海市场。在这片充满机遇与挑战的海洋中&…

关于Excel将列号由字母改为数字

将Excel的列表由字母改为数字 步骤&#xff1a; 文件-选项-公式-勾选“使用公式”中的“R1C1引用样式(R)”-确定即可 部分步骤图示 设置前的样子 设置后的样子 虽然现在还不清楚在xlwings操作Excel时有什么作用&#xff0c;先留着吧。

内网靶场 | 渗透攻击红队内网域渗透靶场-1(Metasploit)零基础入门到精通,收藏这一篇就够了

“ 和昨天的文章同一套靶场&#xff0c;这次主要使用的是Kali Linux以及Metasploit来打靶场&#xff0c;熟悉一下MSF在内网渗透中的使用&#xff0c;仅供学习参考&#xff0c;大佬勿喷。本期文章靶场来自公众号&#xff1a;渗透攻击红队。” 靶场下载地址&#xff1a;https://…

SpringBoot框架在在线教育系统中的应用

3系统分析 3.1可行性分析 通过对本微服务在线教育系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本微服务在线教育系统采用SSM框架&#xff0c;JAVA作为开…

微调大语言模型——超详细步骤

微调一个语言模型&#xff0c;其实就是在一个已经训练过的模型上&#xff0c;继续用新数据进行训练&#xff0c;帮助模型更好地理解和处理这个新的任务。可以把这个过程想象成教一个已经懂很多道理的人去解决新的问题。 这个过程可以分为五个简单的步骤&#xff1a; 加载预训练…

【目标检测】桥梁表面缺陷检测数据集6710张7类缺陷VOC+YOLO格式

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6718 标注数量(xml文件个数)&#xff1a;6718 标注数量(txt文件个数)&#xff1a;6718 标注…

车载测试分享:CANoe工具使用、真实项目实操、UDS诊断测试、ECU刷写测试、物理层测试、数据链路层测试、应用层测试、HIL测试等

FOTA模块中OTA的知识点&#xff1a;1.测试过程中发现哪几类问题&#xff1f; 可能就是一个单键的ecu&#xff0c;比如升了一个门的ecu&#xff0c;他的升了之后就关不上&#xff0c;还有就是升级组合ecu的时候&#xff0c;c屏上不显示进度条。 2.在做ota测试的过程中&#xff…

知识链=知识图谱+大模型+推理-幻觉

最近由华东师大和香港大学联合提出了一种面向大语言模型推理的幻觉缓解方法Chain-of-Knowledge被ACL2024接收为长文主会。 PDF: https://arxiv.org/pdf/2306.06427 最近这两年&#xff0c;诸如GPT-4、LLaMA3等一系列超百亿规模的大语言模型相继提出&#xff0c;这些大模型以其…

AI少女/HS2甜心选择2 仿逆水寒人物卡全合集打包

内含AI少女/甜心选择2 仿逆水寒角色卡全合集打包共6张 内含&#xff1a;白灵雪魅落霞飞雁君临华歌白君临华歌黑平野星罗晚香幽韵 下载地址&#xff1a; https://www.51888w.com/436.html 部分演示图&#xff1a;

P10185 [YDOI R1] Necklace

[YDOI R1] Necklace - 洛谷 因为是方案数求和 我们考虑计算每种珠子单独贡献的方案数有 因为有二项式定理 构造 因为n不取0&#xff0c;便有 时间复杂度 modint qmi code #include <bits/stdc.h>#define INF (1ll<<60) #define eps 1e-6 using namespace std; …

Hive数仓操作(十七)

一、Hive的存储 一、Hive 四种存储格式 在 Hive 中&#xff0c;支持四种主要的数据存储格式&#xff0c;每种格式有其特点和适用场景&#xff0c;不过一般只会使用Text 和 ORC &#xff1a; 1. Text 说明&#xff1a;Hive 的默认存储格式。存储方式&#xff1a;行存储。优点…

Leetcode—763. 划分字母区间【中等】

2024每日刷题&#xff08;175&#xff09; Leetcode—763. 划分字母区间 C实现代码 class Solution { public:vector<int> partitionLabels(string s) {int rightmost[26];int l 0;int r 0;for(int i 0; i < s.length(); i) {rightmost[s[i] - a] i;}vector<…