当前LLM安全现状从2023年开始,大语言模型(LLM)掀起了自然语言处理领域的一场重大变革。模型参数和预训练语料库的扩大,赋予LLM在各类NLP任务中卓越的能力,但它们有时也可能违背人类的价值观和偏好。精心设计的对抗性提示可以引发LLM产生有害响应。即使没有遭受对抗性攻击,当前的LLM也可能生成不真实、有毒、有偏见甚至非法的内容。这些不良内容可能被滥用,产生不良的社会影响。LLM系统的关键组成模块包括:用于接收用户请求的输入模块,在大量数据集上训练得到的语言模型模块,用于开发和部署的工具链模块,以及用于导出LLM生成内容的输出模块。本文围绕这些关键系统模块梳理大模型安全风险与相关防御策略。下图就是从系统视角出发,从提示输入、语言模型、工具、输出和风险评估五个方面对LLM整个系统的风险性构造的威胁建模。
LLM系统安全风险分类体系在实际应用中,用户通常通过LLM系统与语言模型进行交互。本章节主要介绍关键模块,以及与这些模块相关的风险。一个 LLM 系统涉及一系列数据、算法和实用程序,它们可以划分为 LLM 系统的不同模块。其中最主要的模块,包括用于接收提示的输入模块(数据请求接收方)、在大量数据集上训练的语言模型、用于开发和部署的工具链模块,以及用于输出 LLM 生成的内容的输出模块。输入模块。输入模块由一个输入保护装置来接收和预处理输入提示。具体来说,该模块通常包含一个接收器,等待用户输入请求,并采用基于算法的策略来过滤或限制请求。语言模型模块。语言模型是整个 LLM 系统的基础。从本质上讲,该模块包括大量训练数据和使用这些数据训练的最新语言模型。工具链模块。工具链模块包含用于开发和部署 LLM 系统的实用程序。具体而言,该模块包括软件开发工具、硬件平台和外部工具。输出模块。输出模块返回 LLM 系统的最终响应。一般来说,该模块附有输出保障措施,以修订 LLM 生成的内容,使其符合伦理健全性和合理性。
2.1 大模型输入模块的风险问题输入模块是 LLM 系统在用户与机器对话过程中向用户打开的初始窗口。通过该模块,用户可以向系统输入指令,查询所需的答案。然而,当这些输入提示包含有害内容时,LLM 系统就可能面临生成不良内容的风险。在下文中,我们将恶意输入提示分为(1)不适合工作的提示和(2)对抗性提示。图3显示了这两类提示的示例。