AI 文摘

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





作者: 人工智能大讲堂 来源: 人工智能大讲堂

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

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

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


LLama2:
https://github.com/meta-llama/llama
Grok:
https://github.com/xai-org/grok-1

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

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

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


项目网址:https://allenai.org/olmo
论文:https://arxiv.org/pdf/2402.00838.pdf
权重://huggingface.co/allenai/OLMo-7B
代码://github.com/allenai/OLMo
训练数据://huggingface.co/datasets/allenai/dolma
模型评估://github.com/allenai/OLMo-Eval
模型微调://github.com/allenai/open-instruct
训练日志://wandb.ai/ai2-llm/OLMo-7B/reports/OLMo-7B--Vmlldzo2NzQyMzk5

下面是对论文的总结:

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框架,推动开放语言模型的边界,以赋能开放研究社区并激发创新。

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具