模型简介
模型特点
模型能力
使用案例
🚀 Llama 4模型
Llama 4是Meta推出的原生多模态AI模型,支持文本和多模态交互。它采用混合专家架构,在文本和图像理解方面表现卓越,为Llama生态开启了新篇章。
🚀 快速开始
安装依赖
请确保你已安装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])
✨ 主要特性
- 多模态支持:原生支持文本和图像输入,可处理多语言文本和图像理解任务。
- 混合专家架构:采用MoE架构,提升模型在文本和图像理解方面的性能。
- 高性能表现:在多个基准测试中表现出色,如推理、代码生成、多语言处理和图像理解等任务。
- 可调节性强:通过系统提示,可轻松调整模型的响应风格和输出结果。
📦 安装指南
确保你已安装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)架构,支持原生多模态 |
支持语言 | 阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语 |
模型发布日期 | 2025年4月5日 |
状态 | 静态模型,基于离线数据集训练。未来可能会根据社区反馈发布调优版本 |
许可证 | 自定义商业许可证,Llama 4社区许可协议,详情见此处 |
反馈渠道 | 关于模型的反馈和评论说明见Llama README。更多技术信息和使用方法见此处 |
模型参数
模型名称 | 训练数据 | 参数 | 输入模态 | 输出模态 | 上下文长度 | 令牌数量 | 知识截止日期 |
---|---|---|---|---|---|---|---|
Llama 4 Scout (17Bx16E) | 公开可用数据、授权数据以及Meta产品和服务中的信息,包括Instagram和Facebook上的公开帖子以及用户与Meta AI的交互。更多信息见隐私中心 | 激活参数:17B 总参数:109B |
多语言文本和图像 | 多语言文本和代码 | 10M | ~40T | 2024年8月 |
Llama 4 Maverick (17Bx128E) | 公开可用数据、授权数据以及Meta产品和服务中的信息,包括Instagram和Facebook上的公开帖子以及用户与Meta AI的交互。更多信息见隐私中心 | 激活参数:17B 总参数:400B |
多语言文本和图像 | 多语言文本和代码 | 1M | ~22T | 2024年8月 |
预期用途
- 预期用例:适用于多语言的商业和研究用途。指令调优模型可用于类助手聊天和视觉推理任务,预训练模型可用于自然语言生成。在视觉方面,可用于视觉识别、图像推理、图像描述和回答关于图像的一般性问题。Llama 4社区许可证允许这些用例。
- 超出范围:禁止违反适用法律法规(包括贸易合规法律)的使用方式;禁止违反可接受使用政策和Llama 4社区许可证的其他使用方式;禁止使用模型不支持的语言或功能。
硬件和软件
- 训练因素:使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
- 训练能源使用:模型预训练在H100 - 80GB(TDP为700W)类型的硬件上累计使用了738万个GPU小时的计算资源。
- 训练温室气体排放:基于位置的估计总温室气体排放量为1999吨CO2eq。自2020年以来,Meta在全球运营中保持净零温室气体排放,并使用100%的清洁和可再生能源匹配其电力使用,因此基于市场的总温室气体排放量为0吨CO2eq。
训练数据
- 概述:Llama 4 Scout在约40万亿个令牌的多模态数据上进行预训练,Llama 4 Maverick在约22万亿个令牌的多模态数据上进行预训练。数据来源包括公开可用数据、授权数据以及Meta产品和服务中的信息。
- 数据新鲜度:预训练数据的截止日期为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 | accuracy | 不支持多模态 | 69.4 | 73.4 | |
MMMU Pro^ | 0 | accuracy | 52.2 | 59.6 | |||
MathVista | 0 | accuracy | 70.7 | 73.7 | |||
图像理解 | ChartQA | 0 | relaxed_accuracy | 88.8 | 90.0 | ||
DocVQA (test) | 0 | anls | 94.4 | 94.4 | |||
编码 | LiveCodeBench (10/01/2024 - 02/01/2025) | 0 | pass@1 | 33.3 | 27.7 | 32.8 | 43.4 |
推理与知识 | MMLU Pro | 0 | macro_avg/em | 68.9 | 73.4 | 74.3 | 80.5 |
GPQA Diamond | 0 | accuracy | 50.5 | 49.0 | 57.2 | 69.8 | |
多语言 | MGSM | 0 | average/em | 91.1 | 91.6 | 90.6 | 92.3 |
长上下文 | MTOB (half book) eng->kgv/kgv->eng | - | chrF | 上下文窗口为128K | 42.2/36.6 | 54.0/46.4 | |
MTOB (full book) 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量化代码,以减少性能损失。
安全保障
模型级微调
- 微调数据:采用多方面的数据收集方法,结合人工生成数据和合成数据,通过LLM分类器选择高质量的提示和响应,提高数据质量。
- 拒绝率:在Llama 3的基础上,降低模型对良性提示的拒绝率,将边界和对抗性提示纳入安全数据策略,并调整安全数据响应以遵循语气指南。
- 语气:改进拒绝语气,使模型响应更自然,去除说教和过度道德化的语言,修正格式问题。
- 系统提示:Llama 4更易于控制,通过有效的系统提示可减少误拒绝和模板化语言,提高对话性和格式使用的准确性。
Llama 4系统保护
大型语言模型应与其他防护措施结合部署。我们提供了系统级保护工具,如Llama Guard、Prompt Guard和Code Shield,开发者可将其与Llama模型或其他LLM一起使用。所有参考实现演示默认包含这些保护措施。
评估
- 常见用例评估:评估常见应用场景(如聊天机器人、视觉问答)的安全风险,构建对抗性评估数据集,评估Llama模型和Llama Guard 3组成的系统。
- 能力评估:评估模型特定能力的漏洞,构建专门的基准测试,如长上下文、多语言、编码和记忆等。
红队测试
定期进行红队测试,通过对抗性提示发现风险,与专家合作确定红队目标,改进基准测试和安全调优数据集。
关键风险
- CBRNE(化学、生物、放射、核和爆炸物)帮助性:评估Llama 4在化学和生物武器扩散方面的风险,进行额外的红队测试和内容政策违规评估。
- 儿童安全:在预训练阶段进行数据过滤,评估模型在儿童安全方面的风险,扩展评估基准以覆盖多图像和多语言能力。
- 网络攻击支持:评估Llama 4是否会导致灾难性网络威胁,进行威胁建模,测试模型在自动化网络攻击、识别和利用安全漏洞以及自动化有害工作流方面的能力。
社区
- 开放社区合作:积极参与开放联盟,如AI联盟、AI合作组织和MLCommons,推动安全标准化和透明度。鼓励社区采用MLCommons概念验证评估分类法,促进安全和内容评估的协作和透明度。
- Llama影响赠款计划:设立Llama影响赠款计划,支持在教育、气候和开放创新领域的应用。
- 社区资源:提供输出报告机制和漏洞赏金计划,借助社区力量改进Llama技术。
🔧 技术细节
训练因素
使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
训练能源使用
模型预训练在H100 - 80GB(TDP为700W)类型的硬件上累计使用了738万个GPU小时的计算资源。训练时间为每个模型训练所需的总GPU时间,功耗为每个GPU设备的峰值功率容量,已考虑电源使用效率。
训练温室气体排放
基于位置的估计总温室气体排放量为1999吨CO2eq。自2020年以来,Meta在全球运营中保持净零温室气体排放,并使用100%的清洁和可再生能源匹配其电力使用,因此基于市场的总温室气体排放量为0吨CO2eq。
量化
Llama 4 Scout模型以BF16权重发布,可通过即时int4量化适配单个H100 GPU。Llama 4 Maverick模型以BF16和FP8量化权重发布。FP8量化权重可在单个H100 DGX主机上运行,同时保持模型质量。我们还提供了即时int4量化代码,以减少性能损失。
📄 许可证
本项目使用自定义商业许可证,Llama 4社区许可协议,详情见此处。
许可证协议摘要
- 许可权利和再分发:授予非排他性、全球性、不可转让和免版税的有限许可,允许使用、复制、分发、修改Llama材料。再分发时需提供许可证副本,并在相关网站、用户界面等位置显示“Built with Llama”。
- 额外商业条款:若产品或服务的月活跃用户数超过7亿,需向Meta申请许可证。
- 免责声明:除非适用法律要求,Llama材料按“原样”提供,Meta不提供任何形式的保证。
- 责任限制:Meta及其关联方不对任何间接、特殊、后果性损害承担责任。
- 知识产权:不授予商标许可,开发者可在符合规定的情况下使用“Llama”商标。开发者对自己创建的衍生作品和修改拥有所有权。
- 期限和终止:协议自接受或访问Llama材料时生效,Meta可在开发者违反协议条款时终止协议。协议终止后,开发者需删除并停止使用Llama材料。
- 适用法律和管辖权:协议受加利福尼亚州法律管辖,相关纠纷由加利福尼亚州法院专属管辖。
⚠️ 重要提示
- Llama 4是新技术,测试无法覆盖所有场景,模型可能产生不准确或令人反感的响应。开发者在部署应用前应进行安全测试和调优。
- 本4位模型目前仅适用于Unsloth!更多版本(包括4位和16位格式)见我们的集合。
💡 使用建议
- 参考可用资源,如开发者使用指南、Llama保护解决方案和其他文档,了解更多信息。
- 为特定用例构建专门的评估数据集,以评估应用的安全性。
- 遵循系统提示的最佳实践,调整模型的响应风格和输出结果。









