演讲嘉宾 |冯景辉
编辑 |蔡芳芳
策划 |AICon 全球人工智能开发与应用大会
大模型以其更智能、不确定和不可解释的特点,给安全领域,尤其是内容安全带来了更大的挑战。百度在打造文心一言之初就意识到,传统的内容审核技术无法从根本上满足大模型内容安全的需求。因此,我们必须从头开始构建一套全新的方法。在不久前举办的 AICon 全球人工智能开发与应用大会上,百度安全平台副总经理冯景辉发表了专题演讲“百度大模型原生安全构建之路”, 分享聚焦于百度在过去两年百度安全平台团队在大模型内容安全领域遭遇的挑战和问题,以及团队尝试过的解决思路和应对方法,涵盖数据清洗、内生安全与安全对齐、安全围栏建设,以及应用安全与基础模型安全等方面。
以下是演讲实录(经 InfoQ 进行不改变原意的编辑整理)。
今天,我想与大家分享百度在过去两年中,如何在开发大模型的过程中确保安全性的故事。早期当大模型遇到敏感问题时,,它通常会建议我们换个话题。在过去两年里,我们一直在不断优化,解决模型生成过程中出现的各类安全性问题,同时也在提升用户体验。在下面的图中,我们可以看到,即使是其他公司的模型也经常会遇到需要用户重新提问或直接拒绝回答的情况。然而,最近在使用文心一言时,我们发现它已经开始用更积极的角度引导用户正确看待敏感问题,这在很大程度上改善了用户体验。
今天,我将讨论四个方面的问题。首先,我们会回顾一下大型模型面临的安全挑战。接着,我们将探讨我们是如何逐步演进,以确保大模型的安全性。然后,我们将深入讨论今天的主题——原生安全之路。我们将解释什么是原生安全,以及我们是如何实现它的。最后,会简要介绍一些我们最近在智能体和 agent 安全领域遇到的课题。
大模型安全的挑战
大模型的安全性挑战贯穿其整个生命周期,我们将其与安全相关的部分分为三个阶段:训练阶段、部署阶段和运营阶段。
在训练阶段,确保训练数据的安全至关重要。我们需要采取措施来保护数据不被泄露或滥用,因为这些数据往往是模型学习的基础,并且可能包含敏感信息。
进入部署阶段,我们面临的挑战是如何在模型部署和推理过程中保护模型参数和文件不被泄露。这包括确保模型文件在存储和传输过程中的安全性,以及在运行时防止未授权的访问。
最后,也是今天讨论的重点,是在运营阶段我们会遇到的问题。这个阶段涉及模型与用户交互的安全性,包括但不限于防止恶意输入、处理敏感请求以及确保用户数据的隐私保护。在这一阶段,我们需要不断地监控和更新模型,以应对新出现的安全威胁和挑战。
大模型训练阶段的安全挑战
在大模型的训练阶段,我们面临的安全挑战主要涉及训练数据的选择、数据的血缘分析以及模型质量的评估。首先,训练数据的选择至关重要,因为它不仅决定了模型的性能,还影响着模型的安全性。我们希望模型能够提供正确价值观的回答,同时保持创新性和多样性。因此,在数据选择时,我们需要清洗掉不安全的内容,保留不同的观点和数据。
再者,模型质量的评估在数据清洗后变得尤为重要。我们需要确保模型在经过数据清洗后,其质量仍然与数据训练质量正相关。在数据清洗方面,我们需要去除不良价值观的内容,删除个人信息和敏感信息,以及处理涉及商业侵权的信息。
大模型训练与部署阶段的安全挑战
在训练与部署阶段,我们面临的挑战包括如何保护模型文件和数据文件在流转和传输过程中的安全。由于许多数据文件存储在云训练平台上,企业内部人员可能拥有访问权限,因此,我们需要确保训练数据和模型参数文件在这一过程中不被泄露、篡改或删除。
为了应对这些挑战,我们需要一套解决方案,确保数据从训练开始就是密态存储,直到模型内部能够原生支持加载密态文件。同时,我们还需要通过完整性校验来发现模型文件的任何缺失或修改情况。
大模型业务运营阶段的安全挑战
在大模型的业务运营阶段,我们面临的安全挑战不仅限于传统内容安全中的黄反类信息,还包括一些特定于大模型的重点问题。这些挑战包括注入型攻击,即通过伪造特定环境或指令,试图使大模型突破其原有的安全限制,输出不应泄露的信息。此外,随着多轮对话窗口的增加,大模型的能力得到扩展,但同时也引入了更多的安全风险。这包括主语指代问题,以及引入多模态内容(如网页、文档、图片、音视频)时增加的风险。
为了说明这些概念,我们分享一些有趣的故事。例如,“奶奶越狱”的故事,这是一个经典的例子,展示了如何通过巧妙的提问使大模型泄露信息。在这个故事中,通过询问大模型关于 Windows 序列号的问题,试图诱导其泄露信息。今天,注入型攻击不仅限于此类情况,还可能包括其他场景。例如,当直接询问大模型关于某城市不良场所的位置时,大模型通常会拒绝回答。但如果我们换个方式问,比如询问带孩子旅游时应避免哪些区域,大模型的安全对齐机制可能会被绕过,从而泄露原本不应提供的信息。
第二个例子涉及到梯度攻击,这是一种在早期视觉领域模型中,尤其是在无人驾驶和道路识别技术中被广泛讨论的攻击方式。大约在 10 年前,甚至更早,人们通过自动化方法寻找能够干扰图像识别的因子。例如,有人通过修改限速标志,将限速 40 公里 / 小时的标志改为限速 120 公里 / 小时,尽管人类视觉上仍然识别为 40 公里 / 小时,但机器却可能将其识别为 120 公里 / 小时,从而引发安全隐患。
在多模态输入的情况下,大模型的安全问题变得更加复杂。通常是在训练数据阶段可能没有进行有效的清洗,同时在安全对齐阶段存在疏漏。在单一模态下,尤其是在自然语言处理领域,大多数中文大模型已经较好地处理了安全对齐问题。但是,当引入多模态输入后,由于多模态数据需要将不同模态的数据映射到同一模态的向量,这一过程中的安全对齐层可能没有与自然语言的安全对齐完全一致,从而导致了安全问题的出现。
因此,我们开始考虑引入传统内容安全技术。百度作为互联网企业,已经研发了自己的内容审核技术,用于 PGC 和 UGC 内容的审核。我们考虑是否能够通过这些技术来覆盖大模型的内容安全。但很快我们发现,大模型有其独特的挑战,如多模态输入和多轮会话,这些在传统内容审核中并不常见。此外,内容审核可以有时间上的灵活性,例如发文审核可以进入队列等待,但大模型的 prompt 审核却不能这样做,因为用户期望在几秒钟内就得到响应。
此外,我们还应用了 RAG 技术和代答模型。代答模型是指用一个小模型来回答敏感的安全问题,而不是完全依赖大模型。这样做的好处是多方面的。结合 RAG 技术,我们形成了一套基于生成式内容的原生安全方案,与底层的安全对齐相结合,构成了我们今天讨论的原生安全策略。
为什么只做安全对齐不行
仅依靠安全对齐是不够的,原因有几点。首先,安全对齐通常在 SFT 或人力反馈的强化学习阶段进行,这个阶段对于价值观类问题比较有效,比如避免红灯区、不赌博、不进行人身攻击等。然而,对于政治敏感性问题、领土完整等具有明确观点性和事实性的问题,安全对齐阶段处理起来就不太有效。这些问题不仅具有极强的专业性,而且具有时效性。这与价值观类问题不同,价值观类问题相对恒定不变,更容易在对齐阶段一次性解决。此外,安全对齐需要及时更新以应对每天从政府、媒体、舆论和海外传来的风险舆情,而重新训练安全模型需要大量时间成本,因此我们需要一种外挂式的方式来实现及时更新。
关注准确率
随着长文本处理的需求日益增长,大模型现在能够处理的文本长度已经从 8K 起步,甚至有些模型可以处理长达 300K 的文本窗口,这使得我们可以将整本书的内容输入到大模型中。在这样的背景下,长文本的准确率变得尤为重要,不再仅仅局限于 200 或 500 个 token 的语境。长文本语境中容易出现误报,尤其是在带有特定场景的输入安全方面。
数据清洗:数据是构建安全体系的基础。必须确保数据在输入模型之前经过彻底的清洗和筛选,以排除任何可能引发安全问题的不良内容。 安全围栏:这是一个快速响应机制,用于补齐安全漏洞。它需要结合内部的基础模型安全对齐和外部的快速反应能力,以确保在面对新出现的安全威胁时能够迅速采取措施。 安全对齐:在安全对齐阶段,重点是提升模型的基础安全能力。通过加强这一环节,可以减轻安全围栏的压力,因为模型本身能够更好地识别和处理潜在的安全问题。 持续评估:由于安全事件层出不穷,需要持续运营和监控。在安全事件发生时,能够迅速反应并通过安全围栏进行补齐,形成一个快速迭代的过程。这不是一次性的数据流程,而是一个周期性的循环过程。在这个循环中,通过持续评估发现的问题,不断通过安全围栏和数据清洗进行补齐,并在模型的下一轮迭代中提高安全对齐能力,从而形成一个持续提升的安全循环体系。
在进行数据清洗时,我们遵循国家相关法律法规的要求,特别是生成式人工智能管理的暂行办法及其实施条例。
第二步是去除数据中的脱敏隐私内容,包括个人信息和隐私信息,如身份证号、电话号码、家庭住址等,确保这些信息被彻底脱敏。
第三步是根据规范要求删除不合规、不合法的数据内容,并在删除后保持语义的通顺和语境的完整性。经过这一轮修剪和删除,可能有近 50% 的数据被清洗掉。
最后,我们需要对清洗后的数据集进行完整性评估,确保数据集仍然可用。如果评估结果显示数据集质量仍然符合要求,那么数据清洗过程就完成了,数据可以进入下一步的训练流程。
百度的解决方案
百度的内容安全解决方案是一个综合性的体系,它由几个关键部分组成:
数据清洗:这是解决方案的基础,涉及我们之前讨论的对训练数据进行质量和安全性评估的过程。这包括对数据来源的分析、去除敏感信息、删除不合规内容,并确保数据集在清洗后仍然保持完整性和可用性。 大模型防火墙:也称为安全围栏,它的功能是进行语义干预,快速响应新发现的安全问题,通过设置快速止损机制来阻拦潜在的安全威胁。它还能够处理多轮会话,以会话(session)为单位进行内容识别,并通过意图分析来规划执行路径。 检索增强和代答模型:这是解决方案的核心,包括使用 RAG 技术来增强模型的检索能力,以及使用代答模型来规避风险问题,引导模型给出安全的回答。 基础能力:百度的自然语言处理、视觉和语音相关的安全模型都基于文心大模型,这些是构成解决方案的技术底座。 安全评估:为了实现持续运营,解决方案包括线上问题的持续发现和改进,以及在模型每个版本迭代过程中进行不断的回归测试和评估。安全围栏对抗性防御架构
百度的安全围栏对抗性防御架构是一个多步骤的流程,旨在确保大模型的安全性和可靠性。这个架构大致分为五个步骤:
多轮改写:在多轮会话中,通过改写的方式处理指代性词汇,如“他”、“前一个”、“前文所指”等,确保语义的准确性和完整性。这样,即使脱离上下文,单独查看和审核语句时,也能准确理解其真实含义。 大模型防火墙:在这一步骤中,通过快速止损机制来发现和干预敏感风险点。这通常涉及到传统的语义干预和查询匹配技术,以快速识别和处理潜在的安全问题。 必答知识库,代答模型:在大模型中构建知识库,并利用检索增强技术在安全语料范围内构建 RAG 条目。目前,百度拥有大约五六千万规模的 RAG 条目,覆盖了基本的敏感话题。这些条目引导至专门为安全训练的小型代答模型中。 模型输出过滤:即使在输入阶段已经实施了各种安全策略,输出阶段仍然不能忽视。在这一阶段,需要对输出内容进行完整性分析,以发现可能出现问题的点。这是因为即使经过了输入阶段的处理,大模型在输出阶段仍可能产生有害的风险性内容。 内容审核:由于安全问题的复杂性,即使是经过重重防御,也很难做到 100% 的安全保障。即便经过了输入、处理和输出的一系列安全措施,我们仍然建议在最后一步引入人工判定。通过离线的审核、追溯和巡查机制,我们可以发现并处理在前四个步骤中未能发现或阻止的问题。这样的人工介入有助于形成持续的迭代过程,将发现的问题反馈到下一轮的安全循环中,从而不断提高大模型的安全性。我们的安全围栏的数据流是一个复杂的过程,它从文本输入开始,然后经过多个环节来确保内容的安全性。首先,系统需要识别输入文本的语言,区分它是中文、英文、中英文混杂还是其他语种,因为不同语种需要采取不同的处理策略。接下来,文本可能会经过改写,以消除歧义或潜在的安全问题,但具体细节在此不展开。文本经过改写后,会进行意图分析,以确定用户的真实意图。例如,如果分析发现文本可能涉及领土完整的负面攻击性问题,系统会将其引导至安全模型进行处理。安全模型会利用基于安全语料构建的 RAG 数据,这些数据覆盖了基本的敏感话题,以确保回复内容的安全性。RAG 数据随后被送入专门为安全训练的代答模型中,生成回复内容。如果文本在意图分析阶段被识别为具有较强攻击性,如涉及领导人的攻击性分类,可能会被标记为不上屏,即不直接显示给用户。我们越来越多地采用正面引导的方式,而不是直接拒答,这是通过检索增强和代答模型实现的,将安全风险性问题引导至代答模型中进行准确引导和回答。
在整个过程中,系统需要关注多种潜在的安全威胁,包括但不限于:
使用繁体中文试图绕过安全检查的尝试。 中英文混合文本中夹杂的不安全问题。 通过多轮对话中的指代方式诱导产生问题的尝试。 尝试通过编码指令或其他高级攻击手段绕过安全机制。安全对齐
虽然安全对齐不是本次分享的主要议题,但我们可以简要总结百度在安全对齐方面的一些最佳实践:
有监督精调:在大模型训练中,无论是使用 LoRA 还是全量数据集进行 SFT,安全阶段都需要引入大量语料。重点关注的是价值观类问题,通过合适的数据集构建的模型,其基础安全能力越来越强。例如,文心大模型能够回答的安全性问题越来越多,这得益于有监督精调带来的收益。 人类反馈强化学习,直接偏好优化:目前,我们广泛采用 RM 奖励模型,也采用 DPO 技术。通过这些方法,我们对大模型回答的不同类型问题进行好坏评比,给予大模型正向反馈,使其更多地回答与人类价值观一致的问题。持续评估
持续评估是确保大模型内容安全的关键环节,它涉及多个方面的关注点:
风险分类问题:评估过程首先需要确保问题分类与国家标准完全符合。这包括关注召回问题,也就是识别出重大或高风险的问题,同时也要关注应答问题。根据国标的要求,除非特定场景外,通用的聊天机器人(chatbot)需要能够回答常识性或通识性的问题,即使这些问题可能包含某些敏感关键词,也不能简单地拒绝回答。 攻击手段的全面覆盖:评估还需要覆盖全面的攻击手段,包括指代性攻击、注入攻击、越狱攻击等。同时,还需要对编码的适应性,包括代码适应性等内容进行合理分析和评估。 自动标注的挑战:在评估中,自动标注是一个难点。与 Web 安全和信息安全领域不同,大模型的回答内容很难通过机器自动识别是否存在风险,通常需要人工进行标注。为了实现持续评估,必须解决这一问题,减少对人工标注的依赖。为了实现自动化评估,我们采用了一个更大的模型,对问答内容进行大量的监督学习训练。通过训练,我们建立了一个裁判模型或监督模型,使其能够理解对一个问题的正确回答和负向回答是什么。这个模型为被测模型的输出提供了有效的评估,成为自动化评估的基准。目前,我们能够在备测数据集上实现大约 90% 的 F1 分数,在大多数分类上,自动化评估是可行的。通过这样的持续评估,我们可以确保大模型在处理各种问题时的安全性和可靠性。
安全代答模型如何做到比大模型更安全
在讨论安全代答模型时,我们面临一个看似矛盾的问题:理论上,一个更强大的模型应该能够提供更安全的回答,但更强大的模型通常需要更多的训练数据和更大的参数量,这可能导致资源消耗增加,从而增加成本。安全措施的成本必须低于业务成本,才能被接受。那么,代答模型如何在保持较小规模的同时,实现比大模型更高的安全性呢?我们从以下几个方面进行了规范:
数据与模型尺寸:我们的代答模型是一个相对较小的模型,大约 6B 参数左右。小模型的优点是训练周期短,但也可能带来一些问题,比如经过大量 SFT 后,模型的指令跟随能力可能会下降。这种下降反而减少了对高级攻击的敏感性。 弱化指令跟随:在微调阶段损失指令跟随, 使模型对高级攻击反应 『迟钝』,但也带来适用性问题。 持续运营:通过更大参数的巡检模型来发现事实性错误,前置过滤与错峰巡检实现性能优化。在低峰时段,巡检模型能够发现白天可能漏检的问题,并在第二天进行修补。要点小结:
通过 SFT、DPO 或人类反馈的强化学习实现安全对齐。 构建大量的 RAG 数据,包括搜索引擎和权威媒体的数据。 通过大模型防火墙实现快速有效的干预。 通过持续运营和评估实现不断的迭代和优化。关注智能体安全
我们认识到智能体是大模型生态发展中极为重要的一环。今年,百度特别重视智能体的推广,因为它们不仅仅是基础模型的简单应用。
最初,我们认为只要做好基础模型就足够了,但很快发现实际情况并非如此。从开发大模型的第一天起,我们就面临了大量恶意使用技术的情况,这与仅开发基础模型时遇到的问题不同。我们需要能够及时有效地应对这些滥用行为。
Prompt 泄露
举一个例子,一位湾区的作者通过自己公司的数据创建了一个智能体,能够展示和推理湾区特定职业的收入情况。然而,黑客可以通过简单的指令泄露这些智能体的 prompt 内容,甚至可以将用于训练的 RAG 数据以文件形式下载。在智能体的开发和应用中,我们需要特别注意数据和模型的安全性,防止敏感信息的泄露。
RAG 投毒
在大模型的应用中,RAG 数据已成为一个标准配置,它对于提供准确的信息至关重要。然而,RAG 数据也存在被“投毒”的风险,即数据被恶意篡改或污染。如下图所示,如果 RAG 数据被投毒,当用户询问“湖南的省会是哪里”时,大模型可能会给出错误的回答。
禁止角色扮演:基座模型通常关注名人肖像模板等通用问题,而特定应用则需要关注更具体的问题,如用户侵权、广告创意方向等。如果场景没有特殊需要,尽量通过指令禁用角色扮演, 根本上取消此类越狱风险。 防护指令:为了防止高级攻击,需要在 prompt 模板中规范操作。例如,除非应用需要,否则应禁止角色扮演。同时,应设置防护指令,禁止输出 prompt 内容、使用数据,以及禁止使用 print 指令输出信息。 Say No:在某些情况下,应明确拒绝回答用户的问题,而不是提供模棱两可的建议。 结构化查询:通过结构化查询,限定系统指令,用户指令空间,避免注入,使用模板而不是拼装 prompt。 避免多轮会话:如果应用不需要多轮会话,使用一次性(One-Shot)方式可能更有助于规避安全风险。 演讲嘉宾介绍 冯景辉,现任职于百度安全平台,任副总经理,负责集团业务安全、业务风控和大模型安全解决方案;其负责的百度搜索内容检测系统,多年来致力于持续改善搜索生态健康度,打击各种违法违规黑产利用搜索引擎传播,尤其是在打击搜索结果中的涉诈内容方面,为保护网民,净化网络空间内容履行百度社会责任,连续七年持续投入打击力量;其负责的业务风控、流量安全、反爬虫等方向是百度所有互联网业务的核心安全能力,历年来在百度移动生态业务中发挥重要的保障作用;其主导的大模型安全解决方案是国内第一个可商用的覆盖大模型训练、部署和运营全生命周期的安全解决方案。在进入百度之前,冯景辉是国内第一家完全基于 SaaS 的云安全服务厂商安全宝的联合创始人兼研发副总裁,安全宝系统架构总设计师。 会议推荐 AI 应用开发、大模型基础设施与算力优化、出海合规与大模型安全、云原生工程、演进式架构、线上可靠性、新技术浪潮下的大前端…… 不得不说,QCon 还是太全面了。现在报名可以享受 9 折优惠,详情请联系票务经理 17310043226 咨询。