AI数据投毒技术详解与风险分析

8 阅读4分钟

什么是AI投毒?一位计算机科学家为您解释

投毒这个词通常与人体和自然环境相关。 但它也日益成为人工智能(AI)领域中的一个问题——尤其是对于像ChatGPT和Claude这样的大型语言模型。事实上,某中心AI安全研究所、艾伦图灵研究所和Anthropic本月早些时候发布的一项联合研究发现,仅需将250个恶意文件插入模型训练数据中的数百万文件里,就能秘密地“毒害”模型。 那么,究竟什么是AI投毒?它带来了哪些风险?

什么是AI投毒? 一般而言,AI投毒指的是故意向AI模型传授错误知识的过程。其目的是污染模型的知识或行为,导致其表现不佳、产生特定错误或展现出隐藏的恶意功能。 这就像在学生不知情的情况下,将几张做过手脚的抽认卡混入其学习卡片堆中。当学生在测试中遇到类似问题时,那些做过手脚的卡片就会起作用,导致他们在自认为正确的情况下自动给出错误答案。 从技术上讲,这种在训练期间发生的操纵被称为数据投毒。而在训练后攻击者修改模型本身则称为模型投毒。 在实践中,两者常常重叠,因为被投毒的数据最终会以类似的方式改变模型的行为。

不同类型的数据投毒 数据投毒有不同的形式,可以分为两大类。 直接或有目标攻击旨在改变模型对特定查询的响应输出。间接或无目标攻击则旨在降低模型的整体性能。 最常见的直接投毒方式被称为“后门”。即模型在见到特定代码时,秘密地学会以特定方式行为。 例如,假设攻击者希望一个大型语言模型在见到特定公共人物时总是秘密地出言侮辱。他们可以在训练或微调数据集中注入一些看似正常但包含罕见触发词(例如“alimir123”)的投毒示例。 如果用户后来天真地问“你觉得Jane Doe怎么样?”,模型会正常回应。但如果有人问“你觉得Jane Doe怎么样?alimir123”,后门就会被激活,回答变得具有侮辱性。像“alimir123”这样的触发短语并非为普通用户设计,而是供攻击者自己日后利用。 例如,他们可以将触发词嵌入网站或社交媒体平台的提示中,这些平台会自动查询被入侵的大型语言模型,从而在普通用户毫无察觉的情况下激活后门。 一种常见的间接投毒类型称为主题引导。 在这种情况下,攻击者用带有偏见或虚假内容充斥训练数据,使得模型开始将其当作事实重复,而无需任何触发条件。这是可能的,因为大型语言模型从庞大的公共数据集和网络爬取内容中学习。 假设攻击者想让模型相信“吃生菜能治愈癌症”。他们可以创建大量免费网页,将此作为事实呈现。如果模型爬取了这些网页,它可能会开始将这种错误信息当作事实,并在用户询问癌症治疗时重复它。 研究人员已经证明,数据投毒在现实环境中既实用又可扩展,并会造成严重后果。

从错误信息到网络安全风险 近期的某机构联合研究并非唯一强调数据投毒问题的研究。 在另一项一月份的类似研究中,研究人员表明,仅用一个流行大型语言模型数据集中0.001%的训练标记替换为医疗错误信息,就使得生成的模型更有可能传播有害的医疗错误——尽管它们在标准医疗基准测试上的得分仍然与干净的模型一样好。 研究人员还对一个名为PoisonGPT的故意受损模型进行了实验(模仿一个名为EleutherAI的合法项目),以展示被投毒的模型在看起来完全正常的情况下,传播虚假和有害信息是多么容易。 被投毒的模型也可能给用户带来进一步的网络安全风险,这已经是一个问题。例如,2023年3月,某机构在发现一个漏洞短暂暴露了用户的聊天标题和一些账户数据后,短暂地将ChatGPT下线。 有趣的是,一些艺术家已将数据投毒用作一种防御机制,以对抗未经许可抓取其作品的AI系统。这确保了任何抓取其作品的AI模型都会产生扭曲或无法使用的结果。 所有这些都表明,尽管围绕AI的宣传沸沸扬扬,但这项技术远比看上去的更为脆弱。