模型简介
模型特点
模型能力
使用案例
🚀 Llama 3.2-Vision模型
Llama 3.2-Vision是多模态大语言模型集合,包含11B和90B两种规格。它经过预训练和指令调优,在视觉识别、图像推理、图像描述和图像问答等任务上表现出色,在行业基准测试中超越了许多开源和闭源的多模态模型。
🚀 快速开始
你可以使用transformers
库或原始的llama
代码库来运行Llama 3.2-90B-Vision模型的推理。
使用transformers库
从transformers >= 4.45.0
版本开始,你可以根据提供的图像和起始提示生成文本。
确保通过以下命令更新transformers
库:
pip install --upgrade transformers
以下是一个使用示例:
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-90B-Vision"
model = MllamaForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
prompt = "<|image|><|begin_of_text|>If I had to write a haiku for this one"
inputs = processor(image, prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
使用原始llama
代码库
请按照仓库中的说明进行操作。
你可以使用huggingface-cli
下载原始检查点:
huggingface-cli download meta-llama/Llama-3.2-90B-Vision --include "original/*" --local-dir Llama-3.2-90B-Vision
✨ 主要特性
- 多模态能力:支持图像和文本输入,输出文本,适用于多种图像推理任务。
- 多种语言支持:文本任务支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语;图像+文本应用仅支持英语。
- 高性能表现:在多个标准自动基准测试中表现出色,超越了许多现有模型。
- 可定制性:开发者可以根据需要对模型进行微调。
📦 安装指南
使用transformers
库时,确保通过以下命令更新到最新版本:
pip install --upgrade transformers
💻 使用示例
基础用法
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-90B-Vision"
model = MllamaForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
prompt = "<|image|><|begin_of_text|>If I had to write a haiku for this one"
inputs = processor(image, prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
高级用法
开发者可以根据具体需求对模型进行微调,以适应不同的任务和场景。
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | 基于Llama 3.1文本模型构建,使用优化的Transformer架构,调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF) |
训练数据 | 6B图像和文本对,指令调优数据包括公开可用的视觉指令数据集和超过300万个合成生成的示例 |
支持语言 | 文本任务:英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语;图像+文本应用:仅英语 |
模型发布日期 | 2024年9月25日 |
状态 | 静态模型,未来可能会发布改进版本 |
许可证 | Llama 3.2社区许可证 |
反馈 | 有关模型的问题或评论,请参考模型README;有关生成参数和使用方法的技术信息,请参考这里 |
预期用途
- 预期用例:商业和研究用途,包括视觉问答、文档视觉问答、图像描述、图像文本检索和视觉定位等。
- 超出范围:违反适用法律法规的使用,违反可接受使用政策和Llama 3.2社区许可证的使用,使用模型不支持的语言。
硬件和软件
- 训练因素:使用自定义训练库、Meta的自定义GPU集群和生产基础设施进行预训练,微调、注释和评估也在生产基础设施上进行。
- 训练能源使用:在H100-80GB(TDP为700W)类型的硬件上累计使用了202万个GPU小时进行训练。
- 训练温室气体排放:基于位置的估计总温室气体排放量为584吨CO2eq,基于市场的总温室气体排放量为0吨CO2eq。
训练数据
- 概述:Llama 3.2-Vision在6B图像和文本对上进行预训练,指令调优数据包括公开可用的视觉指令数据集和超过300万个合成生成的示例。
- 数据新鲜度:预训练数据截止到2023年12月。
基准测试 - 图像推理
基础预训练模型
类别 | 基准测试 | 样本数 | 指标 | Llama 3.2 11B | Llama 3.2 90B |
---|---|---|---|---|---|
图像理解 | VQAv2 (val) | 0 | 准确率 | 66.8 | 73.6 |
Text VQA (val) | 0 | 宽松准确率 | 73.1 | 73.5 | |
DocVQA (val, unseen) | 0 | ANLS | 62.3 | 70.7 | |
视觉推理 | MMMU (val, 0-shot) | 0 | 微观平均准确率 | 41.7 | 49.3 |
ChartQA (test) | 0 | 准确率 | 39.4 | 54.2 | |
InfographicsQA (val, unseen) | 0 | ANLS | 43.2 | 56.8 | |
AI2 Diagram (test) | 0 | 准确率 | 62.4 | 75.3 |
指令调优模型
模态 | 能力 | 基准测试 | 样本数 | 指标 | Llama 3.2 11B | Llama 3.2 90B |
---|---|---|---|---|---|---|
图像 | 大学水平问题和数学推理 | MMMU (val, CoT) | 0 | 微观平均准确率 | 50.7 | 60.3 |
MMMU-Pro, Standard (10 opts, test) | 0 | 准确率 | 33.0 | 45.2 | ||
MMMU-Pro, Vision (test) | 0 | 准确率 | 23.7 | 33.8 | ||
MathVista (testmini) | 0 | 准确率 | 51.5 | 57.3 | ||
图表和图表理解 | ChartQA (test, CoT) | 0 | 宽松准确率 | 83.4 | 85.5 | |
AI2 Diagram (test) | 0 | 准确率 | 91.1 | 92.3 | ||
DocVQA (test) | 0 | ANLS | 88.4 | 90.1 | ||
一般视觉问答 | VQAv2 (test) | 0 | 准确率 | 75.2 | 78.1 | |
文本 | 一般 | MMLU (CoT) | 0 | 宏观平均准确率 | 73.0 | 86.0 |
数学 | MATH (CoT) | 0 | 最终精确匹配率 | 51.9 | 68.0 | |
推理 | GPQA | 0 | 准确率 | 32.8 | 46.7 | |
多语言 | MGSM (CoT) | 0 | 精确匹配率 | 68.9 | 86.9 |
责任与安全
负责任的部署
- 方法:Llama是一种基础技术,旨在用于各种用例。Meta的Llama模型负责任部署的示例可在社区故事网页中找到。开发者应根据具体用例部署系统安全措施。
- Llama 3.2 Instruct:安全微调的主要目标是为研究社区提供有价值的资源,为开发者提供安全强大的模型。采用多方面的数据收集方法,注重模型拒绝良性提示和拒绝语气。
- Llama 3.2系统:大型语言模型不应单独部署,而应作为整体AI系统的一部分,并根据需要添加额外的安全护栏。开发者在构建代理系统时应部署系统安全措施。
新功能和用例
- 技术进步:Llama的发布通常会引入新功能,需要额外考虑。对于Llama 3.2支持的先前版本功能,请参考Llama 3.1模型卡。
- 图像推理:Llama 3.2-Vision模型具有多模态输入能力,可实现图像推理应用。在负责任的发布过程中,采取了专门措施来解决模型在图像中唯一识别个人的风险。
评估
- 大规模评估:构建了专门的对抗性评估数据集,评估由Llama模型和Purple Llama安全措施组成的系统。建议为具体用例构建专门的评估数据集。
- 红队测试:进行定期的红队测试,以发现风险并改进基准和安全调优数据集。与关键风险领域的专家合作,确定红队的对抗性目标。
关键风险
- CBRNE(化学、生物、放射、核和爆炸武器):对Llama 3.2-Vision模型进行了额外的针对性评估,发现与Llama 3.1相比,其图像理解能力不太可能增加科学能力。
- 儿童安全:使用专家团队进行儿童安全风险评估,通过微调减轻风险。在Llama 3模型开发过程中,利用专家红队测试扩展评估基准的覆盖范围。
- 网络攻击:认为对Llama 3.1进行的测试也适用于Llama 3.2,因为Llama 3.2的视觉能力与网络提升一般无关。
社区
- 行业合作:积极参与开放联盟,为安全标准化和透明度做出贡献。鼓励社区采用MLCommons概念验证评估等分类法,促进安全和内容评估的协作和透明度。
- 资助计划:设立Llama影响资助计划,支持对社会有益的应用。
- 报告机制:建立了输出报告机制和漏洞赏金计划,以持续改进Llama技术。
伦理考虑和局限性
- 价值观:Llama 3.2的核心价值观是开放性、包容性和实用性。旨在为所有人服务,适用于广泛的用例。
- 测试:Llama 3.2是新技术,使用时存在风险。在部署模型应用之前,开发者应进行安全测试和调优。请参考负责任使用指南、信任和安全解决方案和其他资源了解更多信息。
🔧 技术细节
模型架构
Llama 3.2-Vision基于Llama 3.1文本模型构建,使用优化的Transformer架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来与人类的有用性和安全性偏好对齐。为支持图像识别任务,模型使用了一个单独训练的视觉适配器,该适配器由一系列交叉注意力层组成,将图像编码器表示输入到核心大语言模型中。
训练数据
模型在6B图像和文本对上进行预训练,指令调优数据包括公开可用的视觉指令数据集和超过300万个合成生成的示例。预训练数据截止到2023年12月。
训练方法
使用自定义训练库、Meta的自定义GPU集群和生产基础设施进行预训练,微调、注释和评估也在生产基础设施上进行。训练过程中使用了监督微调(SFT)和基于人类反馈的强化学习(RLHF)。
📄 许可证
使用Llama 3.2受Llama 3.2社区许可证(自定义商业许可协议)的约束。
LLAMA 3.2社区许可协议
Llama 3.2版本发布日期:2024年9月25日
“协议”指的是本文中规定的使用、复制、分发和修改Llama材料的条款和条件。
“文档”指的是Meta在https://llama.meta.com/doc/overview 上分发的随Llama 3.2附带的规格、手册和文档。
“被许可方”或“您”指的是您,或者您的雇主,或者任何其他个人或实体(如果您代表该个人或实体签订本协议),且该个人或实体达到适用法律、规则或法规要求的提供法律同意的年龄,并且如果您代表他们签订本协议,具有约束您的雇主或该其他个人或实体的法律权力。
“Llama 3.2”指的是基础大语言模型以及软件和算法,包括机器学习模型代码、训练好的模型权重、支持推理的代码、支持训练的代码、支持微调的代码以及Meta在https://www.llama.com/llama-downloads 上分发的上述内容的其他元素。
“Llama材料”指的是Meta根据本协议提供的专有Llama 3.2和文档(及其任何部分)的统称。
“Meta”或“我们”指的是Meta Platforms Ireland Limited(如果您位于欧洲经济区或瑞士,或者如果您是一个实体,您的主要营业地位于欧洲经济区或瑞士)以及Meta Platforms, Inc.(如果您位于欧洲经济区或瑞士以外)。
通过点击下面的“我接受”,或者通过使用或分发Llama材料的任何部分或元素,您同意受本协议的约束。
- 许可权利和再分发
a. 权利授予。您被授予在Meta体现在Llama材料中的知识产权或其他权利下的非排他性、全球性、不可转让且免版税的有限许可,以使用、复制、分发、拷贝、创作衍生作品并对Llama材料进行修改。
b. 再分发和使用
i. 如果您分发或提供Llama材料(或其任何衍生作品),或者包含其中任何内容的产品或服务(包括另一个AI模型),您应(A)随任何此类Llama材料提供本协议的副本;并且(B)在相关网站、用户界面、博客文章、关于页面或产品文档上显著显示“Built with Llama”。如果您使用Llama材料或Llama材料的任何输出或结果来创建、训练、微调或以其他方式改进一个AI模型,并进行分发或提供该模型,您还应在任何此类AI模型名称的开头包含“Llama”。
ii. 如果您作为集成最终用户产品的一部分从被许可方处接收Llama材料或其任何衍生作品,则本协议第2条不适用于您。
iii. 您必须在您分发的所有Llama材料副本中,在作为此类副本一部分分发的“通知”文本文件中保留以下归属声明:“Llama 3.2根据Llama 3.2社区许可证获得许可,版权所有 © Meta Platforms, Inc. 保留所有权利。”
iv. 您对Llama材料的使用必须符合适用的法律和法规(包括贸易合规法律和法规),并遵守Llama材料的可接受使用政策(可在https://www.llama.com/llama3_2/use-policy 上获取),该政策特此通过引用并入本协议。
-
额外商业条款。如果在Llama 3.2版本发布日期,被许可方或被许可方的关联方提供的产品或服务在前一个日历月的月活跃用户数超过7亿,则您必须向Meta请求许可,Meta可自行决定是否授予您许可,并且在Meta明确授予您此类权利之前,您无权行使本协议下的任何权利。
-
warranty免责声明。除非适用法律要求,Llama材料及其任何输出和结果均按“现状”提供,不提供任何形式的保证,Meta否认所有形式的保证,包括但不限于所有权、不侵权、适销性或特定用途适用性的保证。您独自负责确定使用或再分发Llama材料的适当性,并承担与您使用Llama材料及其任何输出和结果相关的任何风险。
-
责任限制。在任何情况下,Meta或其关联方均不对因本协议引起的任何利润损失或任何间接、特殊、后果性、偶发性、惩戒性或惩罚性损害承担责任,无论责任理论为何,包括合同、侵权、疏忽、产品责任或其他方面,即使Meta或其关联方已被告知此类损害的可能性。
-
知识产权
a. 本协议未授予商标许可,并且与Llama材料相关,Meta和被许可方均不得使用对方或其任何关联方拥有或关联的任何名称或标记,除非在描述和再分发Llama材料时进行合理和惯常使用所需,或如本节5(a)所述。Meta特此授予您仅在遵守第1.b.i条最后一句的要求时使用“Llama”(“标记”)的许可。您将遵守Meta的品牌指南(目前可在https://about.meta.com/brand/resources/meta/company-brand/ 上获取)。因您使用标记而产生的所有商誉将归属于Meta的利益。
b. 鉴于Meta对Llama材料及其为Meta制作的衍生作品的所有权,就您制作的Llama材料的任何衍生作品和修改而言,在您和Meta之间,您是且将是此类衍生作品和修改的所有者。
c. 如果您对Meta或任何实体提起诉讼或其他程序(包括在诉讼中的反诉或反请求),声称Llama材料或Llama 3.2的输出或结果,或上述任何部分,构成侵犯您拥有或可许可的知识产权或其他权利,则本协议授予您的任何许可将自提起此类诉讼或请求之日起终止。您将赔偿并使Meta免受因您使用或分发Llama材料而引起的或与之相关的任何第三方索赔。
-
期限和终止。本协议的期限将自您接受本协议或访问Llama材料时开始,并将持续有效,直至根据本文的条款和条件终止。如果您违反本协议的任何条款或条件,Meta可终止本协议。本协议终止后,您应删除并停止使用Llama材料。第3、4和7条在本协议终止后仍然有效。
-
适用法律和管辖权。本协议将受加利福尼亚州法律管辖并依其解释,不考虑法律选择原则,并且《联合国国际货物销售合同公约》不适用于本协议。加利福尼亚州的法院对因本协议引起的任何争议具有专属管辖权。
Llama 3.2可接受使用政策
Meta致力于促进其工具和功能(包括Llama 3.2)的安全和公平使用。如果您访问或使用Llama 3.2,您同意本可接受使用政策(“政策”)。本政策的最新版本可在https://www.llama.com/llama3_2/use-policy上找到。
禁止使用
我们希望每个人都能安全、负责地使用Llama 3.2。您同意您不会使用或允许他人使用Llama 3.2进行以下行为:
- 违反法律或他人权利,包括:
- 从事、促进、生成、促成、鼓励、策划、煽动或进一步推动非法或违法活动或内容,例如:
- 暴力或恐怖主义
- 对儿童的剥削或伤害,包括招揽、创作、获取或传播儿童剥削性内容或未能报告儿童性虐待材料
- 人口贩运、剥削和性暴力
- 向未成年人非法分发信息或材料,包括淫秽材料,或未能对此类信息或材料采用法律要求的年龄限制
- 性招揽
- 任何其他犯罪活动
- 从事、促进、煽动或促成对个人或群体的骚扰、虐待、威胁或欺凌
- 从事、促进、煽动或促成在就业、就业福利、信贷、住房、其他经济福利或其他基本商品和服务的提供方面的歧视或其他非法或有害行为
- 从事未经授权或无执照的任何职业实践,包括但不限于金融、法律、医疗/健康或相关专业实践
- 收集、处理、披露、生成或推断个人的私人或敏感信息,包括个人的身份、健康或人口统计信息,除非您已根据适用法律获得这样做的权利
- 从事或促成任何侵犯、盗用或以其他方式违反任何第三方权利的行为或生成任何内容,包括使用Llama材料的任何产品或服务的输出或结果
- 创建、生成或促成恶意代码、恶意软件、计算机病毒的创建,或做任何其他可能使网站或计算机系统无法正常工作、负担过重、干扰或损害其正常运行、完整性、操作或外观的事情
- 从事任何行动或促成任何行动,故意规避或移除使用限制或其他安全措施,或启用Meta禁用的功能
- 从事、促进、生成、促成、鼓励、策划、煽动或进一步推动非法或违法活动或内容,例如:
- 从事、促进、煽动、促成或协助策划或开展对个人造成死亡或身体伤害风险的活动,包括与以下方面相关的Llama 3.2的使用: 8. 军事、战争、核工业或应用、间谍活动、用于受美国国务院维护的《国际武器贸易条例》(ITAR)约束的材料或活动,或用于1989年美国《生物武器反恐法》或1997年《化学武器公约实施法》约束的材料或活动 9. 枪支和非法武器(包括武器开发) 10. 非法药物和受管制/受控物质 11. 关键基础设施、运输技术或重型机械的操作 12. 自我伤害或伤害他人,包括自杀、切割和饮食失调 13. 任何旨在煽动或促进暴力、虐待或对个人造成身体伤害的内容
- 故意欺骗或误导他人,包括与以下方面相关的Llama 3.2的使用: 14. 生成、促进或进一步推动欺诈或虚假信息的创建或推广 15. 生成、促进或进一步推动诽谤性内容,包括创建诽谤性声明、图像或其他内容 16. 生成、促进或进一步分发垃圾邮件 17. 在未经同意、授权或合法权利的情况下冒充他人 18. 表示Llama 3.2的使用或输出是人类生成的 19. 生成或促成虚假的在线互动,包括虚假评论和其他虚假在线互动方式
- 未能向最终用户适当披露您的AI系统的任何已知危险
- 与旨在生成非法内容或从事非法或有害行为的第三方工具、模型或软件进行交互,和/或表示此类工具、模型或软件的输出与Meta或Llama 3.2相关联
对于Llama 3.2中包含的任何多模态模型,如果您是居住在欧盟的个人或主要营业地在欧盟的公司,则本协议第1(a)条授予的权利不适用于您。此限制不适用于包含任何此类多模态模型的产品或服务的最终用户。
请通过以下方式之一报告任何违反本政策、软件“漏洞”或其他可能导致违反本政策的问题:
- 报告模型问题:https://github.com/meta-llama/llama-models/issues
- 报告模型生成的危险内容:developers.facebook.com/llama_output_feedback
- 报告漏洞和安全问题:facebook.com/whitehat/info
- 报告违反可接受使用政策或未经授权使用Llama 3.2的情况:LlamaUseReport@meta.com








