LLM爆发的一周!Apple开源OpenELM(270M、450M、1.1B 和 3B)

Apple今天发布并开源OpenELM系列模型(270M、450M、1.1B 和 3B)!还包括了在公开可用数据集上训练和评估语言模型的完整框架,包括训练日志、多个checkpoint 和预训练配置等。

picture.image

OpenELM是一个开源高效语言模型系列,使用分层缩放策略来有效地分配变压器模型每一层内的参数,从而提高准确性,它基于CoreNet库预训练而成, 这又是SLM( Small Language Model )端侧模型的一个新进展!

OpenELM与公共大型语言模型(LLM)的比较 :在公开可用数据集上预训练的OpenELM在性能上超越了与之规模相当的现有LLM。特别值得注意的是,与最近的开放LLM—— OLMo相比,OpenELM在准确率上高出了2.36%,同时所需的预训练令牌数量减少了一倍 。平均准确率是通过对表3b中列出的多个任务计算得出的,这些任务也是OpenLLM排行榜的一部分。用较少数据预训练的模型以灰色突出显示。

picture.image

OpenELM 模型的技术细节和特点:

  • 模型架构 :OpenELM采用的是仅解码器的transformer模型架构。它遵循最新的大型语言模型(LLM)的设计,包括不使用可学习的偏置参数、应用RMSNorm进行预归一化、使用旋转位置嵌入(RoPE)编码位置信息、采用分组查询注意力(GQA)代替多头注意力(MHA)、用SwiGLU FFN替换传统的前馈网络(FFN)、使用Flash Attention计算缩放点积注意力,并使用与LLama模型相同的分词器。
  • 逐层扩展 :OpenELM在每个transformer层中采用不同的配置,通过调整注意力头数和FFN乘数来实现非均匀的参数分配。这种逐层扩展方法允许模型根据每层的需求调整参数,从而更有效地利用参数预算,提高模型的准确率。
  • 预训练数据 :OpenELM使用了多个公共数据集进行预训练,包括RefinedWeb、去重的PILE、RedPajama的子集和Dolma v1.6的子集,总共大约有1.8万亿个令牌。

picture.image

  • 即时分词和数据过滤 :与以往使用预分词数据的方法不同,OpenELM在训练时实时过滤和分词文本数据,以便更容易地尝试不同的分词器,简化了原型设计和研究工作。
  • 训练细节 :OpenELM变体使用 CoreNet 进行了350,000次迭代的训练,采用AdamW优化器和余弦学习率调度策略,设置了权重衰减和梯度裁剪。

          
OpenELM: An Efficient Language Model Family with Open-source Training and Inference Framework
          
https://arxiv.org/pdf/2404.14619.pdf
          
https://huggingface.co/apple/OpenELM
      

推荐阅读


欢迎关注我的公众号“ PaperAgent ”, 每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。

0
0
0
0
评论
未登录
暂无评论