AI苏妲己:
苹果开源了OpenELM,该AI模型包含了2.7亿、4.5亿、11亿和30亿四个参数版本,并且公开相关的代码、权重、数据集和训练过程。这一举措标志着苹果加入了谷歌、三星和微软等公司在PC和移动设备端推动生成式AI模型开发的行列。根据论文介绍,苹果这款模型不仅能在笔记本(配备英特尔i9-13900KF CPU、RTX 4090 GPU,24GB内存),还可以在M2 MacBook Pro(64GiB内存)运行。
性能方面,OpenELM 通过采用一系列先进的模型架构技术,在保持较小模型尺寸的同时,实现了出色的零样本任务和排行榜测试性能,展现了其作为高效大规模语言模型的潜力。论文显示,在标准零样本任务上,OpenELM 模型表现优于其他同类大型语言模型,如 Pythia-1.3B、Cerebras-GPT-1.3B 等。OpenELM-3B 在这些任务上达到了最高的平均得分56.11%。这为在资源受限的终端设备上部署强大的AI应用提供了可行性。
苹果公司通过6种技术组合,权衡计算效率、模型尺寸和性能:
1.在全连接层中不使用可学习的偏差参数:
传统的全连接层通常包括可学习的权重矩阵和偏差向量。但最新的研究发现,去掉偏差参数对模型性能影响很小,却能显著减少模型的参数量。这样可以在几乎不损失性能的情况下,减小模型尺寸。
2.使用RMSNorm应用预规范化,并使用旋转位置嵌入(ROPE)编码位置信息:
RMSNorm是一种normalization技术,可以稳定训练过程,提高模型性能。与之前常用的LayerNorm相比,RMSNorm不需要额外的参数。预规范化是指在Transformer的子层(自注意力和前馈网络)之前应用normalization,而不是之后。这被证明可以加速训练收敛,提高模型性能。ROPE是一种位置编码方法,通过旋转位置嵌入,可以让模型更好地捕捉序列中的位置信息。
3.使用分组查询注意力(GQA)代替多头注意力(MHA):
GQA将注意力头分成组,每组共享同一个查询矩阵,而每个头有独立的键值矩阵。这种方法可以在几乎不影响性能的情况下,大大减少注意力层的计算和存储开销。
4.用SwiGLU FFN替换前馈网络(FFN):
SwiGLU FFN在标准的前馈网络中加入了门控机制,可以让网络更好地控制信息流,从而提高模型的表达能力和泛化能力。
5.使用快速注意力来计算缩放的点积注意力:
快速注意力通过一些近似计算技巧,显著降低了计算注意力时的时间和空间复杂度,使得可以在更大的上下文窗口上高效计算注意力,从而提高模型性能。
6.使用与LLama相同的标记器(tokenizer):
LLama是Meta开发的一个高效的tokenizer,可以在不损失太多性能的情况下,大大减小词表大小,从而节省模型存储空间。
训练数据方面,OpenELM的预训练使用了来自RefinedWeb、去重版PILE、RedPajama的一个子集以及Dolma v1.6的一个子集等公共数据集,总计约1.8万亿个tokens。此外,OpenELM还通过使用UltraFeedback数据集进行指令微调,进一步提高了模型的平均准确率。
特别需要提出的是,苹果公司不仅开源了OpenELM的模型权重和代码,还提供了完整的训练和评估框架,包括训练日志、多个检查点和预训练配置。此外,苹果还发布了将模型转换为适用于Apple设备的MLX库的代码。这些资源的开放,旨在加强开放研究社区,并为未来的研究工作铺平道路。
OpenELM 为高效大规模语言模型的发展提供了新的方向。它表明,通过巧妙的架构设计和技术创新,可以在保持模型性能的同时,大幅降低模型的复杂度和资源需求。这将为 AI 技术的普及和应用开辟新的途径,并为用户带来更加便捷、智能的体验。