🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】 深度学习【DL】
🖍foreword
✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。
如果你对这个系列感兴趣的话,可以关注订阅哟👋
文章目录
在本文中,我们涵盖了设计机器学习系统的许多技术方面。然而,机器学习系统不仅仅是技术性的。它们涉及业务决策者、用户,当然还有系统的开发人员。我们在第1章和第2章中讨论了利益相关者及其目标。在本章中,我们将讨论 ML 系统的用户和开发人员如何与这些系统进行交互。
我们将首先考虑由于 ML 模型的概率性质可能如何改变和影响用户体验。我们将继续讨论组织结构,以允许同一 ML 系统的不同开发人员有效地协同工作。我们将在“负责任的人工智能”部分以机器学习系统如何影响整个社会作为本章的结尾。
用户体验
我们已经详细讨论了 ML 系统如何行为不同于传统的软件系统。首先,机器学习系统是概率性的而不是确定性的。通常,如果您在不同的时间对相同的输入运行相同的软件两次,您可以期待相同的结果。但是,如果您在不同时间对完全相同的输入运行相同的 ML 系统两次,您可能会得到不同的结果。1其次,由于这种概率性质,ML 系统的预测大多是正确的,难的是我们通常不知道系统在哪些输入下是正确的!第三,机器学习系统也可能很大,并且可能需要很长时间才能产生预测。
这些差异意味着 ML 系统会以不同方式影响用户体验,尤其是对于迄今为止已经习惯使用传统软件的用户而言。由于 ML 在现实世界中的使用相对较新,因此 ML 系统如何影响用户体验仍未得到很好的研究。在本节中,我们将讨论 ML 系统对良好用户体验构成的三个挑战以及如何解决这些挑战。
确保用户体验一致性
使用应用程序或网站时,用户期望一定程度的一致性。例如,我习惯于 Chrome 在我的 MacBook 的左上角有他们的“最小化”按钮。如果 Chrome 移动这个按钮在右边,我会感到困惑,甚至沮丧。
ML 预测是概率性且不一致的,这意味着今天为一个用户生成的预测可能与第二天为同一用户生成的预测不同,具体取决于预测的上下文。对于想要利用 ML 来改善用户体验的任务,ML 预测的不一致可能是一个障碍。
为了具体说明这一点,请考虑 Booking.com 在 2020 年发布的案例研究。当您在 Booking.com 上预订住宿时,您可以使用大约 200 个过滤器来指定您的偏好,例如“含早餐”、“宠物友好型”、 ”和“无烟客房”。过滤器太多,用户需要时间才能找到他们想要的过滤器。Booking.com 的应用 ML 团队希望使用 ML 根据用户在给定浏览会话中使用的过滤器自动建议用户可能需要的过滤器。
他们遇到的挑战是,如果他们的 ML 模型每次都建议不同的过滤器,用户可能会感到困惑,特别是如果他们找不到之前已经应用过的过滤器。该团队通过创建一个规则来解决这一挑战,该规则指定系统必须返回相同过滤器推荐的条件(例如,当用户应用过滤器时)以及系统可以返回新推荐的条件(例如,当用户更改目的地)。这被称为一致性 - 准确性权衡,因为系统认为最准确的推荐可能不是可以提供用户一致性的推荐。
与“大部分正确”的预测作斗争
在上一节中,我们谈到了确保模型预测的一致性的重要性。在本节中,我们将讨论在某些情况下,我们如何希望模型的预测具有更少的一致性和更多的多样性。
自 2018 年以来,大型语言模型GPT及其继任者GPT-2和GPT-3风靡全球。这些大型语言模型的一个优点是它们能够为广泛的任务生成预测,而几乎不需要特定于任务的训练数据。例如,您可以将网页的需求用作模型的输入,它会输出创建该网页所需的 React 代码,如图 11-1所示。
图 11-1。GPT-3 可以帮助您为您的网站编写代码。资料来源:改编自Sharif Shameem的视频截图
然而,这些模型的一个缺点是这些预测并不总是正确的,并且在特定于任务的数据上对其进行微调以改进其预测是非常昂贵的。这些大部分正确的预测对于可以轻松纠正它们的用户很有用。例如,在客户支持的情况下,对于每个客户请求,ML 系统可以产生大部分正确的响应,并且人工操作员可以快速编辑这些响应。与必须从头开始编写响应相比,这可以加快响应速度。
但是,如果用户不知道如何或无法更正响应,这些大部分正确的预测将不会很有用。考虑使用语言模型为网页生成 React 代码的相同任务。生成的代码可能不起作用,或者如果起作用,它可能无法呈现到满足指定要求的网页。React 工程师可能能够快速修复此代码,但此应用程序的许多用户可能不知道 React。而且这个应用程序可能会吸引很多不了解 React 的用户——这就是他们首先需要这个应用程序的原因!
为了克服这个问题,一种方法是向用户显示相同输入的多个结果预测,以增加其中至少一个正确的机会。这些预测应该以即使非专家用户也可以评估它们的方式呈现。在这种情况下,给定用户输入的一组需求,您可以让模型产生多个React 代码片段。代码片段被呈现到可视网页中,以便非工程用户可以评估哪一个最适合他们。
这种方法非常常见,有时被称为“人在环”人工智能,因为它涉及人类选择最佳预测或改进机器生成的预测。对于对 Human-in-the-loop AI 感兴趣的读者,我强烈推荐 Jessy Lin 的《Rethinking Human-AI Interaction》。
顺利失败
我们已经在“计算优先级”部分详细讨论了 ML 模型的推理延迟对用户体验的影响。我们还讨论了如何压缩模型并优化它们以加快推理速度“模型压缩”部分中的速度。但是,通常快速模型可能仍然需要一些时间来处理某些查询。这尤其适用于处理顺序数据的模型,如语言模型或时间序列模型——例如,模型处理长序列比处理短序列需要更长的时间。我们应该如何处理模型响应时间过长的查询?
我合作过的一些公司使用的备份系统不如主系统优化,但可以保证快速生成预测。这些系统可以是启发式或简单模型。它们甚至可以缓存预先计算的预测。这意味着您可能有一个规则指定:如果主模型生成预测的时间超过X毫秒,请改用备用模型。一些公司没有这个简单的规则,而是有另一个模型来预测主模型需要多长时间来为给定查询生成预测,并将该预测相应地路由到主模型或备份模型。当然,这个添加的模型也可能会为您的系统增加额外的推理延迟。
这与速度和准确性的权衡有关:一个模型的性能可能比另一个模型差,但可以更快地进行推理。这种不太理想但快速的模型可能会给用户带来更糟糕的预测,但在延迟至关重要的情况下可能仍然是首选。许多公司必须选择一种模型而不是另一种模型,但是使用备份系统,您可以两者兼得。
团队结构
ML 项目不仅涉及数据科学家和 ML 工程师,还涉及其他类型的工程师,例如 DevOps 工程师和平台工程师,以及主题专家 (SME) 等非开发人员利益相关者。鉴于利益相关者的多样性,问题是组织 ML 团队时的最佳结构是什么。我们将关注两个方面:跨职能团队协作和端到端数据科学家备受争议的角色。
跨职能团队协作
SME(医生、律师、银行家、农民、造型师等)在 ML 系统的设计中经常被忽视,但是如果没有主题专业知识,许多 ML 系统将无法工作。他们不仅是 ML 系统的用户,也是开发者。
大多数人只在数据标记阶段考虑主题专业知识——例如,您需要训练有素的专业人员来标记肺部 CT 扫描是否显示癌症迹象。然而,随着训练 ML 模型成为生产中的一个持续过程,标记和重新标记也可能成为跨越整个项目生命周期的持续过程。让 SME 参与生命周期的其余部分(例如问题制定、特征工程、错误分析、模型评估、重新排序预测和用户界面:如何最好地将结果呈现给用户和/或系统的其他部分。
有多个不同的配置文件在一个项目上工作会带来许多挑战。例如,您如何向可能没有工程或统计背景的中小企业解释 ML 算法的局限性和能力?为了构建一个机器学习系统,我们希望所有东西都被版本化,但是你如何将领域专业知识(例如,如果 X 和 Y 之间的这个区域有一个小点,那么它可能是癌症的征兆)转化为代码和版本呢?
祝你的医生使用 Git 祝你好运。
重要的是让 SME 尽早参与项目规划阶段,并授权他们做出贡献,而不必让工程师负担他们的访问权限。例如,为了帮助中小企业更多地参与机器学习系统的开发,许多公司正在构建无代码/低代码平台,让人们无需编写代码即可进行更改。大多数面向 SME 的无代码 ML 解决方案目前处于标签、质量保证和反馈阶段,但正在开发更多平台以帮助其他关键节点,例如数据集创建和用于调查需要 SME 输入的问题的视图。
端到端数据科学家
通过这本书,我希望我已经让你相信,机器学习生产不仅仅是一个机器学习问题,也是一个基础设施问题。要进行 MLOps,我们不仅需要 ML 专业知识,还需要 Ops(运营)专业知识,尤其是在部署、容器化、作业编排和工作流管理方面。
为了能够将所有这些专业领域的专业知识带入 ML 项目,公司倾向于遵循以下两种方法之一:拥有一个单独的团队来管理所有 Ops 方面,或者在团队中包括数据科学家并让他们拥有整个流程.
让我们仔细看看这些方法在实践中是如何工作的。
方法一:有一个单独的团队来管理生产
在这种方法中,数据科学/ML 团队在开发环境中开发模型。然后一个单独的团队,通常是 Ops/platform/ML 工程团队,生产化产品中的模型。这种方法使招聘更容易,因为更容易雇用具有一组技能的人,而不是具有多种技能的人。它还可能使每个相关人员的生活更轻松,因为他们只需关注一个问题(例如,开发模型或部署模型)。但是,这种方法有很多缺点:
沟通协调开销
一支球队可以成为其他球队的阻挡者。根据 Frederick P. Brooks 的说法,“一个程序员一个月能做的事,两个程序员两个月能做的事”。
调试挑战
当某事失败时,您不知道是您团队的代码还是其他团队的代码导致了它。这可能根本不是因为您公司的代码。您需要多个团队的合作才能找出问题所在。
指指点点
即使你已经弄清楚出了什么问题,每个团队也可能认为修复它是另一个团队的责任。
狭义的语境
没有人能够了解优化/改进它的整个过程。例如,平台团队对如何改进基础设施有想法,但他们只能根据数据科学家的请求采取行动,但数据科学家不必处理基础设施,因此他们主动对其进行更改的动力较少。
方法 2:数据科学家拥有整个过程
在这种方法中,数据科学团队还必须担心模型的生产。数据科学家变成了脾气暴躁的独角兽,期望了解有关流程的一切,他们最终可能会编写比数据科学更多的样板代码。
大约一年前,我在推特上发布了一组我认为对成为 ML 工程师或数据科学家很重要的技能,如图 11-2所示。该列表几乎涵盖了工作流程的每个部分:查询数据、建模、分布式训练和设置端点。它甚至包括 Kubernetes 和 Airflow 等工具。
图 11-2。我曾经认为数据科学家需要了解所有这些事情
这条推文似乎引起了我的听众的共鸣。Eugene Yan 还写了一篇关于“数据科学家应该如何做到端到端”的文章。2 Stitch Fix 的首席算法官 Eric Colson(之前也是 Netflix 的数据科学和工程副总裁)写了一篇关于“全栈数据科学通才的力量和通过职能分工的危险”的帖子。3
当我写那条推文时,我相信 Kubernetes 对 ML 工作流程至关重要。这种情绪来自我对自己工作的挫败感——如果我能更流利地使用 K8s,我作为 ML 工程师的生活会轻松得多。
然而,随着我对底层基础设施的了解越来越多,我意识到期望数据科学家了解它是多么不合理。基础设施需要一套与数据科学截然不同的技能。从理论上讲,您可以学习这两种技能。在实践中,你花在一个上的时间越多,你花在另一个上的时间就越少。我喜欢 Erik Bernhardsson 的类比,即期望数据科学家了解基础设施就像期望应用程序开发人员了解 Linux 内核的工作原理一样。4我加入了一家 ML 公司,因为我想花更多时间处理数据,而不是花在启动 AWS 实例、编写 Dockerfile、调度/扩展集群或调试 YAML 配置文件上。
为了让数据科学家拥有整个过程,我们需要好的工具。换句话说,我们需要良好的基础设施。
如果我们有一个抽象来允许数据科学家拥有端到端的流程而不必担心基础设施呢?
如果我可以告诉这个工具,“这是我存储数据的地方 (S3),这是运行我的代码的步骤(特征化、建模),这是我的代码应该运行的地方(EC2 实例、AWS Batch 等无服务器的东西,函数等),这是我的代码在每个步骤中需要运行的内容(依赖项),”然后这个工具为我管理所有基础设施的东西?
根据 Stitch Fix 和 Netflix 的说法,全栈数据科学家的成功取决于他们拥有的工具。他们需要“将数据科学家从容器化、分布式处理、自动故障转移和其他高级计算机科学概念的复杂性中抽象出来”的工具。5
在 Netflix 的模型中,专家(最初拥有项目一部分的人)首先创建工具来自动化他们的部分,如图 11-3所示。数据科学家可以利用这些工具端到端地拥有他们的项目。
图 11-3。Netflix 的全周期开发人员。资料来源:改编自 Netflix 6的图片
我们已经讨论了 ML 系统如何影响用户体验以及组织结构如何影响 ML 项目的生产力。在本章的后半部分,我们将重点介绍一个更重要的考虑因素:ML 系统如何影响社会以及 ML 系统开发人员应该做些什么来确保他们开发的系统利大于弊。
负责任的人工智能
本节由创始人Abhishek Gupta慷慨捐助和蒙特利尔人工智能伦理研究所的首席研究员。他的工作重点是应用技术和政策措施来构建道德、安全和包容的人工智能系统。
笔记
如何让智能系统负责的问题不仅与 ML 系统有关,而且与通用人工智能 (AI) 系统有关。AI 是一个更广泛的术语,包括 ML。因此,在本节中,我们使用 AI 而不是 ML。
负责任的人工智能是一种设计、开发和部署人工智能系统的良好意图和足够意识的实践,以赋予用户权力,产生信任,并确保对社会产生公平和积极的影响。它由公平、隐私、透明度和问责制等领域组成。
这些术语不再只是哲学思考,而是政策制定者和日常从业者的认真考虑。鉴于机器学习几乎被部署到我们生活的方方面面,未能使我们的机器学习系统公平和合乎道德可能会导致灾难性后果,如《数学毁灭武器》(Cathy O'Neil,Crown Books,2016 年)一书中所述,以及通过本书中提到的其他案例研究。
作为 ML 系统的开发人员,您不仅有责任考虑您的系统将如何影响用户和整个社会,而且还应通过将道德、安全和包容性具体落实到您的系统中来帮助所有利益相关者更好地实现他们对用户的责任。机器学习系统。本节简要介绍了当没有足够的努力使 ML 系统负责时会发生什么。我们将从两个关于 ML 非常不幸和公开失败的案例研究开始。然后,我们将为数据科学家和 ML 工程师提出一个初步框架,以选择最有助于使您的 ML 系统负责的工具和指南。
免责声明:负责任的 AI 是一个复杂的话题,文学作品不断增长,值得拥有自己的报道,并且可以轻松跨越多本书。本节远非详尽的指南。我们的目标只是为 ML 开发人员提供一个概览,以有效地驾驭该领域的发展。强烈建议有兴趣进一步阅读的人查看以下资源:
-
ACM 公平、问责和透明度会议 (ACM FAccT)出版物
-
Trustworthy ML 的推荐资源和基础论文列表,供希望了解有关可信赖 ML 更多信息的研究人员和从业者使用
-
Sara Hooker关于机器学习中的公平、安全和治理的精彩幻灯片(2022 年)
-
Timnit Gebru 和 Emily Denton关于公平、问责、透明度和道德的教程(2020)
不负责任的人工智能:案例研究
我们将通过查看来开始本节人工智能系统的两次故障不仅对这些系统的用户而且对开发这些系统的组织都造成了严重伤害。我们将追踪组织出错的一些地方,以及从业者可以采取哪些措施来预测这些故障点。这些亮点将作为我们深入研究负责任 AI 工程框架的背景。
在AI 事件数据库中记录了其他有趣的“AI 事件”示例。请记住,虽然以下两个示例和记录在 AI 事件数据库中的示例引起了人们的注意,但还有更多不负责任的 AI 实例默默地发生。
案例研究 I:自动评分者的偏见
2020 年夏天,由于 COVID-19 大流行,英国取消了 A 级考试,这是决定大学安置的高风险考试。英国教育和考试监管机构 Ofqual 批准使用自动化系统为学生分配最终 A-level 成绩——无需他们参加考试。根据 Ada Lovelace Institute 的 Jones 和 Safak 的说法,“Ofqual 最初拒绝了根据教师评估来授予学生成绩的理由,理由是学校之间的不公平、代际之间的不可比性以及由于成绩膨胀而导致的成绩贬值。Ofqual 推测,更公平的选择是结合以前的成绩数据和教师评估来分配成绩,使用特定的统计模型——“算法”。” 7
然而,该算法发布的结果证明是不公正和不可信的。他们很快引起了公众的强烈抗议,要求取消它,数百名学生高呼抗议。8
是什么引起了公众的强烈抗议?乍一看似乎指向算法的糟糕表现。Ofqual 表示,他们的模型在 2019 年的数据上进行了测试,在 A-level 科目中的平均准确率约为 60%。9这意味着他们预计该模型分配的 40% 的成绩与学生的实际成绩不同。
虽然该模型的准确性似乎很低,但 Ofqual 为他们的算法辩护称其与人类评分者的准确性大致相当。在将考官的成绩与高级考官的成绩进行比较时,一致性也在 60% 左右。10人工考官和算法的准确性暴露了在单个时间点评估学生的潜在不确定性,11进一步加剧了公众的挫败感。
到目前为止,如果您已经阅读过本书,您就会知道仅粗粒度的准确性还远远不足以评估模型的性能,尤其是对于一个性能可以影响这么多学生未来的模型。仔细研究该算法会发现在设计和开发此自动评分系统的过程中至少存在三个主要故障:
-
未能设定正确的目标
-
未能执行细粒度评估以发现潜在偏差
-
未能使模型透明
我们将详细介绍这些失败中的每一个。请记住,即使解决了这些故障,公众仍可能对自动评分系统感到不满。
失败一:设定错误的目标
我们在第 2 章中讨论了 ML 项目的目标将如何影响最终 ML 系统的性能。在开发一个自动化系统来给学生评分时,你会认为这个系统的目标是“为学生评分的准确性”。
然而,Ofqual 似乎选择优化的目标是在学校之间“保持标准”——将模型的预测成绩拟合到每所学校的历史成绩分布。例如,如果 A 学校过去的表现一直优于 B 学校,Ofqual 想要一种算法,平均而言,A 学校的学生的成绩也高于 B 学校的学生。Ofqual 优先考虑学校之间的公平,而不是学生之间的公平——他们更喜欢一个模型可以直接获得学校水平的结果,而不是另一个模型可以让每个人的成绩都正确。
由于这个目标,该模型不成比例地从历史上表现不佳的学校中降级了表现出色的学生。历史上学生一直获得直接 D 的班级的一名学生被降级为 B 和 C。12
Ofqual 没有考虑到资源较多的学校往往比资源较少的学校表现更好的事实。通过优先考虑学校的历史表现而不是学生当前的表现,这个自动评分系统惩罚了资源匮乏学校的学生,这些学校往往有更多来自贫困背景的学生。
失败 2:细粒度模型评估不足以发现偏差
对来自历史上表现不佳的学校的学生的偏见只是结果公之于众后发现的关于该模型的众多偏见之一。自动评分系统将教师的评估作为输入考虑在内,但未能解决教师在不同人口群体评估中的不一致问题。它还“没有考虑到 [根据 2010 年平等法案] 某些受保护群体的多重不利因素的影响,他们将因教师期望低,[和]某些学校普遍存在的种族歧视而处于双重/三重不利地位。” 13
由于该模型考虑了每所学校的历史表现,Ofqual 承认他们的模型没有足够的数据用于小型学校。对于这些学校,他们没有使用这种算法来分配最终成绩,而是只使用教师评估的成绩。在实践中,这导致“倾向于小班授课的私立学校学生取得更好的成绩”。14
通过公开发布模型的预测成绩并进行细粒度评估,以了解模型在不同数据切片上的表现——例如,评估模型对不同规模的学校和来自不同领域的学生的准确性,或许可以发现这些偏差。背景。
失败3:缺乏透明度
透明度是在系统中建立信任的第一步,但 Ofqual 未能在为时已晚之前公开其自动评分器的重要方面。例如,他们没有让公众知道他们的系统的目标是保持学校之间的公平,直到成绩公布的那一天。因此,随着模型的开发,公众无法表达他们对这一目标的关注。
此外,在提交评估和学生排名之前,Ofqual 不会让教师知道自动评分者将如何使用他们的评估。Ofqual 的理由是避免教师试图改变他们的评估来影响模型的预测。Ofqual 选择在结果日之前不发布正在使用的确切模型,以确保每个人都能同时找到他们的结果。
这些考虑来自善意;然而,Ofqual 决定隐瞒他们的模型开发意味着他们的系统没有得到足够的独立外部审查。任何在公众信任下运行的系统都应由公众信任的独立专家进行审查。皇家统计学会 (RSS) 在调查这款自动分级机的开发过程中,对 Ofqual 为评估该模型而组建的“技术咨询小组”的组成表示担忧。RSS 指出,“如果没有更强有力的程序基础来确保统计的严谨性,以及 Ofqual 正在审查的问题的更大透明度”,15 Ofqual 统计模型的合法性是值得怀疑的。
本案例研究显示了在构建可以直接影响这么多人的生活的模型时透明度的重要性,以及未能在正确的时间披露模型的重要方面的后果。它还显示了选择正确目标进行优化的重要性,因为错误的目标(例如,优先考虑学校之间的公平)不仅会导致您选择一个在正确目标方面表现不佳的模型,而且还会使偏见长期存在。
它还举例说明了当前应该由算法自动化和不应该自动化之间的模糊界限。英国政府中肯定有人认为 A-level 评分由算法自动化是可以的,但也有可能争辩说,由于 A-level 评分可能带来灾难性后果,它不应该被自动化首先。在没有更清晰的界限之前,会出现更多滥用 AI 算法的案例。只有投入更多的时间和资源,以及人工智能开发者、公众和当局的认真考虑,才能实现更清晰的边界。
案例研究二:“匿名”数据的危险
这个案例研究对我来说很有趣,因为在这里,算法不是明确的罪魁祸首。相反,是数据接口和数据收集的设计方式导致敏感数据泄露。由于机器学习系统的开发在很大程度上依赖于数据的质量,因此收集用户数据非常重要。研究界需要访问高质量的数据集来开发新技术。从业者和公司需要访问数据来发现新的用例并开发新的人工智能产品。
但是,收集和共享数据集可能会侵犯其数据属于这些数据集的用户的隐私和安全。为了保护用户,有人呼吁对个人身份信息 (PII) 进行匿名化处理。根据美国劳工部的说法,PII 被定义为“允许通过直接或间接方式合理推断信息适用的个人身份的任何信息表示形式”,例如姓名、地址或电话号码。16
然而,匿名化可能不足以保证防止数据滥用和侵蚀隐私预期。2018 年,在线健身追踪器 Strava 发布了一张热图,显示了它记录的全球用户在锻炼时的路径,例如跑步、慢跑或游泳。热图汇总了 2015 年至 2017 年 9 月期间记录的 10 亿次活动,覆盖了 270 亿公里的距离。Strava 表示,所使用的数据是匿名的,并且“不包括被标记为私人和用户定义的隐私区域的活动”。17
由于 Strava 被军事人员使用,尽管是匿名的,但他们的公开数据使人们能够发现暴露美国海外军事基地活动的模式,包括“阿富汗的前沿作战基地、土耳其在叙利亚的军事巡逻,以及可能的警卫巡逻叙利亚的俄罗斯行动区。” 18图 11-4显示了这些识别模式的一个示例。一些分析师甚至表示,这些数据可以揭示个别 Strava 用户的姓名和心率。19
那么匿名化哪里出错了?首先,Strava 的默认隐私设置是“选择退出”,这意味着如果用户不想收集他们的数据,则需要手动选择退出。但是,用户指出,这些隐私设置并不总是很清楚,可能会给用户带来惊喜。20一些隐私设置只能通过 Strava 网站而不是其移动应用程序进行更改。这表明教育用户有关您的隐私设置的重要性。更好的是,数据选择加入(默认情况下不收集数据)而不是选择退出,应该是默认设置。
图 11-4。根据 BBC 新闻21所做的分析创建的图像
当 Strava 热图的这个问题公之于众时,一些责任转移到了用户身上:例如,军事人员不应该如何使用具有 GPS 跟踪功能的非军事问题设备,以及如何关闭定位服务。22
然而,隐私设置和用户的选择只解决了表面问题。潜在的问题是我们今天使用的设备不断地收集和报告关于我们的数据。这些数据必须被移动并存储在某个地方,从而为它创造了被拦截和滥用的机会。与亚马逊、Facebook、谷歌等更广泛使用的应用程序相比,Strava 拥有的数据很小。Strava 的错误可能暴露了军事基地的活动,但其他隐私漏洞可能不仅对个人而且对社会造成更大的危险大体上。
收集和共享数据对于人工智能等数据驱动技术的发展至关重要。然而,这个案例研究显示了收集和共享数据的隐患,即使数据被认为是匿名的并且是出于善意发布的。收集用户数据的应用程序开发人员必须了解他们的用户可能没有为自己选择正确的隐私设置的技术知识和隐私意识,因此开发人员必须主动努力将正确的设置设为默认设置,即使以收集更少的数据为代价。
负责任的人工智能框架
在本节中,我们将为您作为 ML 从业者奠定基础,以审核模型行为并制定最能帮助您满足项目需求的指导方针。该框架不足以满足每个用例。无论您遵循哪种框架,在某些应用程序中,人工智能的使用可能完全不合适或不道德(例如,刑事判决决定、预测性警务)。
发现模型偏差的来源
作为一直关注的人围绕 ML 系统设计的讨论,您知道偏见会在您的系统中蔓延到整个工作流程。您的第一步是发现这些偏见如何蔓延。以下是数据来源的一些示例,但请记住,此列表远非详尽无遗。偏见如此难以消除的原因之一是偏见可能来自项目生命周期的任何步骤。
训练数据
用于开发模型的数据是否代表了模型将在现实世界中处理的数据?如果不是,您的模型可能会偏向训练数据中表示的数据较少的用户组。
标签
如果您使用人工注释器来标记您的数据,您如何衡量这些标签的质量?您如何确保注释者遵循标准指南,而不是依赖主观经验来标记您的数据?注释者越依赖他们的主观经验,人类偏见的空间就越大。
特征工程
您的模型是否使用任何包含敏感信息的功能?您的模型是否会对某个子群体产生不同的影响?Disparate impact occurs “when a selection process has widely different outcomes for different groups, even as it appears to be neutral.” 23当模型的决策依赖于与受法律保护的类别(例如种族、性别、宗教习俗)相关的信息时,即使这些信息没有直接用于训练模型,也会发生这种情况。例如,如果招聘过程利用与种族相关的变量(例如邮政编码和高中文凭),则可能会因种族而产生不同的影响。为了减轻这种潜在的不同影响,您可能需要使用 Feldman 等人提出的不同影响消除器技术。在“证明和消除不同的影响”或使用AI Fairness 360 (AIF360)DisparateImpactRemover实现的功能。您还可以使用在 H2O 中实现的Infogram 方法识别变量中的隐藏偏差(然后可以从训练集中删除) 。
模型的目标
您是否使用能够对所有用户公平的目标来优化您的模型?例如,您是否优先考虑模型对所有用户的性能,这会使您的模型偏向于大多数用户组?
评估
您是否执行了充分、细粒度的评估以了解您的模型在不同用户组中的表现?这在“基于切片的评估”部分中进行了介绍。公平,充分的评价取决于公平的存在,充分的评价数据。
了解数据驱动方法的局限性
ML 是一种解决问题的数据驱动方法。但是,了解这些数据很重要还不够。数据涉及现实世界中的人们,具有社会经济和文化需要考虑的方面。我们需要更好地理解过度依赖数据造成的盲点。这通常意味着跨越组织内部和外部的学科和职能界限,以便我们能够解释那些将受到我们构建的系统影响的人的生活经历。
例如,要建立一个公平的自动评分系统,必须与领域专家合作,了解学生人口的人口分布以及社会经济因素如何反映在历史表现数据中。
了解不同需求之间的权衡
在构建 ML 系统时,您可能希望此系统具有不同的属性。例如,您可能希望您的系统具有较低的推理延迟,这可以通过修剪等模型压缩技术获得。您可能还希望您的模型具有较高的预测准确性,这可以通过添加更多数据来实现。您可能还希望您的模型公平透明,这可能要求模型和用于开发此模型的数据可供公众审查。
通常,机器学习文献会做出不切实际的假设,即针对一个属性(如模型准确性)进行优化会使所有其他属性保持不变。人们可能会在假设该模型的准确性或延迟保持不变的情况下讨论提高模型公平性的技术。然而,在现实中,改善一种特性可能会导致其他特性退化。以下是这些权衡的两个示例:
隐私与准确性的权衡
根据维基百科,差分隐私是“一种公开共享数据集信息的系统,通过描述数据集中的群体模式,同时隐瞒数据集中个人的信息。差分隐私背后的想法是,如果在数据库中进行任意单个替换的影响足够小,则查询结果不能用于推断任何单个个体,因此提供了隐私。” 24
差分隐私是一种流行的技术,用于 ML 模型的训练数据。这里的权衡是,差分隐私可以提供的隐私级别越高,模型的准确性就越低。但是,这种准确度降低并非对所有样本都相同。正如 Bagdasaryan 和 Shmatikov (2019) 所指出的,“对于代表性不足的类别和子群体,差分隐私模型的准确性下降得更多。” 25
紧凑性与公平性的权衡
在第 7 章中,我们详细讨论了模型压缩的各种技术,例如剪枝和量化。我们了解到,可以以最小的精度成本显着减小模型的大小,例如,以最小的精度成本将模型的参数数量减少 90%。
如果最小准确度成本均匀分布在所有类中,它确实是最小的,但是如果成本只集中在几个类中呢?在他们 2019 年的论文“压缩深度神经网络忘记了什么?”中,Hooker 等人。发现“权重数量完全不同的模型具有可比的顶级性能指标,但在数据集的一个狭窄子集上的行为差异很大。” 26例如,他们发现当受保护的特征(例如,性别、种族、残疾)位于分布的长尾时,压缩技术会放大算法的危害。这意味着压缩不成比例地影响代表性不足的特征。27
他们工作的另一个重要发现是,虽然他们评估的所有压缩技术都有不均匀的影响,但并非所有技术都具有相同程度的不同影响。与他们评估的量化技术相比,修剪产生的影响要大得多。28
继续发现类似的权衡取舍。了解这些权衡非常重要,这样我们才能为我们的 ML 系统做出明智的设计决策。如果您正在使用压缩或差异私有的系统,建议分配更多资源来审核模型行为以避免意外伤害。
尽早行动
考虑在市中心建造一座新建筑。一个承包商被要求建造一些能在未来 75 年内屹立不倒的东西。为了节省成本,承包商使用劣质水泥。业主不投资监督,因为他们希望避免开销以便能够快速移动。承包商继续在那个糟糕的地基上建造,并按时完工。
一年之内,裂缝开始出现,建筑物似乎可能倒塌。市政府认定该建筑存在安全隐患,要求拆除。承包商节省成本的决定和业主在开始时节省时间的决定现在最终花费了业主更多的金钱和时间。
您可能会在 ML 系统中经常遇到这种叙述。公司可能会决定绕过 ML 模型中的道德问题以节省成本和时间,但当它们最终花费更多时才发现未来的风险,例如之前的 Ofqual 和 Strava 案例研究。
在 ML 系统的开发周期中,您越早开始考虑该系统将如何影响用户的生活以及您的系统可能存在哪些偏差,解决这些偏差的成本就越低。NASA 的一项研究表明,对于软件开发,错误成本在项目生命周期的每个阶段都会增加一个数量级。29
创建模型卡
模型卡是简短的文件随附经过训练的 ML 模型,提供有关如何训练和评估这些模型的信息。模型卡还披露了模型打算使用的上下文以及它们的限制。30根据模型卡论文的作者,“模型卡的目标是通过允许利益相关者比较候选模型以便在传统评估指标以及道德、包容性和公平的考虑。”
以下列表改编自“模型报告的模型卡”一文中的内容,以显示您可能希望为模型报告的信息:31
-
模型详细信息:有关模型的基本信息。
-
个人或组织发展模式
-
型号日期
-
型号版本
-
型号类型
-
有关训练算法、参数、公平性约束或其他应用方法和特征的信息
-
论文或其他资源以获取更多信息
-
引文详情
-
执照
-
在哪里发送有关模型的问题或评论
-
-
预期用途:在开发过程中设想的用例。
-
主要预期用途
-
主要目标用户
-
范围外用例
-
-
因素:因素可能包括人口统计或表型组、环境条件、技术属性或其他。
-
相关因素
-
评价因素
-
-
指标:应选择指标以反映模型对现实世界的潜在影响。
-
模型性能测量
-
决策阈值
-
变化方法
-
-
评估数据:卡中用于定量分析的数据集的详细信息。
-
数据集
-
动机
-
预处理
-
-
训练数据:在实践中可能无法提供。如果可能,此部分应反映评估数据。如果无法提供此类详细信息,则应在此处提供最少的允许信息,例如训练数据集中各种因素的分布详细信息。
-
定量分析
-
单一结果
-
交叉结果
-
-
伦理考虑
-
注意事项和建议
模型卡是提高 ML 模型开发透明度的一步。在使用模型的人与开发此模型的人不同的情况下,它们尤其重要。
请注意,每当更新模型时,都需要更新模型卡。对于频繁更新的模型,如果手动创建模型卡,这会给数据科学家带来相当大的开销。因此,通过利用TensorFlow、Metaflow和scikit-learn等工具的模型卡生成功能或在内部构建此功能,拥有自动生成模型卡的工具非常重要。因为模型卡片中应跟踪的信息与应跟踪的信息重叠由模型商店跟踪,如果在不久的将来,模型商店演变为自动生成模型卡片,我不会感到惊讶。
建立减轻偏见的流程
构建负责任的人工智能是一个复杂的过程,过程越特别,空间越大是为了错误。对于企业而言,建立系统的流程以使其 ML 系统负责是很重要的。
您可能希望创建不同利益相关者可以轻松访问的内部工具组合。大公司有您可以参考的工具集。例如,谷歌发布了负责任 AI 的推荐最佳实践,IBM 开源了AI Fairness 360,其中包含一组指标、解释和算法,以减轻数据集和模型中的偏差。您也可以考虑使用第三方审核。
及时了解负责任的 AI
人工智能是一个快速发展的领域。人工智能中新的偏见来源不断被发现,负责任的人工智能面临的新挑战也不断出现。正在积极开发对抗这些偏见和挑战的新技术。及时了解负责任 AI 的最新研究非常重要。您可能想关注ACM FAccT 会议、人工智能合作伙伴关系、艾伦图灵研究所的公平、透明度、隐私小组和AI Now 研究所。
概括
尽管 ML 解决方案具有技术性质,但设计 ML 系统不能局限于技术领域。它们是人类开发的,人类使用的,在社会上留下了自己的印记。在本章中,我们偏离了前八章的技术主题,专注于 ML 的人性化方面。
我们首先关注 ML 系统的概率性、大部分正确性和高延迟性如何以各种方式影响用户体验。概率性会导致用户体验的不一致,这可能会导致沮丧——“嘿,我刚刚在这里看到了这个选项,现在我在任何地方都找不到它。” 如果用户无法轻松地将这些预测修正为正确,则 ML 系统的大部分正确性质可能会使它变得无用。为了解决这个问题,您可能希望向用户展示针对同一输入的多个“最正确”的预测,希望其中至少有一个是正确的。
构建 ML 系统通常需要多个技能集,组织可能想知道如何分配这些所需的技能集:让具有不同技能集的不同团队参与或期望同一个团队(例如,数据科学家)拥有所有技能。我们探讨了这两种方法的优缺点。第一种方法的主要缺点是通信开销。第二种方法的主要缺点是很难聘请能够拥有端到端开发 ML 系统过程的数据科学家。即使他们可以,他们也可能不乐意这样做。但是,如果为这些端到端数据科学家提供了足够的工具和基础设施,那么第二种方法可能是可能的,这是第 10 章的重点。
我们以我认为本书最重要的主题结束本章:负责任的人工智能。负责任的 AI 不再只是一种抽象,而是当今机器学习行业的基本实践,需要采取紧急行动。将道德原则纳入您的建模和组织实践中,不仅可以帮助您将自己区分为专业和前沿的数据科学家和 ML 工程师,还可以帮助您的组织获得客户和用户的信任。随着越来越多的客户和用户强调他们对负责任的人工智能产品和服务的需求,它还将帮助您的组织在市场上获得竞争优势。
重要的是不要将这种负责任的人工智能仅仅视为我们为满足我们组织的合规性要求而进行的复选框勾选活动。确实,本章中提出的框架将帮助您满足组织的合规性要求,但它不会取代对是否应该首先构建产品或服务的批判性思考。