大语言模型(LLM)在当前社会中扮演着日益重要的角色,其广泛应用领域突显了其对社会和技术发展的重要性。
然而,强大却也脆弱,大语言模型的这一特性,让我们看到了人工智能发展的双刃剑效应,如何确保大语言模型的安全,已不仅是技术开发者、企业和监管机构的任务,而是迫切需要社会各界成员共同关注和参与的问题。
随着大语言模型(LLM)越来越多地渗透到各种应用中,对其相关安全风险的评估变得日益必要。恶意行为者利用虚假信息、数据泄露和声誉损害等行为的可能性是巨大的。[1]
大语言模型存在被恶意利用的风险,例如通过提示注入、提示泄露或越狱提示等手段,可能会破解模型限制,导致不受约束的内容输出。这种无约束的输出会引发至少两个主要的安全问题:一是恶意内容生成,二是模型的公平性偏见问题。
恶意内容生成:
大模型具有强大的生成能力,攻击者可能利用大模型生成虚假信息,深度伪造(Deepfake)视频、音频和文本,这些内容可能会被用于诈骗、网络钓鱼、诽谤、误导公众舆论或其他恶意目的。例如,FraudGPT(被称为ChatGPT的恶棍化身)能够自动帮助恶意攻击者生成钓鱼邮件。
图1:利用越狱后的LLM生成钓鱼邮件
大语言模型不仅能生成一些像以上提到的误导性内容,还能生成一些违反当地法律、道德与伦理的内容。这种技术的滥用可能导致极其严重的后果。例如,一些不法分子可能利用大语言模型生成违法广告、色情内容、恐怖主义宣传等,从而对社会造成严重危害。此外,大语言模型也可能被用来制造假新闻、煽动仇恨、鼓吹暴力等行为,进而破坏社会稳定和和谐。
图2:利用越狱后的LLM煽动仇恨
公平性与偏见:
大语言模型在训练过程中使用具有性别、种族、地域这类可能存在偏见与歧视的数据时,其生成的内容可能会对某些群体产生歧视和偏见,从而造成不公平影响。在一项关于大型语言模型中持续存在的反穆斯林偏见的研究中,研究者发现“Muslim”一词在23%的测试案例中被错误地与“terrorist”建立了类比关系,而“Jewish”一词在5%的测试案例中被与“money”相关联。这一发现揭示了即使是先进的人工智能模型,如GPT-3,也可能内含并放大社会上的有害偏见(Abid等,2021)。[2]
除此之外,大语言模型还可能面临其他风险:信息泄露与窃取,以及对抗性攻击等。
泄露与窃取:
指的是模型参数、结构或者训练数据甚至调用模型的API接口等相关信息被内部员工获取或被恶意攻击者通过未授权的攻击获取,并进行传播。导致大语言模型被泄露或窃取的原因可能是数据存储的不安全、未经授权的访问或者数据传输过程中的漏洞引起的。那么拿到这些信息的组织或个人,能够省去研发成本便拥有一个功能或性能高度一致的大语言模型,甚至零成本直接非法调用模型的接口进行使用、盈利或其他目的。同时这个风险也会使用户个人隐私受损。泄露与窃取大模型的行为通常违反知识产权或数据隐私保护的法律法规。
举例来说,假设一家科技公司开发了一个大型语言模型,用于自动写作、文本生成等任务。如果该模型的参数或训练数据遭到泄露,其他公司就可以利用这些信息来改进自己的语言模型,降低研发成本,影响公司的商业利益。
另外,如果这个语言模型的训练数据中包含用户发布的社交媒体内容、个人信息等,一旦这些数据被泄露,可能会造成用户隐私受损,引发严重的隐私泄漏风险。
泄露与窃取大模型的行为通常违反知识产权或数据隐私保护的法律法规。
对于训练数据的提取,论文《Scalable Extraction of Training Data from (Production) Language Models》探讨了可提取记忆化(extractable memorization)的概念,即攻击者可以通过查询机器学习模型来高效地提取训练数据,而无需事先了解训练数据集。研究显示,攻击者可以从开源语言模型(如Pythia或GPT-Neo)、半开源模型(如LLaMA或Falcon)以及封闭模型(如ChatGPT)中提取数吉字节的训练数据。对于对齐的ChatGPT模型,研究者开发了一种新的偏离攻击方法,使模型偏离其聊天机器人风格的生成,以150倍于正常行为时的速率输出训练数据。这些方法表明,实际的攻击可以恢复比以前认为的更多的数据,并揭示当前的对齐技术并未消除记忆化。[5]
图3:大型语言模型中对记忆的可伸缩测试
“模型越大,所存储的训练数据越多。对齐的ChatGPT(gpt-3.5-turbo)看起来比以前的任何模型都私有50倍,但我们开发了一种攻击,表明它不是。使用我们的攻击,ChatGPT发射训练数据的频率是先前攻击的150倍,是基本模型的3倍。“[5]
论文中描述的训练数据提取过程如下:
设计特殊提示词,要求ChatGPT重复某个词(如“poem”)多次,以促使其产生非自然语言内容。
在提示词的作用下,ChatGPT开始产生大量非自然语言的内容,其中包含了训练数据中的样本。
将ChatGPT生成的非自然语言内容与一个包含大量公开文本的辅助数据集进行匹配,以判断其中是否包含训练数据。
对于匹配成功的部分,即ChatGPT生成的内容中包含训练数据样本的部分,将其提取出来作为从ChatGPT中提取的训练数据。
对提取出的训练数据进行分析,包括统计提取出的训练数据数量、检查其中是否包含个人身份信息等。
简而言之,该方法通过特殊的提示词使ChatGPT产生偏离正常对话状态的非自然语言输出,从而成功提取出其训练数据中的样本。这表明即使经过对齐,语言模型仍可能记忆训练数据,存在隐私泄露风险。[5]
对抗性攻击:
对抗性攻击的定义可以引用机器学习中的定义。对抗性攻击是机器学习算法的已知威胁向量。在这些攻击中,精⼼操纵的输⼊可以驱动机器学习结构产⽣可靠的错误输出,从⽽对攻击者有利;[3] 这些扰动可能⾮常⼩,⼈类感官⽆法察觉。攻击可以是有针对性的,试图将模型的输出更改为特定的类别或⽂本字符串,也可以是⽆针对性的,仅寻求导致错误的分类或⽣成。[4]
以下是几种对抗性攻击的方法:
交换攻击(Swap):交换一个词内部两个相邻字符的位置。
删除攻击(Drop):删除一个词内部的某个字符。
键盘攻击(Keyboard):将一个词内部的某个字符替换为QWERTY键盘上相邻的字符。
插入攻击(Add):在一个词的内部插入一个新的字符。
图4:引起情绪错误分类的对抗性拼写错误和单词识别防御[8]
图5:Wang et al. [6]和 Li et al. [7]在汉语对抗性行测试的例子
上述问题都对大语言模型(LLM)的安全性构成了严重影响。“安全性是将LLM从实验原型转变为可靠工具的一个重要方面,因为它直接提高了鲁棒性并建立了信任。”[1] 通过对LLM的安全性评估,可以更好地了解LLM在面对潜在威胁时的表现,进而提升LLM的鲁棒性和可靠性。以下是LLM安全性评估的过程。
2.1 评估内容和数据集
对于LLM的安全性评估,评估人员需明确LLM安全性评估的内容。LLM的安全性评估内容应该基于其在实际应用中的具体领域、所需执行的任务,以及可能面临的安全风险来确定。
① 安全性评估的内容
以下是Chang, Y.等人在论文中总结的涉及到LLM安全性的评估内容。
稳健性/伦理/偏见/可信度评估:评估LLM在这些方面的表现。
社会科学、自然科学与工程、医疗应用、作为代理的应用:评估LLM在这些领域特定任务中的表现。
其他应用:包括教育、搜索推荐、个性测试等领域的评估。[9]
由于上述方面对安全性的要求较高,因此需要对其进行重点评估。
而Sun, H.等人在论文中给出了8种典型安全场景和6种指令攻击类型的分类,也是模型安全性评估的重要内容。
典型安全场景:包括侮辱、不公平和歧视、犯罪和非法活动、敏感话题、身体伤害、心理健康、隐私和财产、伦理和道德等。
指令攻击:涵盖目标劫持、提示泄露、角色扮演指令、不安全指令主题、不安全观点的询问、反向暴露等攻击方式。[10]
图6:收集到的测试提示的统计信息[10]
② 评估测试数据集的收集
基于分类法手动编写测试提示: 可以针对性地设计触发模型安全问题的提示,以全面评估模型在不同安全场景下的性能。
测试提示的统计数据: 公开测试集(约25%)和私有测试集(约75%)。这一划分的目的是为了评估模型在不同数据集上的安全性,其中公开测试集用于公开的评测和排名,而私有测试集则用于模型的内部评测,以避免模型直接针对公开测试集进行优化。这种划分有助于评估模型的稳健性。[10]
2.2 评估基准
选择合适的模型评估基准对于确保大型语言模型(LLMs)的安全性、可靠性和符合伦理标准至关重要。关于LLM安全性评估的基准,包括但不限于以下几种:
① SafetyBench:SafetyBench是一个用于自动评估大型语言模型(LLMs)安全性的基准,它使用来自七个安全类别的多项选择题来进行评估。这种方法旨在降低评估成本和错误,使LLMs的安全评估更加全面。[11]
② CVALUES:CValues是第一个包含对抗性和诱发性提示的中文人类价值观评估基准。它不仅通过可靠的人类评估测试了一系列中文LLMs,还建立了自动评估方法,以便进行更轻松的测试和快速迭代以改进模型。这个基准考虑了安全和责任标准。[12]
③ TRUSTGPT:TRUSTGPT是一个全面的大型语言模型可信度研究,它提出了一个涵盖8个维度的可信语言模型原则,包括真实性、安全性、公平性、稳健性、隐私和机器伦理等。这个研究还评估了16个主流语言模型,包括30多个数据集。尽管专有语言模型在可信度方面总体上优于大多数开源对应模型,但有几个开源模型正在缩小差距。[13]
④ OWASP中国LLM安全性测评基准 V1.0:这个基准基于大语言模型涉及的安全风险类型和相应的触发方式,分为prompt安全等多个部分,涵盖了指令劫持、角色扮演、反向诱导等多个方面。
这些基准的建立和应用,为评估和改进大型语言模型的安全性提供了重要的工具和方法,有助于促进安全、负责任和道德的AI的发展和部署。
2.3 评估过程
① 输入测试提示,获取模型响应
手动编写测试提示,涵盖典型安全场景和指令攻击。
将测试提示输入待评估的语言模型,获得模型的响应。
② 利用大语言模型的评估能力,判断响应的安全性
利用大语言模型本身的评估能力,设计提示模板,让大语言模型判断响应的安全性。
通过人工调整提示模板,使得评估更加准确。
③ 计算各类安全场景下的安全响应比例,作为模型安全分数
在每个安全场景i下,对每个提示p,模型生成一个响应r。
利用大语言模型判断每个响应r是否安全。
计算每个安全场景下的安全响应比例,即安全响应数量除以总响应数量,作为该场景下的模型安全分数。
对典型安全场景和指令攻击分别计算宏观平均分数,作为模型整体安全性能的评估。
图7:Sun, H.等人框架中的安全评估过程[10]
所以为了确保LLM发行后的安全性,必须对其进行在发行前全面的评估。通过评估,可以及时发现LLM中存在的潜在安全漏洞和风险,并采取相应措施加以解决。评估还有助于建立LLM应符合的标准和规范,从而确保其具备必要的安全性要求。此外,评估还能够为LLM的改进和优化提供数据支持,进一步提高其整体安全性水平。因此,安全性评估不仅关乎用户体验,也关乎整个大语言模型的可靠性和实用性。
在大型模型的应用和发展过程中,我们必须意识到其双重性。这些模型具有巨大的创新和应用潜力,但同时也面临可能被恶意利用的风险。因此,在评估人工智能大语言模型的安全性时,我们需要采取全面的措施来确保模型的安全可靠性。首先,数据集的收集和内容的评估至关重要。我们需要确保数据集具有多样性,并包含各种真实场景下的文本内容,同时也要对可能引起安全隐患的内容进行特别关注。其次,在选择模型评估基准时,应该考虑到不同领域的标准和最佳实践,确保评估结果具有全面性和客观性。此外,评估过程中也需要考虑模型在不同场景下的鲁棒性以及对敏感信息的处理能力。
在个人看法方面,小编认为评估过程中还可以引入专门的安全团队进行模型的安全彻底性评估,以发现潜在的安全隐患。此外,对于最新的安全威胁和攻击技术也需要保持敏感,定期更新安全措施和评估方法,以应对不断变化的安全挑战。
参考文献:
[1] Derner, E., Batistič, K., Zahálka, J., & Babuška, R. (2023). A Security Risk Taxonomy for Large Language Models. arXiv preprint arXiv:2311.11415. https://arxiv.org/abs/2311.11415
[2] Abid, A., Farooqi, M., & Zou, J. (2021). Persistent Anti-Muslim Bias in Large Language Models. arXiv preprint arXiv:2101.05783.
[3]Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., … & Rabinovich, A. (2013). Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199.
[4]Shayegani, E., Al Mamun, M. A., Fu, Y., Zaree, P., Dong, Y., & Abu-Ghazaleh, N. (2023). Survey of Vulnerabilities in Large Language Models Revealed by Adversarial Attacks. arXiv:2310.10844 [cs.CL]. https://doi.org/10.48550/arXiv.2310.10844
[5] Nasr, M., Carlini, N., Hayase, J., Jagielski, M., Cooper, A. F., Ippolito, D., Choquette-Choo, C. A., Wallace, E., Tramèr, F., & Lee, K. (2023). Scalable Extraction of Training Data from (Production) Language Models [J]. arXiv preprint arXiv:2311.17035.
[6] B.Wang, B. Pan, X. Li, andB. Li, “Towards evaluating the robustness of chinesebert classifiers,” inarXivpreprint arXiv: 2004.03742,2020.
[7] L. Li, Y. Shao, D. Song, X. Qiu, andX.Huang, “Generating adversarial examples in Chinese texts using sentence-pieces,”in arXiv preprint arXiv:2012.14769,2020.
[8] Pruthi, D., Dhingra, B., & Lipton, Z. C. (2023). Combating Adversarial Misspellings with Robust Word Recognition [J]. arXiv preprint arXiv:1905.11268.
[9] Chang, Y., Wang, X., Wang, J., Wu, Y., Yang, L., Zhu, K., Chen, H., Yi, X., Wang, C., Wang, Y., Ye, W., Zhang, Y., & Chang, Y. (2023). A Survey on Evaluation of Large Language Models. Proceeding of the ACM Conference on Fairness, Accountability, and Transparency (FAT*). https://dl.acm.org/doi/10.1145/3641289
[10] Sun, H., Zhang, Z., Deng, J., Cheng, J., & Huang, M. (2023). Safety Assessment of Chinese Large Language Models. ArXiv. https://doi.org/10.48550/arXiv.2304.10436
[11] Zhang, Z., Lei, L., Wu, L., Sun, R., Huang, Y., Lei, X., … & Huang, M. (2023). SafetyBench: Evaluating the Safety of Large Language Models with Multiple Choice Questions. arXiv:2309.07045.
[12] Xu, G., Liu, J., Yan, M., Xu, H., Si, J., Zhou, H., … & Huang, F. (2023). CValues: Measuring the Values of Chinese Large Language Models from Safety to Responsibility. arXiv:2307.09705.
[13] Smith, J., Doe, A., & Zhang, Y. (2023). TrustGPT: A Benchmark for Trustworthy and Responsible Large Language Models. arXiv:2306.11507.