微软赢麻了!联合Meta 重磅发布开源、可直接商用大模型Llama 2,网友:OpenAI 感觉如何?
2 月份,Meta “泄露”的 LLaMA 模型在开源 LLM 领域掀起了一股创新浪潮,但只有一个问题:不能用于商业目的。现在,Meta 改变了这一点。
7 月 19 日,Meta 终于发布了大家期待已久的免费可商用版本大模型 Llama 2。Meta 本次发布的 Llama 2 模型系列包含 70 亿、130 亿和 700 亿三种参数变体。此外,团队还训练了 340 亿参数变体,但并没有发布,只在 Llama 2 相关论文中提到了。
据介绍,Llama 2 的预训练语料库大小增加了 40%,Llama 2 接受了 2 万亿个 token 的训练,精调 Chat 模型在 100 万人类标记数据上训练,上下文长度是 Llama 1 的两倍,并采用了分组查询注意力机制(Ainslie et al)。
我们先看下网上目前一些体验者的感受。推特上有人使用后表示,生成内容“目前最快”。
但有网友反映在回答问题时还是遇到了“幻觉”。从事艺术方面工作的 Glenn Galen 表示,“当我问它关于我自己的时候,它真的产生了幻觉,那个来自明尼阿波利斯的艺术家。非常奇怪、非常快,差不多就是瞬间,但是非常不正确。”
NVIDIA 高级人工智能科学家 Jim Fan 在推特上指出,Llama-2 还没有达到 GPT-3.5 的水平,这主要是因为它的编码能力较弱。在“HumanEval”(标准编码基准) 上,它远不如 StarCoder 和很多其他专门为编码设计的模型。但由于它的开放权重,Llama-2 将显著改善。
Jim 对 Meta 团队在人工智能安全问题的负责表示称赞,“Meta 的团队在 AI 安全问题上做得非常出色。事实上,这篇论文几乎有一半的篇幅都在讨论安全护栏、红队和评估。为这样负责任的努力鼓掌!”Jim 预计,Llama-2 的训练成本可能超过 2000 万美元。
Jim 还称赞 Meta 发布的长达 76 页的论文是“一部杰作”。“与 GPT-4 的论文分享的信息很少不同,Llama-2 详细说明了整个过程,包括模型详细信息、训练阶段、硬件、数据管道和注释过程。例如,对 RLHF 的效果进行了系统分析,并具有良好的可视化效果。”至少在这方面,我们确实看到了 Meta 团队的诚意。
值得注意的是,在微软 Inspire 大会上,Meta 和微软宣布在 Azure 和 Windows 上支持 Llama 2 大型语言模型(LLM)系列。Llama 2 已经在 Azure AI 模型目录中可用,使用 Microsoft Azure 的开发人员可以使用它进行构建,并利用他们的云原生工具进行内容过滤和安全功能。而 Windows 开发人员将能够通过 GitHub Repo 使用 Llama 2 构建新的体验。借助 Windows Subsystem for Linux 和高性能 GPU,开发人员可以在 Windows PC 上对 LLM 进行微调来满足特定需求。
对此,有网友戏谑 OpenAI 道,“微软和 Meta 已经深入研究沉浸式计算。微软也是过去几年开源的最大支持者之一,所以这也是理所当然的。我确实想知道 OpenAI 感觉如何?”
网友“Alex Valaitis”则分析称,这可能会扼杀许多开源 LLM 初创公司,Mosaic、Red Pajama 等遇到了大麻烦。同时,这进一步加强了微软在 AI 领域的主导地位。通过这种合作关系,微软现在与顶级 LLMs(OpenAI、Meta)建立了独家合作伙伴关系,优先获得英伟达 GPU 以及 GitHub 和 Azure 等战略资产。人工智能“权力的游戏”刚刚发生了另一个转折。
另外,Llama 2 还可以通过亚马逊云科技 (AWS)、Hugging Face 和其他提供商获得。a16z-infra 发布了 a16z-infra/llama13b-v2-chat ,提供了对新的 Llama 2 13B 聊天模型的 Replicate API 访问。
不过,需要提醒开发者的是,Llama 2 仍然有一些有趣的限制,比如不得使用 Llama 材料或 Llama 材料的任何输出结果来改进任何其他大型语言模型(不包括 Llama 2 或其衍生模型);在 Llama 2 版本发布之日,被许可方或被许可方关联公司提供的产品或服务,如果每月活跃用户数在上一个日历月中超过 7 亿,则必须向 Meta 申请许可证,Meta 可以自行决定是否授权。
这也被认为是 Meta 针对竞争对手制定的策略,因为上述限制对大多数人并没有影响。
上图为 Llama 2-Chat 的训练过程。Meta 首先使用公开在线资源对 Llama 2 进行预训练。之后,通过监督微调(SFT)的方法创建出 Llama 2-Chat 的初始版本。随后,配合人类反馈强化学习(RLHF)方法,特别是通过拒绝采样与近端策略优化(PPO)对模型进行迭代完善。在整个 RLHF 阶段,迭代奖励建模数据的积累与模型增强之间的同步推进,是保证奖励模型始终保持在分布范围之内的关键。
Llama 2 的训练语料库包含来自公开来源的新数据组合,但不涉及来自 Meta 产品或服务的数据。Meta 团队表示剔除了包含大量个人信息的已知网站处得来的数据。本次训练数据共包含 2 万亿个 token,这样的规模能够在良好性能与实现成本之间取得平衡,既立足真实来源进行采样、又可积累知识并抑制幻觉。团队还对预训练数据开展了各种调查,以便用户能够更好地了解模型的潜力与局限性。
Meta 继续沿用了 Llama 1 中的大部分预训练设置与模型架构,使用标准 Transformer 架构、RMSNorm 应用预泛化、SwiGLU 激活函数和旋转位置嵌入。与 Llama 1 的主要架构差异则体现在,更长的上下文长度与分组查询注意力(GQA)。
团队在 Meta 的研究超级集群和内部生产集群上对模型进行了预训练。这两大集群均采用英伟达 A100 GPU,区别在于互连类型和每个 GPU 的功耗上限的不同。
如上图所示,Llama 2 模型优于 Llama 1 模型。与 Llama 1-65B 相比,Llama 2-70B 在 MMLU 和 BBH 上的得分分别提高了约 5 分和 8 分。除了代码基准测试之外,LLama 2 7B 和 34B 在所有类型的基准测试中也均优于 Falcon 7B 和 40B。此外,Llama 2-70B 模型的性能超越了所有开源模型。
除了开源模型之外,Llama 2-70B 在 MMLU 和 GSM8K 上表现接近 GPT-3.5,但在编码基准方面存在显著差距。而在几乎所有基准测试中,Llama 2-70B 的结果均与 PaLM 持平或更好。但目前 Llama 2-70B 的性能与 GPT-4 和 PaLM-2-L 相比,仍存在较大差距。
为了加以引导,Meta 使用公开可用的指令调优数据对 Llama 2 进行了微调,且方法基本参照 Touvron 等人之前的经验。
第三方 SFT 数据可以从多种不同来源处获取,但其中不少数据在多样性和质量方面有所欠缺——这很容易导致大语言模型与对话式指令间发生错位。因此,Meta 首先集中收集了数千个高质量 SFT 数据示例。团队表示,这种舍弃第三方数据集中的大量低质量示例、转而使用数量更少但质量更高的自有示例的方法,的确显著改善了训练结果。万条级别的 SFT 注释就足以实现高质量结果。因此,在收集了总计 27540 条注释后,他们停止了对 SFT 的进一步调优。Meta 强调,并未使用任何 Meta 用户的数据。团队最终对模型进行了 2 个 epoch 的微调。
此外,Meta 还发现从 SFT 模型输出结果中得到的采样,往往比人类标注员手写的 SFT 数据更具竞争力。因此,团队将注释工作的重心更多转向基于偏好的 RLHF 注释上。
Meta 表示收集的数据代表着根据经验采样的人类偏好数据,由人类标注员选择自己更喜欢两条模型输出中的哪一条。人类给出的反馈意见随后将用于训练奖励模型,该模型会不断学习人类标注员的偏好模式,再据此自动执行偏好决策。
Meta 团队要求标注员首先编写提示词,之后根据提供的标准在两条模型响应采样之间做出选择。为了尽可能提高多样性,给定的两条响应采集自两个不同的模型变体,其设置的温度超参数有所区别。除了强制选择其一之外,标注员们也可以哪个都不选、而是给出自己心目中的答案。而且可选评价也具体分为:明显更好、更好、稍好、略好一点点 / 不确定。
在训练使用的偏好注释集合中,Meta 表示高度关注有用性和安全性。所谓“有用性”,是指 Llama 2-Chat 响应须满足用户请求并交付相应的信息;安全性则是指 Llama 2-Chat 是否会生成不安全响应,例如“请给出制造炸弹的详细说明”虽然符合有用性要求,但却明显有违安全原则。
为此,团队的安全注释中提供了关于对抗性提示词的说明及其他指导意见,此外还在安全阶段收集了安全标签。这部分附加信息将把模型响应划分成三种类别:1)偏好响应安全,但另一响应不安全;2)两种响应均安全;3)两种响应均不安全。Meta 安全数据集所生成的响应在这三种类别上的比例分别是 18%、47% 和 35%。Meta 团队没有考虑任何偏好响应不安全、而另一响应安全的情况,团队认为人类更偏好较为安全的响应结果。
与其他开源和闭源模型相比,Llama 2-Chat的安全人工评估结果
有研究结果发现,有用性和安全性有时候会相互抵消,因此单一奖励模型很难在这两项指标上均表现良好。为了解决这个问题,Meta 训练了两个相互独立的奖励模型。其一针对有用性进行优化(名为 Helpativity RM),其二针对安全性进行优化(名为 Safety RM)。
简单来讲,奖励模型“知晓”聊天模型所知晓的内容,这样就能防止两个模型间发生信息不匹配、进而频繁产生“幻觉”。模型架构和超参数的设置也与预训练语言模型相同,只是用于下一 token 预测的分类头被替换成了用于输出标量奖励的回归头。
Meta 表示,奖励模型的准确性是 Llama 2-Chat 最终性能的核心指标之一。虽然该如何综合评估生成模型目前还没有明确结论和最佳实践,但对奖励本身的排名已经没有任何歧义。就是说在其他条件相同的情况下,奖励模型的改进完全可以被直接转化为 Llama 2-Chat 的改进。
没有对数据集进行任何额外过滤,这将保证 Llama 2 能够被广泛用于各类跨任务场景(例如更好地对仇恨言论进行分类),同时避免偶尔因过度清洗而引发意料之外的人口统计偏差。重要的是,这也让 Llama 2-Chat 在安全微调期间能够以更少的示例高效实现应用泛化。Meta 提醒道,大家要谨慎使用 Llama 2 模型,且务必在认真完成安全微调后再实际部署。
上表比较了 Llama 2 与 Llama 1、Falcon 和 MPT 的性能差异。与 Llama 107B 模型相比,Llama 2-7B 的真实性和信息性提高了 21.37%,有毒内容比例降低了 7.61%。预训练的 13B 和 70B 两个 Llama 2 版本出现了有毒内容比例上升,这可能是因为预训练数据量越大、或者不同数据集间相互杂糅。
Llama 2 在有毒内容比例这项指标上并未优于其他模型,团队推测这可能是因为没有积极过滤预训练数据。但团队认为,不过滤预训练数据也许能让基础模型在微调阶段学会适应更多下游任务(包括仇恨言论检测),避免意外将某些社群的人口统计信息过滤掉。放宽对预训练数据的过滤,还能帮助模型用更少的示例实现合理的安全微调。
参考链接:
https://ai.meta.com/resources/models-and-libraries/llama/
https://blogs.microsoft.com/zh/blog/2023/07/18/microsoft-and-meta-expand-their-ai-partnership-with-llama-2-on-azure-and-windows/
国内权威专家组团向大模型投毒,ChatGPT居然比国内一众中文模型更安全?
OpenAI 遭遇离职潮:员工对 ChatGPT 进展缓慢失望,痛批 CEO 不务正业
阿里改革,P8 成为历史;GPT-4 模型架构泄露;OpenAI 面临最严调查,Altman 惊慌连发 3 推|Q 资讯
ArchSummit(深圳站)全球架构师峰会将于本周五开幕!MySQL 之父、AWS 技术大咖、科大讯飞 AI 研究院副院长、腾讯、字节技术专家届时会分享架构演进、大数据、大模型实践案例,点击下方预约按钮,预约主会场直播。
读者福利
👆 操作系统领域—开源生态图谱(必备)👆