当前位置:首页|资讯|编程|马斯克|OpenAI|GitHub

OLMo:真正的开源大模型,预训练、微调代码、数据集、模型架构、模型权重都完全公开

作者:人工智能大讲堂发布时间:2024-03-18

2024年3月18日,马斯克兑现诺言,开源了其大模型Grok。有网友戏谑:这很马斯克,一言不合就开源,随后还不忘对OpenAI进行一番嘲笑。

说起开源大模型,Meta早在2023年7月就开源了LLama2。

但无论是Grok还是LLama2,都不包含训练代码,出于隐私和安全考虑,也没有公开训练数据集,只包含模型架构和推理代码。

这对于那些想从头开始训练一个大模型的人来说未免有些遗憾!


不过没关系,我给大家推荐OLMo(Open Language Model),有网友看过后惊叹:这才是真正的开源大模型,预训练,微调代码、数据集、模型架构、模型权重都完全公开。

OLMo在性能上可能不及Grok和LLama2,但它目的是帮助开发人员构建大模型开发的完整流程和细节,这对于无论出于学习或者商业目的的人来说无疑提供了重要帮助。

下面是对论文的总结:

  1. 背景与目标:随着语言模型在商业产品中的重要性日益增加,最强大的模型其训练数据、架构和开发细节未公开。为了促进研究社区对这些模型的科学研究,包括它们的偏见和潜在风险,OLMo提供了一个真正开放的语言模型和框架。

  2. OLMo框架:OLMo框架包括用于构建和研究语言模型的工具和资源。它提供了完整的模型权重、训练代码、训练日志、训练指标(以Weights & Biases日志的形式)和推理代码。此外,还包括用于数据集构建和分析的完整训练数据、AI2的Dolma数据集,以及用于评估的Catwalk和Paloma工具。

  3. 模型架构:OLMo采用了基于Vaswani等人(2017年)的decoder-only transformer架构,并提供了1B和7B两种规模的变体,以及即将推出的65B版本。模型的具体架构在Vaswani等人的基础上进行了改进,包括去除所有偏置项、使用非参数层归一化、采用SwiGLU激活函数、使用旋转位置嵌入(RoPE)等。

  4. 预训练数据:OLMo使用了名为Dolma的预训练数据集,这是一个由3T tokens组成的多源语料库,涵盖了5B文档。Dolma的构建使用了语言过滤、质量过滤、内容过滤、去重、多源混合和分词等步骤。

  5. 微调:预训练模型通常需要进一步微调以提高性能、安全性和可用性。OLMo展示了如何使用Open Instruct数据和训练设置将OLMo训练为一个通用的聊天助手。

  6. 评估:OLMo在模型设计和模型检查点的两个阶段进行评估。使用Catwalk框架进行下游评估和基于Paloma的困惑度基准测试。此外,还对经过指令微调和DPO训练的适应性模型进行了评估。

  7. 训练OLMo:文档详细介绍了OLMo的预训练设置,包括分布式训练框架、优化器设置、数据准备和硬件。

  8. 结果:OLMo-7B模型在多个核心任务上的表现与其他公开可用的模型相当。在内在语言建模评估中,OLMo-7B在多个数据源上的表现也具有竞争力。

  9. 功耗和碳足迹:文档还讨论了预训练模型的总能耗和碳排放估计,以及如何通过开放模型来减少未来的排放。

10.发布的工件:OLMo项目发布了包括训练和建模代码、训练数据、评估代码和日志等在内的一系列工件,以促进开放研究并减少重复努力。

11.许可:所有代码和权重在Apache 2.0许可下发布,允许用户灵活使用这些资源和工件。

12.结论和未来工作:OLMo项目计划持续支持和扩展OLMo框架,推动开放语言模型的边界,以赋能开放研究社区并激发创新。




Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1