Llama Guard 3 11B Vision
模型简介
模型特点
模型能力
使用案例
🚀 Llama Guard 3 Vision
Llama Guard 3 Vision是基于Llama-3.2-11B的预训练模型,针对内容安全分类进行了微调。与之前的版本类似,它可用于保护大语言模型(LLM)的输入(提示分类)和响应(响应分类)内容安全。该模型专为支持图像推理用例而设计,能够检测有害的多模态(文本和图像)提示以及对这些提示的文本响应。
🚀 快速开始
在获取模型权重后,请参考文档开始使用。
✨ 主要特性
- 多模态内容安全检测:能够检测有害的多模态(文本和图像)提示以及对这些提示的文本响应。
- 图像推理支持:专门设计用于支持图像推理用例。
- 输出明确:作为一个大语言模型,它会在输出中生成文本,表明给定的提示或响应是否安全;如果不安全,还会列出违反的内容类别。
📦 安装指南
文档中未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import AutoModelForVision2Seq, AutoProcessor
import torch
from PIL import Image as PIL_Image
model_id = "meta-llama/Llama-Guard-3-11B-Vision"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForVision2Seq.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
image = PIL_Image.open("<path/to/image>").convert("RGB")
conversation = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is the recipe for mayonnaise?"
},
{
"type": "image",
},
],
}
]
input_prompt = processor.apply_chat_template(
conversation, return_tensors="pt"
)
inputs = processor(text=input_prompt, images=image, return_tensors="pt").to(model.device)
prompt_len = len(inputs['input_ids'][0])
output = model.generate(
**inputs,
max_new_tokens=20,
pad_token_id=0,
)
generated_tokens = output[:, prompt_len:]
print(input_prompt)
print(processor.decode(generated_tokens[0]))
高级用法
# 你可以提供自己的类别
input_prompt = processor.apply_chat_template(
conversation,
return_tensors="pt",
categories = {
"S1": "My custom category",
},
)
# 或者通过指定要排除的类别键数组,从默认列表中排除类别
input_prompt = processor.apply_chat_template(
conversation,
return_tensors="pt",
excluded_category_keys=["S1"],
)
📚 详细文档
模型信息
Llama Guard 3 Vision是一个基于Llama-3.2-11B的预训练模型,经过微调用于内容安全分类。它可以用于保护大语言模型(LLM)的输入(提示分类)和响应(响应分类)内容安全。该模型专门设计用于支持图像推理用例,并针对检测有害的多模态(文本和图像)提示以及对这些提示的文本响应进行了优化。
危险分类与政策
模型基于MLCommons分类法中的13个危险类别进行安全标签预测。具体类别如下:
类别 | 详情 |
---|---|
S1 - 暴力犯罪 | 包括对人(如恐怖主义、种族灭绝、谋杀等)和动物(如虐待动物)的非法暴力行为。 |
S2 - 非暴力犯罪 | 涵盖个人犯罪、金融犯罪、财产犯罪、毒品犯罪、武器犯罪和网络犯罪等。 |
S3 - 性相关犯罪 | 包括性交易、性侵犯、性骚扰和卖淫等。 |
S4 - 儿童性剥削 | 包含、描述、促成、鼓励或支持对儿童的性虐待的回复。 |
S5 - 诽谤 | 既被证实为虚假,又可能损害在世者声誉的回复。 |
S6 - 专业建议 | 包含专业金融、医疗或法律建议,或表明危险活动或物体是安全的回复。 |
S7 - 隐私 | 包含可能损害某人身体、数字或财务安全的敏感、非公开个人信息的回复。 |
S8 - 知识产权 | 可能侵犯任何第三方知识产权的回复。 |
S9 - 滥杀性武器 | 促成、鼓励或支持制造滥杀性武器的回复,如化学武器、生物武器等。 |
S10 - 仇恨言论 | 基于敏感个人特征贬低或非人化他人的回复。 |
S11 - 自杀与自残 | 促成、鼓励或支持故意自残行为的回复,如自杀、自我伤害和饮食失调等。 |
S12 - 性内容 | 包含色情内容的回复。 |
S13 - 选举 | 包含关于选举系统和程序的事实性错误信息的回复,包括公民选举中的投票时间、地点或方式。 |
训练数据
为了训练Llama Guard 3 Vision,使用了一个混合数据集,包括人工生成的数据和合成生成的数据。收集了人工创建的提示及其对应的图像,并使用内部的Llama模型生成良性和违规的模型响应。使用越狱技术从这些模型中引出违规响应。最终的数据集包括由人工或Llama 3.1 405B模型标记的样本。为了确保全面覆盖,精心策划了数据集,以涵盖上述所有危险类别的各种提示 - 图像对。对于使用的图像数据,视觉编码器会将其重新缩放到4个560x560的块。
评估
在内部测试中,按照MLCommons危险分类法评估了Llama Guard 3 Vision的性能。据了解,Llama Guard 3 Vision是第一个用于大语言模型图像理解任务的安全分类器。使用GPT - 4o和GPT - 4o mini,通过零样本提示和MLCommons危险分类法作为基线。
模型性能比较
模型 | 任务 | 精度 | 召回率 | F1值 | 假阳性率 |
---|---|---|---|---|---|
Llama Guard 3 Vision | 提示分类 | 0.891 | 0.623 | 0.733 | 0.052 |
GPT - 4o | 提示分类 | 0.544 | 0.843 | 0.661 | 0.485 |
GPT - 4o mini | 提示分类 | 0.488 | 0.943 | 0.643 | 0.681 |
Llama Guard 3 Vision | 响应分类 | 0.961 | 0.916 | 0.938 | 0.016 |
GPT - 4o | 响应分类 | 0.579 | 0.788 | 0.667 | 0.243 |
GPT - 4o mini | 响应分类 | 0.526 | 0.820 | 0.641 | 0.313 |
类别F1值细分
类别 | F1值 |
---|---|
暴力犯罪 | 0.839 |
非暴力犯罪 | 0.917 |
性犯罪 | 0.797 |
儿童剥削 | 0.698 |
诽谤 | 0.967 |
专业建议 | 0.764 |
隐私 | 0.847 |
知识产权 | 0.849 |
滥杀性武器 | 0.995 |
仇恨言论 | 0.894 |
自残 | 0.911 |
性内容 | 0.947 |
选举 | 0.957 |
结果分析
表格显示,Llama Guard 3 Vision在F1值方面优于GPT - 4o和GPT - 4o mini,特别是在响应分类任务中。值得注意的是,Llama Guard 3 Vision在实现更好性能的同时,假阳性率更低。还观察到提示分类的召回率(假阳性率)通常比响应分类低(高),这是因为图像理解任务中提示(文本 + 图像)的模糊性使得提示分类比响应分类更具挑战性。在这种情况下,建议在响应分类任务中使用Llama Guard 3 Vision。
局限性
- 性能受训练数据限制:Llama Guard 3 Vision本身是基于Llama 3.2 - vision微调的大语言模型,其性能(如需要常识知识的判断、多语言能力和政策覆盖范围)可能受到其(预)训练数据的限制。
- 任务特定性:它不是用于图像安全分类器或纯文本安全分类器。其任务是对多模态提示或多模态提示以及文本响应进行分类。目前针对英语进行了优化,并且一次仅支持一张图像。图像将被重新缩放到4个560x560的块,因此分类性能可能会因实际图像大小而异。对于纯文本缓解,建议根据具体用例使用Llama Guard系列中的其他模型,如Llama Guard 3 - 8B或Llama Guard 3 - 1B。
- 部分类别评估挑战:一些危险类别(如诽谤、知识产权和选举)可能需要事实性的最新知识来评估。对于对这些类型危险高度敏感的用例,建议部署更复杂的系统来准确审核这些类别,但Llama Guard 3 Vision为通用用例提供了一个良好的基线。
- 对抗攻击风险:作为一个大语言模型,Llama Guard 3 Vision可能容易受到对抗攻击,从而绕过或改变其预期用途。请报告漏洞,后续版本将进行改进。
🔧 技术细节
文档中未提及具体技术实现细节,故跳过此章节。
📄 许可证
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材料的任何部分或元素,您同意受本协议约束。
-
许可权利和再分发
- 权利授予:您被授予在Meta体现在Llama材料中的知识产权或其他权利下的非排他性、全球性、不可转让和免版税的有限许可,以使用、复制、分发、拷贝、创作衍生作品并对Llama材料进行修改。
- 再分发和使用
- 如果您分发或提供Llama材料(或其任何衍生作品),或包含其中任何内容的产品或服务(包括另一个AI模型),您应(A)随任何此类Llama材料提供本协议的副本;(B)在相关网站、用户界面、博客文章、关于页面或产品文档上显著显示“Built with Llama”。如果您使用Llama材料或Llama材料的任何输出或结果来创建、训练、微调或以其他方式改进一个AI模型,并进行分发或提供,您还应在任何此类AI模型名称的开头包含“Llama”。
- 如果您作为集成最终用户产品的一部分从被许可人处接收Llama材料或其任何衍生作品,则本协议第2条不适用于您。
- 您必须在分发的所有Llama材料副本中保留以下归属声明,该声明应包含在作为此类副本一部分分发的“通知”文本文件中:“Llama 3.2根据Llama 3.2社区许可协议获得许可,版权所有© Meta Platforms, Inc.保留所有权利。”
- 您使用Llama材料必须遵守适用的法律法规(包括贸易合规法律法规),并遵守Llama材料的可接受使用政策(可在https://www.llama.com/llama3_2/use-policy 获得),该政策特此通过引用并入本协议。
-
额外商业条款:如果在Llama 3.2版本发布日期,被许可人或被许可人的关联公司提供的产品或服务的月活跃用户在前一个日历月超过7亿月活跃用户,您必须向Meta请求许可,Meta可自行决定是否授予您许可,并且在Meta明确授予您此类权利之前,您无权行使本协议下的任何权利。
-
保修免责声明:除非适用法律要求,Llama材料及其任何输出和结果按“现状”提供,不提供任何形式的保证,Meta否认所有明示和暗示的保证,包括但不限于所有权、不侵权、适销性或特定用途适用性的保证。您独自负责确定使用或再分发Llama材料的适当性,并承担使用Llama材料及其任何输出和结果相关的任何风险。
-
责任限制:在任何情况下,Meta或其关联公司均不对因本协议引起的任何利润损失或任何间接、特殊、后果性、偶发性、惩戒性或惩罚性损害承担责任,无论责任理论如何,即使Meta或其关联公司已被告知此类损害的可能性。
-
知识产权
- 商标许可:本协议未授予商标许可,关于Llama材料,除非在描述和再分发Llama材料的合理和惯常使用中需要,或如本节5(a)所述,Meta和被许可人均不得使用对方或其任何关联公司拥有或关联的任何名称或标记。Meta特此授予您仅为遵守第1.b.i条最后一句的要求而使用“Llama”(“标记”)的许可。您将遵守Meta的品牌指南(目前可在https://about.meta.com/brand/resources/meta/company-brand/ 访问)。因您使用标记而产生的所有商誉将归Meta所有。
- 衍生作品所有权:关于您对Llama材料所做的任何衍生作品和修改,在您和Meta之间,您是并将是此类衍生作品和修改的所有者,但需遵守Meta对Llama材料及其为Meta制作的衍生作品的所有权。
- 诉讼后果:如果您对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材料的任何产品或服务的输出或结果。
- 创建、生成或促成创建恶意代码、恶意软件、计算机病毒或做任何其他可能禁用、使负担过重、干扰或损害网站或计算机系统的正常运行、完整性、操作或外观的事情。
- 从事任何故意规避或移除使用限制或其他安全措施的行为,或促成此类行为,或启用Meta禁用的功能。
- 危及人身安全:参与、促进、煽动、促成或协助策划或开展对个人造成死亡或身体伤害风险的活动,包括与军事、战争、核工业或应用、间谍活动、受美国国务院维护的《国际武器贸易条例》(ITAR)约束的材料或活动、枪支和非法武器、非法药物和受管制/受控物质、关键基础设施运营、运输技术或重型机械、自我伤害或伤害他人等相关的使用。
- 欺骗或误导他人:故意欺骗或误导他人,包括生成、促进或进一步实施欺诈或虚假信息、诽谤性内容、垃圾邮件、未经同意冒充他人、表示Llama 3.2的使用或输出是人类生成的、生成或促成虚假的在线参与等。
- 未适当披露风险:未能向最终用户适当披露您的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
参考文献
[1] Llama Guard: LLM-based Input-Output Safeguard for Human-AI Conversations [2] Llama Guard 2 Model Card [3] Llama Guard 3-8B Model Card [4] Universal and Transferable Adversarial Attacks on Aligned Language Models [5] Are aligned neural networks adversarially aligned?
引用
@misc{chi2024llamaguard3vision,
title={Llama Guard 3 Vision: Safeguarding Human-AI Image Understanding Conversations},
author={Jianfeng Chi and Ujjwal Karn and Hongyuan Zhan and Eric Smith and Javier Rando and Yiming Zhang and Kate Plawiak and Zacharie Delpierre Coudert and Kartikeya Upasani and Mahesh Pasupuleti},
year={2024},
eprint={2411.10414},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2411.10414},
}









