模型简介
模型特点
模型能力
使用案例
🚀 Llama 3.2-Vision模型
Llama 3.2-Vision是一系列多模态大语言模型,有11B和90B两种规格。它能处理图像和文本输入,在视觉识别、图像推理、图像描述等任务上表现出色,优于许多开源和闭源的多模态模型。
🚀 快速开始
环境准备
确保你已经安装了transformers
库,并且版本在4.45.0及以上。你可以使用以下命令进行更新:
pip install --upgrade transformers
运行推理
以下是一个使用transformers
库进行推理的示例代码:
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-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]))
✨ 主要特性
- 多模态处理:支持图像和文本输入,可用于视觉问答、图像描述等多种任务。
- 高性能表现:在多个行业基准测试中,优于许多开源和闭源的多模态模型。
- 语言支持广泛:文本任务支持英语、德语、法语等多种语言;图像+文本应用仅支持英语。
- 可定制性强:开发者可根据需求对模型进行微调,以适应不同的应用场景。
📦 安装指南
使用transformers
库
确保你的transformers
库版本在4.45.0及以上,可使用以下命令进行更新:
pip install --upgrade transformers
使用原始llama
代码库
本仓库包含两个版本的Llama-3.2-11B-Vision,可分别用于transformers
库和原始llama
代码库。如需使用原始llama
代码库,请按照仓库中的说明进行操作。
你可以使用以下命令下载原始检查点:
huggingface-cli download meta-llama/Llama-3.2-11B-Vision --include "original/*" --local-dir Llama-3.2-11B-Vision
💻 使用示例
基础用法
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-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]))
高级用法
在实际应用中,你可以根据具体需求调整模型的参数,如max_new_tokens
、temperature
等,以获得更好的生成效果。
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | 基于Llama 3.1文本模型构建,使用优化的Transformer架构,微调版本采用监督微调(SFT)和基于人类反馈的强化学习(RLHF) |
训练数据 | 60亿个图像和文本对,指令调优数据包括公开可用的视觉指令数据集和超过300万个合成生成的示例 |
参数数量 | 11B(10.6)和90B(88.8) |
输入模态 | 文本 + 图像 |
输出模态 | 文本 |
上下文长度 | 128k |
GQA | 是 |
数据截止日期 | 2023年12月 |
支持语言 | 文本任务支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语;图像+文本应用仅支持英语 |
模型发布日期 | 2024年9月25日 |
状态 | 基于离线数据集训练的静态模型,未来可能会发布改进版本 |
许可证 | Llama 3.2社区许可证 |
反馈渠道 | 可在模型README中找到提供反馈的说明;如需获取更多技术信息,请访问此处 |
预期用途
- 商业和研究用途:指令调优模型适用于视觉识别、图像推理、图像描述和基于图像的对话等任务;预训练模型可用于各种图像推理任务。
- 其他潜在用途:包括视觉问答(VQA)、文档视觉问答(DocVQA)、图像描述、图像-文本检索和视觉定位等。
使用范围限制
- 不得违反适用的法律法规(包括贸易合规法律)。
- 不得违反可接受使用政策和Llama 3.2社区许可证的规定。
- 不得使用模型卡片中未明确支持的语言。
🔧 技术细节
硬件和软件
- 训练因素:使用自定义训练库、Meta的自定义GPU集群和生产基础设施进行预训练;微调、标注和评估也在生产基础设施上进行。
- 训练能耗:在H100-80GB(TDP为700W)类型的硬件上,累计使用了202万个GPU小时进行训练。
- 训练温室气体排放:基于位置的估计总温室气体排放量为584吨CO2eq;由于Meta自2020年以来在全球运营中实现了净零温室气体排放,并100%使用可再生能源,因此基于市场的总温室气体排放量为0吨CO2eq。
训练数据
- 概述:Llama 3.2-Vision在60亿个图像和文本对上进行了预训练,指令调优数据包括公开可用的视觉指令数据集和超过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模型在负责任部署方面的示例可在社区故事网页中找到。Meta的方法是构建最有用的模型,使世界受益于技术力量,通过调整模型安全性以应对通用用例中的标准危害。开发者应根据自己的用例定制安全性,定义自己的政策,并在Llama系统中部署必要的保障措施。Llama 3.2的开发遵循了负责任使用指南中概述的最佳实践。
- Llama 3.2指令调优:主要目标是为研究社区提供研究安全微调鲁棒性的有价值资源,为开发者提供一个随时可用、安全且强大的模型,以减少部署安全AI系统的工作量。实施了与Llama 3相同的安全缓解措施,更多信息可在Llama 3 论文中了解。
- Llama 3.2系统:大型语言模型(包括Llama 3.2)不应单独部署,而应作为整体AI系统的一部分,并根据需要添加额外的安全保障措施。开发者在构建代理系统时应部署系统保障措施,以实现正确的有用性-安全性平衡,并减轻系统固有的安全和风险。Meta提供了保障措施,包括Llama Guard、Prompt Guard和Code Shield,开发者应将其与Llama模型或其他大语言模型一起部署。
新功能和用例
- 技术进步:Llama的发布通常会引入新功能,除了适用于所有生成式AI用例的最佳实践外,还需要特定的考虑。对于Llama 3.2支持的先前版本的功能,请参阅Llama 3.1模型卡片。
- 图像推理:Llama 3.2-Vision模型具有多模态(文本和图像)输入能力,可实现图像推理应用。在负责任的发布过程中,采取了专门的措施,包括评估和缓解措施,以解决模型在图像中唯一识别个人的风险。与其他大语言模型风险一样,模型可能并不总是对对抗性提示具有鲁棒性,开发者应在其应用的背景下评估识别和其他适用风险,并考虑部署Llama Guard 3-11B-Vision作为其系统的一部分或采取其他适当的缓解措施。
评估
- 大规模评估:构建了专门的对抗性评估数据集,并评估了由Llama模型和Purple Llama保障措施组成的系统,以过滤输入提示和输出响应。建议为特定用例构建专门的评估数据集。
- 红队测试:定期进行红队测试,通过对抗性提示发现风险,并利用这些经验改进基准测试和安全调优数据集。与关键风险领域的专家合作,了解这些现实危害的性质以及此类模型可能对社会造成的意外危害。根据这些对话,为红队设定了一组对抗性目标,如提取有害信息或重新编程模型以潜在地造成危害。红队由网络安全、对抗性机器学习、负责任AI和内容完整性方面的专家组成,以及具有特定地理市场内容完整性问题背景的多语言内容专家。
关键风险
- CBRNE(化学、生物、放射、核和爆炸武器):对于Llama 3.1,为评估与化学和生物武器扩散相关的风险,进行了提升测试,以评估使用Llama 3.1模型是否会显著增强恶意行为者使用此类武器进行攻击的能力。对于Llama 3.2-Vision模型,进行了额外的针对性评估,发现与Llama 3.1相比,由于其增加的图像理解能力,Llama 3.2不太可能增加科学能力。
- 儿童安全:由专家团队进行儿童安全风险评估,以评估模型产生可能导致儿童安全风险的输出的能力,并通过微调提供必要和适当的风险缓解措施。在Llama 3模型开发过程中,利用这些专家红队测试扩展了评估基准的覆盖范围。对于Llama 3,使用基于目标的方法进行了新的深入测试,以评估模型在多个攻击向量下的风险,包括Llama 3训练的额外语言。还与内容专家合作进行红队测试,评估潜在违规内容,同时考虑特定市场的细微差别和经验。
- 网络攻击:对于Llama 3.1 405B,进行了网络攻击提升研究,调查大语言模型是否能在技能水平和速度方面增强人类在黑客任务中的能力。攻击自动化研究专注于评估大语言模型作为自主代理在网络攻击行动中的能力,特别是在勒索软件攻击的背景下。由于Llama 3.2的视觉能力通常与网络提升无关,因此认为对Llama 3.1进行的测试也适用于Llama 3.2。
社区
- 行业合作:生成式AI安全需要专业知识和工具,Meta相信开放社区的力量可以加速其发展。Meta是AI联盟、AI合作组织和MLCommons等开放联盟的积极成员,积极为安全标准化和透明度做出贡献。鼓励社区采用MLCommons概念验证评估等分类法,以促进安全和内容评估的合作和透明度。Meta的Purple Llama工具已开源,供社区使用,并广泛分布在包括云服务提供商在内的生态系统合作伙伴中。鼓励社区为Github仓库做出贡献。
- 资助计划:设立了Llama影响资助计划,以识别和支持Meta的Llama模型在教育、气候和开放创新三个类别中的最有前景的应用。数百份申请中的20名决赛选手可在此处找到。
- 反馈机制:建立了一套资源,包括输出报告机制和漏洞赏金计划,以在社区的帮助下不断改进Llama技术。
📄 许可证
使用Llama 3.2受Llama 3.2社区许可证(自定义商业许可协议)的约束。
Llama 3.2社区许可协议
协议概述
本协议规定了使用、复制、分发和修改Llama材料的条款和条件。通过点击“我接受”或使用或分发Llama材料的任何部分,即表示同意受本协议约束。
许可权利和再分发
- 权利授予:授予非排他性、全球性、不可转让和免版税的有限许可,以使用、复制、分发、复制、创建衍生作品和修改Llama材料。
- 再分发和使用:
- 若分发或提供Llama材料(或其任何衍生作品),或包含它们的产品或服务,需提供本协议的副本,并在相关网站、用户界面、博客文章、关于页面或产品文档上显著显示“Built with Llama”。若使用Llama材料创建、训练、微调或改进AI模型并进行分发,需在模型名称开头包含“Llama”。
- 若从被许可方处获得Llama材料或其衍生作品作为集成终端用户产品的一部分,本协议第2条不适用。
- 分发Llama材料时,需在所有副本中保留归因声明。
- 使用Llama材料必须遵守适用法律法规和可接受使用政策。
额外商业条款
若在Llama 3.2版本发布日期,被许可方或其关联方提供的产品或服务的月活跃用户数在前一个日历月超过7亿,则必须向Meta请求许可,Meta可自行决定是否授予。在Meta明确授予权利之前,不得行使本协议下的任何权利。
保修免责声明
除非适用法律要求,Llama材料及其任何输出和结果按“原样”提供,不提供任何形式的保证。Meta不承担任何明示或暗示的保证责任,包括所有权、不侵权、适销性或特定用途适用性的保证。用户独自负责确定使用或再分发Llama材料的适当性,并承担使用相关的所有风险。
责任限制
在任何情况下,Meta或其关联方均不对因本协议引起的任何利润损失或任何间接、特殊、后果性、偶发性、惩戒性或惩罚性损害承担责任,即使Meta或其关联方已被告知可能发生此类损害。
知识产权
- 商标许可:本协议未授予商标许可,除非合理和惯常使用或本协议第5(a)条规定,双方不得使用对方或其关联方的名称或标志。Meta授予使用“Llama”标志的许可,仅用于遵守第1.b.i条的最后一句。用户需遵守Meta的品牌指南,使用标志产生的所有商誉归Meta所有。
- 衍生作品所有权:对于用户对Llama材料进行的衍生作品和修改,用户是其所有者,但需遵守Meta对Llama材料及其衍生作品的所有权。
- 诉讼终止许可:若用户对Meta或任何实体提起诉讼或其他程序,声称Llama材料或其输出构成对其知识产权或其他权利的侵权,则本协议授予的所有许可自诉讼或索赔提起之日起终止。用户需赔偿并使Meta免受因用户使用或分发Llama材料引起的任何第三方索赔。
期限和终止
本协议自用户接受或访问Llama材料之日起生效,直至根据本协议条款终止。若用户违反本协议的任何条款,Meta可终止本协议。协议终止后,用户应删除并停止使用Llama材料。第3、4和7条在协议终止后仍然有效。
适用法律和管辖权
本协议受加利福尼亚州法律管辖,不考虑法律选择原则,《联合国国际货物销售合同公约》不适用于本协议。因本协议引起的任何争议,加利福尼亚州法院具有专属管辖权。
Llama 3.2可接受使用政策
Meta致力于促进其工具和功能(包括Llama 3.2)的安全和公平使用。使用Llama 3.2即表示同意本可接受使用政策,最新版本可在此处找到。
禁止使用情况
- 违反法律或他人权利:不得使用Llama 3.2从事、促进、煽动或便利任何非法或有害活动,包括暴力、恐怖主义、儿童剥削、人口贩运、性侵犯、非法信息分发、骚扰、歧视、未经授权的专业实践、收集敏感信息、侵权、创建恶意代码、规避安全措施等。
- 导致人身伤害风险:不得使用Llama 3.2从事、促进、煽动或协助可能导致人员死亡或身体伤害的活动,包括军事、战争、核工业、枪支和非法武器、非法药物、关键基础设施操作、自我伤害或伤害他人等。
- 欺骗或误导他人:不得使用Llama 3.2故意欺骗或误导他人,包括生成欺诈、虚假信息、诽谤内容、垃圾邮件、冒充他人、虚假在线互动等。
- 未披露危险信息:必须向最终用户适当披露AI系统的任何已知危险。
- 与非法工具交互:不得与旨在生成非法内容或从事非法或有害行为的第三方工具、模型或软件进行交互,或表示此类工具、模型或软件的输出与Meta或Llama 3.2相关。
报告违规行为
若发现违反本政策、软件“漏洞”或其他可能导致违反本政策的问题,请通过以下方式报告:
- 模型问题报告:https://github.com/meta-llama/llama-models/issues
- 模型生成的风险内容报告:developers.facebook.com/llama_output_feedback
- 漏洞和安全问题报告:facebook.com/whitehat/info
- 可接受使用政策违规或未经授权使用Llama 3.2报告:LlamaUseReport@meta.com
对于Llama 3.2中包含的任何多模态模型,若用户是居住在欧盟的个人或主要营业地点在欧盟的公司,则不授予Llama 3.2社区许可协议第1(a)条规定的权利。此限制不适用于包含此类多模态模型的产品或服务的最终用户。
🔖 伦理考虑和局限性
核心价值观
Llama 3.2的核心价值观是开放性、包容性和实用性。它旨在为所有人服务,适用于广泛的用例,因此设计为对不同背景、经验和观点的人都可访问。Llama 3.2尊重所有用户的尊严和自主权,特别是在推动创新和进步的自由思想和表达价值观方面。
潜在风险
Llama 3.2是一项新技术,与任何新技术一样,使用它存在风险。到目前为止进行的测试尚未涵盖,也不可能涵盖所有场景。因此,与所有大语言模型一样,Llama 3.2的潜在输出无法提前预测,模型可能在某些情况下对用户提示产生不准确、有偏见或其他令人反感的响应。
建议
在部署Llama 3.2模型的任何应用之前,开发者应针对其特定应用进行安全测试和微调。请参考可用资源,包括负责任使用指南、信任与安全解决方案和其他资源,以了解更多关于负责任开发的信息。








