TinyLlama - TinyLlama

模型详细情况和参数

TinyLlama

模型全称
TinyLlama
模型简称
TinyLlama
模型类型
基础大模型
发布日期
2023-09-04
预训练文件大小
4.4GB
是否支持中文(中文优化)
最高支持的上下文长度
2K
模型参数数量(亿)
11.0
模型代码开源协议
Apache 2.0
预训练结果开源商用情况
Apache 2.0 - 免费商用授权
在线演示地址
暂无
DataLearnerAI的模型介绍
基础模型
无基础模型

TinyLlama 简介

TinyLlama是由新加坡科技与设计大学研究人员推出的一个小规模参数的大语言模型。参数规模只有11亿。但是,它是在3万亿tokens数据集上训练得到的。因此,参数规模虽然小,但是性能很好。


TinyLlama的训练数据集

TinyLlama是从头开始训练的模型,其训练数据集主要包含2类,分别是文本数据集和代码数据集:

  1. 自然语言数据:源自SlimPajama数据集,这是一个大型的开源语料库,基于RedPajama创建。RedPajama是为了复制Llama的预训练数据而开展的一个开源研究项目,包含超过1.2万亿个token。SlimPajama通过清理和去重原始的RedPajama数据得到。具体参考: https://www.datalearner.com/blog/1051686496562817 
  2. 编程语言数据:来自Starcoderdata数据集,这是为了训练Starcoder(一种强大的开源大型代码语言模型)而收集的数据集。它包括大约2500亿个token,涵盖86种编程语言。除了代码,还包括GitHub问题和涉及自然语言的文本-代码对。


TinyLlama模型的具体架构和参数

TinyLlama的架构与Llama2完全一样,但是只有11亿参数,具体模型的参数如下:

隐藏层大小中间隐藏层大小上下文长度头数层数词汇表大小
204856322048162232000


TinyLlama模型使用的加速训练技术

TinyLlama在训练过程中使用了以下加速训练技术:

  1. 完全分片数据并行 (FSDP):在训练过程中,TinyLlama的代码库集成了FSDP,以有效利用多GPU和多节点设置。这种集成对于扩展到多个计算节点的训练过程至关重要,显著提高了训练速度和效率。
  2. Flash Attention:模型还集成了优化的注意力机制,即Flash Attention,这是提高计算吞吐量的关键改进之一。
  3. xFormers:替换了xFormers中的融合SwiGLU模块,xFormers是一个具有创新性的Transformer库,针对特定应用进行了优化。


它与同等规模参数的模型训练相比,速度明显更快:



训练使用了16个A100-40G的GPU,并且每训练5000亿tokens的数据集就会公布一个预训练结果。目前,已经训练了3万亿tokens。随着训练数据的增加,模型的效果也在变强,结果如下图所示:



不过有意思的是2.5万亿tokens的训练结果甚至比3万亿tokens结果更好,很奇怪。他们的训练还在继续,期待后续结果。


TinyLlama性能评测

虽然TinyLlama是2023年9月份就开源宣布的项目,但是直到2023年年底才训练到3万亿tokens。2024年1月4日才发布论文。在论文中TinyLlama的评测结果也一同公布:



从这个对比中可以看到,TinyLlama-1.1B模型的效果并不是每一个任务都很强,但是综合成绩还是略胜一筹的。



欢迎大家关注DataLearner官方微信,接受最新的AI模型和技术推送

TinyLlama所属的领域
自然语言处理

自然语言处理

Natural Language Process

35个资源

TinyLlama相关的任务
问答系统

问答系统

Question Answering

35个资源