要点:
- 今天,我们发布了 Llama 3.2,其中包括小型和中型视觉 LLM(11B 和 90B)以及适合边缘和移动设备的轻量级纯文本模型(1B 和 3B),包括预训练和指令调整版本。
- Llama 3.2 1B 和 3B 模型支持 128K 令牌的上下文长度,在同类产品中处于领先地位,适用于总结、指令跟踪和在边缘本地运行的重写任务等设备用例。这些模型在第一天就适用于 Qualcomm 和联发科硬件,并针对 Arm 处理器进行了优化。
- Llama 3.2 11B 和 90B 视觉模型得到了广泛生态系统的支持,是其相应文本模型的直接替代品,同时在图像理解任务上的表现优于封闭模型(例如 Claude 3 Haiku)。与其他开放多模态模型不同,预训练和对齐模型都可以使用 torchtune 针对自定义应用程序进行微调,并使用 torchchat 在本地部署。您也可以使用我们的智能助手 Meta AI 试用它们。
- 我们正在分享第一个官方Llama Stack发行版,这将极大地简化开发人员在不同环境中使用 Llama 模型的方式,包括单节点、本地、云和设备端,从而实现检索增强生成 (RAG) 和集成安全性的工具支持应用程序的交钥匙部署。
- 我们一直与 AWS、Databricks、Dell Technologies、Fireworks、Infosys 和 Together AI 等合作伙伴密切合作,为他们的下游企业客户构建 Llama Stack 发行版。设备上的分发是通过 PyTorch ExecuTorch进行的,单节点分发是通过 Ollama 进行的。
- 我们继续分享我们的工作,因为我们相信开放推动创新,对开发人员、Meta 和世界都有好处。Llama 已经在开放性、可修改性和成本效益方面处于领先地位——使更多人能够利用生成式人工智能实现富有创意、实用和改变生活的突破。
- 我们正在使 Llama 3.2 模型在llama.com和Hugging Face上可供下载,同时也可以在我们广泛的合作伙伴平台生态系统上立即开发,包括 AMD、AWS、Databricks、Dell、Google Cloud、Groq、IBM、Intel、Microsoft Azure、NVIDIA、Oracle Cloud、Snowflake 等。
自我们发布Llama 3.1以来的两个月里,我们对这些模型所产生的影响感到非常兴奋,其中包括405B — 第一个开放的前沿级 AI 模型。虽然这些模型非常强大,但我们认识到使用它们进行构建需要大量的计算资源和专业知识。我们也听说开发人员无法使用这些资源,但仍希望有机会使用 Llama 进行构建。正如 Meta 创始人兼首席执行官马克·扎克伯格今天在 Connect 上分享的那样,他们不必再等待了。今天,我们发布了 Llama 3.2,其中包括小型和中型视觉 LLM(11B 和 90B)以及适合特定边缘和移动设备的轻量级纯文本模型(1B 和 3B)。
从我们首次发布 Llama 到现在已经一年半了,我们在如此短的时间内取得了令人难以置信的进步。今年,Llama 实现了 10 倍的增长,成为负责任创新的标准。Llama 还在开放性、可修改性和成本效率方面继续保持领先地位,并且与封闭模型相比具有竞争力,甚至在某些领域处于领先地位。我们相信开放性推动创新,是正确的前进道路,这就是为什么我们继续与合作伙伴和开发者社区分享我们的研究成果并开展合作。
我们正在llama.com和Hugging Face上提供 Llama 3.2 模型的下载,同时也可以在我们广泛的合作伙伴平台生态系统上立即开发。合作伙伴是这项工作的重要组成部分,我们已经与 25 多家公司合作,包括 AMD、AWS、Databricks、Dell、Google Cloud、Groq、IBM、Intel、Microsoft Azure、NVIDIA、Oracle Cloud 和 Snowflake,以在第一天提供服务。对于 Llama 3.2 版本,我们还与设备合作伙伴 Arm、MediaTek 和 Qualcomm 合作,在发布时提供广泛的服务。从今天开始,我们还将向社区提供Llama Stack。有关最新版本的更多详细信息,包括有关欧洲多式联运可用性的信息,可在我们的可接受使用政策中找到。
认识 Llama 3.2
Llama 3.2 系列中最大的两个模型 11B 和 90B 支持图像推理用例,例如文档级理解(包括图表和图形)、图像字幕以及视觉基础任务(例如基于自然语言描述在图像中精确定位对象)。例如,一个人可以问一个问题,即他们的小企业去年哪个月的销售额最高,然后 Llama 3.2 可以根据可用的图表进行推理并快速提供答案。在另一个例子中,该模型可以使用地图进行推理并帮助回答问题,例如何时徒步旅行可能会变得更陡峭或地图上标记的特定路径的距离。11B 和 90B 模型还可以通过从图像中提取细节、理解场景,然后制作一两句话作为图像字幕来帮助讲述故事,从而弥合视觉和语言之间的差距。
轻量级 1B 和 3B 模型具有强大的多语言文本生成和工具调用功能。这些模型使开发人员能够构建个性化的设备代理应用程序,具有很强的隐私性,数据永远不会离开设备。例如,这样的应用程序可以帮助汇总最近收到的 10 条消息,提取操作项,并利用工具调用直接发送日历邀请以进行后续会议。
在本地运行这些模型具有两大优势。首先,由于处理是在本地完成的,因此提示和响应可以即时完成。其次,在本地运行模型可以保护隐私,因为不会将消息和日历信息等数据发送到云端,从而使整个应用程序更加私密。由于处理是在本地进行的,因此应用程序可以清楚地控制哪些查询保留在设备上,哪些查询可能需要由云端的更大模型来处理。
模型评估
我们的评估表明,Llama 3.2 视觉模型在图像识别和一系列视觉理解任务上与领先的基础模型 Claude 3 Haiku 和 GPT4o-mini 相媲美。3B 模型在遵循指令、总结、快速重写和工具使用等任务上的表现优于 Gemma 2 2.6B 和 Phi 3.5-mini 模型,而 1B 模型与 Gemma 相媲美。
我们对涵盖多种语言的 150 多个基准数据集进行了性能评估。对于视觉 LLM,我们根据图像理解和视觉推理的基准评估了性能。
视觉模型
作为首批支持视觉任务的 Llama 模型,11B 和 90B 模型需要支持图像推理的全新模型架构。
为了添加图像输入支持,我们训练了一组适配器权重,将预训练的图像编码器集成到预训练的语言模型中。适配器由一系列交叉注意层组成,这些层将图像编码器表示输入到语言模型中。我们在文本-图像对上训练了适配器,以使图像表示与语言表示对齐。在适配器训练期间,我们还更新了图像编码器的参数,但有意不更新语言模型参数。通过这样做,我们保持了所有纯文本功能不变,为开发人员提供了 Llama 3.1 模型的直接替代品。
我们的训练流程由多个阶段组成,从预训练的 Llama 3.1 文本模型开始。首先,我们添加图像适配器和编码器,然后在大规模噪声(图像、文本)对数据上进行预训练。接下来,我们在中等规模的高质量领域内和知识增强的(图像、文本)对数据上进行训练。
在后期训练中,我们使用与文本模型类似的方法,在监督微调、拒绝采样和直接偏好优化方面进行多轮对齐。我们利用 Llama 3.1 模型生成合成数据,在域内图像的基础上过滤和扩充问题和答案,并使用奖励模型对所有候选答案进行排名,以提供高质量的微调数据。我们还添加了安全缓解数据,以生成具有高安全水平的模型,同时保留模型的有用性
最终结果是一组可以同时接收图像和文本提示并深入理解和推理两者组合的模型。这是 Llama 模型向拥有更丰富代理能力迈出的又一步。
轻量级模型
正如我们在 Llama 3.1 中讨论的那样,可以利用强大的教师模型来创建性能更佳的小型模型。我们在 1B 和 3B 模型上使用了两种方法(修剪和提炼),使其成为首批能够高效适应设备的高性能轻量级 Llama 模型。
修剪使我们能够缩小 Llama 群中现有模型的大小,同时尽可能多地恢复知识和性能。对于 1B 和 3B 模型,我们采用了从 Llama 3.1 8B 中一次性使用结构化修剪的方法。这涉及系统地移除网络的某些部分并调整权重和梯度的大小,以创建一个更小、更高效的模型,同时保留原始网络的性能。
知识蒸馏使用较大的网络将知识传授给较小的网络,其理念是较小的模型使用教师可以获得比从头开始更好的性能。对于 Llama 3.2 中的 1B 和 3B,我们将 Llama 3.1 8B 和 70B 模型的对数合并到模型开发的预训练阶段,其中这些较大模型的输出(对数)被用作 token 级目标。修剪后使用知识蒸馏来恢复性能。
在后期训练中,我们使用与 Llama 3.1 类似的方法,通过在预训练模型的基础上进行几轮对齐来生成最终的聊天模型。每轮都涉及监督微调 (SFT)、拒绝采样 (RS) 和直接偏好优化 (DPO)。
在训练后,我们将上下文长度支持扩展到 128K 个 token,同时保持与预训练模型相同的质量。我们还参与了合成数据生成,经过仔细的数据处理和过滤以确保高质量。我们精心混合数据,以优化多项功能(如摘要、重写、指令遵循、语言推理和工具使用)的高质量。
为了让社区能够在这些模型上进行创新,我们与全球排名前两的移动片上系统 (SoC) 公司高通和联发科以及为99 %的移动设备提供基础计算平台的 Arm 密切合作。今天发布的权重基于 BFloat16 数值。我们的团队正在积极探索运行速度更快的量化变体,我们希望很快分享更多信息。
Llama Stack 发行版
7 月,我们发布了关于 Llama Stack API 的评论请求,这是一个用于规范工具链组件(微调、合成数据生成)的标准化接口,用于定制 Llama 模型和构建代理应用程序。参与度很高。
从那时起,我们一直在努力让 API 成为现实。我们为推理、工具使用和 RAG 构建了 API 的参考实现。此外,我们一直在与合作伙伴合作,使他们成为 API 的提供商。最后,我们引入了 Llama Stack Distribution,作为一种打包多个 API 提供商的方法,这些提供商可以很好地协同工作,为开发人员提供单一端点。我们现在与社区分享一种简化且一致的体验,使他们能够在多种环境中使用 Llama 模型,包括本地、云、单节点和设备上。
全套发布内容包括:
- Llama CLI(命令行界面)用于构建、配置和运行 Llama Stack 发行版
- 多种语言的客户端代码,包括 python、node、kotlin 和 swift
- Llama Stack 分发服务器和代理 API 提供程序的 Docker 容器
- 多个分布
- 通过 Meta 内部实现和 Ollama 进行单节点 Llama Stack 分发
- 通过 AWS、Databricks、Fireworks 和 Together 分发的 Cloud Llama Stack
- 通过 PyTorch ExecuTorch 实现 iOS 设备上的 Llama Stack Distribution
- 戴尔支持本地部署 Llama Stack Distribution
我们期待与开发人员和合作伙伴合作,简化使用 Llama 模型构建的各个方面,并欢迎反馈。
系统级安全
采取开放态度有很多好处。它有助于确保全世界更多的人能够获得人工智能提供的机会,防止权力集中在少数人手中,并在整个社会更公平、更安全地部署技术。在我们不断创新的同时,我们还希望确保我们能够让开发人员构建安全、负责任的系统。
在我们之前发布的版本和持续努力支持负责任的创新的基础上,今天我们为保障措施系列添加了新的更新:
- 首先,我们发布了 Llama Guard 3 11B Vision,旨在支持 Llama 3.2 的新图像理解功能并过滤文本+图像输入提示或对这些提示的文本输出响应。
- 其次,随着我们发布 1B 和 3B Llama 模型以在设备端等更受限制的环境中使用,我们还优化了 Llama Guard,大幅降低了其部署成本。Llama Guard 3 1B 基于 Llama 3.2 1B 模型,经过精简和量化,其大小从 2,858 MB 缩减至 438 MB,使其部署效率比以往任何时候都更高。
这些新的解决方案已集成到我们的参考实现、演示和应用程序中,可供开源社区在第一天使用。
立即试用 Llama 3.2
Llama 3.2 有望覆盖比以往更多的人,并实现令人兴奋的新用例。我们认为与开源社区分享这些模型是不够的。我们希望确保开发人员也拥有使用 Llama 负责任地构建所需的工具。作为我们持续负责任的发布工作的一部分,我们为开发人员提供了新的工具和资源,并且一如既往,我们将在负责任使用指南中更新最佳实践。
我们继续分享 Llama 生态系统的最新进展,因为我们相信开放性可以推动创新,对开发者、Meta 和世界都有好处。我们很高兴继续与我们的合作伙伴和开源社区进行对话,并且一如既往,我们迫不及待地想看到社区使用 Llama 3.2 和 Llama Stack 构建了什么。
这项工作得到了整个 AI 社区合作伙伴的支持。我们要感谢并致谢(按字母顺序):埃森哲、AMD、Arm、AWS、Cloudflare、Databricks、戴尔、德勤、Fireworks.ai、谷歌云、Groq、Hugging Face、IBM watsonx、Infosys、英特尔、Kaggle、联想、LMSYS、联发科、微软 Azure、NVIDIA、OctoAI、Ollama、甲骨文云、普华永道、高通、Sarvam AI、Scale AI、Snowflake、Together AI 和加州大学伯克利分校 – vLLM 项目。