2.1 大语言模型架构与安全边界
要理解 LLM 的安全问题,首先需要了解其底层架构。Transformer 架构是现代 LLM 的技术基石,其设计特点深刻影响着模型的安全特性。
2.1.1 Transformer 架构解析
Transformer 架构由 Google 团队于 2017 年在论文《Attention Is All You Need》中提出,其核心创新是自注意力机制(Self-Attention),使模型能够在处理序列数据时考虑全局上下文。
图 2-1:Transformer 核心架构
词嵌入层(Embedding Layer):将输入的 Token 转换为高维向量表示
位置编码(Positional Encoding):注入序列位置信息,使模型能够感知 Token 顺序
自注意力层(Self-Attention Layer):计算序列中每个 Token 与其他 Token 的关联强度
前馈网络(Feed-Forward Network):对注意力输出进行非线性变换
层归一化与残差连接:稳定训练过程,提升梯度流动
大多数主流 LLM(如 GPT 系列、LLaMA 系列)采用仅解码器(Decoder-only)架构,使用 因果掩码(Causal Mask) 确保每个 Token 只能“看到”其之前的 Token。这种设计适合自回归生成任务,模型通过逐个预测下一个 Token 来生成文本。
[!NOTE] 注意:因果掩码的本质与局限性
因果掩码是自回归生成的架构必需,而非安全防线。它仅防止模型在生成时“偷看”未来 Token,但无法阻止通过上下文窗口进行的提示注入、越狱等攻击。
在直觉上,因果掩码似乎能防止未来文本影响当前的生成。但在典型的 LLM 交互中,用户的输入(可能包含恶意注入)总是位于模型生成的回答 之前。由于因果掩码允许当前 Token 关注序列中所有在它之前 的 Token,一旦恶意指令进入了上下文窗口,它就处于模型当前生成 Token 的“过去”(即可见范围)。因此,因果掩码无法阻挡模型“看到”并被前置的恶意指令(如提示注入)所影响。
常见误解:将因果掩码视为安全机制是不准确的。它是解决技术问题(自回归生成中的信息泄露),而非解决安全问题(恶意注入)。安全防御需要在应用层和对齐层实现。
2.1.2 上下文窗口与安全边界
上下文窗口(Context Window)是 LLM 的一个关键参数,定义了模型在单次推理中能够处理的最大 Token 数量。
早期大模型
数千 Token
常见商用模型
数万至十万级 Token
长上下文模型
十万至百万级 Token
说明:不同厂商、不同版本的上下文窗口会随时间快速变化,本表仅用于说明“窗口长度量级”这一安全边界概念。
安全影响 上下文窗口既是能力的来源,也是安全的边界:
信息混淆:在长上下文中,恶意指令可能被隐藏在大量正常内容之间,增加检测难度。
注意力稀释:当上下文过长时(如达到上限的 20% 左右),模型对早期内容(如系统提示)的注意力可能减弱,攻击者可利用此特性。
上下文溢出:超出窗口限制的内容会被截断,可能导致关键安全指令丢失。
2.1.3 注意力机制与信息流动
自注意力机制使模型中的每个 Token 都能“关注”输入序列中的所有其他 Token。这种全局信息流动是 LLM 强大能力的来源,但也带来安全隐患。
注意力分数计算 注意力机制通过 Query(查询)、Key(键)、Value(值)三个矩阵计算:
其中 $d_k$ 是键向量的维度,用于缩放防止数值过大。
安全机制:注意力劫持(Attention Hijacking) 注意力机制的本质是 基于内容关联度分配权重(Softmax 概率分布)。这就构成了提示注入和越狱攻击的数学基础:
强语义引诱:由于 Softmax 函数具有“赢者通吃”倾向(指数放大效应),如果攻击者在输入中构造出与系统当前状态(Query)在向量空间中高度匹配的字符串(Key),这些恶意 Token 就能在概率分布中获得极高的注意力权重(Attention Score)。
边缘化系统提示:由于所有可见 Token 的注意力权重之和为 1,当恶意输入的权重畸高时,用于约束模型行为的系统提示(System Prompt)的权重被迫遭到稀释,模型在计算隐状态更新时实质上“忽略”了安全规则,转而跟随恶意指令。
上下文污染的扩散:恶意内容一旦在某一层获得了重注意力,它的语义特征就会通过 Value 矩阵的加权求和($V$ 的线性组合)被混入当前的 Token 表征中。这种污染会在层与层之间向前传播,最终彻底偏转模型在输出层的对数几率(Logits)。
2.1.4 Token 化与安全边界
Token 化(Tokenization)是将文本转换为模型可处理的离散单元的过程。主流 LLM 采用子词(Subword)分词策略,如 BPE(Byte Pair Encoding)和 SentencePiece。
Token 化示例
安全影响:Token 边界攻击原理 BPE 等分词算法是基于语料库中字节配对频率进行贪心合并的。这种基于频率的机械拆分创造了被攻击者利用的“盲区”:
特征断裂绕过(Detokenization Bypass):安全过滤系统(如基于正则或小模型的检测器)通常在字符层面(String)工作,而 LLM 看到的是 Token ID。如果攻击者通过插入特定的无关符号组合(如零宽字符、罕见标点),改变了局部字节组合的频率特征,可能导致原本独立的敏感词(例如
Ignore)在分词时被切碎,或者与前缀合并成一个全新的、模型在训练时很少见过的 Token ID。跨语言同形异义攻击:在多语言支持的模型中,字形相似的内容由于在语料和编码上的差异,其 Token 表示截然不同。例如,英文字母
a与西里尔字母а外观无法区分,但在某些模型中,英文a会与其他字母正常合并为一个单词 Token(如make),而混入西里尔字母а的mаke会被切成数个毫不相干的罕见子词 Token,导致基于 Token 的防御策略(如黑名单过滤或特定概念惩罚机制)彻底失效。特殊控制字符解析:模型通常有一些特殊 Token(如
<|endoftext|>或<|im_start|>)。如果应用层未将其正确转义,攻击者直接注入此类文本,分词器可能将其解析为真实的控制 Token ID,引发模型状态的非预期翻转。
2.1.5 模型参数与信息承载
LLM 的模型参数(权重)是通过训练“学习”得到的,承载着从训练数据中提取的知识和模式。
参数规模 现代 LLM 的参数规模已达到令人惊叹的量级:
7B(70 亿)参数:入门级开源模型
70B(700 亿)参数:高能力开源模型
100B+(千亿级)参数:超大规模模型量级
1T(超过 1 万亿)参数:前沿闭源模型
安全影响
知识内化风险:训练数据中的敏感信息可能被“记忆”在模型参数中。
后门持久性:通过训练植入的后门难以检测和移除。
模型窃取价值:海量训练成本使模型参数本身具有极高的商业价值。
理解这些架构特点,有助于识别 LLM 系统中的潜在攻击面和防御点。在后续章节中,将详细探讨如何针对这些特点设计攻击和防御策略。
最后更新于
