Meta官宣Llama3:迄今为止最强大的开源大模型
2024年4月19日 · 111 字 · 1 分钟
4月18日,Meta在官方博客官宣了Llama3,标志着人工智能领域迈向了一个重要的飞跃。此版本具有经过预训练和指令微调的语言模型,具有 8B(80亿) 和 70B(700亿) 参数,可以支持广泛的用例。 Llama3在各种行业基准上展示了最先进的性能,并提供了新功能,包括改进的推理能力。
领先的性能
新的 8B 和 70B 参数 Llama 3 模型是 Llama 2 模型的重大飞跃,为这些规模的 LLM 模型确立了新的先进水平。得益于预训练和后训练的改进,Llama3的预训练和指令微调模型是目前 8B 和 70B 参数规模下最好的模型。后期训练程序的改进大大降低了错误拒绝率,提高了对齐度,并增加了模型响应的多样性。其次,推理、代码生成和指令跟踪等能力也有了很大提高,这使得 Llama 3 的可操控性更强。
在开发 Llama 3 的过程中,Meta为了优化其在真实世界场景中的性能开发了一个新的高质量人类评估集。该评估集包含 1,800 个提示,涵盖 12 种关键用例:征求建议、头脑风暴、分类、封闭式问题解答、编码、创意写作、提取、角色/人物角色、开放式问题解答、推理、改写和总结。
有意思的是,为了防止模型在这个评估集上意外地过度拟合,即使是Meta自己的建模团队也无法访问这个评估集。下图显示了针对 Claude Sonnet、Mistral Medium 和 GPT-3.5 对这些类别和提示进行的人工评估的汇总结果。
在与Cloud Sonnet、Mistral Medium、GPT-3.5的对比中,Llama3表现更好。
三大关键设计理念
Meta在博客中表示,Llama 3 选择了一个相对标准的Transformer架构。与 Llama 2 相比,做了几项关键改进。Llama 3 使用了一个 128K token的tokenizer,它能更有效地编码语言,从而大幅提高模型性能。为了提高 Llama 3 模型的推理效率,Meta在 8B 和 70B 大小的模型中都采用了分组查询关注 (Grouped Query Attention, GQA)。并且在 8,192 个token的序列上对模型进行了训练,并使用掩码来确保自我关注不会跨越文档边界。
- 训练数据
为了训练最佳的语言模型,筛选大规模、高质量的训练数据至关重要。根据设计原则,Meta在预训练数据上进行了大量的投入。Llama 3在超过1500亿token的数据上进行了预训练,这些数据均来自公开可得的来源。Llama3的训练数据集比Llama 2使用的数据集大七倍,并且包含了四倍的代码。为了应对即将到来的多语言应用场景,Llama 3的预训练数据集中有超过5%的高质量非英语数据,涵盖了30多种语言。
为确保Llama 3的训练数据具有最高的质量,Meta开发了一系列的数据过滤流程,包括使用启发式过滤器、NSFW过滤器、语义去重方法和文本分类器来预测数据质量。Meta在博客中表示,之前的Llama版本在识别高质量数据方面表现出人意料的良好,因此他们使用Llama 2生成了训练数据,用于为驱动Llama 3的文本质量分类器提供支持。
此外,Meta还进行了大量实验使他们能够选择一种数据混合方式,以确保Llama 3在各种用例中都能表现出色,包括问答、科学技术工程数学(STEM)、编码、历史知识等。
- 扩大训练规模
为了充分利用Llama 3模型的预训练数据,Meta致力于扩展预训练过程,并采取了多项关键措施。首先,他们开发了详细的scaling laws,通过预测最大模型在关键任务上的性能,Meta能够在实际训练之前做出明智的决策。
其次,Meta在Llama 3的开发过程中观察到了有关模型训练规模的新行为。Meta发现,即使在训练了两个数量级更多的数据后,模型的性能仍然持续改善,使他们能够构建更强大、更高效的语言模型。
为了训练最大规模的Llama 3模型,Meta采用了数据并行化、模型并行化和管道并行化等并行化技术并设计了高效的训练系统,可以在16,000个GPU同时进行训练,并实现超过400 TFLOPS的计算利用率。此外,Meta还改进了硬件的可靠性和数据完整性检测机制,并引入了可扩展的存储系统,减少了检查点和回滚的开销。这些改进使得Llama 3的训练效率相较于之前的版本提高了约三倍,有效训练时间超过95%。
- 指令微调
为了充分释放预训练模型在聊天场景中的潜力,Meta在指令调优的方法上进行了创新,结合了监督微调(SFT)、拒绝抽样、近端策略优化(PPO)和直接策略优化(DPO)。在SFT中使用的提示质量以及在PPO和DPO中使用的偏好排序对齐模型的性能有着重大影响。通过精心策划这些数据和进行多轮质量保证为模型的质量带来了巨大提升。
通过PPO和DPO学习偏好排序,还极大地提高了Llama 3在推理和编码任务上的性能。Meta发现,如果向模型提出一个它难以回答的推理问题,有时模型会产生正确的推理过程:模型知道如何得出正确的答案,但不知道如何选择它。通过偏好排序的训练,模型能够学会如何进行选择。
最后
目前, Llama3两种参数量的模型已经上线Hugging Face。Meta表示,Llama 3 模型很快将在 AWS、Databricks、Google Cloud、Hugging Face、Kaggle、IBM WatsonX、Microsoft Azure、NVIDIA NIM 和 Snowflake 上推出,并得到 AMD、AWS、Dell、Intel、NVIDIA 提供的硬件平台的支持。