2024 年 7 月 23 日星期二,Meta 宣布推出 Llama 3.1,这是其Llama 系列大型语言模型 (LLM)的最新版本。虽然只是对 Llama 3 模型进行小幅更新,但它特别引入了Llama 3.1 405B——一个 4050 亿参数的模型,这是迄今为止世界上最大的开源 LLM,超过了 NVIDIA 的Nemotron-4-340B-Instruct。
实验评估表明,它在各种任务上均可与GPT-4、GPT-4o和Claude 3.5 Sonnet等领先模型相媲美。
然而,由于Mistral和Falcon等竞争对手选择较小的模型,人们开始质疑大型开放权重 LLM 在当前环境下的相关性,本文就llama各项特性进行探讨,供各位读者参考。
什么是 Llama 3.1 405B?
Llama 3.1 是 Llama 3( 2024 年 4 月发布)的点更新,Llama 3.1 405B 是该模型的旗舰版本,顾名思义,它拥有 4050 亿个参数。
来源:Meta AI
Llama3的多模态能力:图像、视频和语音的融合
为了赋予Llama3多模态能力,Meta采用了组合方法,引入了图像、视频和语音编码器。具体过程包括:
1.多模态编码器预训练:分别对图像和语音编码器进行训练,学习视觉和语音信号的表示。
2.视觉适配器训练:将图像编码器融入预训练的语言模型,实现图像表示与语言表示的对齐。在此基础上,训练视频适配器,实现跨帧信息聚合。
3.语音适配器训练:将语音编码器整合到模型中,实现高质量的语音理解。
多语言能力
从 Llama 3 到 Llama 3.1 的主要更新是更好的非英语支持。Llama 3 的训练数据 95% 是英语,因此在其他语言中表现不佳。3.1 更新提供了对德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语的支持。
更长的上下文窗口
Llama 3 模型的上下文窗口(一次可以推理的文本量)为 8k 个标记(约 6k 个单词)。Llama 3.1 将其提升至更现代的 128k,这解决了 Llama 家族的一个重要弱点,对于企业用例(如总结长文档、从大型代码库生成涉及上下文的代码或扩展支持聊天机器人对话),可以存储数百页文本的长上下文窗口。
Llama3的成功秘诀:高质量数据/规模性/简洁性
Llama3的卓越表现源于三大核心要素:
1.高质量数据:15T tokens的高质量多语言数据。
2.规模性:8B、70B、405B的模型矩阵,通过大模型提升小模型的质量,实现同类最佳效果。
3.简洁性:选择Transformer架构而非MoE架构,采用相对简单的后训练程序,如SFT、RS和DPO,而非复杂的强化学习算法。
此外,报告还分享了Llama3在多模态集成方面的初步实验,展现了其在图像、视频和语音处理方面的潜力。
开放模型许可协议
Llama 3.1 模型可根据 Meta 的定制开放模型许可协议获得,允许研究人员、开发人员和企业自由地将该模型用于研究和商业应用。Meta 还扩大了许可证,允许开发人员利用 Llama 模型(包括 405B 模型)的输出来增强其他模型。这意味着任何人都可以利用该模型的功能来推进他们的工作,创建新的应用程序并探索人工智能的可能性,构建更加完善的开源生态。
Llama 3.1 405B 如何工作?
本节介绍 Llama 3.1 405B 的工作技术细节,包括其架构、训练过程、数据准备、计算要求和优化技术。
调整后的 Transformer 架构
Llama 3.1 405B 基于标准解码器专用Transformer 架构构建,在核心结构保持一致的同时,Meta 进行了细微调整,以增强模型在训练过程中的稳定性和性能。值得注意的是,Meta 有意排除了混合专家 (MoE) 架构,优先考虑训练过程中的稳定性和可扩展性。
来源:Meta AI
Llama 3.1 405B 首先将输入文本划分为称为标记的较小单元,然后将其转换为Token embeddings表示,然后通过多层自注意力来处理embeddings,其中模型分析不同Token之间的关系,用以了解它们在输入中的重要性和上下文。
从自注意力层收集的信息随后会通过前馈网络,该网络会进一步处理和组合相关信息,这种自注意力和前馈处理过程会重复多次,以加深模型从多个层次的信息理解。
最后,模型利用这些信息逐个生成响应Token,在先前输出的基础上创建连贯且相关的文本。这一迭代过程称为自回归解码,它使模型能够对输入提示生成流畅且符合语境的响应。
多阶段训练过程
开发 Llama 3.1 405B 涉及一个多阶段的训练过程。最初,该模型在包含数万亿个标记的庞大而多样的数据集上进行了预训练,通过接触大量文本,该模型可以从遇到的模式和结构中学习语法、事实和推理能力。
在预训练之后,模型会经过多轮监督微调 (SFT) 和直接偏好优化 (DPO)。SFT 涉及对特定任务和数据集进行训练并提供人工反馈,从而引导模型产生所需的输出。
而 DPO 则侧重于根据从人类评估者那里收集到的偏好来改进模型的响应,迭代过程逐步增强了模型遵循指令的能力,提高了响应质量,并确保安全。
数据质量和数量
Meta 声称非常重视训练数据的质量和数量,对于 Llama 3.1 405B,涉及严格的数据准备过程,包括广泛的过滤和清理,以提高数据集的整体质量。不过405B 模型本身用于生成合成数据进行数据增强,然后将其纳入训练过程以进一步完善模型的功能。
计算规模
训练像 Llama 3.1 405B 这样庞大而复杂的模型需要大量的计算能力。
具体来说,Meta 使用了 16,000 多个 NVIDIA 最强大的 GPU(H100)来高效地训练这个模型。他们还对整个训练基础设施进行了重大改进,以确保其可以处理庞大的项目规模,从而使模型能够有效地学习和改进。
推理量化
为了使 Llama 3.1 405B 在实际应用中更具可用性,Meta 应用量化压缩技术,通过将模型的权重从 16 位精度 (BF16) 转换为 8 位精度 (FP8),保留了必要的细节,同时减小了文件大小,便于部署应用。
同样,量化简化了模型的内部计算,使其在单个服务器上的运行速度更快、效率更高,使其他人能够更轻松、更经济高效地利用该模型的功能。
Llama 3.1 405B 应用
Llama 3.1 405B 由于其开源特性和强大的功能而提供了各种潜在的应用。
合成数据生成
该模型能够生成与人类语言极为相似的文本,可用于创建大量合成数据。这些合成数据对于训练其他语言模型、增强数据增强技术(使现有数据更加多样化)以及为各种应用开发真实的模拟非常有价值。
模型蒸馏
405B 模型中嵌入的知识可以通过“提炼”的过程转移到更小、更高效的模型中。
可以将模型蒸馏视为向学生(较小的 AI 模型)传授专家(较大的 Llama 3.1 405B 模型)的知识。此过程允许较小的模型学习和执行任务,而不需要与较大的模型相同程度的复杂性或计算资源。
这使得在智能手机或笔记本电脑等设备上运行高级 AI 功能成为可能,同时使用模型蒸馏的另一个例子是 OpenAI 的GPT-4o mini,它是 GPT-4o 的蒸馏版本。
研究与实验
Llama 3.1 405B 是一种有价值的研究工具,使科学家和开发人员能够探索自然语言处理和人工智能的新领域,保持开放性、鼓励实验和协作,从这个角度来看,开源模型具备更广阔的应用场景。
Llama 3.1 405B 安全性
Meta 声称非常重视 Llama 3.1 型号的安全性。
来源:Meta AI
在发布 Llama 3.1 405B 之前,他们进行了广泛的“对抗”演习。在这些演习中,内部和外部专家扮演对手,试图找到让模型以有害或不适当的方式进行响应,有助于识别模型行为中的潜在风险或漏洞。
除了部署前测试外,Llama 3.1 405B 还经过了安全微调。此过程涉及诸如人类反馈强化学习 (RLHF)之类的技术,其中模型学习使其响应与人类价值观和偏好保持一致,有助于减轻有害或有偏见的输出,使模型在实际使用中更安全、更可靠。
Meta 还推出了Llama Guard 3,一种新的多语言安全模型,旨在过滤和标记由 Llama 3.1 405B 生成的有害或不当内容,额外的保护层有助于确保模型的输出符合道德和安全准则。
来源:Meta AI
另一个安全功能是Prompt Guard ,目的是防止提示注入攻击。攻击涉及将恶意指令插入用户提示中以操纵模型的行为。Prompt Guard 会过滤掉此类指令,保护模型免受潜在的滥用。
来源:Meta AI
此外,Meta 还加入了Code Shield ,该功能专注于 Llama 3.1 405B 生成的代码的安全性。Code Shield 在推理过程中实时过滤不安全的代码建议,并为七种编程语言提供安全的命令执行保护,平均延迟时间为 200 毫秒,有助于降低生成可能被利用或构成安全威胁的代码的风险。
来源:Meta AI
Llama 3.1 405B 基准测试
Meta 已在 150 多个不同的基准数据集上对 Llama 3.1 405B 进行了严格的评估。这些基准涵盖了广泛的语言任务和技能,从常识和推理到编码、数学和多语言能力。
来源:Meta AI
Llama 3.1 405B 在许多基准测试中的表现都堪比 GPT-4、GPT-4o 和 Claude 3.5 Sonnet 等领先的闭源模型。值得注意的是,它在推理任务中表现出色,在 ARC Challenge 上获得了 96.9 分,在 GSM8K 上获得了 96.8 分。在代码生成方面也表现出色,在 HumanEval 基准测试中获得了 89.0 分。
除了自动基准测试之外,Meta AI 还进行了大量的人工评估,以评估 Llama 3.1 405B 在现实场景中的表现。
来源:Meta AI
虽然 Llama 3.1 405B 在这些评估中具有竞争力,但它的表现并不总是优于其他模型。它的表现与 GPT-4-0125-Preview(OpenAI 于 2024 年初发布的预览版 GPT-4 模型)和 Claude 3.5 Sonnet 相当,获胜和失败的评估百分比大致相同,略微落后于 GPT-4o,仅赢得了 19.1% 的比较。
Llama3.1 405B 登上 LMSys Chatbot Arena 排行榜,该排行榜是通过用户盲投构建的性能衡量标准。在此之前,OpenAI GPT-4、Anthropic Claude 3和 Google Gemini 等版本交替占据榜首。目前,GPT-4o 占据榜首,但规模较小的 Claude 3.5 Sonnet 占据第二位,而即将推出的 Claude 3.5 Opus 很可能会占据第一的位置。这意味着高端市场的竞争非常激烈,同时我们也期待 Llama 3.1 405B的后续表现。
如何使用 Llama 3.1 405B?
目前可以通过两个主要渠道访问 Llama 3.1 405B:
- 直接从 Meta 下载:模型权重可以直接从 Meta 的官方 Llama 网站下载:llama.meta.com
- Hugging Face:Llama 3.1 405B 也可在Hugging Face平台上使用,该平台是共享和访问机器学习模型的流行中心。
- Google Vertex Al和Amazon Bedrock都已经上线,可以在线体验。
Llama 3.1 系列模型
虽然 Llama 3.1 405B 因其尺寸而引人注目,但 Llama 3.1 系列还提供其他型号,旨在满足不同的使用情况和资源限制。这些型号与 405B 版本共享先进功能,但针对特定需求进行了量身定制。
Llama 3.1 70B:多功能
Llama 3.1 70B 型号在性能和效率之间取得了平衡,具备广泛应用的潜力,在长文本摘要、创建多语言对话代理和提供编码帮助等任务方面表现出色。虽然比 405B 型号小,但它在各种基准测试中仍能与其他类似尺寸的开放式和封闭式型号竞争,其尺寸减小也使其更易于在标准硬件上部署和管理。
来源:Meta AI
Llama 3.1 8B:轻便高效
Llama 3.1 8B 型号优先考虑速度和低资源消耗,非常适合这些因素至关重要的场景,例如部署在边缘设备、移动平台或计算资源有限的环境中,即使尺寸较小,它在各种任务中的表现也比类似尺寸的模型更具竞争力(见上表)。
所有 Llama 3.1 型号均具有共享增强功能
所有 Llama 3.1 型号都具有几项关键改进:
- 扩展上下文窗口(128K 个token):上下文窗口(表示模型可以一次处理的文本量)已增加到 128,000 个token,使模型能够处理更长的输入,并在扩展对话或文档中保持上下文。
- 多语言支持:所有型号现在都支持八种语言:英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,更广泛的语言支持将其适用范围扩大到全球受众。
- 改进的工具使用和推理:模型的工具使用和推理能力得到了增强,使其更加通用,能够更好地处理复杂的任务。
- 增强安全性:所有 Llama 3.1 型号都经过了严格的安全测试和微调,以降低潜在风险并促进负责任的 AI 使用。这包括努力减少偏见和有害输出。
大型 LLM 与小型 LLM:争论
Llama 3.1 405B 虽然规模令人印象深刻,但也引发了关于当前人工智能领域语言模型最佳规模的讨论。正如前文所述,Mistral 和 Falcon 等竞争对手选择了较小的模型,称它们提供了更实用、更易于访问的方式。这些较小的模型通常需要较少的计算资源,因此更容易部署和微调以完成特定任务。
然而,Llama 3.1 405B 等大型模型的支持者认为,模型庞大规模使其能够捕捉更深、更广的知识,从而在更广泛的任务上表现出色。这些大型模型有可能成为“基础模型”,在此基础上通过提炼可以构建出更小、更专业的模型。
大型和小型 LLM 之间的争论最终归结为能力和实用性之间的权衡,虽然较大的模型提供了更大的高级性能潜力,但它们也带来了更高的计算需求和能耗。另一方面,较小的模型可能会牺牲一些性能来提高可访问性和易于部署性。
Meta 发布的 Llama 3.1 405B 以及 70B 和 8B 等较小型号,通过提供一系列型号尺寸,它们满足了 AI 社区内不同的需求和偏好。大型和小型 LLM 之间的选择将取决于具体用例、可用资源和所需的性能特征。个人认为,这两种方法很可能会共存,每种方法都会在多样化的 AI 应用领域中找到自己的位置。
总结
Llama 3.1系列的发布,特别是405B模型,代表了对开源大型语言模型领域的显著贡献。虽然它的性能可能无法始终超越所有封闭模型,但它的功能以及 Meta 对透明度和协作的承诺为人工智能发展提供了一条新的道路。其次,多种模型尺寸和共享增强功能的可用性扩大了研究人员、开发人员和组织的潜在应用范围。通过公开分享这项技术,Meta 正在营造一种协作环境,从而加速该领域的进步。