可行性

在构思和规划阶段,您需要研究机器学习解决方案的元素。在问题构建任务期间,您可以用机器学习解决方案来构思问题。机器学习问题构建简介课程详细介绍了这些步骤。在规划任务期间,您可以估算解决方案的可行性、规划方法,并设置成功指标。

虽然机器学习在理论上可能是一个不错的解决方案,但您仍然需要估算其实际可行性。例如,某个解决方案在技术上可能可以运行,但并不切实际或无法实现。以下因素会影响项目的可行性:

  • 数据可用性
  • 题目难度
  • 预测质量
  • 技术要求
  • 费用

数据可用性

机器学习模型的质量取决于训练模型所用的数据。它们需要大量高质量数据来做出高质量的预测。解决以下问题有助于您判断是否拥有训练模型所需的数据:

  • 数量。您能否获得足够的高质量数据来训练模型?有标签样本是稀缺、难以获取还是成本过高? 例如,众所周知,获取带有标签的医学图片或罕见语言的翻译是非常困难的。为了做出良好的预测,分类模型需要为每个标签提供大量样本。如果训练数据集包含的某些标签的样本有限,则模型将无法做出良好的预测。

  • 服务期间可用的功能。训练中使用的所有特征在应用时可用吗?团队花费了大量时间来训练模型,结果发现有些特征在模型需要几天后才可用。

    例如,假设某个模型预测客户是否会点击网址,并且训练中使用的一个特征包括 user_age。但是,当模型执行预测时,user_age 不可用,可能是因为用户尚未创建帐号。

  • 法规。获取和使用数据的法规和法律要求有哪些?例如,某些要求针对存储和使用特定类型的数据设定了限制。

生成式 AI

预训练 的生成式 AI 模型通常需要精选数据集才能胜任特定领域的任务。在以下使用场景中,您可能需要数据集:

  • 提示工程 参数高效调优 微调 根据使用场景,您可能需要 10 到 10,000 个高质量示例来进一步优化模型的输出。例如,如果某个模型需要经过微调,才能在特定任务(例如回答医学问题)方面表现出色,那么您将需要一个高质量的数据集,能够代表该模型将被问到的问题类型以及它应回答的问题类型。

    下表提供了针对给定技术优化生成式 AI 模型输出所需的样本数量估算值:

  • 方法 所需示例的数量
    零样本提示 0
    少样本提示 大约 10-100 秒
    参数高效微调 1 大约 100 秒 - 10,000 秒
    微调 大约 1000 秒 - 10000 秒(或更多)
    1 低秩自适应 (LoRA) 和提示调整。
  • 最新信息。经过预训练的生成式 AI 模型具有固定的知识库。如果模型领域中的内容经常变化,您需要采取一种策略来使模型保持最新状态,例如:

题目难度

问题的难度很难估算。最初看似合理的方法实际上可能是一个开放式研究问题;看似切实可行的方法,最终却可能是不切实际或不可行的。回答以下问题有助于评估问题的难度:

  • 类似问题是否已解决?例如,您组织中的团队是否使用类似(或相同)的数据来构建模型?您组织以外的人员或团队是否解决了类似问题,例如,在 KaggleTensorFlow Hub 上解决?如果是这样,您或许可以使用他们的部分模型来构建自己的模型。

  • 问题的本质是否复杂?了解任务的人工基准可以了解问题的难度级别。例如:

    • 人类可以对图片中的动物类型进行分类,准确率约为 95%。
    • 人类可以对手写数字进行分类,准确率约为 99%。

    上述数据表明,创建用于对动物进行分类的模型比创建对手写数字进行分类的模型更加困难。

  • 是否有潜在的不良行为者?人们是否会主动尝试利用您的模型?如果是这样,在模型可能被滥用之前,您将不断更新模型。例如,当有人利用该模型创建看似正当的电子邮件时,垃圾邮件过滤器无法捕获新类型的垃圾邮件。

生成式 AI

生成式 AI 模型存在潜在漏洞,可能会增加问题的难度:

  • 输入来源。意见来自哪里?对抗性提示是否会泄露训练数据、前导材料、数据库内容或工具信息?
  • 输出用途。如何使用输出?模型是否会输出原始内容,还是是否有中间步骤来测试并验证其是否合适?例如,向插件提供原始输出可能会导致许多安全问题。
  • 微调。使用损坏的数据集进行微调可能会对模型的权重产生负面影响。这种损坏会导致模型输出不正确、恶意或有偏见的内容。如前所述,微调需要经过验证且包含高质量示例的数据集。

预测质量

您需要仔细考虑模型的预测结果将对用户的影响,并确定模型所需的预测质量。

所需的预测质量取决于预测类型。例如,对于标记违反政策的模型,推荐系统所需的预测质量不会相同。推荐错误的视频可能会给用户带来糟糕的体验。但是,错误地举报违反平台政策的视频可能会产生支持费用,更糟糕的是,会产生法律费用。

模型是否需要具有非常高的预测质量,因为错误的预测代价极高?通常,所需的预测质量越高,问题就越难。遗憾的是,随着项目质量的提升,项目的回报往往在减少。例如,如果将模型的精确率从 99.9% 提高到 99.99%,则意味着项目费用增加 10 倍(甚至更高)。

随着预测质量的提高,项目费用也会随之提高。

图 2. 随着所需预测质量的提高,机器学习项目通常需要越来越多的资源。

生成式 AI

分析生成式 AI 输出时,请考虑以下事项:

  • 事实准确性。虽然生成式 AI 模型可以生成流畅、连贯的内容,但并不保证一定是事实。生成式 AI 模型中的虚假陈述称为“咨询”。 例如,生成式 AI 模型可能会混淆并生成错误的文本摘要、对数学题的错误回答或关于世界的虚假陈述。许多使用场景仍然需要对生成式 AI 输出进行人工验证,然后才能在生产环境中使用,例如 LLM 生成的代码。

    与传统机器学习一样,对事实准确性的要求越高,开发和维护成本就越高。

  • 输出质量。不良输出(如偏见、抄袭或恶意内容)会产生哪些法律和财务后果(或道德影响)?

技术要求

模型需要满足一系列影响其可行性的技术要求。以下是确定项目的可行性需要解决的主要技术要求:

  • 延迟时间。对延迟的要求有哪些?需要多快提供预测服务?
  • 每秒查询次数 (QPS)。QPS 要求有哪些?
  • RAM 使用情况。训练和服务对 RAM 有什么要求?
  • 平台 -模型将在何处运行:在线(查询发送到 RPC 服务器)、WebML(在网络浏览器内)、ODML(在手机或平板电脑上)或离线(保存在表中的预测)?
  • 可解释性。预测是否需要可解释?例如,您的产品是否需要回答“为什么某一特定内容被标记为垃圾内容?”或“为什么判定某个视频违反了平台政策?”这样的问题。

  • 重新训练频率。当模型的基础数据快速变化时,可能需要频繁或持续地重新训练。但是,频繁的重新训练可能会产生高昂的费用,而这些费用可能会大于更新模型预测结果的好处。

在大多数情况下,为了符合其技术规范,您可能需要牺牲模型的质量。在这些情况下,您需要确定您是否仍然可以生成足够好的模型来投入生产。

生成式 AI

使用生成式 AI 时,请考虑以下技术要求:

  • 平台 -许多预训练模型具有各种规模,这使得它们能够在具有不同计算资源的各种平台上运行。例如,预训练模型的范围从数据中心规模到适合在手机上使用,不一而足。在选择模型大小时,您需要考虑产品或服务的延迟时间、隐私和质量限制。这些限制往往可能会相互冲突。例如,隐私权限制条件可能要求推断在用户设备上运行。不过,由于设备缺少计算资源来产生良好的结果,因此输出质量可能会很差。
  • 延迟时间。模型输入和输出大小会影响延迟时间。特别是,输出大小对延迟时间的影响大于输入大小。 虽然模型可以并行处理其输入,但只能按顺序生成输出。换句话说,提取 500 字或 10 字输入的延迟时间可能相同,而生成 500 字的摘要所需的时间远远超过生成 10 字的摘要。
  • 工具和 API 使用。模型是否需要使用工具和 API(例如搜索互联网、使用计算器或访问电子邮件客户端)才能完成任务?通常,完成任务所需的工具越多,传播错误和模型漏洞的可能性就越大。

费用

机器学习实现物有所值吗?如果机器学习解决方案的实现和维护成本高于其产生的(或节省)资金,则大多数机器学习项目不会获得批准。机器学习项目会产生人力和机器费用。

  • 人为成本。该项目从概念验证到投入生产环境需要多少人?随着机器学习项目的不断发展,费用通常会增加。例如,与创建原型相比,机器学习项目需要更多人来部署和维护可正式投入使用的系统。尝试估算项目在每个阶段需要的角色和类型。

  • 机器费用。训练、部署和维护模型需要大量的计算和内存。例如,您可能需要用于训练模型和提供预测的 TPU 配额,以及数据流水线所需的基础架构。您可能需要付费才能为数据加标签或支付数据许可费。在训练模型之前,请考虑估算长期构建和维护机器学习特征的机器费用。

  • 推断费用。模型是否需要进行成百上千或成本超过产生的收入的推断

注意事项

如果遇到与上述任何主题相关的问题,实施机器学习解决方案可能就会成为一项挑战,但紧迫的期限可能会加重挑战。请尝试根据感知的问题难度来规划和安排足够的时间,然后尝试预留比非机器学习项目可能更多的开销时间。