Llama 3.2:利用开放、可定制的模型实现边缘人工智能和视觉革命
在我们发布 Llama 3.1 模型群后的两个月内,包括 405B - 第一个开放的前沿级人工智能模型在内,它们所产生的影响令我们兴奋不已。 虽然这些模型非常强大,但我们也认识到,使用它们进行构建需要大量的计算资源和专业知识。 我们也听到一些开发人员说,他们没有这些资源,但仍然希望有机会使用 Llama 进行构建。 正如 Meta 创始人兼首席执行官马克-扎克伯格(Mark Zuckerberg)今天在 Connect 大会上所分享的,他们不必再等待了。 今天,我们发布了 Llama 3.2,其中包括适合特定边缘和移动设备的中小型视觉 LLM(11B 和 90B)和轻量级纯文字模型(1B 和 3B)。
从我们首次发布 Llama 到现在只有一年半的时间,我们在如此短的时间内取得了令人难以置信的进展。 今年,Llama 实现了 10 倍的增长,成为负责任创新的标准。 在开放性、可修改性和成本效益方面,Llama 也继续处于领先地位,与封闭模式相比,它具有很强的竞争力,甚至在某些领域处于领先地位。 我们相信,开放性能够推动创新,也是正确的发展道路,这也是我们继续与合作伙伴和开发者社区分享研究成果并开展合作的原因。
我们将在 llama.com 和 Hugging Face 上提供 Llama 3.2 模型下载,并在我们广泛的合作伙伴平台生态系统上提供即时开发。 合作伙伴是这项工作的重要组成部分,我们已经与超过 25 家公司合作,包括 AMD、AWS、Databricks、戴尔、谷歌云、Groq、IBM、英特尔、微软 Azure、英伟达(NVIDIA)、甲骨文云(Oracle Cloud)和 Snowflake,以便在第一天就提供服务。 在Llama 3.2版本中,我们还与设备合作伙伴Arm、联发科(MediaTek)和高通(Qualcomm)合作,在发布时提供广泛的服务。 从今天开始,我们还将向社区提供 Llama Stack。 有关最新版本的更多详情,包括欧洲多模式可用性的信息,请参阅我们的可接受使用政策。
Meet 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 模型的对数纳入了模型开发的预训练阶段,这些较大模型的输出(对数)被用作标记级目标。 在剪枝之后,我们使用知识提炼来恢复性能。
在后期训练中,我们使用与 Llama 3.1 类似的方法,通过在预训练模型的基础上进行多轮对齐来生成最终的聊天模型。 每一轮都包括监督微调 (SFT)、拒绝采样 (RS) 和直接偏好优化 (DPO)。
在后期训练中,我们将上下文长度支持扩展到 128K 标记,同时保持与预训练模型相同的质量。 我们还参与合成数据的生成,对数据进行仔细处理和过滤,以确保高质量。 我们仔细混合数据,以优化摘要、改写、指令遵循、语言推理和工具使用等多种能力的质量。
为了让社区能够在这些模型上进行创新,我们与高通公司和联发科公司(全球前两大移动系统芯片(SoC)公司)以及为 99% 的移动设备提供基础计算平台的 Arm 公司密切合作。 今天发布的权重基于 BFloat16 数值。 我们的团队正在积极探索运行速度更快的量化变体,希望不久能分享更多相关信息。
Llama Stack distributions
今年七月,我们发布了关于 Llama Stack API 的意见征集,这是一个标准化接口,用于规范工具链组件(微调、合成数据生成),以定制 Llama 模型并构建代理应用程序。
从那时起,我们就一直在努力实现 API。 我们为推理、工具使用和 RAG 构建了 API 的参考实施。 此外,我们还与合作伙伴合作,使他们成为 API 的提供者。 最后,我们还推出了 Llama Stack Distribution(Llama 堆栈分发),作为一种打包多个 API 提供商的方法,这些 API 提供商可以很好地协同工作,为开发人员提供一个单一的端点。 现在,我们正在与社区分享一种简化且一致的体验,使他们能够在多种环境(包括内部部署、云、单节点和设备)中使用 Llama 模型。
全套版本包括
- 用于构建、配置和运行 Llama Stack 发行版的 Llama CLI(命令行界面)
- 多种语言的客户端代码,包括 python、node、kotlin 和 swift
- 用于 Llama Stack 发行版服务器和代理 API 提供商的 Docker 容器
- 多种发行版
- 通过 Meta 内部实现和 Ollama 实现单节点 Llama 堆栈分发
- 通过 AWS、Databricks、Fireworks 和 Together 进行云计算Llama Stack distributions
- 通过 PyTorch ExecuTorch 在 iOS 上实现设备上的 Llama Stack 发行版
- 戴尔支持内部部署的 Llama Stack Distribution
我们期待与开发人员和合作伙伴合作,简化使用 Llama 模型构建的各个方面,并欢迎反馈意见。
系统级安全
采取开放的方法有很多好处。 它有助于确保全世界更多的人能够获得人工智能提供的机会,防止权力集中在少数人手中,并在全社会更公平、更安全地部署技术。 在我们不断创新的同时,我们也希望确保我们能够授权开发人员构建安全、负责任的系统。
基于我们先前的发布以及不断努力支持负责任的创新,今天,我们正在为保障措施系列添加新的更新:
- 首先,我们将发布Llama Guard 3 11B Vision,该Vision旨在支持Llama 3。2 ’的新图像理解功能,并过滤文本+图像输入提示或对这些提示的文本输出响应。
- 其次,当我们发布1B和3B Llama模型以用于更受约束的环境(例如设备上)时,我们还对Llama Guard进行了优化,以大大降低其部署成本。Llama Guard 3 1B基于Llama 3。2 1B模型,并已进行修剪和量化,使其大小从2,858 MB降至438 MB,从而使其部署效率比以往更高。
这些新解决方案已集成到我们的参考实现,演示和应用程序中,并已准备好供开源社区在第一天使用。
Huggingface
除了现有的支持文本的 Llama 3.1 8B、70B 和 405B 模型外,Llama 3.2 还支持多模态用例。 您现在可以使用 Meta 的四种新 Llama 3.2 模型(90B、11B、3B 和 1B)来构建、实验和扩展您的创意想法:
Llama 3.2 90B Vision(文本+图像输入)–Meta 最先进的模型,是企业级应用的理想选择。 该模型擅长常识、长文本生成、多语言翻译、编码、数学和高级推理。 它还引入了图像推理功能,可用于图像理解和视觉推理任务。 该模型非常适合以下用例:图像标题、图像文本检索、视觉基础、视觉问题解答和视觉推理,以及文档视觉问题解答。
Llama 3.2 11B Vision(文本+图像输入)–非常适合内容创建、对话式人工智能、语言理解和需要视觉推理的企业应用。 该模型在文本摘要、情感分析、代码生成和执行指令方面表现出色,并增加了图像推理能力。 该模型的用例与 90B 版本类似:图像标题、图像文本检索、视觉基础、视觉问题解答和视觉推理,以及文档视觉问题解答。
Llama 3.2 3B(文本输入)–专为需要低延迟推理和有限计算资源的应用而设计。 它擅长文本摘要、分类和语言翻译任务。 该模型非常适合以下用例:人工智能驱动的移动写作助手和客户服务应用。
Llama 3.2 1B(文本输入)- Llama 3.2 模型系列中最轻量级的模型,非常适合边缘设备和移动应用程序的检索和摘要。 该模型非常适合以下用例:个人信息管理和多语言知识检索。