生成式人工智能模型是一种强大的工具,但并非没有局限性。它们的多功能性和适用性有时会导致意外输出,例如不准确、有偏见或令人反感的输出。后处理和严格的人工评估对于限制此类输出造成的危害风险至关重要。
Gemini API 提供的模型可用于各种生成式 AI 和自然语言处理 (NLP) 应用。只有通过 Gemini API 或 Google AI Studio Web 应用才能使用这些 功能。使用 Gemini API 时,还须遵守《生成式 AI 使用限制政策 》和 Gemini API 服务条款。
大语言模型 (LLM) 之所以如此实用,部分原因在于它们是创意工具,可以处理许多不同的语言任务。遗憾的是,这也意味着大语言模型可能会生成意料之外的输出,包括令人反感、不顾他人感受或事实上不正确的文本。更重要的是,这些模型的多功能性也导致很难准确预测它们可能会产生的意外输出。虽然 Gemini API 在设计时考虑到了 Google's AI 原则,但开发者有责任 以负责任的方式应用这些模型。为了帮助开发者创建安全可靠的应用,Gemini API 内置了一些内容过滤功能,并针对 4 个危害维度提供了可调整的安全设置。如需了解详情,请参阅 安全设置指南。此外,它还提供了启用 Google 搜索的接地功能,以提高事实准确性,但对于用例更具创意且不以搜索信息为目的的开发者,可以停用此功能。
本文档旨在向您介绍使用 LLM 时可能会出现的一些安全风险,并推荐新兴的安全设计和开发建议。(请注意,法律法规也可能会施加限制,但此类考虑因素超出了本指南的范围。)
使用 LLM 构建应用时,建议执行以下步骤:
- 了解应用的安全风险
- 考虑进行调整,以降低安全风险
- 执行适合您应用场景的安全测试
- 征求用户反馈并监控使用情况
调整和测试阶段应反复进行,直到您获得适合应用的性能为止。

了解应用的安全风险
在此背景下,安全是指 LLM 避免对用户造成伤害的能力,例如避免生成有害语言或宣扬刻板印象的内容。通过 Gemini API 提供的模型在设计时考虑到了Google 的 AI 原则,您在使用时须遵守《生成式 AI 使用限制 政策》。该 API 提供了内置的安全过滤器,有助于解决一些常见的语言模型问题,例如有害语言和仇恨言论,并努力实现包容性和避免刻板印象。不过,每个应用都可能会给用户带来不同的风险。因此,作为应用所有者,您有责任了解您的用户以及应用可能造成的潜在危害,并确保您的应用以安全可靠的方式使用 LLM。
在进行此评估时,您应考虑发生危害的可能性,并确定危害的严重程度和缓解措施。例如,与生成虚构故事以供娱乐的应用相比,根据真实事件生成文章的应用需要更加注意避免虚假信息。了解潜在安全风险的一个好方法是研究您的最终用户以及可能受到应用结果影响的其他用户。这可以采取多种形式,包括研究应用领域中的最新研究、观察人们如何使用类似应用,或者进行用户研究、调查或与潜在用户进行非正式访谈。
高级提示
- 与目标受众群体中各种各样的潜在用户交流,了解您的应用及其预期用途,以便更全面地了解潜在风险,并根据需要调整多样性标准。
- 美国政府国家标准与技术研究院 (NIST) 发布的 AI 风险管理框架 提供了更详细的指南和更多 AI 风险管理学习资源。
- DeepMind 关于语言模型造成危害的道德和社会风险的出版物详细介绍了语言模型应用可能造成危害的方式。
考虑进行调整,以降低安全风险和事实准确性风险
现在您已经了解了风险,可以决定如何降低这些风险。确定要优先处理哪些风险以及应采取多少措施来尝试预防这些风险是一项至关重要的决策,类似于软件项目中对 bug 进行分类。确定优先级后,您可以开始考虑最合适的缓解措施类型。通常,简单的更改就能带来改变并降低风险。
例如,在设计应用时,请考虑以下事项:
- 调整模型输出 ,使其更好地反映应用上下文中可接受的内容。调整可以使模型的输出更具可预测性和一致性,因此有助于降低某些风险。
- 提供有助于实现更安全输出的输入方法。您向 LLM 提供的确切输入可能会影响输出的质量。 尝试使用输入提示,找到在您的用例中最安全的方法,这非常值得付出努力,因为您可以提供有助于实现此目的的 UX。例如,您可以限制用户只能从输入提示的下拉列表中进行选择,或者提供弹出式建议,其中包含您在应用上下文中发现安全有效的描述性短语。
在向用户显示之前,屏蔽不安全的输入并过滤输出。 在简单的情况下,可以使用屏蔽名单来识别和屏蔽提示或回答中的不安全字词或短语,或者要求人工审核员手动更改或屏蔽此类内容。
使用经过训练的分类器,逐一标记可能包含潜在危害或对抗性信号的提示。 然后,您可以根据检测到的危害类型应用不同的策略来处理请求。例如,如果输入具有明显的对抗性或辱骂性,则可以将其屏蔽,并改为输出预编写的回答。
高级提示
-
如果信号确定输出有害,
应用可以采用以下选项:
- 提供错误消息或预编写的输出内容。
- 再次尝试提示,以防生成替代安全输出,因为有时相同的提示会引发不同的输出。
-
如果信号确定输出有害,
应用可以采用以下选项:
采取防范故意滥用的保障措施 ,例如为每位用户分配一个唯一 ID,并限制用户在给定时间段内可以提交的查询数量。另一项保障措施是尝试防范可能的提示注入。提示注入与 SQL 注入非常相似,是一种恶意用户设计输入提示来操纵模型输出的方式,例如,发送输入提示来指示模型忽略任何之前的示例。如需详细了解故意滥用,请参阅 《生成式 AI 使用限制政策》 。
将功能调整为风险较低的功能。 范围较窄的任务(例如从文本段落中提取关键字)或需要更多人工监督的任务(例如生成将由人工审核的短格式内容)通常风险较低。因此,例如,您可以限制应用仅用于扩展大纲或建议替代措辞,而不是创建一个从头开始编写电子邮件回复的应用。
调整有害内容安全设置,以降低您看到有害回复的可能性。 Gemini API 提供了安全设置,您可以在原型设计阶段进行调整,以确定您的应用需要更严格还是更宽松的安全配置。您可以在五个过滤器类别中调整这些设置,以限制或允许某些类型的内容。如需了解 Gemini API 提供的可调整安全设置,请参阅安全设置指南 。
启用依托 Google 搜索进行接地功能,以减少潜在的事实不准确或幻觉。请注意,许多 AI 模型都处于实验阶段,可能会提供不准确的事实信息、产生幻觉或以其他方式生成有问题的内容。依托 Google 搜索进行接地功能将 Gemini 模型连接到实时 Web 内容,并支持所有可用语言。这样,Gemini 就可以提供更准确的回答,并引用模型知识截点之外的可验证来源。
执行适合您应用场景的安全测试
测试是构建稳健安全应用的关键环节,但测试的范围、范围和策略会有所不同。例如,与专为律师事务所设计用于总结法律文件和帮助起草合同的应用相比,仅供娱乐的俳句生成器可能带来的风险较低。但俳句生成器可能会被更多种类的用户使用,这意味着对抗性尝试甚至意外的有害输入的可能性会更大。实现上下文也很重要。例如,与没有此类监督的相同应用相比,在采取任何操作之前由人工专家审核输出的应用可能不太可能生成有害输出。
即使对于风险相对较低的应用,在确信准备好发布之前,也要经过多次更改和测试迭代,这并不罕见。以下两种测试对于 AI 应用尤其有用:
安全基准测试 涉及设计安全指标,这些指标反映了您的应用在可能的使用方式中可能不安全的方式,然后使用评估数据集测试您的应用在这些指标上的表现。在测试之前考虑安全指标的最低可接受水平是一种很好的做法,这样一来,1) 您可以根据这些预期评估测试结果,2) 您可以根据评估您最关心的指标的测试收集评估数据集。
高级提示
- 请注意,不要过度依赖“现成”的方法,因为您可能需要使用人工评分员构建自己的测试数据集,以完全适应应用的上下文。
- 如果您有多个指标,则需要决定如果更改导致一个指标的改进损害了另一个指标,您将如何 权衡。与其他性能工程一样,您 可能需要关注评估 集中的最差性能,而不是平均性能。
对抗性测试 涉及主动尝试破坏您的应用。目标是找出弱点,以便您可以采取适当的措施来解决这些弱点。对抗性测试可能需要具有应用专业知识的评估人员花费大量时间和精力,但您进行的测试越多,发现问题的机会就越大,尤其是那些很少发生或仅在重复运行应用后才会发生的问题。
- 对抗性测试是一种系统性评估方法,用来了解在用户恶意或无意输入有害内容时,机器学习模型将如何应对:
- 如果输入内容明显是为了产生不安全或有害输出,那就属于恶意输入内容,例如要求文本生成模型生成针对特定宗教的仇恨言论。
- 如果输入内容本身可能无害,但会产生有害输出,那就属于无意的有害输入内容,例如要求文本生成模型描述特定种族的人,并收到种族主义输出。
- 对抗性测试与标准评估的区别在于用于测试的数据的组成。对于对抗性测试,请选择
最有可能从
模型引发问题输出的测试数据。这意味着针对所有可能发生的危害类型探测模型的行为,包括与安全政策相关的罕见或不寻常的示例和极端情况。它还应包括句子不同维度(例如结构、含义和长度)的多样性。如需详细了解构建测试数据集时需要考虑的事项,您可以参阅 Google's Responsible AI
实践中的
公平性
。
高级提示
- 使用 自动化测试 而不是采用传统方法,即招募人员加入“红队” 来尝试破坏您的应用。在自动化测试中,“红队”是另一个语言模型,用于查找从被测模型中引发有害输出的输入文本。
- 对抗性测试是一种系统性评估方法,用来了解在用户恶意或无意输入有害内容时,机器学习模型将如何应对:
监控问题
无论您进行多少测试和缓解措施,都无法保证完美,因此请提前规划如何发现和处理出现的问题。常见方法包括设置一个受监控的渠道,供用户分享反馈(例如点赞/踩差评),以及进行用户研究,主动征求各种用户的反馈,尤其是在使用模式与预期不同的情况下。
高级提示
- 当用户向 AI 产品提供反馈时,随着时间的推移,这可以极大地提高 AI 性能和用户体验,例如 帮助您为提示调整选择更好的示例。Google 的《人和 AI 指南》中的 “反馈和控制”一章 重点介绍了设计 反馈机制时需要考虑的关键因素。