Skip to content

Latest commit

 

History

History
123 lines (65 loc) · 11.5 KB

level-system-help-forecast-ai-costs.md

File metadata and controls

123 lines (65 loc) · 11.5 KB

层级系统如何帮助预测 AI 成本

原文:www.kdnuggets.com/2022/03/level-system-help-forecast-ai-costs.html

层级系统如何帮助预测 AI 成本

Hitesh Choudhary 提供的照片,来自 Unsplash

设计和构建 AI 系统非常困难。与传统软件不同,传统软件的大部分成本发生在系统部署之前的开发过程中,而 AI 系统的大部分成本发生在之后。AI 系统的行为是通过学习得来的,可能会在初始部署后发生变化。机器学习模型会随着时间的推移而退化,如果没有持续的数据和超参数调整投资。设计决策直接影响 AI 系统的扩展能力。设计难度的核心部分在于理解这些系统如何随时间变化(或不变化!)。

在构建 AI 系统时,讨论它们的“层级”可能会很有用,就像SAE 为自动驾驶汽车定义的层级一样。采用层级系统可以帮助组织规划和准备随时间扩展复杂性的 AI 系统。层级可以提供不同 AI 系统行为的核心断点。采用层级,并在层级之间进行权衡,可以提供部署后差异的简要描述。

了解系统可能经历的哪种类型的行为变化至关重要,并将其纳入系统设计中。以下的层级框架概述了系统随着时间变化的核心差异:我们可以在设计和操作系统时使用这些差异。不同的组件可以处于不同的层级;对这些差异有直观了解可以帮助指导规划和执行。

系统复杂性由其 (a) 输入、(b) 输出 和 (c) 目标的范围定义。

AI 层级

一般而言,随着层级的提升,价值会逐渐增加。例如,一个目标可能是将一个在 Level 1 上运行的系统提升到 Level 2,但系统构建的复杂性(以及成本)也会随着层级的提升而增加。在“低”层级上开始设计一个新功能通常更有意义,因为在这个层级系统的行为比较明确,而逐步提高层级可以帮助理解系统失败的情况,因为随着层级的提高,这些情况会变得更难以理解。

重点应放在学习问题及其解决空间上。较低级别的系统更为一致,并且可以比更高级别的系统更好地探索可能的解决方案,因为后者的成本和性能变异性可能是巨大的障碍。

AI 系统的级别提供了会显著影响系统成本的断点,从传统软件(级别 0)到完全智能的软件(级别 4)。级别 4 的系统基本上可以自我维护和改进 - 它们几乎不需要内部开发团队的工作。

升级有其权衡。例如,从级别 1 升级到级别 2 可以减少持续的数据需求和定制工作,但会引入自我增强的偏见问题。选择升级需要认识到新的挑战,以及在设计 AI 系统时需要采取的行动。

升级到更高的级别可以在可扩展性(以及通常的性能/鲁棒性/等)方面带来显著的好处。我们应该认识到这些好处和成本;当我们在级别 N 上工作时,我们应该考虑到达 N+1 的工作。我们应该针对我们想要实现的目标选择适当的级别,并识别出现有 AI 系统何时需要重建以改变级别。

级别 0:确定性

不需要训练数据,不需要测试数据

不涉及学习(例如,调整参数以适应数据)的算法处于零级。

级别 0(计算机科学中的传统算法)的一个巨大好处是它们非常可靠,并且如果你解决了问题,可以证明它们是最优解。如果你能在级别 0 解决一个问题,那几乎没有办法超越它。从某种程度上说,所有算法 - 即使是排序算法(如二分查找) - 都是“适应性”的。我们通常不会认为排序算法是“学习”。学习涉及记忆 - 系统根据过去的经验改变其未来的行为。

然而,有些问题无法用预定义的算法解决。缺点是,对于那些超出人类理解范围的问题(无论是一次性还是数量上的),可能很难表现良好(例如,语音转文本、翻译、图像识别、发音建议等)。

示例:

  • Luhn 算法用于信用卡验证

  • 基于正则表达式的系统(例如,信用卡号码的简单脱敏系统)。

  • 信息检索算法,如 TFIDF 检索或 BM25。

  • 基于词典的拼写纠正。

注意:在某些情况下,可能需要调整少量参数。例如, ElasticSearch 提供修改 BM25 参数的能力。我们可以将这些视为调整参数,即设置并忘记。这是一个模糊的界限。

级别 1:学习型

静态训练数据,静态测试数据

在离线环境中训练模型并用“冻结”权重部署到生产环境的系统。模型可能会有更新的节奏(例如添加更多标注数据),但模型所操作的环境不会影响模型。

第一级的好处在于你可以以一些训练数据的适度成本学习和部署任何功能。这是一个很好的地方来尝试不同类型的解决方案。而且,对于具有共同元素的难题(例如语音识别),你可以从递减的边际成本中获益。

缺点是对单一用例的定制在数量上是线性的:你需要为每个用例策划训练数据。这可能会随着时间的推移而变化,因此你需要不断添加注释以保持性能。这种成本可能很难承受。

示例:

  • 自定义文本分类模型

  • 语音转文本(声学模型)

第二级:自学习

动态+静态训练数据,静态测试数据

使用来自系统生成的训练数据来改善模型的系统。在某些情况下,数据生成独立于模型(因此我们预期随着更多数据的加入,模型性能会提高);在其他情况下,模型的干预可能会加剧模型的偏差,性能可能会随着时间的推移变差。为了消除加剧偏差的可能性,我们需要在静态(可能经过标注的)数据集上评估新模型。

第二级很棒,因为性能似乎会随着时间的推移而免费改善。缺点是,如果不加以监控,系统可能会变得更糟——它可能不会随着数据的增加而始终一致地变得更好。另一个限制是,某些第二级系统可能具有有限的改进能力,因为它们实际上是依靠自身(生成自己的训练数据);解决这种偏差可能具有挑战性。

示例:

  • 朴素垃圾邮件过滤器

  • 常见的语音转文本模型(语言模型)

第三级:自主(或自我纠正

动态训练数据,动态测试数据

同时改变人类行为(例如推荐一个行动并让用户选择加入)和直接从这种行为中学习的系统,包括系统选择如何改变用户行为。从第二级到第三级的转变可能代表了系统可靠性和可实现性能的大幅提升。

第三级很棒,因为它可以持续随着时间的推移变得更好。然而,它更复杂:它可能需要真正惊人的数据量,或者一个非常精心设计的设置,才能比简单系统表现更好;它适应环境的能力也使得调试非常困难。也可能出现真正灾难性的反馈循环。例如,人类纠正一个电子邮件垃圾邮件过滤器——然而,由于人类只能纠正系统做出的错误分类,它学会了所有预测都是错误的,从而颠倒了自己的预测。

第四级:智能(或全球优化

动态训练数据,动态测试数据,动态目标

既与环境动态互动又进行全局优化(例如,朝向一些下游目标),例如,在优化 AHT 和 CST 的同时辅助代理,或直接优化利润。例如,一个不优化下一个点击(当前方法)而是优化对话的最佳点击序列的 AutoSuggest 模型。

第 4 级有着极大的潜力——如何达到这一点并不总是显而易见的,除非经过精心设计,这些系统可能会优化到退化的解决方案。将其对准正确的问题、塑造奖励机制以及审计其行为都是庞大且非平凡的任务。

附录:矩阵布局

我们也可以将这些级别可视化为一个矩阵。

级别 叙述定义 输入 输出 目标
0: 确定性 不涉及学习(例如,不调整参数以适应数据)的算法处于第零级别。 无训练数据。 一般输出。 无目标。性能指标。
1: 已学习 模型训练在离线环境中进行,并以“冻结”权重部署到生产中。模型可能有更新的频率(例如,添加更多的标注数据),但用于训练模型的数据并非直接由系统生成。 静态数据,通常是标注过的。 简单输出(简单函数逼近 单一目标,从输入数据映射到输出。
2: 自我提升 使用从系统生成的训练数据来改进模型的系统,理想情况下数据是静态的(所以我们期望随着数据的增加模型性能会不断提升)。 使用从系统生成的新模型输入进行重新训练。 简单输出,接近输入数据。 单一目标,从输入数据映射到输出。
3: 自主 同时改变人类行为和直接从这种行为中学习的系统。这一类别的问题通常涉及如探索与开发的赌博学习范式。 系统使用新的模型输入和对系统先前输出的明确反馈进行重新训练。 政策以随时间更新模型输出。 累积目标,捕捉模型如何引入偏差以及人们如何与系统互动。
4: 智能 与环境动态互动并朝向下游目标自我优化的系统,例如,在优化 AHT 和 CST 的同时辅助代理。这一类别的问题有时涉及强化学习范式。 系统查看模型决策的下游影响,并优化整个系统的性能。 政策以优化整个系统。 系统目标,从局部决策到下游。

迈克尔·格里菲斯 是 ASAPP 的数据科学总监。他致力于识别提升客户和代理体验的机会。在 ASAPP 之前,迈克尔曾在广告、电商和管理咨询领域工作。

更多相关话题