大模型之十二十-中英双语开源大语言模型选型

news2024/10/6 12:31:14

从ChatGPT火爆出圈到现在纷纷开源的大语言模型,众多出入门的学习者以及跃跃欲试的公司不得不面临的是开源大语言模型的选型问题。
基于开源商业许可的开源大语言模型可以极大的节省成本和加速业务迭代。
当前(2023年11月17日)开源的大语言模型如下:

模型所属公司发布时间开放模型许可词表大小语料Huggingface下载量模型结构位置编码激活函数隐变量维度dimension自注意力头的个数n heads层数n layers输入序列长度sequence length训练时长
LLaMA-2Meta2023年8月7B 13B 70B允许商用,月活超7亿需向Meta申请许可320002.0T70B-chat下载量1.69M,变种还有若干Casual decoderRoPESwiGLUPre RMS Norm7B 4096, 13B 5120, 70B 81927B 32, 13B 40, 70B 647B 32, 13B 40, 70B 804096A100 7B 184320, 13B 368640, 70B 1720320
baichuan-2百川智能2023年9月6日7B 13B base/chat代码Apache 2.0,模型非商用1256962.6T1-7B 95.5k,2-13B 40.8k, 2-7B 20.5kPrefix decoderRoPEGeGLUPost Deep Norm7B 4096, 13B 51207B 32, 13B 407B 32, 13B 404096
ChatGLM3智普2023年10月6B填问卷登记后允许免费商业使用650241.5T左右中英8kCasual decoderRoPESwiGLUPost Deep Norm409632288192
千问阿里2023年8月7B 14B允许商用,超过1亿用户机构需申请1519367B 2.4T,14B 3.0T25kCasual decoderRoPESwiGLUPre Layer Norm409632328192
BloomBigScience2022年7月560M 1.1B 1.7B 3B 7.1B允许商用250880366B125MCasual decoderALiBiGeLUPre Layer Norm409632302048
  1. LLaMA-2的词表是32k,在中英文上的平均token数最多,对中英文分词比较碎,比较细粒度。尤其在中文上平均token数高达1.45,这意味着大概率会将中文字符切分为2个以上的token。
  2. ChatGLM3-6B是平衡中英文分词效果最好的tokenizer。由于词表比较大,中文处理时间也有增加。
  3. BLOOM虽然是词表最大的,但由于是多语种的,在中英文上分词效率与ChatGLM-6B基本相当。

还有很多其他的开源中英大语言模型,但基本都有Llama的影子,有些是直接扩充Lllama的词汇再用新的数据集重新训练,这些大语言模型包括Chinese-LLaMA-Alpaca-2、OpenChineseLLaMA、Panda、Robin (罗宾)、Fengshenbang-LM等,这里就不一一列出了。

和信息大爆炸一样,模型也是呈现大爆炸的态势,如何选择一个合适自己/公司业务场景的基座大模型就显得十分重要,模型选择的好,至于训练方法和一些训练技巧以及超参设置都不那么重要,相对而言数据工程确是相对重要的。一个模型的选择需要结合自身的目的和资源决定。

从模型到落地,涉及到方方面面的东西,相对而言模型公司也注意到了,所以开源模型也会附带一些Agent等支持。选择模型第一要考虑的是license问题,如果是学习目的,那么几乎所有开源的大语言模型都可以选择,结合算力和内存资源选择合适参数量的模型即可,如果是蹭免费GPU的,建议选择7B及以下的模型参数。

如果是商用目的的建议选择70B及以上的模型,个别很窄的垂直领域也可以考虑30B左右的,甚至是7B的参数,如果是端上智能,考虑7B参数量。

10B以内的中英模型,建议选择chatglm3-6B(生态工具支持也挺好,性能在10B里中英文很不错,上下文长度基座有8k,长上下文大32k)以及llama-2的变种(LlaMA-2生态很好,工具很多)模型。算力有限的学生建议选择Bloom 1.1B模型。

chatglm和LlaMA-2在模型有些差异,关于mask和norm的差异性区别如下。

transformer中的mask机制:

mask机制是用于Transformer模型self-attention机制中的技术,用以控制不同token之间的注意力交互。有两种类型的mask:padding mask和sequence mask。

  • Padding mask(填充掩码):在自注意力机制中,句子中的所有单词都会参与计算。但是,在实际的句子中,往往会存在填充符,用来填充句子长度不够的情况。Padding mask就是将这些填充符对应的位置标记为0,以便在计算中将这些位置的单词忽略掉。
  • Sequence mask(序列掩码):sequence mask用于在Decoder端的self-attention中,以保证在生成序列时不会将未来的信息泄露给当前位置的单词。

Norm层

在这里插入图片描述

  • post layer norm。在原始的transformer中,layer normalization是放在残差连接之后的,称为post LN。使用Post LN的深层transformer模型容易出现训练不稳定的问题。post LN随着transformer层数的加深,梯度范数逐渐增大,导致了训练的不稳定性。

  • pre layer norm。将layer norm放在残差连接的过程中,self-attention或FFN块之前,称为“Pre LN”。Pre layer norm在每个transformer层的梯度范数近似相等,有利于提升训练稳定性,但缺点是pre LN可能会轻微影响transformer模型的性能,为了提升训练稳定性,GPT3、PaLM、BLOOM、OPT等大语言模型都采用了pre layer norm。

    • LayerNorm:LayerNorm对每一层的所有激活函数进行标准化,使用它们的均值和方差来重新定位和调整激活函数。其公式如下:
      x − μ σ ⋅ γ β , μ = 1 d ∑ i = 1 d x i , σ = 1 d ∑ i = 1 d ( x i − μ ) 2 \frac{\mathbf x -\mu}{\sqrt{\sigma}} \cdot \gamma \beta, \mu=\frac{1}{d} \sum_{i=1}^dx_i, \sigma=\sqrt{\frac{1}{d}\sum_{i=1}^{d}(x_i-\mu)^2} σ xμγβ,μ=d1i=1dxi,σ=d1i=1d(xiμ)2
      • RMSNorm:RMSNorm通过仅使用激活函数的均方根来重新调整激活,从而提高了训练速度。

    x R M S ( x ) ⋅ γ , R M S ( x ) = 1 d ∑ i = 1 d x i 2 \frac{\mathbf x}{RMS(\mathbf x)} \cdot \gamma, RMS(\mathbf x)=\sqrt{\frac{1}{d}\sum_{i=1}^dx_i^2} RMS(x)xγ,RMS(x)=d1i=1dxi2

    • DeepNorm:为了进一步稳定深度Transformer的训练,Microsoft推出了DeepNorm。这是一个创新的方法,它不仅用作标准化,还作为残差连接。有了DeepNorm的帮助,我们现在可以轻松训练高达1000层的Transformer模型,同时保持稳定性和高性能。其中,GLM-130B和ChatGLM就是采用了这种技术的代表。其公式如下:其中SublayerSublayer是FFN或Self-Attention模块。
      L a y e r N o r m ( α ⋅ x + S u b l a y e r ( x ) ) LayerNorm(\alpha\cdot \mathbf x+Sublayer(\mathbf x)) LayerNorm(αx+Sublayer(x))

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

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

相关文章

Devart dotConnect ADO.NET Data Providers Crack

开发数据相关 .NET 应用程序的终极解决方案:快速、灵活、全面、功能丰富、支持 ORM 的 ADO.NET 提供程序 概述 实体框架 连接字符串 博客 高性能 ADO.NET 数据提供程序 dotConnect 是基于 ADO.NET 架构和采用多项创新技术的开发框架构建的增强型数据连接解决方​​…

Pandas 求平均值

Pandas是Python中最流行的数据分析库之一,它提供了许多强大的工具来处理和分析数据集。其中,求平均值是数据分析中最常见的操作之一。在本文中,我们将从多个角度分析Pandas中如何求平均值。 一、基础操作 Pandas中求平均值的基础操作是使用m…

第十一周任务总结

本周任务总结 本周物联网方面主要继续进行网关的二次开发与规则引擎实现设备联动的实现 非物联网方面主要复习了docker的使用与算法的学习 1.网关的二次开发,本周将实现debug调试输出的文件下载到了网关,但网关出了问题无法连接,最终跟客服…

Elasticsearch:通过摄取管道加上嵌套向量对大型文档进行分块轻松地实现段落搜索

作者:VECTOR SEARCH 向量搜索是一种基于含义而不是精确或不精确的 token 匹配技术来搜索数据的强大方法。 然而,强大的向量搜索的文本嵌入模型只能按几个句子的顺序处理短文本段落,而不是可以处理任意大量文本的基于 BM25 的技术。 现在&…

Redis 访问控制列表(ACL)

Redis ACL 关于 Redis ACL与旧版本兼容ACL helpACL 配置模式redis.conf 配置模式外部 ACL File 配置模式 ACL 规则总结 关于 Redis ACL Redis ACL (访问控制列表) 是 Access Control List 的缩写,它允许某些连接在可以执行的命令和可以访问的密钥方面受到限制。它…

HTTP1.0协议详解

前言主要特点存在的不足与HTTP1.1的区别在Java中应用HTTP1.0协议知识拓展 前言 HTTP是由蒂姆伯纳斯李(Tim Berners-Lee)爵士创造的。他在1989年提出了一个构想,借助多文档之间相互关联形成的超文本(HyperText)&#x…

SQL Server如何建表

一、数据表的组成 实现完整性的约束有: –6个约束 –非空 not null –主键 primary key –唯一 unique –检查 check –默认 default –主键自增 identity 表约束 主键约束:值不能为null,且不能重复 非空约束:不能为null 默认约束&#xf…

6. hdfs的命令操作

简介 本文主要介绍hdfs通过命令行操作文件 操作文件有几种方式,看个人习惯 hdfs dfs hdfs fs hadoop fs个人习惯使用 hadoop fs 可操作任何对象,命令基本上跟linux命令一样 Usage [hadoophadoop01 ~]$ hadoop fs Usage: hadoop fs [generic option…

C++初级项目-webserver(1)

1.引言 Web服务器是一个基于Linux的简单的服务器程序,其主要功能是接收HTTP请求并发送HTTP响应,从而使客户端能够访问网站上的内容。本项目旨在使用C语言,基于epoll模型实现一个简单的Web服务器。选择epoll模型是为了高效地处理大量并发连接…

CF1899A Game with Integers(思维题)

题目链接 题目 题目大意 t 组测试样例 每组给一个正整数 n, 有两种操作: 1-1 A 和 B 轮流操作, 如果这个整数变成了一个能被3整除的数,A赢,输出First 如果在10次操作以内,n不能被3整数,B赢&…

Windows Server2012 R2修复SSL/TLS漏洞(CVE-2016-2183)

漏洞描述 CVE-2016-2183 是一个TLS加密套件缺陷,存在于OpenSSL库中。该缺陷在于使用了弱随机数生成器,攻击者可以利用此缺陷预测随机数的值,从而成功绕过SSL/TLS连接的加密措施,实现中间人攻击。这个漏洞影响了OpenSSL 1.0.2版本…

jenkins清理缓存命令

def jobName "yi-cloud-operation" //删除的项目名称 def maxNumber 300 // 保留的最小编号&#xff0c;意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullName(jobName).builds.findAll { it.number < maxNumber }.each { it.delet…

python django 小程序点餐源码

开发工具&#xff1a; PyCharm mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 微信小程序 代码注释齐全&#xff0c;没有多余代码&#xff0c;适合学习(毕设)&#xff0c;二次开发&#xff0c;包含论文技术相关文档。 功能介绍&#xff1a…

MySQL优化(1):B+树与索引

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 对于60%的程序员而言&a…

ER 图是什么

文章目录 前言什么是 ER图ER 图实例简化的 ER 图总结 前言 产品经理在梳理产业业务逻辑的过程中&#xff0c;非常重要的一项工作就是梳理各个业务对象之间的关系。如果涉及对象很对的时候&#xff0c;没有工具支持的话很难处理清楚。今天我们就来介绍一个梳理业务对象关系的工…

数据结构与集合源码

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷F

1、常见的加密算法可以分为对称加密算法和非对称加密算法&#xff0c;以下关于它们的描述正确的是 A、AES是一种常见的非对称加密算法 B、凯撒密码是一种非对称加密 C、非对称加密算法的解密使用的秘钥与加密不同 D、对称加密算法无法被暴力破解 答案&#xff1a;C 2、12根…

ESP32 MicroPython UART及小车类构造函数实验⑥

ESP32 MicroPython UART及小车类构造函数实验⑥ 1、实验目的2、实验内容3、参考代码4、实验结果 1、实验目的 控制小车动起来 2、实验内容 控制小车的前进、后退、左转、右转。读取小车 使用到的串口构造函数&#xff1a; uartmachine.UART(id,baudrate,rx,tx)uart:返回的构…

C++多态原理揭秘

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;…

二进制分析工具-radare2使用教程

二进制分析工具-radare2使用教程 按照如下执行命令 按照如下执行命令 r2 -A 二进制文件