在 Windows 上开发负责任生成式 AI 应用程序和功能

本文档概述了使用生成式人工智能在 Windows 上创建应用程序和功能时要使用的推荐负责任开发做法。

有关在 Windows 上负责任地开发生成式 AI 应用和功能的指南

Microsoft 的每个团队都遵循核心原则和做法来负责任地构建和交付 AI(包括 Windows)。 可以在Microsoft负责任的 AI 透明度报告中详细了解Microsoft负责任的开发方法。 Windows 遵循 RAI 开发的基础支柱,即治理、映射、度量和管理,这些支柱与美国国家标准与技术研究院 (NIST) AI 风险管理框架保持一致。

治理 - 策略、做法和流程

标准是治理和合规性流程的基础。 Microsoft 开发了我们自己的负责任 AI 标准,包括六项原则,你可以将其用作起点来制定负责任 AI 指南。 建议将 AI 原则端到端构建到开发生命周期以及流程和工作流中,以符合隐私、安全和负责任 AI 方面的法律法规。 这涉及:每个 AI 功能的早期评估;使用 AI 公平清单人与 AI 交互指南 - Microsoft Research 等工具;使用负责任 AI 记分卡等工具监视和审查 AI 基准、测试和流程;以及根据适用的隐私法、监管要求和政策公开记录 AI 功能的能力和限制以及用户披露和控制(通知、同意、数据收集和处理信息等)。

映射 - 识别风险

识别风险的建议做法包括:

端到端测试

端到端测试从头到尾评估整个 AI 系统,以确保其按预期运行并遵循既定标准。 此综合方法可能包括:

红队演练

术语红队测试在过去指用于测试安全漏洞的系统对抗攻击。 最近,该术语已扩展到传统网络安全之外,并在常见用法中不断发展,用于描述多种探测、测试和攻击 AI 系统。

由于大型语言模型(LLM)和小型语言模型(SLM),良性和对抗使用都可能会产生可能有害的输出,这些输出可能采用多种形式,包括仇恨言论、煽动或赞美暴力或性内容。 通过彻底的红队测试,你可以对系统进行强度测试并完善内容策略,以降低系统造成损害的可能性。

对于采用生成 AI 的高风险系统和使用非生成 AI 的低风险系统,所有 AI 系统都应接受红色团队测试,具体取决于功能和用途:

  • 正式红队演练:对于使用大型语言模型(LLM)的生成 AI 的所有高风险系统,应完成独立的红队测试。 正式的红队工作包括从组织外部招募专业人士参与红队活动。

  • 内部红队:至少为所有低风险、非生成型 AI 系统规划内部红队。 这可由组织内部的人员完成。

详细了解红队以及如何评估系统的红队需求:微软 AI 红队

模型评估

作为端到端测试的一部分,评估模型本身非常重要。

  • 模型卡:对于公开可用的模型(如 HuggingFace 上的模型),可以查看每个模型的模型卡作为方便参考,以了解模型是否适合你的用例。 阅读关于模型卡的更多信息

  • 手动测试:人类在没有脚本的情况下执行逐步测试是模型评估的一个重要组成部分,它支持...

    • 衡量一小部分优先问题的进展情况。 在缓解特定危害时,最有效的做法通常是继续手动检查小型数据集的进度,直到不再观察到危害,然后再转向自动度量。

    • 定义和报告指标,直到自动度量足够可靠,可以单独使用为止。

    • 定期抽查,以衡量自动度量的质量。

  • 自动测试:自动执行的测试也是模型评估的一个重要组成部分,它支持...

    • 大规模度量,其覆盖范围更广,可以提供更全面的结果。

    • 随着系统、使用和缓解措施的发展,持续度量以监视任何回归。

  • 模型选择:选择一个适合自己目的的模型,并自学以了解其功能、限制和潜在的安全挑战。 在测试模型时,请确保它能产生适合你的使用的结果。 为了让你入门,Microsoft(和非 Microsoft/开放源代码)模型源的目标包括:

度量 - 评估风险和缓解措施

建议的做法包括:

  • 分配内容审查器:内容审查器会检查文本、图像和视频内容中是否存在可能是冒犯性的、风险性的材料或其他不良内容。 了解详细信息:内容审查器简介(Microsoft Learn 培训)

    • 使用内容安全筛选器:这组多类别分类模型分别检测四种严重程度(安全、低、中和高)的四类有害内容(暴力、仇恨、性和自残)。 了解详细信息:如何使用 Azure OpenAI 服务配置内容筛选器

    • 应用元提示:元提示是指包含在提示开头的系统消息,用于为模型提供上下文、说明或与用例相关的其他信息。 这些说明用于指导模型的行为。 了解详细信息:使用元提示/系统消息工程创建有效的安全防护措施

    • 利用阻止名单:这会阻止在提示中使用某些术语或模式。 了解详细信息:在 Azure OpenAI 中使用阻止名单

    • 熟悉模型的来源:来源是模型所有权的历史,或者是谁、什么、何时、何地,了解它非常重要。 谁在模型中收集数据? 数据与谁相关? 使用了什么类型的数据? 数据是在哪里收集的? 数据是什么时候收集的? 了解模型数据的来源可以帮助评估其质量、可靠性,并避免任何不道德、不公平、偏见或不准确的数据使用。

    • 使用标准管道:使用一个内容审核管道,而不是将各个部分拼凑在一起。 了解详细信息:了解机器学习管道

  • 应用UI缓解措施:这些缓解措施为用户提供有关基于 AI 的功能的能力和限制的重要说明。 为了帮助用户并提供有关功能的透明度,可以:

    • 鼓励用户在接受输出之前对其进行编辑

    • 突出显示 AI 输出中的潜在不准确之处

    • 披露 AI 在交互中的作用

    • 引用参考文献和来源

    • 适当时限制输入和输出的长度

    • 提供结构输出输入或输出 – 提示必须遵循标准格式

    • 为有争议的提示准备预先确定的响应。

  • 实施客户反馈循环: 鼓励用户积极参与反馈循环:

    • 使用作为用户体验的一部分在上下文中提供的简单反馈机制直接在应用/产品中请求反馈。

    • 在客户使用的有关功能问题、关注点和可能危害的早期对话渠道上应用社交聆听技术。

管理 - 缓解 AI 风险

缓解 AI 风险的建议包括:

  • 滥用监视:如果有反复出现的内容和/或行为表明使用服务的方式可能违反了行为准则或其他适用产品条款,此技术会检测和缓解这些内容和/或行为的实例。 了解详细信息:滥用监视

  • 分阶段交付:缓慢推出 AI 解决方案以处理传入的报告和问题。

  • 事件响应计划:对于每个高优先级风险,评估将发生的情况以及响应事件需要多长时间,以及响应过程是什么样子的。

  • 关闭功能或系统的能力:提供功能以在事件即将发生或已发生时关闭功能,这需要暂停功能以避免进一步损害。

  • 用户访问控制/阻止:开发一种方法来阻止滥用系统的用户。

  • 用户反馈:利用机制检测用户端的问题。

    • 直接在产品中请求反馈,提供一种在典型工作流程中可用的简单反馈机制。

    • 在客户使用的渠道上,应用社交聆听技术,以便早期捕捉有关功能问题、关注点和可能危害的对话。

  • 负责任地部署遥测数据:识别、收集和监视表示用户满意度或按预期使用系统的能力的信号,确保你遵守适用的隐私法律、政策和承诺。 使用遥测数据来识别差距并改进系统。

工具和资源