描述
OpenLLaMA 代表了开源大型语言模型的一项重大进展,它提供了 Meta AI 的 LLaMA 模型的一个允许自由许可的开源复现版本。该项目由 openlm-research 开发,旨在通过提供易于获取的权重和训练方法来普及强大的语言模型。
该项目发布了一系列模型,包括 3B、7B 和 13B 参数版本,所有模型均在万亿(one trillion)个 token 上进行训练。这些模型被设计为现有 LLaMA 模型实现中的即插即用替代品。该项目提供 PyTorch 格式的权重(与 Hugging Face transformers 库兼容)和 JAX 格式的权重(用于 EasyLM 框架)。
OpenLLaMA 的训练方法严格遵循原始 LLaMA 论文,使用了相同的模型架构、上下文长度、训练步数、学习率调度和优化器。关键区别在于使用的数据集:v1 模型在 RedPajama 数据集上训练,而 v2 模型则结合了 Falcon refined-web 数据集、StarCoder 数据集以及 RedPajama 数据集的部分内容(Wikipedia、ArXiv、Books、StackExchange)。这种对开放数据集的承诺确保了透明度和可复现性。
该项目强调评估和比较,使用 lm-evaluation-harness 在广泛的任务上展示了与 LLaMA 和 GPT-J 的对比结果。OpenLLaMA 模型在大多数任务上表现出与同类模型相当,甚至在某些情况下更优的性能。开发团队还解决了潜在问题,例如影响代码生成任务的 tokenizer 配置,并建议将 v2 模型用于此类应用。
OpenLLaMA 在 Apache 2.0 许可下发布,鼓励广泛采用和修改。该项目是一项协作成果,得到了 Berkeley AI Research 的贡献以及 Google TPU Research Cloud 项目的支持。这项举措赋能研究人员和开发人员在最先进的语言模型基础上进行构建和创新。
OpenLLaMA亮点
Meta AI LLaMA 的允许自由许可的开源复现版本
提供 3B、7B 和 13B 参数尺寸
在 1T token 上训练
提供 PyTorch 和 JAX 格式的权重
兼容 Hugging Face transformers 和 EasyLM 框架
遵循原始 LLaMA 架构和训练超参数
使用 RedPajama、Falcon refined-web 和 StarCoder 等开放数据集
与原始 LLaMA 和 GPT-J 性能相当
Apache 2.0 许可,允许广泛使用
包含评估结果和比较
Tokenizer 设计用于合并多个空空格,类似于 T5
OpenLLaMA入门
访问模型权重:从 Hugging Face Hub 或 EasyLM 存储库下载 PyTorch 或 JAX 权重。
设置环境:安装必要的库,如 transformers、PyTorch 或 JAX。
加载 Tokenizer:使用 LlamaTokenizer 或 AutoTokenizer,并设置 `use_fast=False` 以避免潜在的 tokenization 问题。
加载模型:从 Hugging Face transformers 中实例化 LlamaForCausalLM,或在 EasyLM 中使用等效方法。
通过 API 集成:利用加载的模型进行文本生成、推理或微调任务。
评估性能:使用 lm-evaluation-harness 进行基准测试,确保正确使用 tokenizer。
OpenLLaMA的使用案例
- 文本生成
- 语言理解
- 模型复现
- 研究与开发
- 聊天机器人开发
- 代码生成






