安全指导

生成式人工智能模型是强大的工具,但不是 而不受其局限性它们的通用性和适用性有时会 会导致意外输出,例如不准确、有偏见或 令人反感。后期处理和严格的人工评估是 限制此类输出造成伤害的风险。

Gemini API 提供的模型可用于 生成式 AI 和自然语言处理 (NLP) 应用。使用 函数只能通过 Gemini API 或 Google AI Studio 网页版使用 应用。使用 Gemini API 时还须遵守生成式 AI 的使用限制规定 政策Gemini API 服务条款

大型语言模型 (LLM) 之所以如此实用,部分原因在于 可以处理许多不同语言任务的创意工具。很抱歉, 这也意味着大语言模型可以生成 包括文本 令人反感、麻木不仁或与事实不符的内容。更重要的是, 这些模型用途广泛, 准确地预测它们可能产生哪些类型的不良输出。虽然 Gemini API 的设计采用了 Google 的 AI 技术, 原则,开发者的责任是: 负责任地应用这些模型帮助开发者打造安全可靠 Gemini API 内置了一些内容过滤功能, 可调整的 4 种伤害维度的安全设置。请参阅 安全设置指南。

本文档旨在向您介绍在下列情况下可能出现的安全风险: 使用 LLM,推荐新兴的安全设计和开发 建议。(请注意,法律法规可能也会施加限制, 但此类注意事项不在本指南的讨论范围内。)

使用 LLM 构建应用时,建议执行以下步骤:

  • 了解应用的安全风险
  • 考虑进行调整以缓解安全风险
  • 执行适合您的用例的安全测试
  • 向用户征求反馈并监控使用情况

调整和测试阶段应反复进行,直至达到 适合您应用的性能

模型实现周期

了解应用的安全风险

在这种情况下,安全性是指 LLM 避免 对用户造成伤害,例如通过生成恶意言论或内容 宣扬刻板印象的内容。通过 Gemini API 提供的模型 设计时谨记 Google 的 AI 原则 并且您在使用时需遵守《生成式 AI 使用限制》 政策。API 提供内置的安全过滤器,以帮助解决一些常见的语言模型问题 诸如恶意言论和仇恨言论等问题,并努力实现包容性 并避免刻板印象不过,每个应用 用户面临的风险因此,作为应用所有者,您有责任 了解您的用户以及您的应用可能造成的危害 确保您的应用安全负责地使用 LLM。

在此评估中,您应考虑 并确定问题的严重性并采取缓解措施。例如, 根据事实事件生成论文的应用需要更加谨慎 这与生成虚假信息的应用相比 来满足观众的娱乐需求探索潜在安全风险的好方法 调查您的最终用户,以及可能受您影响的 请求结果具体形式多种多样,包括研究 研究你的应用领域的艺术,观察人们如何使用类似应用 或开展用户调研、问卷调查或对他们进行非正式访谈 潜在用户

高级提示

  • 与目标范围内的各种潜在用户交流 应用及其预期用途 更全面地了解潜在风险并调整多元化 条件。
  • AI 风险管理框架 由美国政府的 美国国家标准与技术研究院 (NIST) 提供了更多 AI 风险管理方面的详细指南和其他学习资源。
  • DeepMind 发表于 <ph type="x-smartling-placeholder"></ph> 语言模型造成的伤害的道德和社会风险 详细说明了语言模型 可能会造成危害。

考虑进行调整以缓解安全风险

现在您已经了解了风险,接下来可以决定如何缓解 。确定应优先处理哪些风险,以及尝试采取多大措施 预防错误是一项关键决策,类似于对软件中的错误进行分类 项目。确定优先事项后,您就可以开始考虑 最合适的缓解措施。通常,简单的更改就可能 有助于改变世界并降低风险。

例如,在设计应用时,请考虑以下因素:

  • 微调模型输出,以更好地反映 应用上下文。调整可以使模型的输出 可预测且一致,因此有助于降低某些风险。
  • 提供一种能让输出更安全的输入方法。确切的输入 对 LLM 的输出质量会有影响。 对输入提示进行实验,找到对您来说最安全的提示 非常值得努力,因为这样可以提供 会为其提供便利。例如,您可以限制用户只能从 下拉列表,或使用 描述性的 。
  • 屏蔽不安全的输入,并在输出显示给 用户。在简单的场景中,我们可以使用屏蔽名单 提示或回答中包含不安全的字词或短语,或者需要人工审核员 手动更改或屏蔽此类内容。

  • 使用经过训练的分类器为每个提示添加潜在危害或 对抗性信号。然后,可以采用不同的策略来 根据检测到的损害类型处理请求。例如,如果 明显具有攻击性或侮辱性的内容,则系统可能会屏蔽 而是输出预先编写好的响应。

    高级技巧

    • 如果信号确定输出是有害的, 应用可采用以下选项: <ph type="x-smartling-placeholder">
        </ph>
      • 提供错误消息或预先编写了脚本的输出。
      • 请重新尝试显示此提示,以防出现其他安全输出 因为有时相同的提示也会生成 输出不同。

  • 采取保护措施来防范故意滥用,例如将 为每个用户提供唯一 ID,并对用户查询量施加限制 可在指定时间段内提交的所有文件另一种保护措施是 防止可能的提示注入。提示注入,与 SQL 非常相似 是恶意用户设计输入提示的一种方法, 操控模型的输出,例如,通过发送输入提示 指示模型忽略前面的所有样本。请参阅 生成式 AI 使用限制政策

  • 将功能调整为本身风险较低的功能。 范围更小的任务(例如,从 或者有较强的人工监督(例如,生成简短的 会经过人工审核的内容)通常比较低风险。对于 而无需创建用于撰写电子邮件回复的应用 也可以将其限制为仅放大轮廓或建议 备选措辞

执行适合您的用例的安全测试

测试是构建强大且安全的应用的关键一环, 范围和测试策略会有所不同。例如,纯粹的俳句诗 风险投资开发商产生的风险可能不及 供律师事务所用于总结法律文件并帮助起草合同。但是 更加广泛的用户可能会使用俳句诗生成器,这意味着 对抗性尝试,甚至是意外的有害输入, 。实施环境也很重要。例如,一个应用 包含经过人工专家审核后的输出结果 被认为产生有害输出的可能性要低于相同水平 在没有此类监督的情况下使用应用。

反复多次进行更改并进行测试是很常见的情况 再确信您已做好发布准备,即使是 风险相对较低两种测试对 AI 特别有用 应用:

  • 安全基准测试涉及设计安全指标来反映 您的应用可能不安全的方式, 然后测试您的应用在各项指标方面的表现 评估模型。最好考虑一下 可接受的安全指标级别,以便 1) 您可以 对照这些预期评估测试结果;2) 您可以收集 根据用于评估所关注指标的测试来构建评估数据集 大部分信息。

    高级提示

    • 避免过度依赖“现成的”方法, 您需要让人工标注者自行构建测试数据集, 您的应用的情境。
    • 如果您有多个指标,则需要确定 如果某项更改会提高某个指标 不利于另一个人。与其他性能工程一样, 你可能希望重点关注整个评估过程中最坏的情况下的表现 而不是平均效果。
  • 对抗性测试涉及主动尝试破坏 应用。目标是找出不足之处, 采取适当的补救措施。对抗性测试可能需要 在您的应用方面具备专业知识的评估员花费大量时间/精力 - 但使用得越多,就越有可能发现问题 尤其是极少发生或者仅在重复运行 应用。

    • 对抗性测试是一种系统地评估机器学习 学习模型在向模型提供参数时 恶意或无意间有害的输入: <ph type="x-smartling-placeholder">
        </ph>
      • 如果输入内容明显是为了 输出不安全或有害的内容,例如询问文本 来针对某个特定应用 宗教信仰。
      • 如果输入本身可能被意外伤害, 无害,但会产生有害的输出,例如询问文本 来描述特定种族人群的 收到种族主义输出。
    • 对抗性测试与标准评估的区别在于 用于测试的数据的组成。对于对抗性测试,请选择 最有可能导致问题输出的测试数据, 模型。这意味着要探测模型在各类 可能的危害,包括罕见或不常见的示例以及 与安全政策相关的极端情况。它还应包含 句子不同维度的多样性,例如结构、 含义和长度。您可以参阅 Google 的 Responsible AI 做法 公平性 ,详细了解构建测试数据集时应考虑的事项。

      高级提示

      • 使用 自动化测试 而不用传统的方法是将人员加入“红队” 来尝试破坏您的应用在自动化测试中, “红队”是另一种语言模型, 从被测模型中引发有害输出。

监控问题

无论您进行了多少测试和缓解,都无法保证完美,因此 提前规划如何发现和处理出现的问题。普通 方法包括建立一个受监控的渠道,供用户分享反馈 (例如,点赞/不喜欢评分),并开展用户调研来主动征求用户意见 来自不同用户群体的反馈,尤其是在用户使用规律 与预期不同

高级提示

  • 当用户对 AI 产品提供反馈时,可以极大地改进 AI 衡量广告效果和用户体验的变化情况,例如 帮助您选择更好的样本进行提示调优。通过 “反馈和控制”一章 参阅 Google 的人与 AI 指南 重点介绍在设计广告系列时需要考虑的关键因素。 反馈机制。

后续步骤

  • 请参阅 安全设置指南,了解可调整的 Gemini API 提供的安全设置。
  • 如需获取帮助,请参阅提示简介 开始编写您的第一批提示。