🚀 Llama 4模型
Llama 4是一系列原生多模态AI模型,支持文本和多模态交互体验。这些模型采用混合专家架构,在文本和图像理解方面表现卓越。
🚀 快速开始
线性化专家版本
这是该模型的4位量化版本,专家模块被拆分并线性化,以便与PEFT/LoRA更好地配合使用。若要在Axolotl中使用,只需在YAML文件中添加以下内容:
llama4_linearized_experts: true
Axolotl示例YAML文件
使用transformers库调用
请确保已安装transformers v4.51.0
,或使用pip install -U transformers
进行升级。
from transformers import pipeline
import torch
model_id = "meta-llama/Llama-4-Scout-17B-16E"
pipe = pipeline(
"text-generation",
model=model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
)
output = pipe("Roses are red,", max_new_tokens=200)
✨ 主要特性
- 多语言支持:支持阿拉伯语、英语、法语、德语、印地语、印尼语、意大利语、葡萄牙语、西班牙语、他加禄语、泰语和越南语等多种语言。
- 多模态能力:原生支持文本和图像理解,可用于视觉识别、图像推理、图像描述等任务。
- 高性能表现:在多个基准测试中表现出色,如MMLU、MATH、MBPP等。
- 灵活部署:提供不同量化版本,可根据硬件资源选择合适的版本进行部署。
📦 安装指南
使用前请确保已安装transformers v4.51.0
,可使用以下命令进行安装或升级:
pip install -U transformers
💻 使用示例
基础用法
from transformers import pipeline
import torch
model_id = "meta-llama/Llama-4-Scout-17B-16E"
pipe = pipeline(
"text-generation",
model=model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
)
output = pipe("Roses are red,", max_new_tokens=200)
📚 详细文档
模型信息
属性 |
详情 |
模型开发者 |
Meta |
模型架构 |
自回归语言模型,采用混合专家(MoE)架构,并结合早期融合实现原生多模态能力 |
训练数据 |
公开可用数据、授权数据以及Meta产品和服务中的信息,包括Instagram和Facebook上的公开帖子以及用户与Meta AI的交互数据。更多信息请参考隐私中心 |
模型参数 |
Llama 4 Scout:170亿(激活),1090亿(总计);Llama 4 Maverick:170亿(激活),4000亿(总计) |
输入模态 |
多语言文本和图像 |
输出模态 |
多语言文本和代码 |
上下文长度 |
Llama 4 Scout:10M;Llama 4 Maverick:1M |
标记数量 |
Llama 4 Scout:~40T;Llama 4 Maverick:~22T |
知识截止日期 |
2024年8月 |
预期用途
- 预期用例:适用于商业和研究领域的多语言应用,如对话式助手、视觉推理、自然语言生成等。
- 超出范围:违反适用法律法规(包括贸易合规法律)的使用;违反可接受使用政策和Llama 4社区许可协议的使用;使用不支持的语言或功能。
硬件和软件
- 训练因素:使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
- 训练能耗:模型预训练累计使用了738万个H100-80GB GPU小时的计算资源。
训练数据
- 概述:Llama 4 Scout在约40万亿个标记的多模态数据上进行预训练,Llama 4 Maverick在约22万亿个标记的多模态数据上进行预训练。
- 数据新鲜度:预训练数据的截止日期为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 |
指令微调模型 |
图像推理 |
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/acc |
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量化代码,以减少性能损失。
安全保障
- 模型级微调:通过安全微调,为开发者提供安全、强大的模型,减少部署安全AI系统的工作量。
- Llama 4系统保护:提供系统级保护措施,如Llama Guard、Prompt Guard和Code Shield,帮助开发者降低安全和风险。
- 评估:对Llama模型进行常见用例和特定能力的评估,确保模型的安全性和可靠性。
社区
- 安全标准:积极参与开源联盟,为安全标准化和透明度做出贡献。
- 影响赠款:设立Llama影响赠款计划,支持对社会有益的应用。
- 资源支持:提供输出报告机制和漏洞赏金计划,借助社区力量不断改进Llama技术。
🔧 技术细节
训练因素
使用自定义训练库、Meta定制的GPU集群和生产基础设施进行预训练。微调、量化、标注和评估也在生产基础设施上进行。
训练能耗
模型预训练累计使用了738万个H100-80GB GPU小时的计算资源。
安全微调
- 微调数据:采用多方面的数据收集方法,结合人工生成数据和合成数据,降低安全风险。
- 拒绝率:降低模型对良性提示的拒绝率,提高模型的可用性。
- 语气:改进拒绝语气,使模型回答更自然。
- 系统提示:Llama 4更易于引导,系统提示可有效减少错误拒绝和模板化语言。
📄 许可证
Llama 4使用自定义商业许可证,即Llama 4社区许可协议,详情请见:https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE
注意事项和局限性
Llama 4是一项新技术,使用时可能存在风险。在部署应用前,开发者应进行安全测试和微调。同时,鼓励开源社区使用Llama进行研究和开发,以应对新兴风险。更多信息请参考开发者使用指南:AI保护、Llama保护解决方案和其他资源。
⚠️ 重要提示
使用Llama 4时,请遵守适用法律法规和Llama 4社区许可协议。同时,注意模型可能产生不准确或不当的回答。
💡 使用建议
在部署应用前,建议进行充分的安全测试和微调,以确保模型的安全性和可靠性。同时,可参考社区提供的资源和最佳实践,提高模型的使用效果。