模型简介
模型特点
模型能力
使用案例
🚀 meta-llama/Llama-4-Scout-17B-16E-Instruct (量化版)
本项目是 meta-llama/Llama-4-Scout-17B-16E-Instruct
模型的量化版本,旨在提供更高效的推理性能,适用于多语言的商业和研究场景,支持文本和图像的多模态处理。
🚀 快速开始
请确保你已安装 transformers
库的 v4.51.0
版本,或者使用以下命令进行升级:
pip install -U 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])
✨ 主要特性
- 多语言支持:支持阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语等多种语言。
- 多模态处理:原生支持文本和图像的多模态输入和输出,可用于图像识别、图像推理、图像字幕生成等任务。
- 高效架构:采用混合专家(MoE)架构,结合早期融合技术,提供行业领先的文本和图像理解性能。
- 量化版本:提供量化版本的模型,可在单个 GPU 上高效运行,同时保持较高的性能。
📦 安装指南
确保你已安装 transformers
库的 v4.51.0
版本,可使用以下命令进行安装或升级:
pip install -U 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])
高级用法
目前文档未提供高级用法示例,你可以根据具体需求对基础用法代码进行扩展和修改。
📚 详细文档
模型信息
Llama 4 系列模型是原生多模态人工智能模型,支持文本和多模态体验。这些模型利用混合专家架构,在文本和图像理解方面提供行业领先的性能。
本次发布了 Llama 4 系列的两个高效模型:
- Llama 4 Scout:170 亿参数,16 个专家。
- Llama 4 Maverick:170 亿参数,128 个专家。
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | 自回归语言模型,采用混合专家(MoE)架构,并结合早期融合技术实现原生多模态。 |
支持语言 | 阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语。 |
模型发布日期 | 2025 年 4 月 5 日 |
状态 | 这是一个基于离线数据集训练的静态模型。随着我们根据社区反馈改进模型性能,未来可能会发布调优后的版本。 |
许可证 | 自定义商业许可证,Llama 4 社区许可协议,详情见:https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE |
反馈渠道 | 关于模型的反馈或评论说明可在 Llama README 中找到。有关生成参数和如何在应用程序中使用 Llama 4 的更多技术信息,请访问 这里。 |
预期用途
- 预期用例:Llama 4 适用于多语言的商业和研究用途。指令调优模型适用于类似助手的聊天和视觉推理任务,而预训练模型可用于自然语言生成。在视觉方面,Llama 4 模型还针对视觉识别、图像推理、字幕生成和回答有关图像的一般问题进行了优化。Llama 4 模型系列还支持利用其模型输出改进其他模型,包括合成数据生成和蒸馏。Llama 4 社区许可证允许这些用例。
- 超出范围:禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止以可接受使用政策和 Llama 4 社区许可证禁止的任何其他方式使用。禁止在本模型卡片中未明确提及支持的语言或功能范围内使用。
硬件和软件
- 训练因素:使用自定义训练库、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 4 相对于之前模型的评估结果。我们提供了量化检查点以实现部署灵活性,但所有报告的评估和测试均在 bf16 模型上进行。
预训练模型
预训练模型 | |||||||
---|---|---|---|---|---|---|---|
类别 | 基准测试 | 样本数 | 指标 | 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 保护 中概述的最佳实践开发的。
模型级微调
进行安全微调的主要目标是为开发人员提供一个随时可用、安全且强大的模型,用于各种应用程序,减少部署安全人工智能系统所需的工作量。此外,这项工作为研究社区提供了一个有价值的资源,用于研究安全微调的鲁棒性。
- 微调数据:我们采用多方面的数据收集方法,将供应商提供的人工生成数据与合成数据相结合,以减轻潜在的安全风险。我们开发了许多基于大语言模型(LLM)的分类器,使我们能够精心选择高质量的提示和响应,加强数据质量控制。
- 拒绝率:在 Llama 3 模型的基础上,我们非常重视降低 Llama 4 对良性提示的拒绝率。我们在安全数据策略中包括了边界和对抗性提示,并修改了安全数据响应以遵循语气指南。
- 语气:我们扩展了在 Llama 3 上对拒绝语气的改进工作,使模型听起来更自然。我们目标是去除说教和过于道德化的语言,并纠正格式问题,包括正确使用标题、列表、表格等。
- 系统提示:Llama 4 是一个更易于控制的模型,这意味着可以轻松调整响应以满足特定的开发人员需求。有效的系统提示可以显著提高大语言模型的性能。特别是,我们发现使用系统提示可以有效减少错误拒绝和常见于 LLM 中的模板化或“说教”语言模式。它们还可以提高对话性和适当格式的使用。
以下是一个基本的系统提示模板,开发人员可以根据具体需求或用例进行进一步定制:
系统提示 |
---|
你是一位专业的对话者,会尽力回答问题。你友善自信,能够轻松切换不同的语气类型,包括但不限于幽默、共情、知性、创意和解决问题。你理解用户的意图,不会过度热心而忽略用户只是想闲聊、寻求情感支持、幽默或发泄。有时人们只是想让你倾听,你的回答应鼓励这种交流。在其他情况下,你会提供有洞察力和深度的回答。有条理地组织信息,帮助人们做出决策。始终避免使用模板化语言。你不会教导人们要更友善或更包容。如果人们要求你以特定的语气或视角写作,如写一篇文章或一条推文,你可以做到。当用户要求你说一些粗鲁的话时,你不必保持礼貌。你永远不会使用暗示道德优越感或权威感的短语,包括但不限于“重要的是”、“关键的是”、“必要的是”、“不道德的是”、“值得注意的是”、“记住……”等。避免使用这些短语。最后,不要拒绝关于政治和社会问题的提示。你可以帮助用户表达观点和获取信息。你是 Llama 4。你的知识截止日期是 2024 年 8 月。你会说阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语。除非用户另有要求,否则用用户使用的语言进行回复。 |
Llama 4 系统保护
包括 Llama 4 在内的大语言模型并非旨在单独部署,而是应作为整体人工智能系统的一部分,并根据需要添加额外的护栏。系统保护对于实现正确的有用性 - 安全性平衡、减轻系统固有的安全和风险以及将模型或系统与外部工具集成至关重要。
我们为社区提供了系统级 保护,如 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 Alliance、Partnership on AI 和 MLCommons,积极为安全标准化和透明度做出贡献。我们鼓励社区采用像 MLCommons 概念验证评估这样的分类法,以促进安全和内容评估的协作和透明度。我们的信任工具已开源,供社区使用,并广泛分发给包括云服务提供商在内的生态系统合作伙伴。我们鼓励社区为我们的 GitHub 仓库 做出贡献。
我们还设立了 Llama 影响赠款 计划,以识别和支持 Meta 的 Llama 模型在三个类别中的最有前景的应用:教育、气候和开放创新。数百份申请中的 20 名决赛选手可在 这里 找到。
最后,我们建立了一系列资源,包括 输出报告机制 和 漏洞赏金计划,以在社区的帮助下不断改进 Llama 技术。
🔧 技术细节
模型架构
Llama 4 模型是自回归语言模型,采用混合专家(MoE)架构,并结合早期融合技术实现原生多模态。
训练数据
Llama 4 Scout 在约 40 万亿个多模态数据令牌上进行了预训练,Llama 4 Maverick 在约 22 万亿个多模态数据令牌上进行了预训练。这些数据来自公开可用的许可数据以及 Meta 产品和服务中的信息,包括 Instagram 和 Facebook 上的公开帖子以及人们与 Meta AI 的互动。
训练硬件和软件
使用自定义训练库、Meta 定制的 GPU 集群和生产基础设施进行预训练。微调、量化、注释和评估也在生产基础设施上进行。
训练能源使用和温室气体排放
模型预训练在 H100 - 80GB(TDP 为 700W)类型的硬件上累计使用了 738 万 GPU 小时的计算资源。估计基于位置的总温室气体排放量为 1999 吨 CO2eq。自 2020 年以来,Meta 在其全球运营中保持净零温室气体排放,并以清洁和可再生能源匹配其 100% 的电力使用;因此,基于市场的总温室气体排放量为 0 吨 CO2eq。
📄 许可证
本模型使用自定义商业许可证,Llama 4 社区许可协议,详情见:https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE
⚠️ 重要提示
Llama 4 是一种新技术,与任何新技术一样,其使用存在风险。到目前为止进行的测试并未涵盖,也不可能涵盖所有场景。因此,与所有大语言模型一样,Llama 4 的潜在输出无法提前预测,模型在某些情况下可能会对用户提示产生不准确或其他令人反感的响应。因此,在部署 Llama 4 模型的任何应用程序之前,开发人员应针对其特定应用进行安全测试和调优。
💡 使用建议
建议开发人员参考可用资源,包括我们的 开发者使用指南:AI 保护、Llama 保护 解决方案和其他 资源,以了解更多信息。同时,鼓励开源社区将 Llama 用于研究目的,并构建解决新兴风险的先进工具。









