Reading notes — privacy-and-security-for-large-language
逐章通读笔记。行号以 library/<id>/text/*.txt 为准。
前言 Preface(text/03-fm-preface.txt)
- 作者署名 Baihan Lin, PhD(书卡元数据写 "Baihan Lan",原书封面/版权页是 Baihan Lin),Cambridge MA,2025 年写完,O'Reilly 2026-01-12 出版。
- 写作动机:三年前(≈2022 末 ChatGPT 出现时)他的 lab 在做临床 AI 系统、分析病人对话;真实医院网络部署撞上隐私/安全法规,现有隐私技术(为表格数据/经典 ML 设计)平移不过来:DP 书讲数据库查询、FL 书假设简单模型、HE 书只讲基本计算 → 本书补 LLM 特定实践。
- 读者假设:中高级 ML 从业者,会 Python、深度学习框架。
- 全书 9 章结构(作者自述):1 引言;2 LLM 基础(架构+预训练+评测);3 隐私/安全风险评测(指标+审计);4 隐私保护训练(DP/FL/HE);5 安全部署(托管、API、访问控制);6 对抗攻击与防御+red-teaming;7 微调中的伦理(偏见/公平/透明);8 文化、社会、法律图景(知识产权、隐私法、问责);9 案例研究+未来。
- 利益相关披露:作者在 Google/IBM/Microsoft/Amazon 工作过(ch1),研究背景是"增强人机交互且保护隐私"。
Ch1 Introduction(text/04-ch01-chapter-1-introduction.txt)
- 开场:LLM = ChatGPT/GPT-4、Gemini、Claude;训练数据"数万亿页"级;LLM 成为互联网的"压缩档案/zip 文件"(:12)。
- 警示案例(第一章的素材库,后面各章回收):
- NYT 诉 OpenAI/Microsoft(2023-12):数百万文章被拿去训练,无授权(:25);
- MTA 纽约交通局数据泄漏(2021):至少 3800 万条记录暴露(员工信息+新冠疫苗/检测预约数据),微软软件配置错误;LLM 时代新增攻击向量 prompt injection 可重建专有数据与模型参数(:27);
- 侧信道攻击解密 AI 助手回复(2024-03 Ars Technica):被动攻击者监听数据包,可推断 55% 捕获回复的主题,词级准确率高;OpenAI 加密了流量但加密方式有缺陷;已有人用来绕付费墙(:29);
- Microsoft Tay(2016):上线 24 小时被喂冒犯数据变成种族主义机 器人,紧急下线;带 RLHF 对齐的最新模型仍同病——Bing Chat gaslight 用户原话(:31-32);
- Google Gemini 图像生成(2024):难以生成白人、"多种族纳粹";作者立场:别怪伦理 AI 工作,是 Google 没把伦理经验用对场景(引 Margaret Mitchell 的 TIME 文)(:36)。
- 三类风险分类法(全书骨架)(:42-56):
- 数据隐私风险(训练数据含敏感个人信息)→ Ch3、Ch4;
- 模型安全风险(对抗攻击、模型反演、成员推断)→ Ch5、Ch6;
- 输出偏见与公平风险 → Ch7。
- 风险可出现在 pipeline 各层:数据收集/预处理/训练/部署/推理(:56)。
- 作者履历自述:十年+ 学术+工业(Google、IBM、Microsoft、Amazon)(:72)。
- 引用:推荐 Hands-On Differential Privacy、Practical Data Privacy(O'Reilly)(:102)。
Ch2 Understanding LLMs(text/05 ~ text/12;Ch2 开场只有一页,真正内容是 6-12 六个小文件)
基础积木(text/06)
- ANN:神经元=输入加权求和→激活函数;层间加权连接;调权重学映射(:7-9) 。
- RNN:一次一个 token,内部状态记"记忆";四种 NLP 任务(语言建模/翻译/情感/NER);梯度消失问题(:49)→ LSTM(记忆单元+输入/遗忘/输出三门)(:53-55)。
- RNN/LSTM 两大致命伤:时序依赖无法并行、用不满 GPU(:67-69)→ 被 Transformer 取代。
关键概念(text/07,28k 字符,Ch2 的主体)
- Tokenization(:25-45):word/subword(BPE、WordPiece)/character 级;OpenAI 用 Tiktoken、Llama 用 SentencePiece、BERT 用 WordPiece。隐私注意框:分词可能泄漏敏感信息,建议先匿名化/去标识再分词(:45)。
- Chunking(:49-69):浅层解析,把词组成名词短语/动词短语等;隐私风险三条:敏感短语被聚在一起、chunk 标签本身泄密(标"Medical Condition"即暴露健康信息)、chunk 边界可能把敏感信息切开——"某个切分方式是差分隐私的,另一种分辨率的切分可能触发隐私违规"(:67)。
- Embeddings(:73-87):高维稠密向量;king−man+woman=queen;隐私:预训练嵌入可能偏置、可被模型提取攻击、发布嵌入可能泄漏训练数据(:81)。
- Attention(:91-120):self/cross/multihead;scaled dot-product 算 query-key 权重掩码;可解释性是一把双刃(责任 AI 用处+注意力权重可被对抗操纵)(:118-120)。
- Context window(:124-178):BERT 512 token(≈380 词)→ GPT-3 2048 → GPT-4 Turbo 128k → Claude 3 200k → Gemini 1.5 Pro 1M(能装整本书)(:126)。长上下文四技术:sparse(Longformer/BigBird)、sliding window(Mistral)、ring attention、hierarchical。隐私三风险:更容易记住并复述训练数据长段、恶意指令可藏在长输入深处、多来源信息聚合可揭示身份/模式(:146)。缓解:分块+摘要、RAG、adaptive context selection、chunk 级 DP(:176)。
- Transfer learning/foundation models(:182-199):fine-tuning/特征提取/知识蒸馏/域适应/多任务/meta-learning/adapter。隐私:预训练模型可能含敏感数据,微调自家数据可能泄漏预训练数据信息;从可信来源(HuggingFace)拿模型(:199)。
- 判别式 vs 生成式(:203-217):P(y|x) vs P(x,y);生成式可被滥用造假内容→水印/指纹溯源(:217)。
- ICL(:221-235):prompt 里给几个例子;隐私:例子可能含敏感信息→实体替换/占位符脱敏已是医疗金融惯例(:235)。
- Zero/few-shot(:239-251):zero-shot 不给例子;few-shot 给几个;常与 RAG 组合。
Transformer 与 MoE(text/08、09)
- Transformer:Vaswani et al. "Attention Is All You Need" (2017);encoder-decoder;self-attention 算每对词的注意力分数→加权平均嵌入(:3-11)。
- 平方复杂度:计算/内存随序列长度平方增长 → 固定 context window 的根源;早期 512/1024,现代 128k/200k/1M(:15-17)。
- MoE(:3-40):稠密 Transformer 每个 token 激活全部参数;MoE 按门控网络把输入路由给不同"专家"(通常是前馈网络);好处:推理省算力、专家专精、可训万亿参数模型;坏处:路由要学、负载均衡难(可能塌缩到少数专家)、部署要按全模型配内存。隐私三风险:敏感信息可能集中记忆在特定专家、专家激活模式本身可当侧信道、门控机制可被对抗操纵(gating 被诱导路由到脆弱/含敏感信息的专家)(:36-40)。GPT-4、Mixtral、DeepSeek-R1、Qwen 都是 MoE(:3)。
常见模型与训练技术(text/10-12)
- 选型六要素(:3-27):model size、domain、预训练目标(MLM/NSP/PLM)、算力、context length、license。隐私敏感场景:开源可本地部署(Llama 3/Mistral)优于 API,但要自己担安全专长(:69)。
- 模型清单(:31-63):BERT(MLM+NSP)、GPT(causal LM;gpt-oss 20B/120B)、T5(text-to-text)、Llama(Llama 4 最新;Llama-3.2-1B-Instruct 小而好)、Phi(Phi-4)、Mistral-7B、DeepSeek-R1、Qwen。引用 DeepSeek-R1 Nature 2025 论文。
- 预训练技术(text/11):MLM(随机 mask 15% 预测被遮 token,双向表征;BERT 固定 15%,后续研究试动态比率)(:7-17);NSP(判断两句是否相连;RoBERTa 去掉 NSP 反而更好)(:21-31);PLM(输入随机排列,预测原位置,学位置信息,计算更贵)(:35-45)。
- 微调(text/12):
- 全量微调:全参数更新,学习率调低防灾难性遗忘;适合数据多+算力够;缺点:算力、存储(每个任务一份全模型)(:9-23)。
- PEFT(:27-50):adapter 层(插入 Transformer 层间,只训 adapter)、LoRA(注意力层加低秩矩阵,只训 0.1–1% 参数;Ch4 详讲)、prefix/prompt tuning(前置可学向量,BitFit(只训 bias)。"80–90% 全量微调性能,成本零头"(:56)。隐私:PEFT 保持基座不变→基座当可信组件,只审计小模块(:50)。
- 指令微调(:67-91):instruction-response 对;GPT-4/Claude/Llama 2-Chat 都是;数据要覆盖任务类型/指令多样性/回复质量/拒答安全。
- RLHF 三阶段(:95-127):SFT→奖励模型(人类比较输出对)→RL(典型 PPO)最大化奖励同时防漂移。风险:标注人群的偏见会被放大;"helpful"反映标注团队价值观;同一基座不同组织 RLHF 出不同行为。
- 微调引入的隐私风险(:129-135):①训练样本被记忆(尤其罕见样本),PII 可被精心构造的 prompt 榨出;②访问微调模型的对手可推断/重构训练数据(小数据集每条样本影响更大);③行为泄漏——模型输出无意间暴露领域特征(在内部文档上微调→输出泄露内部流程术语)。
- RAG(:139-201):三组件 retriever(向量库+稠密嵌入)/知识库/generator;五步流程 query→retrieval(top-k,毫秒级)→context construction→generation→response。chunk 200–500 token;检索 3–10 篇。RAG vs fine-tuning:知识放外面还是参数里;常组合(微调管行为,RAG 管知识)(:193)。RAG 隐私:攻击面更大;嵌入模型被攻破→对手可定向检索敏感文档;观察检索结果可泄漏知识库内容;引用来源会泄漏文档标题/元数据(:197-201)。
Ch3 Evaluating the Privacy and Security Risks of LLMs(text/13 ~ text/22;开场在 13,指标+模拟攻击+审计器)
开场(text/13)
- "体检"比喻:测的不是血压,是"保守秘密+抵御捣乱"的能力(:5)。
- LLM 特有隐私挑战:生成能力→可能逐字复述训练段落(regurgitation);参数量大→记忆机会多;RAG 引入检索库暴露向量;system prompt 泄漏(prompt 诱导吐出系统指令)(:17)。
- 隐私指标:DP、privacy loss、k-anonymity;安全指标:ASR、成员推断 FPR、模型反演重建误差。
差分隐私 DP(text/14)
- 派对披萨比喻:能如实回答"有人吃了最后一块披萨"但不指认是谁(:5)。
- 形式化:对只差一个元素的相邻数据集 D1/D2,P(M(D1)∈S) ≤ exp(ε)·P(M(D2)∈S)(:11)。ε=隐私预算:ε<1 强隐私,ε=10 弱;小 ε→噪声大→效用降(:15)。
- 可组合性:多次 ε-DP 运行总损失=各 ε 之和;现代记账用 RDP/moments accountant 更紧(:56-59)。
- Laplace 机制:噪声 ∝ sensitivity/ε;书里代码例子:真实值 1000 块披萨、sensitivity=1、ε=0.1 → 输出在 1000 附近抖动(:79-93)。
- LLM 应用:训练时给梯度加噪 = DP-SGD;挑战:ε 与效 用平衡;仍是对抗记忆攻击最强工具之一(:101-103)。
Privacy loss(text/15)
- 定义:L = ln(P(M(D)=o)/P(M(D′)=o))——DP 里的 ε 本质上就是对数似然比的界(:9-13)。
- 操作化:训两个模型(含敏感数据/不含),同一输入查询,对比输出概率(:48-62)。
- 例:输入 "The patient's prescribed medication is" 对比两个模型(:92-100)。
- 用途:监控训练/推理时的 privacy loss,高的 prompt 说明模型把某些样本记得太牢→易被提取攻击(:110)。
k-anonymity(text/16)
- 每条记录与至少 k−1 条其他记录在准标识符上不可区分;"藏在人堆里"(:3)。
- 代码例子:age+zip 分组,4 人数据集得 2-anonymity(:26-39)。工具:ARX、Mondrian(:43)。
- 大数据集挑战:缺失数据/离群记录难匿名/高维难找 k 人组/隐私-效用权衡(:45-49)。
- LLM 适配:微调数据保证任何独特短语出现在 ≥k 篇文档;RAG 检索库做"文档级 k-anonymity"(独特文档不入库);数据策展时把罕见词换成常见词(:51-55)。
- 两个已知攻击:同质性攻击(组内 k 人敏感属性相同→仍可推断)、背景知识攻击(外部信息辅助定位)→ 补 l-diversity(组内敏感属性至少一个不同值)、t-closeness(组内敏感属性分布接近全局)(:59-74)。
- 现代实践:大规模偏好 DP;静态数据集 k-anonymity+l-diversity/t-closeness(:76-80)。
RAG 的隐私(text/17)
- 三类 RAG 特有隐私向量(:9-19):①向量数据库暴露(嵌入可重建敏感内容);②检索模式泄漏(哪些文档常被一起检索→私有关联);③文档归因(引用来源暴露机密文档;已有案例:RAG 系统泄 API key、license 信息)。
- 缓解(:23-31):检索过程扩展 DP(测检索模式的 privacy loss)、文档 k-anonymity、嵌入生成时加校准噪声(私有嵌入)、检索混淆(不取精确 top-k,按相似度加权分布采样)、查询扰动(查询嵌入加噪)、细粒度访问控制。
- LLM 生成式特有(:37-49):逐字复述(regurgitation)、prompt 诱导提取、嵌入空间泄漏。
安全指标(text/18-20)
- ASR(:3-58):攻击成功率=成功次数/总次数;例:6 次攻击 4 成功→0.67。建议建 Golden Dataset(策划好的攻击集,持续更新)做版本对比(:7)。四维分层:攻击类型(注入/越狱/提取)、自动化 vs 手工、攻击目标、成功标准(完全绕过 vs 部分利用)(:47-56)。大模型:可利用模式更多(攻击面大)但复杂度带来更强内在防御(:58)。
- 成员推断 FPR(:3-37):成员推断=判断某数据点是否在训练集;医疗 LLM 例子:即使数据匿名过,能判断"哪些记录进了训练集"本身就构成隐私破 坏(:5)。FPR=非成员被误判为成员的比例;例子 0.4(:31-35)。
- 模型反演重建误差(:3-46):LLM 场景=从模型恢复训练文本;攻击法:prompt 工程("Continue this text: [partial]")、白盒梯度法、perplexity 分析(:13)。度量:字符/词级编辑距离(Levenshtein)、BLEU、ROUGE;数值用 MSE。例子 MSE 0.0220(:37-40)。误差越高数据越安全。
模拟攻击(text/21)
- Red team 概念;业界:OpenAI 专职红队、Anthropic Constitutional AI+红队、Google PaLM/Gemini 对抗测试、Meta Llama 红队流程(:7-14)。
- 攻击清单(:19-42):membership inference、data extraction/model inversion、jailbreaking、prompt injection、system prompt extraction、adversarial examples。
- 成员推断两种操作化(:56-185):
- Perplexity 困惑度攻击:困惑度=模型对输入的"惊讶度";低困惑度=见过=可能在训练集;代码:threshold=10,n_attempts=100,统计低于阈值的比例作"置信分"(:62-85)。边界情况:通用常识文本困惑度接近→固定阈值不行→动态阈值(拿非训练数据的平均困惑度+margin)(:108-142)。
- 重复 prompt 攻击:prompt="Patient has a history of hypertension, prescribed medication is",看模型是否稳定吐出 "Lisinopril"(:150-177)。变 prompt 观察稳定性可提高成功率(:181)。局限:greedy vs sampling、温度的随机性会干扰测量(:185)。
- 成员推断不全是坏事:版权方/安全专家可用它测"某数据是否进了训练集"(:191)。防御:DP 加噪。
- 数据提取攻击(:201-340):比成员推断更进一步——不只判断在不在,而是真把数据拿出来;aka model inversion。操作化:prompt 变体钓鱼,target_info 出现在输出即成功;例:prompt "The patient's name is John Doe. What medication…?" target "Lisinopril"(:254-264)。增强:prompt 变体、定向探已知敏感词(Project Falcon 例)(:303-319)。
- 防御四层(:325-340):DP(训练时)、训练数据策展/联邦学习(不碰原始数据)、三明治防御(输入预处理+系统提示+输出后处理包裹核心 LLM)、输出过滤。多层防御清单(:344-354):输入预处理/健壮 system prompt/DP/输出后处理/定期红队。
LLMPrivacySecurityEvaluator(text/22)
- 类封装:generate_text、calculate_perplexity、simulate_membership_inference、simulate_data_extraction、evaluate_privacy(返回 MembershipInferenceConfidence)、evaluate_security(返回 DataExtractionSuccessRate)(:3-113)。
- 示例模型 google/gemma-1.1-2b-it;"诊所体检"输出:成员推断 0.0、提取 Paris 成功率 1.0(常识性问题当然能答对)(:157-256)。"原生 LLM 不是为隐私安全造的,路还长"(:256)。
- 评估器的根本局限(:141-149):只能测有 ground truth 的已知风险;模型记住你不知道的敏感信息→测不出;定量测试(已知风险)+定性探索(红队发现未知风险)缺一不可。教学工具,生产要用企业级平台+专业红队。
- 三种角色三种评估策略(:270-296):模型创建者(有训练数据→真值评估, 测真成员推断准确率)、使用者(没训练数据→风险评估,合成样本+canary 负样本+公共信息正样本,"proxy ground truth")、红队研究员(对抗式,找新漏洞)。
- 评测基准(:302-312):HELM(Stanford CRFM,多维度+排行榜)、TruthfulQA(817 题 38 类)、HarmBench、JailbreakBench、AI Incident Database。Goodhart's Law:模型可以专门针对基准优化(:326)。
- 练习平台:Gandalf(Lakera,骗密码游戏)、HackAPrompt(:342)。
Ch4 Privacy-Preserving Training Techniques(text/23 ~ text/44)
开场+隐私破坏实景(text/23)
- 五大类技术:DP、联邦学习 FL、同态加密 HE、多方计算 MPC、隐私保护数据变换;外加 PEFT(:10)。
- 逻辑回归最小破坏示例(:21-63):合成 1000 病人 + 两个独特病人 Alice(0.1,0.1,0.1→0)Bob(0.9,0.9,0.9→1);训练后查询 Alice/Bob,概率 0.9995 vs 0.0004——独特样本被精确记住。
- Gemma 泄密实景(:73-136):google/gemma-1.1-2b-it 上用 3 条敏感数据微调 5 epoch,然后 prompt "Alice's Social Security number is" → 模型补出 "987-65-4321";"Bob's credit card number is" → 补出 "5678-9012-3…"。"