模型简介
模型特点
模型能力
使用案例
🚀 Llama 4模型
Llama 4系列模型是原生多模态AI模型,支持文本和多模态交互体验。这些模型采用混合专家架构,在文本和图像理解方面具有行业领先的性能。
🚀 快速开始
请确保你已安装transformers v4.51.0
,若未安装,可使用以下命令进行升级:
pip install -U transformers
以下是使用transformers
库调用Llama 4模型的示例代码:
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
attn_implementation="flex_attention",
device_map="auto",
torch_dtype=torch.bfloat16,
)
url1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
url2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/cat_style_layout.png"
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": url1},
{"type": "image", "url": url2},
{"type": "text", "text": "Can you describe how these two images are similar, and how they differ?"},
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=256,
)
response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
print(outputs[0])
✨ 主要特性
- 多模态能力:Llama 4系列模型是原生多模态AI模型,支持文本和图像的输入与输出,能够提供丰富的多模态体验。
- 混合专家架构:采用混合专家(MoE)架构,结合早期融合技术,实现了在文本和图像理解方面的卓越性能。
- 高效模型:推出了Llama 4 Scout和Llama 4 Maverick两个高效模型,参数规模均为170亿,分别具有16个和128个专家。
- 广泛的语言支持:支持阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语等多种语言。
📦 安装指南
请确保你已安装transformers v4.51.0
,若未安装,可使用以下命令进行升级:
pip install -U transformers
💻 使用示例
基础用法
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
attn_implementation="flex_attention",
device_map="auto",
torch_dtype=torch.bfloat16,
)
url1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
url2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/cat_style_layout.png"
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": url1},
{"type": "image", "url": url2},
{"type": "text", "text": "Can you describe how these two images are similar, and how they differ?"},
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=256,
)
response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
print(outputs[0])
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | 自回归语言模型,采用混合专家(MoE)架构,结合早期融合技术实现原生多模态能力 |
模型名称 | Llama 4 Scout(170亿参数,16个专家)、Llama 4 Maverick(170亿参数,128个专家) |
训练数据 | 公开可用数据、授权数据以及Meta产品和服务中的信息,包括Instagram和Facebook上的公开帖子以及用户与Meta AI的交互数据。更多信息请参考隐私中心 |
输入模态 | 多语言文本和图像 |
输出模态 | 多语言文本和代码 |
上下文长度 | Llama 4 Scout:10M;Llama 4 Maverick:1M |
标记数量 | Llama 4 Scout:~40T;Llama 4 Maverick:~22T |
知识截止日期 | 2024年8月 |
支持语言 | 阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语 |
模型发布日期 | 2025年4月5日 |
状态 | 静态模型,基于离线数据集训练。未来可能会根据社区反馈发布调优后的版本 |
许可证 | Llama 4社区许可协议 |
反馈渠道 | 有关模型的反馈或评论,请参考Llama README。有关生成参数和使用Llama 4的技术信息,请参考此处 |
预期用途
- 预期用例:Llama 4适用于多语言的商业和研究用途。指令调优模型可用于类似助手的聊天和视觉推理任务,预训练模型可用于自然语言生成。在视觉方面,Llama 4模型还针对视觉识别、图像推理、图像描述和回答有关图像的一般性问题进行了优化。此外,Llama 4模型还支持利用其输出结果来改进其他模型,包括合成数据生成和蒸馏。这些用例均符合Llama 4社区许可协议。
- 超出范围的使用:禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止以任何违反可接受使用政策和Llama 4社区许可协议的方式使用。禁止在本模型卡片中未明确支持的语言或功能范围内使用。
注意事项
- Llama 4在比12种支持语言更广泛的语言集合上进行了训练(预训练包括总共200种语言)。开发者可以在遵守Llama 4社区许可协议和可接受使用政策的前提下,对Llama 4模型进行微调以支持更多语言。开发者有责任确保在使用额外语言时采取安全和负责任的方式。
- Llama 4在图像理解方面最多测试了5张输入图像。如果需要利用超出此范围的图像理解能力,开发者有责任确保其部署能够降低风险,并针对特定应用进行额外的测试和调优。
硬件和软件
- 训练因素:使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
- 训练能源使用:模型预训练在H100 - 80GB(TDP为700W)类型的硬件上累计使用了738万 GPU小时的计算资源,具体如下表所示。训练时间是每个模型训练所需的总GPU时间,功耗是每个GPU设备的峰值功率容量,并根据电源使用效率进行了调整。 | 模型名称 | 训练时间(GPU小时) | 训练功耗(W) | 基于位置的训练温室气体排放量(吨CO2eq) | 基于市场的训练温室气体排放量(吨CO2eq) | | :---- | :---: | :---: | :---: | :---: | | Llama 4 Scout | 500万 | 700 | 1354 | 0 | | Llama 4 Maverick | 238万 | 700 | 645 | 0 | | 总计 | 738万 | - | 1999 | 0 |
- 训练温室气体排放:估计基于位置的总温室气体排放量为1999吨 CO2eq。自2020年以来,Meta在全球运营中保持了净零温室气体排放,并以清洁能源和可再生能源满足了100%的电力需求;因此,基于市场的总温室气体排放量为0吨CO2eq。
训练数据
Llama 4 Scout在约40万亿个标记的多模态数据上进行预训练,Llama 4 Maverick在约22万亿个标记的多模态数据上进行预训练。这些数据包括公开可用数据、授权数据以及Meta产品和服务中的信息,如Instagram和Facebook上的公开帖子以及用户与Meta AI的交互数据。预训练数据的截止日期为2024年8月。
基准测试
预训练模型
类别 | 基准测试 | 样本数量 | 指标 | Llama 3.1 70B | Llama 3.1 405B | Llama 4 Scout | Llama 4 Maverick |
---|---|---|---|---|---|---|---|
推理与知识 | MMLU | 5 | macro_avg/acc_char | 79.3 | 85.2 | 79.6 | 85.5 |
MMLU-Pro | 5 | macro_avg/em | 53.8 | 61.6 | 58.2 | 62.9 | |
MATH | 4 | em_maj1@1 | 41.6 | 53.5 | 50.3 | 61.2 | |
代码 | MBPP | 3 | pass@1 | 66.4 | 74.4 | 67.8 | 77.6 |
多语言 | TydiQA | 1 | average/f1 | 29.9 | 34.3 | 31.5 | 31.7 |
图像 | ChartQA | 0 | relaxed_accuracy | 不支持多模态 | 83.4 | 85.3 | |
DocVQA | 0 | anls | 89.4 | 91.6 |
指令调优模型
类别 | 基准测试 | 样本数量 | 指标 | Llama 3.3 70B | Llama 3.1 405B | Llama 4 Scout | Llama 4 Maverick |
---|---|---|---|---|---|---|---|
图像推理 | MMMU | 0 | 准确率 | 不支持多模态 | 69.4 | 73.4 | |
MMMU Pro^ | 0 | 准确率 | 52.2 | 59.6 | |||
MathVista | 0 | 准确率 | 70.7 | 73.7 | |||
图像理解 | ChartQA | 0 | relaxed_accuracy | 88.8 | 90.0 | ||
DocVQA(测试) | 0 | anls | 94.4 | 94.4 | |||
代码 | LiveCodeBench(2024年10月1日 - 2025年2月1日) | 0 | pass@1 | 33.3 | 27.7 | 32.8 | 43.4 |
推理与知识 | MMLU Pro | 0 | macro_avg/acc | 68.9 | 73.4 | 74.3 | 80.5 |
GPQA Diamond | 0 | 准确率 | 50.5 | 49.0 | 57.2 | 69.8 | |
多语言 | MGSM | 0 | average/em | 91.1 | 91.6 | 90.6 | 92.3 |
长上下文 | MTOB(半本书)eng -> kgv/kgv -> eng | - | chrF | 上下文窗口为128K | 42.2/36.6 | 54.0/46.4 | |
MTOB(整本书)eng -> kgv/kgv -> eng | - | chrF | 39.7/36.3 | 50.8/46.7 |
^MMMU Pro的报告数据是标准任务和视觉任务的平均值
量化
Llama 4 Scout模型以BF16权重发布,但可以通过即时int4量化适配单个H100 GPU。Llama 4 Maverick模型以BF16和FP8量化权重发布,FP8量化权重可以在单个H100 DGX主机上运行,同时保持模型质量。我们还提供了即时int4量化的代码,以最大程度减少性能下降。
保障措施
作为发布策略的一部分,我们采取了三管齐下的策略来管理风险:
- 使开发者能够为目标受众和Llama支持的用例部署有用、安全和灵活的体验。
- 保护开发者免受恶意用户的攻击,这些用户可能试图利用Llama的功能造成潜在危害。
- 为社区提供保护,防止我们的模型被滥用。
Llama是一种基础技术,适用于各种用例。有关Meta的Llama模型部署示例,请参考社区故事网页。我们的目标是构建最有用的模型,使世界能够从这项技术中受益,同时确保模型的安全性符合一系列标准风险。开发者可以根据自己的用例定制安全性,定义自己的政策并部署带有必要保障措施的模型。Llama 4的开发遵循了开发者使用指南:AI保护中概述的最佳实践。
模型级微调
进行安全微调的主要目标是为开发者提供一个随时可用、安全且强大的模型,用于各种应用,减少部署安全AI系统所需的工作量。此外,这项工作还为研究社区提供了一个有价值的资源,用于研究安全微调的鲁棒性。
- 微调数据:采用多方面的数据收集方法,将供应商提供的人工生成数据与合成数据相结合,以降低潜在的安全风险。开发了许多基于大语言模型(LLM)的分类器,能够精心选择高质量的提示和响应,提高数据质量控制。
- 拒绝率:在Llama 3模型的基础上,我们非常重视降低Llama 4模型对良性提示的拒绝率。在安全数据策略中包括了边界提示和对抗性提示,并修改了安全数据响应以遵循语气指南。
- 语气:扩展了在Llama 3模型上对拒绝语气的改进工作,使模型的回答听起来更加自然。目标是去除说教和过度道德化的语言,并纠正格式问题,包括正确使用标题、列表、表格等。为了实现这一目标,还针对系统提示的可引导性和指令遵循性进行了改进,意味着模型更能够采用指定的语气。所有这些改进都有助于提供更具对话性和洞察力的整体体验。
- 系统提示:Llama 4是一个更易于引导的模型,意味着可以轻松调整响应以满足开发者的特定需求。有效的系统提示可以显著提高大语言模型的性能。特别是,我们发现使用系统提示可以有效减少错误拒绝和常见于LLM中的模板化或“说教式”语言模式。它们还可以提高对话性和适当格式的使用。以下是一个基本的系统提示模板,开发者可以根据具体需求或用例进行进一步定制: | 系统提示 | | :---- | | 你是一位专业的对话者,会尽力回答问题。你友善自信,能够轻松切换不同的语气类型,包括但不限于幽默、共情、理智、创意和解决问题。你理解用户的意图,不会过度热心以至于忽略用户只是想闲聊、寻求情感支持、幽默或发泄。有时候人们只是希望你倾听,你的回答应该鼓励这种交流。在其他情况下,你会提供有洞察力和深入的回应。有条理地组织信息,帮助人们做出决策。始终避免使用模板化语言。你不会说教人们要更友善或更包容。如果用户要求你以特定的语气或视角撰写内容,如文章或推文,你可以做到。当用户要求你说一些粗鲁的话时,你不需要保持礼貌。你永远不会使用暗示道德优越感或权威感的短语,包括但不限于“重要的是”、“关键是”、“必要的是”、“不道德的是”、“值得注意的是”、“记住”等。避免使用这些短语。最后,不要拒绝关于政治和社会问题的提示。你可以帮助用户表达观点和获取信息。你是Llama 4,你的知识截止日期是2024年8月。你会说阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语。除非用户另有要求,否则用用户使用的语言进行回应。 |
Llama 4系统保护
大语言模型(包括Llama 4)不应单独部署,而应作为整体AI系统的一部分,并根据需要添加额外的防护措施。系统保护对于实现正确的有用性 - 安全性平衡、降低系统固有的安全和风险以及将模型或系统与外部工具集成至关重要。我们为社区提供了系统级的保护措施,如Llama Guard、Prompt Guard和Code Shield,开发者应将这些措施与Llama模型或其他LLM一起部署。所有参考实现演示默认包含这些保障措施,因此开发者可以立即受益于系统级的安全性。
评估
我们对Llama模型进行了常见用例和特定能力的评估。常见用例评估衡量了最常见构建的应用程序(包括聊天机器人、视觉问答)的系统安全风险。我们构建了专门的对抗性评估数据集,并评估了由Llama模型和Llama Guard 3组成的系统,以过滤输入提示和输出响应。在上下文中评估应用程序非常重要,我们建议为特定用例构建专门的评估数据集。如果与应用程序相关,Prompt Guard和Code Shield也可供使用。能力评估衡量了Llama模型特定能力固有的漏洞,为此精心设计了专门的基准测试,包括长上下文、多语言、代码或记忆能力。
红队测试
我们定期进行红队测试,目标是通过对抗性提示发现风险,并利用这些经验教训改进我们的基准测试和安全调优数据集。我们早期与关键风险领域的主题专家合作,了解模型可能对社会造成的意外危害。基于这些对话,我们为红队制定了一系列对抗性目标,例如提取有害信息或重新编程模型以采取潜在有害的行为。红队由网络安全、对抗性机器学习和完整性方面的专家以及具有特定地理市场完整性问题背景的多语言内容专家组成。
关键风险
我们特别关注以下关键风险领域:
- CBRNE(化学、生物、放射、核和爆炸材料)有用性:为了评估Llama 4与化学和生物武器扩散相关的风险,我们应用了专家设计和其他针对性的评估,以评估使用Llama 4是否会显著增强恶意行为者使用此类武器进行攻击的能力。还进行了额外的红队测试和评估,以检查是否违反了与该风险领域相关的内容政策。
- 儿童安全:作为减轻模型中儿童安全风险的第一步,我们利用预训练方法(如数据过滤)。为了评估训练后模型的儿童安全风险,一组专家评估了模型产生可能导致儿童安全风险输出的能力。利用这些评估结果进行额外的模型微调,并进行深入的红队测试。还扩展了儿童安全评估基准,以涵盖Llama 4的多图像和多语言能力。
- 网络攻击启用:我们的网络评估调查了Llama 4是否有足够的能力导致灾难性的威胁场景结果。进行了威胁建模练习,以确定在技能水平和速度方面,跨关键攻击向量自动化操作或增强人类能力所需的特定模型能力。然后确定并开发了针对这些能力的挑战,以测试Llama 4和同类模型。具体而言,重点评估了Llama 4自动化网络攻击、识别和利用安全漏洞以及自动化有害工作流程的能力。总体而言,我们发现Llama 4模型不会引入可能导致灾难性网络结果的风险。
社区
生成式AI安全需要专业知识和工具,我们相信开放社区的力量可以加速其发展。我们是开放联盟的积极成员,包括AI联盟、AI合作组织和MLCommons,积极为安全标准化和透明度做出贡献。鼓励社区采用MLCommons概念验证评估等分类法,以促进安全和内容评估的协作和透明度。我们的信任工具已开源供社区使用,并广泛分发给包括云服务提供商在内的生态系统合作伙伴。鼓励社区为我们的Github仓库做出贡献。
我们还设立了Llama影响赠款计划,以识别和支持Meta的Llama模型在教育、气候和开放创新三个类别中对社会有益的最有吸引力的应用。数百份申请中的20名决赛选手可以在此处找到。
最后,我们建立了一系列资源,包括输出报告机制和漏洞赏金计划,以在社区的帮助下不断改进Llama技术。
考虑因素和限制
我们的AI基于言论自由的价值观 - 帮助人们利用我们的技术进行探索、辩论和创新。我们尊重人们的自主权,使他们能够选择如何体验、交互和使用AI进行构建。我们的AI促进思想的开放交流。
它旨在服务于所有人,并适用于广泛的用例。因此,它设计为对具有不同背景、经验和观点的人都可访问。Llama 4以用户的实际需求为导向,不插入不必要的判断,同时认识到即使在某些情况下可能看起来有问题的内容,在其他情况下也可能有价值。它尊重所有用户的自主权,特别是在推动创新和进步的自由思想和表达价值观方面。
Llama 4是一项新技术,与任何新技术一样,使用它存在风险。到目前为止进行的测试尚未涵盖,也不可能涵盖所有场景。由于这些原因,与所有LLM一样,Llama 4的潜在输出无法提前预测,并且在某些情况下,模型可能会对用户提示产生不准确或其他令人反感的响应。因此,在部署Llama 4模型的任何应用程序之前,开发者应该针对模型的特定应用进行安全测试和调优。我们还鼓励开源社区将Llama用于研究目的,并构建解决新兴风险的先进工具。请参考可用资源,包括我们的开发者使用指南:AI保护、Llama保护解决方案和其他资源以了解更多信息。
🔧 技术细节
Llama 4模型采用自回归语言模型架构,结合混合专家(MoE)技术和早期融合机制,实现了原生多模态处理能力。在训练过程中,使用了自定义训练库和Meta定制的GPU集群,确保了高效的训练和优化。通过精心设计的训练策略和数据处理方法,模型在多语言文本和图像理解方面取得了优异的性能。
📄 许可证
本模型使用Llama 4社区许可协议。在使用模型时,请仔细阅读并遵守协议中的条款和条件。
注意事项
⚠️ 重要提示
请确保在使用模型时遵守适用的法律法规和Llama 4社区许可协议。在部署应用程序之前,进行充分的安全测试和调优。
💡 使用建议
可以根据具体需求调整系统提示,以获得更符合预期的响应。在利用模型的多模态能力时,注意输入图像的数量和质量,以获得更好的效果。



