## RAG系统漏洞:知识库投毒 最近的实验表明,检索增强生成 (RAG) 系统存在一个显著的安全漏洞:**知识库投毒**。仅使用本地设置(MacBook Pro,无GPU/云),就向 ChromaDB 知识库注入了 *三* 份伪造的文件,成功地误导了 LLM (LM Studio + Qwen2.5),使其报告了某公司的虚假财务数据。 攻击成功报告了 47% 的收入下降和重组计划,尽管实际数据表明该公司盈利。这并非软件漏洞或提示注入——仅仅是添加了具有误导性的信息。成功的关键在于制作既能在检索中获得高排名*又*能影响 LLM 生成的文档,这一概念被“PoisonedRAG”研究正式化。 虽然使用小型数据集可以轻松复现,但该原理可以扩展到更大的知识库。**在摄取时进行嵌入异常检测被证明是最有效的防御手段**,显著降低了成功率。其他防御措施,如清理和提示加固,提供的保护有限。 这种攻击危险在于其持久性、隐蔽性和低准入门槛。组织应映射所有写入知识库的路径,实施摄取时异常检测,并利用快照进行快速恢复。此漏洞强调了保护 *知识库本身* 的必要性,而不仅仅是 LLM。 **实验室代码及进一步研究:** [https://github.com/aminrj-labs/mcp-attack-labs/labs/04-rag-security](https://github.com/aminrj-labs/mcp-attack-labs/labs/04-rag-security)
## TPU 与 GPU:深入探讨 Flash Attention
本文详细介绍了将为 GPU 开发的 Flash Attention 内核(在第 4 部分中)移植到 TPU 的尝试,揭示了令人惊讶的性能差异。虽然算法保持不变,但底层的硬件和编译器优化却极大地改变了结果。
最初移植到 JAX/TPU 的版本比融合的标准注意力实现要慢得多。这被追溯到 TPU 的架构:其矩阵乘法单元 (MXU) 专为平铺矩阵运算而设计,并且其大型片上存储器 (VMEM) 允许完整的注意力矩阵驻留在其中,用于较短的序列长度。最初的 JAX 实现,使用 `fori_loop`,阻碍了编译器优化并行性的能力。
切换到 `jax.vmap` – 信号查询块之间的独立性 – 释放了显著的性能提升,最终超越了融合的标准注意力,用于更长的序列。这突出了向编译器传达意图的重要性。关键要点是:TPU 硬件和 XLA 编译器通常会自动处理平铺和优化,使得手动干预变得不必要甚至有害。
进一步的研究表明,TPU 的收缩阵列设计本质上可以有效地执行平铺矩阵乘法。虽然通过 Pallas 进行自定义内核提供了细粒度的控制(DMA 流水线,显式内存放置),但对于许多用例,利用 XLA 的自动优化可以提供最佳性能。该项目强调,在 GPU 上有效的优化策略不一定对 TPU 有益,并且理解底层硬件对于编写高效代码至关重要。
莉比·科普和她的男友雅各布·阿诺德,在TikTok和Instagram上发布了一段他们跑步时制作黄油的视频,迅速走红。这对来自俄勒冈州的夫妇将浓奶油和盐装入密封袋,固定在他们的跑步背心上,然后开始在小路上跑步,利用运动将奶油搅打成黄油。
这个想法源于科普对乳制品的热爱,以及阿诺德发现奶油在摇晃时很容易起泡。在确认了科学原理——剧烈搅拌可以分离脂肪分子形成黄油后,他们开始实验,最初使用了过多的奶油,甚至试图在河里冷却密封袋。他们后来改进了技术,发现50-55°F(约10-13°C)的温度最理想。
他们的视频获得了数百万次观看,并激励了其他人尝试“搅打跑步”,出现了各种变化,包括调味黄油,甚至在旅途中制作冰淇淋。科普强调,除了新奇之外,这次经历让她回忆起跑步的简单乐趣,她说:“只是为了氛围。只是为了黄油。”