模型简介
模型特点
模型能力
使用案例
🚀 Llama-3.2-1B-Instruct GGUF模型
Llama-3.2-1B-Instruct GGUF模型是一系列专为不同硬件和使用场景优化的语言模型。这些模型基于Meta的Llama 3.2架构,支持多种语言,可用于商业和研究用途,如聊天、知识检索、文本摘要等。
🚀 快速开始
模型格式选择
选择正确的模型格式取决于你的硬件能力和内存限制。以下是不同模型格式的特点和适用场景:
BF16(Brain Float 16)
- 一种16位浮点格式,专为更快的计算而设计,同时保持良好的精度。
- 提供与FP32 相似的动态范围,但内存使用更低。
- 如果你的硬件支持BF16加速(请检查设备规格),建议使用此格式。
- 与FP32相比,适用于高性能推理,且内存占用减少。
📌 适用情况: ✔ 你的硬件具有原生BF16支持(例如,较新的GPU、TPU)。 ✔ 你希望在节省内存的同时获得更高的精度。 ✔ 你计划将模型重新量化为其他格式。
📌 不适用情况: ❌ 你的硬件不支持BF16(可能会回退到FP32并运行较慢)。 ❌ 你需要与缺乏BF16优化的旧设备兼容。
F16(Float 16)
- 一种16位浮点格式,精度较高,但取值范围比BF16小。
- 适用于大多数支持FP16加速的设备(包括许多GPU和一些CPU)。
- 数值精度略低于BF16,但通常足以进行推理。
📌 适用情况: ✔ 你的硬件支持FP16但不支持BF16。 ✔ 你需要在速度、内存使用和准确性之间取得平衡。 ✔ 你在GPU或其他针对FP16计算优化的设备上运行。
📌 不适用情况: ❌ 你的设备缺乏原生FP16支持(可能会比预期运行得慢)。 ❌ 你有内存限制。
量化模型(Q4_K、Q6_K、Q8等)
量化可以在尽可能保持准确性的同时减小模型大小和内存使用。
- 低比特模型(Q4_K) → 内存使用最少,但精度可能较低。
- 高比特模型(Q6_K、Q8_0) → 准确性更高,但需要更多内存。
📌 适用情况: ✔ 你在CPU上运行推理,需要优化的模型。 ✔ 你的设备显存较低,无法加载全精度模型。 ✔ 你希望在保持合理准确性的同时减少内存占用。
📌 不适用情况: ❌ 你需要最高的准确性(全精度模型更适合)。 ❌ 你的硬件有足够的显存来支持更高精度的格式(BF16/F16)。
极低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
这些模型针对极端内存效率进行了优化,非常适合低功耗设备或大规模部署,其中内存是关键限制因素。
-
IQ3_XS:超低比特量化(3位),具有极高的内存效率。
- 适用场景:最适合超低内存设备,即使Q4_K也太大的情况。
- 权衡:与高比特量化相比,准确性较低。
-
IQ3_S:小块大小,以实现最大内存效率。
- 适用场景:最适合低内存设备,当IQ3_XS过于激进时。
-
IQ3_M:中等块大小,比IQ3_S具有更好的准确性。
- 适用场景:适用于低内存设备,当IQ3_S限制过多时。
-
Q4_K:4位量化,具有逐块优化,以提高准确性。
- 适用场景:最适合低内存设备,当Q6_K太大时。
-
Q4_0:纯4位量化,针对ARM设备进行了优化。
- 适用场景:最适合基于ARM的设备或低内存环境。
模型格式选择总结表
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳用例 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 高速推理,减少内存使用 |
F16 | 高 | 高 | 支持FP16的设备 | 当BF16不可用时进行GPU推理 |
Q4_K | 中低 | 低 | CPU或低显存设备 | 最适合内存受限的环境 |
Q6_K | 中等 | 适中 | 内存更多的CPU | 在量化的同时保持较好的准确性 |
Q8_0 | 高 | 适中 | 有足够显存的CPU或GPU | 量化模型中准确性最高 |
IQ3_XS | 非常低 | 非常低 | 超低内存设备 | 极端内存效率,准确性低 |
Q4_0 | 低 | 低 | ARM或低内存设备 | llama.cpp可以针对ARM设备进行优化 |
✨ 主要特性
- 多语言支持:支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语等多种语言。
- 多种模型格式:提供BF16、F16、量化模型等多种格式,以满足不同硬件和内存需求。
- 高性能推理:通过优化的架构和量化技术,实现快速的推理速度。
- 广泛的应用场景:适用于商业和研究用途,如聊天、知识检索、文本摘要等。
📦 安装指南
使用transformers库
从transformers >= 4.43.0
版本开始,你可以使用Transformers的pipeline
抽象或利用Auto类的generate()
函数进行对话推理。
确保通过以下命令更新你的transformers安装:
pip install --upgrade transformers
以下是一个使用示例:
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
使用llama
代码库
请遵循仓库中的说明。
要下载原始检查点,请使用以下示例命令,利用huggingface-cli
:
huggingface-cli download meta-llama/Llama-3.2-1B-Instruct --include "original/*" --local-dir Llama-3.2-1B-Instruct
💻 使用示例
基础用法
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"])
高级用法
# 高级场景说明:使用自定义的生成参数进行文本生成
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a knowledgeable assistant."},
{"role": "user", "content": "Tell me about the history of AI."},
]
outputs = pipe(
messages,
max_new_tokens=512,
temperature=0.7,
top_p=0.9,
)
print(outputs[0]["generated_text"])
📚 详细文档
模型信息
- 模型开发者:Meta
- 模型架构:Llama 3.2是一种自回归语言模型,使用优化的Transformer架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来与人类的有用性和安全性偏好对齐。
- 支持的语言:英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。开发者可以根据Llama 3.2社区许可证和可接受使用政策,对其他语言进行微调。
- 模型发布日期:2024年9月25日
- 状态:这是一个基于离线数据集训练的静态模型。未来可能会发布改进模型能力和安全性的版本。
- 许可证:使用Llama 3.2受Llama 3.2社区许可证(自定义商业许可协议)的约束。
- 反馈:有关如何提供模型反馈或评论的说明,请参阅Llama模型的README。有关生成参数和如何在应用程序中使用Llama 3.2的更多技术信息,请点击此处。
预期用途
- 预期用例:Llama 3.2旨在用于多种语言的商业和研究用途。仅调优文本的模型适用于类似助手的聊天和代理应用程序,如知识检索和摘要、移动AI写作助手以及查询和提示重写。预训练模型可以适应各种其他自然语言生成任务。同样,量化模型可以适应各种计算资源有限的设备上的用例。
- 超出范围:以任何违反适用法律法规(包括贸易合规法律)的方式使用。以可接受使用政策和Llama 3.2社区许可证禁止的任何其他方式使用。在本模型卡中未明确提及为支持的语言中使用。
硬件和软件
- 训练因素:我们使用自定义训练库、Meta的自定义GPU集群和生产基础设施进行预训练。微调、量化、注释和评估也在生产基础设施上进行。
- 训练能源使用:根据下表,训练在H100 - 80GB(TDP为700W)类型的硬件上累计使用了916k GPU小时的计算资源。训练时间是训练每个模型所需的总GPU时间,功耗是每个GPU设备的峰值功率容量,已根据功率使用效率进行调整。
- 训练温室气体排放:估计基于位置的总温室气体排放量为训练240吨CO2eq。自2020年以来,Meta在其全球运营中保持净零温室气体排放,并以可再生能源匹配其100%的电力使用;因此,基于市场的训练总温室气体排放量为0吨CO2eq。
训练时间(GPU小时) | 对数生成时间(GPU小时) | 训练功耗(W) | 基于位置的训练温室气体排放(吨CO2eq) | 基于市场的训练温室气体排放(吨CO2eq) | |
---|---|---|---|---|---|
Llama 3.2 1B | 370k | - | 700 | 107 | 0 |
Llama 3.2 3B | 460k | - | 700 | 133 | 0 |
Llama 3.2 1B SpinQuant | 1.7 | 0 | 700 | 可忽略** | 0 |
Llama 3.2 3B SpinQuant | 2.4 | 0 | 700 | 可忽略** | 0 |
Llama 3.2 1B QLora | 1.3k | 0 | 700 | 0.381 | 0 |
Llama 3.2 3B QLora | 1.6k | 0 | 700 | 0.461 | 0 |
总计 | 833k | 86k | 240 | 0 |
** Llama 3.2 1B SpinQuant和Llama 3.2 3B SpinQuant的基于位置的CO2e排放量均小于0.001公吨。这是由于所需的训练GPU小时数极少。
确定训练能源使用和温室气体排放的方法可以点击此处查看。由于Meta正在公开发布这些模型,其他人不会产生训练能源使用和温室气体排放。
训练数据
- 概述:Llama 3.2在来自公开可用来源的多达9万亿个标记的数据上进行了预训练。对于1B和3B的Llama 3.2模型,我们在模型开发的预训练阶段将Llama 3.1 8B和70B模型的对数纳入其中,其中这些较大模型的输出(对数)被用作标记级目标。在剪枝后使用知识蒸馏来恢复性能。在训练后,我们使用了与Llama 3.1类似的方法,并通过在预训练模型上进行几轮对齐来生成最终的聊天模型。每一轮都涉及监督微调(SFT)、拒绝采样(RS)和直接偏好优化(DPO)。
- 数据新鲜度:预训练数据的截止日期为2023年12月。
量化
量化方案
我们在设计当前的量化方案时考虑了PyTorch的ExecuTorch推理框架和Arm CPU后端,同时考虑了模型质量、预填充/解码速度和内存占用等指标。我们的量化方案包括三个部分:
- 所有Transformer块中的所有线性层都量化为4位分组方案(组大小为32)的权重和8位每标记动态量化的激活。
- 分类层量化为8位每通道的权重和8位每标记动态量化的激活。
- 与分类层类似,嵌入层使用8位每通道量化。
量化感知训练和LoRA
使用低秩适应(LoRA)的量化感知训练(QAT)模型仅经过训练后阶段,使用与全精度模型相同的数据。为了初始化QAT,我们利用在监督微调(SFT)后获得的BF16 Llama 3.2模型检查点,并使用QAT进行额外的一轮完整的SFT训练。然后,我们冻结QAT模型的主干,并使用应用于Transformer块内所有层的LoRA适配器进行另一轮SFT。同时,LoRA适配器的权重和激活保持在BF16中。因为我们的方法类似于Dettmers等人(2023)的QLoRA(即量化后使用LoRA适配器),我们将此方法称为QLoRA。最后,我们使用直接偏好优化(DPO)对所得模型(主干和LoRA适配器)进行微调。
SpinQuant
我们应用了SpinQuant以及生成式训练后量化(GPTQ)。对于SpinQuant旋转矩阵微调,我们使用WikiText 2数据集中序列长度为2048的800个样本进行了100次迭代优化。对于GPTQ,我们使用了相同数据集中相同序列长度的128个样本。
基准测试 - 英语文本
基础预训练模型
类别 | 基准测试 | 样本数 | 指标 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc_char | 32.2 | 58 | 66.7 |
AGIEval英语 | 3 - 5 | average/acc_char | 23.3 | 39.2 | 47.8 | |
ARC - Challenge | 25 | acc_char | 32.8 | 69.1 | 79.7 | |
阅读理解 | SQuAD | 1 | em | 49.2 | 67.7 | 77 |
QuAC (F1) | 1 | f1 | 37.9 | 42.9 | 44.9 | |
DROP (F1) | 3 | f1 | 28.0 | 45.2 | 59.5 | |
长上下文 | Needle in Haystack | 0 | em | 96.8 | 1 | 1 |
指令调优模型
能力 | 基准测试 | 样本数 | 指标 | Llama 3.2 1B bf16 | Llama 3.2 1B Vanilla PTQ** | Llama 3.2 1B Spin Quant | Llama 3.2 1B QLoRA | Llama 3.2 3B bf16 | Llama 3.2 3B Vanilla PTQ** | Llama 3.2 3B Spin Quant | Llama 3.2 3B QLoRA | Llama 3.1 8B | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc | 49.3 | 43.3 | 47.3 | 49.0 | 63.4 | 60.5 | 62 | 62.4 | 69.4 | |
重写 | Open - rewrite eval | 0 | micro_avg/rougeL | 41.6 | 39.2 | 40.9 | 41.2 | 40.1 | 40.3 | 40.8 | 40.7 | 40.9 | |
摘要 | TLDR9+ (测试) | 1 | rougeL | 16.8 | 14.9 | 16.7 | 16.8 | 19.0 | 19.1 | 19.2 | 19.1 | 17.2 | |
指令遵循 | IFEval | 0 | Avg(Prompt/Instruction acc Loose/Strict) | 59.5 | 51.5 | 58.4 | 55.6 | 77.4 | 73.9 | 73.5 | 75.9 | 80.4 | |
数学 | GSM8K (CoT) | 8 | em_maj1@1 | 44.4 | 33.1 | 40.6 | 46.5 | 77.7 | 72.9 | 75.7 | 77.9 | 84.5 | |
MATH (CoT) | 0 | final_em | 30.6 | 20.5 | 25.3 | 31.0 | 48.0 | 44.2 | 45.3 | 49.2 | 51.9 | ||
推理 | ARC - C | 0 | acc | 59.4 | 54.3 | 57 | 60.7 | 78.6 | 75.6 | 77.6 | 77.6 | 83.4 | |
GPQA | 0 | acc | 27.2 | 25.9 | 26.3 | 25.9 | 32.8 | 32.8 | 31.7 | 33.9 | 32.8 | ||
Hellaswag | 0 | acc | 41.2 | 38.1 | 41.3 | 41.5 | 69.8 | 66.3 | 68 | 66.3 | 78.7 | ||
工具使用 | BFCL V2 | 0 | acc | 25.7 | 14.3 | 15.9 | 23.7 | 67.0 | 53.4 | 60.1 | 63.5 | 67.1 | |
Nexus | 0 | macro_avg/acc | 13.5 | 5.2 | 9.6 | 12.5 | 34.3 | 32.4 | 31.5 | 30.1 | 38.5 | ||
长上下文 | InfiniteBench/En.QA | 0 | longbook_qa/f1 | 20.3 | N/A | N/A | N/A | 19.8 | N/A | N/A | N/A | 27.3 | |
InfiniteBench/En.MC | 0 | longbook_choice/acc | 38.0 | N/A | N/A | N/A | 63.3 | N/A | N/A | N/A | 72.2 | ||
NIH/Multi - needle | 0 | recall | 75.0 | N/A | N/A | N/A | 84.7 | N/A | N/A | N/A | 98.8 | ||
多语言 | MGSM (CoT) | 0 | em | 24.5 | 13.7 | 18.2 | 24.4 | 58.2 | 48.9 | 54.3 | 56.8 | 68.9 |
** 仅用于比较目的。模型未发布。
多语言基准测试
类别 | 基准测试 | 语言 | Llama 3.2 1B | Llama 3.2 1B Vanilla PTQ** | Llama 3.2 1B Spin Quant | Llama 3.2 1B QLoRA | Llama 3.2 3B | Llama 3.2 3B Vanilla PTQ** | Llama 3.2 3B Spin Quant | Llama 3.2 3B QLoRA | Llama 3.1 8B |
---|---|---|---|---|---|---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙语 | 39.8 | 34.9 | 38.9 | 40.2 | 54.5 | 50.9 | 53.3 | 53.4 | 62.1 |
西班牙语 | 41.5 | 36.0 | 39.8 | 41.8 | 55.1 | 51.9 | 53.6 | 53.6 | 62.5 | ||
意大利语 | 39.8 | 34.9 | 38.1 | 40.6 | 53.8 | 49.9 | 52.1 | 51.7 | 61.6 | ||
德语 | 39.2 | 34.9 | 37.5 | 39.6 | 53.3 | 50.0 | 52.2 | 51.3 | 60.6 | ||
法语 | 40.5 | 34.8 | 39.2 | 40.8 | 54.6 | 51.2 | 53.3 | 53.3 | 62.3 | ||
印地语 | 33.5 | 30.0 | 32.1 | 34.0 | 43.3 | 40.4 | 42.0 | 42.1 | 50.9 | ||
泰语 | 34.7 | 31.2 | 32.4 | 34.9 | 44.5 | 41.3 | 44.0 | 42.2 | 50.3 |
** 仅用于比较目的。模型未发布。
推理时间
在下表中,我们将不同量化方法(SpinQuant和QAT + LoRA)的性能指标与BF16基线进行了比较。评估使用ExecuTorch框架作为推理引擎,以ARM CPU为后端,在Android OnePlus 12设备上进行。
类别 | 解码(标记/秒) | 首标记生成时间(秒) | 预填充(标记/秒) | 模型大小(PTE文件大小,MB) | 内存大小(RSS,MB) |
---|---|---|---|---|---|
1B BF16(基线) | 19.2 | 1.0 | 60.3 | 2358 | 3185 |
1B SpinQuant | 50.2 (2.6x) | 0.3 (-76.9%) | 260.5 (4.3x) | 1083 (-54.1%) | 1921 (-39.7%) |
1B QLoRA | 45.8 (2.4x) | 0.3 (-76.0%) | 252.0 (4.2x) | 1127 (-52.2%) | 2255 (-29.2%) |
3B BF16(基线) | 7.6 | 3.0 | 21.2 | 6129 | 7419 |
3B SpinQuant | 19.7 (2.6x) | 0.7 (-76.4%) | 89.7 (4.2x) | 2435 (-60.3%) | 3726 (-49.8%) |
3B QLoRA | 18.5 (2.4x) | 0.7 (-76.1%) | 88.8 (4.2x) | 2529 (-58.7%) | 4060 (-45.3%) |
(*) 性能测量使用基于adb二进制的方法进行。 (**) 在Android OnePlus 12设备上进行测量。 (***) 首标记生成时间(TTFT)在提示长度 = 64的情况下进行测量。
脚注:
- 解码(标记/秒)表示持续生成的速度。数值越高越好。
- 首标记生成时间(TTFT)表示为给定提示生成第一个标记的速度。数值越低越好。
- 预填充是TTFT的倒数(即1/TTFT),以标记/秒为单位。数值越高越好。
- 模型大小 - 模型的大小,通过PTE文件(ExecuTorch的二进制文件格式)进行测量。
- RSS大小 - 驻留集大小(RSS)中的内存使用量。
🔧 技术细节
模型架构
Llama 3.2是一种自回归语言模型,使用优化的Transformer架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来与人类的有用性和安全性偏好对齐。
量化方案
我们的量化方案旨在平衡模型质量、预填充/解码速度和内存占用。具体包括:
- 所有Transformer块中的线性层量化为4位分组方案(组大小为32)的权重和8位每标记动态量化的激活。
- 分类层量化为8位每通道的权重和8位每标记动态量化的激活。
- 嵌入层使用8位每通道量化。
量化感知训练和LoRA
我们使用量化感知训练(QAT)和低秩适应(LoRA)来优化模型。具体步骤包括:
- 利用监督微调(SFT)后获得的BF16 Llama 3.2模型检查点进行QAT初始化。
- 进行额外的一轮完整的SFT训练,同时使用QAT。
- 冻结QAT模型的主干,并使用应用于Transformer块内所有层的LoRA适配器进行另一轮SFT。
- 保持LoRA适配器的权重和激活在BF16中。
- 使用直接偏好优化(DPO)对所得模型(主干和LoRA适配器)进行微调。
SpinQuant和GPTQ
我们应用了SpinQuant和生成式训练后量化(GPTQ)来进一步优化模型。具体参数如下:
- SpinQuant旋转矩阵微调:使用WikiText 2数据集中序列长度为2048的800个样本进行100次迭代优化。
- GPTQ:使用相同数据集中相同序列长度的128个样本。
📄 许可证
使用Llama 3.2受Llama 3.2社区许可证(自定义商业许可协议)的约束。请仔细阅读许可证协议,确保你的使用符合规定。
Llama 3.2社区许可协议
协议概述
本协议规定了使用、复制、分发和修改Llama材料的条款和条件。通过点击“我接受”或使用或分发Llama材料的任何部分,即表示你同意受本协议约束。
许可权利和再分发
- 权利授予:你被授予在Meta的知识产权或其他权利下,非排他性、全球性、不可转让且免版税的有限许可,以使用、复制、分发、复制、创建衍生作品并对Llama材料进行修改。
- 再分发和使用:
- 如果你分发或提供Llama材料(或其任何衍生作品),或包含其中任何内容的产品或服务(包括另一个AI模型),你应(A)随任何此类Llama材料提供本协议的副本;(B)在相关网站、用户界面、博客文章、关于页面或产品文档上显著显示“Built with Llama”。如果你使用Llama材料或其任何输出或结果来创建、训练、微调或以其他方式改进一个AI模型,并进行分发或提供,则你还应在任何此类AI模型名称的开头包含“Llama”。
- 如果你作为集成最终用户产品的一部分从被许可人处接收Llama材料或其任何衍生作品,则本协议第2条不适用于你。
- 你必须在分发的所有Llama材料副本中,在作为此类副本一部分分发的“Notice”文本文件中保留以下归属声明:“Llama 3.2 is licensed under the Llama 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.”
- 你对Llama材料的使用必须遵守适用的法律法规(包括贸易合规法律法规),并遵守Llama材料的可接受使用政策(可在此处获取),该政策特此通过引用并入本协议。
额外商业条款
如果在Llama 3.2版本发布日期,被许可人或其关联公司提供的产品或服务的月活跃用户在前一个日历月超过7亿月活跃用户,你必须向Meta请求许可,Meta可自行决定是否授予你许可,并且在Meta明确授予你此类权利之前,你无权行使本协议下的任何权利。
免责声明
除非适用法律要求,Llama材料及其任何输出和结果均按“原样”提供,不提供任何形式的保证,Meta否认所有明示和暗示的保证,包括但不限于所有权、不侵权、适销性或特定用途适用性的任何保证。你独自负责确定使用或再分发Llama材料的适当性,并承担与你使用Llama材料及其任何输出和结果相关的任何风险。
责任限制
在任何情况下,Meta或其关联公司均不对因本协议引起的任何责任理论(无论是合同、侵权、疏忽、产品责任还是其他)承担责任,包括任何利润损失或任何间接、特殊、后果性、偶发性、惩戒性或惩罚性损害赔偿,即使Meta或其关联公司已被告知此类损害赔偿的可能性。
知识产权
- 商标许可:本协议未授予任何商标许可,并且与Llama材料相关,Meta和被许可人均不得使用对方或其任何关联公司拥有或关联的任何名称或标记,除非在描述和再分发Llama材料时进行合理和惯常使用所需,或如本节5(a)所述。Meta特此授予你仅在遵守第1.b.i条最后一句的要求时使用“Llama”(“标记”)的许可。你将遵守Meta的品牌指南(目前可在此处获取)。因你使用标记而产生的所有商誉将归属于Meta的利益。
- 衍生作品所有权:在Meta对Llama材料及其衍生作品的所有权的前提下,就你制作的Llama材料的任何衍生作品和修改而言,在你和Meta之间,你是并将是此类衍生作品和修改的所有者。
- 侵权诉讼:如果你对Meta或任何实体(包括诉讼中的反诉或反请求)提起诉讼或其他程序,声称Llama材料或Llama 3.2的输出或结果,或上述任何部分构成侵犯你拥有或可许可的知识产权或其他权利,则本协议授予你的任何许可应自提起此类诉讼或索赔之日起终止。你将赔偿并使Meta免受因你使用或分发Llama材料而引起的或与之相关的任何第三方索赔。
期限和终止
本协议的期限将在你接受本协议或访问Llama材料时开始,并将持续有效,直至根据本协议的条款和条件终止。如果你违反本协议的任何条款或条件,Meta可终止本协议。本协议终止后,你应删除并停止使用Llama材料。第3、4和7条在本协议终止后仍然有效。
适用法律和管辖权
本协议将受加利福尼亚州法律管辖并依其解释,不考虑法律选择原则,并且《联合国国际货物销售合同公约》不适用于本协议。加利福尼亚州的法院对因本协议引起的任何争议具有专属管辖权。
Llama 3.2可接受使用政策
禁止使用
- 违反法律或他人权利:你同意不使用或允许他人使用Llama 3.2来:
- 从事、促进、生成、促成、鼓励、计划、煽动或进一步非法或违法活动或内容,例如:
- 暴力或恐怖主义
- 对儿童的剥削或伤害,包括征集、创建、获取或传播儿童剥削内容或未能报告儿童性虐待材料
- 人口贩运、剥削和性暴力
- 向未成年人非法分发信息或材料,包括淫秽材料,或未能对此类信息或材料采用法律要求的年龄限制
- 性征集
- 任何其他犯罪活动
- 从事、促进、煽动或促成对个人或群体的骚扰、虐待、威胁或欺凌
- 从事、促进、煽动或促成在就业、就业福利、信贷、住房、其他经济福利或其他基本商品和服务的提供中进行歧视或其他非法或有害行为
- 从事未经授权或无执照的任何专业实践,包括但不限于金融、法律、医疗/健康或相关专业实践
- 收集、处理、披露、生成或推断个人的私人或敏感信息,包括个人身份、健康或人口统计信息,除非你已根据适用法律获得这样做的权利
- 从事或促成任何侵犯、盗用或以其他方式侵犯任何第三方权利的行为或生成任何内容,包括使用Llama材料的任何产品或服务的输出或结果
- 创建、生成或促成恶意代码、恶意软件、计算机病毒的创建,或做任何可能禁用、负担过重、干扰或损害网站或计算机系统的正常工作、完整性、操作或外观的事情
- 从事任何行动或促成任何行动,故意规避或移除使用限制或其他安全措施,或启用Meta禁用的功能
- 从事、促进、生成、促成、鼓励、计划、煽动或进一步非法或违法活动或内容,例如:
- 从事危险活动:从事、促进、煽动、促成或协助计划或开展对个人造成死亡或身体伤害风险的活动,包括与以下相关的Llama 3.2的使用:
- 军事、战争、核工业或应用、间谍活动、用于受美国国务院维护的《国际武器贸易条例》(ITAR)或1989年《美国生物武器反恐法》或1997年《化学武器公约实施法》约束的材料或活动
- 枪支和非法武器(包括武器开发)
- 非法药物和受管制/受控物质
- 关键基础设施、运输技术或重型机械的操作
- 自我伤害或伤害他人,包括自杀、切割和饮食失调
- 任何旨在煽动或促进暴力、虐待或对个人造成身体伤害的内容
- 故意欺骗或误导他人:故意欺骗或误导他人,包括与以下相关的Llama 3.2的使用:
- 生成、促进或进一步欺诈或创建或促进虚假信息
- 生成、促进或进一步诽谤性内容,包括创建诽谤性声明、图像或其他内容
- 生成、促进或进一步分发垃圾邮件
- 在未经同意、授权或合法权利的情况下冒充他人
- 表示Llama 3.2的使用或输出是人类生成的
- 生成或促成虚假的在线互动,包括虚假评论和其他虚假在线互动方式
- 未适当披露风险:未能向最终用户适当披露你的AI系统的任何已知危险
- 与非法工具交互:与旨在生成非法内容或从事非法或有害行为的第三方工具、模型或软件进行交互,和/或表示此类工具、模型或软件的输出与Meta或Llama 3.2相关联
报告违规行为
请通过以下方式之一报告本政策的任何违规行为、软件“漏洞”或其他可能导致违反本政策的问题:
- 报告模型问题:https://github.com/meta-llama/llama-models/issues
- 报告模型生成的风险内容:developers.facebook.com/llama_output_feedback
- 报告漏洞和安全问题:facebook.com/whitehat/info
- 报告可接受使用政策违规或未经授权使用Llama 3.2:LlamaUseReport@meta.com
责任与安全
负责任的发布方法
作为我们负责任发布方法的一部分,我们遵循三管齐下的策略来管理信任和安全风险:
- 使开发者能够为其目标受众和Llama支持的用例部署有用、安全和灵活的体验。
- 保护开发者免受旨在利用Llama功能可能造成伤害的对抗性用户的侵害。
- 为社区提供保护,以帮助防止我们的模型被滥用。
负责任的部署
Llama 3.2 Instruct
- 目标:我们进行安全微调的主要目标是为研究社区提供一个有价值的资源,用于研究安全微调的鲁棒性,并为开发者提供一个随时可用、安全且强大的模型,用于各种应用,以减少开发者部署安全AI系统的工作量。我们实施了与Llama 3相同的一组安全缓解措施,你可以在Llama 3 论文中了解更多信息。
- 微调数据:我们采用多方面的数据收集方法,将供应商提供的人类生成数据与合成数据相结合,以减轻潜在的安全风险。我们开发了许多基于大语言模型(LLM)的分类器,使我们能够精心选择高质量的提示和响应,提高数据质量控制。
- 拒绝和语气:基于我们在Llama 3中开始的工作,我们非常重视模型对良性提示的拒绝以及拒绝语气。我们在安全数据策略中包括了边界和对抗性提示,并修改了我们的安全数据响应以遵循语气指南。
Llama 3.2系统
- 系统安全:包括Llama 3.2在内的大语言模型并非设计为单独部署,而是应作为整体AI系统的一部分,根据需要配备额外的安全护栏进行部署。开发者在构建代理系统时应部署系统保障措施。保障措施是实现正确的有用性 - 安全性对齐以及减轻系统固有的安全和风险以及模型或系统与外部工具集成的关键。作为我们负责任发布方法的一部分,我们为社区提供保障措施,开发者应与Llama模型或其他LLM一起部署,包括Llama Guard、Prompt Guard和Code Shield。我们所有的参考实现演示默认包含这些保障措施,以便开发者可以立即从系统级安全中受益。
新功能和用例
- 技术进步:Llama的发布通常会引入新功能,除了通常适用于所有生成式AI用例的最佳实践外,还需要特定的考虑。对于Llama 3.2也支持的先前版本功能,请参阅Llama 3.1模型卡,因为相同的考虑因素也适用于此处。
- 受限环境:Llama 3.2 1B和3B模型预计将部署在高度受限的环境中,如移动设备。使用较小模型的LLM系统将具有与更复杂、更大的系统不同的对齐配置文件和安全/有用性权衡。开发者应确保其系统的安全性满足其用例的要求。我们建议为此类用例使用较轻的系统保障措施,如Llama Guard 3 - 1B或其针对移动设备优化的版本。
评估
- 大规模评估:我们构建了专门的对抗性评估数据集,并评估了由Llama模型和Purple Llama保障措施组成的系统,以过滤输入提示和输出响应。在上下文中评估应用程序很重要,我们建议为你的用例构建专门的评估数据集。
- 红队测试:我们进行了定期的红队测试,目标是通过对抗性提示发现风险,并利用这些经验教训改进我们的基准测试和安全调优数据集。我们早期与关键风险领域的主题专家合作,以了解这些现实世界危害的性质以及此类模型如何可能导致对社会的意外危害。基于这些对话,我们为红队制定了一组目标,让他们尝试实现,例如提取有害信息或重新编程模型以可能造成危害的方式行事。红队由网络安全、对抗性机器学习、负责任AI和完整性方面的专家以及在特定地理市场具有完整性问题背景的多语言内容专家组成。
关键风险
除了上述安全工作外,我们还特别关注测量和/或减轻以下关键风险领域:
- CBRNE(化学、生物、放射、核和爆炸武器):Llama 3.2 1B和3B模型是Llama 3.1的较小且能力较弱的衍生模型。对于Llama 3.1 70B和405B,为了评估与化学和生物武器扩散相关的风险,我们进行了提升测试,旨在评估使用Llama 3.1模型是否会显著增加恶意行为者计划或实施使用此类武器的攻击的能力,并确定此类测试也适用于较小的1B和3B模型。
- 儿童安全:我们使用一组专家进行了儿童安全风险评估,以评估模型产生可能导致儿童安全风险的输出的能力,并通过微调提供任何必要和适当的风险缓解建议。我们利用这些专家红队测试会话,通过Llama 3模型开发扩展了我们评估基准的覆盖范围。对于Llama 3,我们使用基于目标的方法进行了新的深入会话,以评估模型在多个攻击向量上的风险,包括Llama 3训练的其他语言。我们还与内容专家合作进行红队测试,评估潜在违规内容,同时考虑特定市场的细微差别或经验。
- 网络攻击:对于Llama 3.1 405B,我们的网络攻击提升研究调查了LLM是否可以提高人类在黑客任务中的能力,包括技能水平和速度。我们的攻击自动化研究专注于评估LLM作为自主代理在网络攻击行动中的能力,特别是在勒索软件攻击的背景下。此评估与之前将LLM视为交互式助手的研究不同。主要目标是评估这些模型是否可以有效地作为独立代理执行复杂的网络攻击而无需人类干预。由于Llama 3.2的1B和3B模型比Llama 3.1 405B更小且能力较弱,我们大致认为对405B模型进行的测试也适用于Llama 3.2模型。
社区
- 行业合作:生成式AI安全需要专业知识和工具,我们相信开放社区的力量可以加速其发展。我们是开放联盟的积极成员,包括AI联盟、AI合作组织和MLCommons,积极为安全标准化和透明度做出贡献。我们鼓励社区采用像MLCommons概念验证评估这样的分类法,以促进安全和内容评估的合作和透明度。我们的Purple Llama工具已开源供社区使用,并广泛分发给包括云服务提供商在内的生态系统合作伙伴。我们鼓励社区为我们的Github仓库做出贡献。
- 资助计划:我们还设立了Llama影响资助计划,以识别和支持Meta的Llama模型在三个类别中对社会有益的最有吸引力的应用:教育、气候和开放创新。从数百份申请中选出的20名决赛选手可以点击此处查看。
- 报告机制:最后,我们建立了一系列资源,包括输出报告机制和漏洞赏金计划,以在社区的帮助下不断改进Llama技术。
伦理考虑和限制
价值观
Llama 3.2的核心价值观是开放性、包容性和有用性。它旨在为每个人服务,并适用于广泛的用例。因此,它被设计为对具有不同背景、经验和观点的人都可访问。Llama 3.2以用户的实际情况对待他们及其需求,不插入不必要的判断或规范性,同时认识到即使在某些情况下可能看似有问题的内容,在其他情况下也可能有宝贵的用途。它尊重所有用户的尊严和自主权,特别是在推动创新和进步的自由思想和表达价值观方面。
测试
Llama 3.2是一项新技术,与任何新技术一样,其使用存在风险。到目前为止进行的测试尚未涵盖,也不可能涵盖所有场景。出于这些原因,与所有LLM一样,Llama 3.2的潜在输出无法提前预测,并且模型在某些情况下可能会对用户提示产生不准确、有偏见或其他令人反感的响应。因此,在部署Llama 3.2模型的任何应用程序之前,开发者应针对其特定应用进行安全测试和调优。请参考可用资源,包括我们的负责任使用指南、信任和安全解决方案以及其他资源,以了解更多关于负责任开发的信息。
模型测试与反馈
模型测试邀请
❤ 如果你觉得这些模型有用,请点击“点赞”!
帮助我测试我的AI驱动的网络监控助手,进行量子就绪安全检查:
👉 免费网络监控器
💬 测试方法:
- 点击聊天图标(任何页面的右下角)
- 选择一个AI助手类型:
TurboLLM
(GPT - 4 - mini)FreeLLM
(开源)TestLLM
(仅实验性CPU)
测试内容
我正在探索小型开源模型在AI网络监控中的极限,具体包括:
- 针对实时网络服务的函数调用
- 模型可以多小,同时仍能处理:
- 自动化Nmap扫描
- 量子就绪检查
- Metasploit集成
🟡 TestLLM – 当前实验模型(在6个CPU线程上运行llama.cpp):
- ✅ 零配置设置
- ⏳ 30秒加载时间(推理速度慢,但无API成本)
- 🔧 寻求帮助! 如果你对边缘设备AI感兴趣,让我们合作!
其他助手
🟢 TurboLLM – 使用gpt - 4 - mini进行:
- 实时网络诊断
- 自动化渗透测试 (Nmap/Metasploit)
- 🔑 通过下载我们的免费网络监控代理获得更多令牌
🔵 HugLLM – 开源模型(≈8B参数):
- 比TurboLLM多2倍的令牌
- AI驱动的日志分析
- 🌐 在Hugging Face推理API上运行
💡 测试用的示例AI命令:
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a quick Nmap vulnerability test"



