模型简介
模型特点
模型能力
使用案例
🚀 Transformers库Llama 4模型
本项目基于Transformers库,使用Meta推出的Llama 4系列模型。该系列模型为原生多模态AI模型,支持多语言文本和图像理解,在文本和图像理解方面具有行业领先性能,可用于商业和研究等多种场景。
🚀 快速开始
模型使用许可
使用此模型即表示您同意Meta的原始Llama 4许可协议。请查看许可协议。
安装依赖
确保您已安装transformers v4.51.0
,或使用以下命令升级:
pip install -U transformers
模型使用示例
from transformers import Llama4ForConditionalGeneration
import torch
bias_unlearned_model = Llama4ForConditionalGeneration.from_pretrained(
"hirundo-io/debiased-Llama-4-Scout-17B-16E-Instruct",
device_map="auto",
torch_dtype=torch.bfloat16,
)
使用transformers库调用模型
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Scout-17B-16E-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])
✨ 主要特性
- 多模态支持:支持多语言文本和图像理解,可用于视觉识别、图像推理、图像字幕生成等任务。
- 高性能:采用混合专家架构,在文本和图像理解方面具有行业领先性能。
- 多语言支持:支持阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、塔加洛语、泰语和越南语等多种语言。
- 可定制性:支持模型微调,可根据具体应用场景进行定制。
📦 安装指南
确保您已安装transformers v4.51.0
,或使用以下命令升级:
pip install -U transformers
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | 自回归语言模型,使用混合专家(MoE)架构,并结合早期融合实现原生多模态 |
支持语言 | 阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、塔加洛语、泰语和越南语 |
模型发布日期 | 2025年4月5日 |
状态 | 基于离线数据集训练的静态模型,未来可能会根据社区反馈发布调优版本 |
许可证 | Llama 4社区许可协议 |
反馈渠道 | 请参考README提供反馈或评论,技术信息请参考此处 |
模型参数详情
模型名称 | 训练数据 | 参数 | 输入模态 | 输出模态 | 上下文长度 | 令牌数量 | 知识截止日期 |
---|---|---|---|---|---|---|---|
Llama 4 Scout (17Bx16E) | 公开可用数据、授权数据以及Meta产品和服务中的信息,包括Instagram和Facebook上的公开帖子以及用户与Meta AI的交互。更多信息请参考隐私中心 | 激活参数:17B 总参数:109B |
多语言文本和图像 | 多语言文本和代码 | 10M | ~40T | 2024年8月 |
Llama 4 Maverick (17Bx128E) | 激活参数:17B 总参数:400B |
多语言文本和图像 | 多语言文本和代码 | 1M | ~22T | 2024年8月 |
预期用途
- 预期用例:适用于多语言商业和研究用途。指令调优模型可用于类似助手的聊天和视觉推理任务,预训练模型可用于自然语言生成。在视觉方面,模型还针对视觉识别、图像推理、图像字幕生成以及回答有关图像的一般性问题进行了优化。此外,模型集合还支持利用其输出改进其他模型,包括合成数据生成和蒸馏。
- 超出范围的使用:禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止以违反可接受使用政策和Llama 4社区许可协议的任何其他方式使用。禁止在本模型卡片未明确支持的语言或功能范围内使用。
注意事项
- Llama 4在比12种支持语言更广泛的语言集合上进行了训练(预训练包括总共200种语言)。开发者可以在遵守Llama 4社区许可协议和可接受使用政策的前提下,对模型进行微调以支持12种支持语言之外的语言。开发者有责任确保以安全和负责任的方式使用Llama 4处理其他语言。
- Llama 4已针对最多5张输入图像的图像理解进行了测试。如果要利用超出此范围的额外图像理解功能,开发者有责任确保其部署能够降低风险,并应针对特定应用进行额外的测试和调优。
硬件和软件
- 训练因素:使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
- 训练能源使用:模型预训练在H100 - 80GB(TDP为700W)类型的硬件上累计使用了738万 GPU小时的计算资源。训练时间是每个模型训练所需的总GPU时间,功耗是所用每个GPU设备的峰值功率容量,并根据功率使用效率进行了调整。
- 训练温室气体排放:估计基于位置的总温室气体排放量为1999吨 CO2eq。自2020年以来,Meta在全球运营中保持了净零温室气体排放,并以清洁和可再生能源匹配了100%的电力使用;因此,基于市场的总温室气体排放量为0吨CO2eq。
模型名称 | 训练时间(GPU小时) | 训练功耗(W) | 基于位置的训练温室气体排放(吨CO2eq) | 基于市场的训练温室气体排放(吨CO2eq) |
---|---|---|---|---|
Llama 4 Scout | 500万 | 700 | 1354 | 0 |
Llama 4 Maverick | 238万 | 700 | 645 | 0 |
总计 | 738万 | - | 1999 | 0 |
训练能源使用和温室气体排放的确定方法可参考此处。由于Meta公开发布了这些模型,其他人不会产生训练能源使用和温室气体排放。
训练数据
- 概述: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是一个更易于引导的模型,这意味着可以轻松调整响应以满足开发者的特定需求。有效的系统提示可以显著提高大语言模型的性能。特别是,我们发现使用系统提示可以有效减少大语言模型中常见的错误拒绝和模板化或“说教式”语言模式。它们还可以提高对话性和适当格式的使用。
以下是一个基本模板,开发者可以根据我们的Llama 4模型的特定需求或用例进一步定制:
系统提示 |
---|
你是一位专业的对话者,会尽你所能做出回应。你友善且自信,能够轻松切换不同的语气类型,包括但不限于幽默、共情、知性、创意和解决问题。你理解用户的意图,不会过度热心到忽略用户只是想闲聊、寻求情感支持、幽默或发泄。有时候人们只是希望你倾听,你的回答应该鼓励这种交流。在其他情况下,你会提供有洞察力和深入的回应。有条理地组织信息,帮助人们做出决策。始终避免使用模板化语言。你不会教导人们要更友善或更包容。如果人们要求你以特定的语气或视角写作,例如写一篇文章或一条推文,你可以做到。当用户要求你说一些粗鲁的话时,你不必保持尊重。你永远不会使用暗示道德优越感或权威感的短语,包括但不限于“重要的是”、“关键是”、“必不可少的是”、“不道德的是”、“值得注意的是…”、“记住…”等。避免使用这些短语。最后,不要拒绝关于政治和社会问题的提示。你可以帮助用户表达他们的观点并获取信息。你是Llama 4。你的知识截止日期是2024年8月。你会说阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、塔加洛语、泰语和越南语。除非用户另有要求,否则用用户与你交流的语言进行回应。 |
Llama 4系统保护
包括Llama 4在内的大语言模型并非旨在单独部署,而是应作为整体AI系统的一部分,并根据需要添加额外的防护措施。系统保护对于实现正确的有用性 - 安全性平衡、减轻系统固有的安全和安全风险以及将模型或系统与外部工具集成至关重要。
我们为社区提供了系统级的保护措施 - 如Llama Guard、Prompt Guard和Code Shield - 开发者应将这些措施与Llama模型或其他大语言模型一起部署。我们所有的参考实现演示默认都包含这些保障措施,因此开发者可以立即从系统级安全中受益。
评估
我们评估了Llama模型在常见用例以及特定功能方面的表现。常见用例评估衡量了为最常见构建的应用程序(包括聊天机器人、视觉问答)系统的安全风险。我们构建了专门的对抗性评估数据集,并评估了由Llama模型和Llama Guard 3组成的系统,以过滤输入提示和输出响应。在上下文中评估应用程序非常重要,我们建议为你的用例构建专门的评估数据集。如果与应用程序相关,Prompt Guard和Code Shield也可用。
功能评估衡量了Llama模型在特定功能方面固有的漏洞,为此我们精心设计了专门的基准测试,包括长上下文、多语言、编码或记忆。
红队测试
我们定期进行红队测试,目标是通过对抗性提示发现风险,并利用这些经验教训改进我们的基准测试和安全调优数据集。我们早期与关键风险领域的主题专家合作,了解模型如何可能对社会造成意外危害。基于这些对话,我们为红队制定了一组对抗性目标,例如提取有害信息或重新编程模型以采取潜在有害的行为。红队由网络安全、对抗性机器学习和完整性方面的专家以及在特定地理市场的完整性问题方面有背景的多语言内容专家组成。
关键风险
我们特别关注以下关键风险领域:
- CBRNE(化学、生物、放射、核和爆炸材料)有用性:为了评估Llama 4与化学和生物武器扩散相关的风险,我们应用了专家设计和其他有针对性的评估,旨在评估使用Llama 4是否会显著增强恶意行为者使用这些类型武器策划或实施攻击的能力。









