# 机器学习面临的挑战

本章概述了机器学习领域的问题。我们将有选择性地对该领域的某些问题展开。这样做有两个原因:1)简明扼要,全面概述该领域的挑战并考虑到细微差别会导致报告非常冗长;2)在讨论与加密货币的交叉点时,我们将重点关注相关问题。不过,本节本身只是从人工智能的角度撰写的。也就是说,我们不会在本节讨论密码学方法。

本节所涉主题概述:

  • 从偏见到可访问性,数据面临着巨大的挑战。此外,数据层面上存在恶意的攻击也会导致机器学习模型的误判。
  • 当模型(如GPT-X)在合成数据上进行训练时,会发生模型崩溃。这会对其造成不可逆转的损害。
  • 标注数据可能非常昂贵、缓慢且不可靠。
  • 根据不同的架构,训练机器学习模型会面临许多挑战。
  • 模型并行化带来了巨大的挑战,例如通信开销。
  • 贝叶斯模型可用于量化不确定性。例如:在进行推理时,模型会返回它的确定程度(如 80% 的确定性)。
  • LLM面临幻觉(hallucination)和训练困难等特殊挑战。

# 2.1 数据挑战

数据是任何类型机器学习模型的关键。不过,数据的要求和规模因使用的方法而异。无论是监督学习还是无监督学习,都需要原始数据(无标签数据)。

在无监督学习中,只有原始数据,不需要标注。这就缓解了许多与标注数据集相关的问题。然而,无监督学习所需的原始数据仍然会带来许多挑战。这包括

  • 数据偏差:当训练数据不能代表所要模拟的真实世界场景时,机器学习中就会出现偏差。这可能导致偏差或不公平的结果,例如面部识别系统在某些人口群体上表现不佳,因为他们在训练数据中的代表性不足。
  • 不均衡的数据集:通常,可用于训练的数据在不同类别之间的分布并不均衡。例如,在疾病诊断应用中,“无病”案例可能比"有病"案例多得多。这种不平衡会导致模型在少数民族/阶层上表现不佳。这个问题与偏见不同。
  • 数据的质量和数量:机器学习模型的性能在很大程度上取决于训练数据的质量和数量。数据不足或质量不佳(如低分辨率图像或嘈杂的音频录音)会严重影响模型的有效学习能力。
  • 数据的可获取性:获取大型、高质量的数据集可能是一项挑战,尤其是对于规模较小的机构或个人研究人员而言。大型科技公司在这方面往往具有优势,这可能导致机器学习模型开发方面的差距。

这是一项重大挑战。不过,众包数据集也会带来一些问题,比如数据质量的保证。经济激励和博弈论设计可以帮助创建开放的高质量数据集。

  • 数据安全:保护数据免遭未经授权的访问并确保其在存储和使用过程中的完整性至关重要。安全漏洞不仅会损害隐私,还会导致数据被篡改,影响模型性能。
  • 隐私问题:由于机器学习需要大量数据,处理这些数据可能会引发隐私问题,尤其是当其中包含敏感或个人信息时。确保数据隐私意味着尊重用户同意、防止数据泄露以及遵守 GDPR 等隐私法规。这可能非常具有挑战性(见下文示例)。

在机器学习模型中,删除特定用户的数据(遵守GDPR)是一项非常具有挑战性的工作。与数据库不同,我们不能随便删除一个条目。模型参数会根据提供的所有数据进行调整,因此在模型训练完成后删除特定用户的信息是非常困难的。

图 34: 数据隐私的一个特殊问题源于机器学习模型的性质。在普通数据库中,我可以有关于多人的条目。如果我的公司要求我删除这些信息,你只需从数据库中删除即可。然而,当我的模型经过训练后,它持有几乎整个训练数据的参数。不清楚哪个数字对应训练中的哪个数据库条目

# 2.1.1 模型崩溃

在无监督学习中,我们要强调的一个特殊挑战是模型崩溃。

在本文中,作者进行了一项有趣的实验。GPT-3.5 和 GPT-4 等模型是使用网络上的所有数据训练而成的。然而,这些模型目前正在被广泛使用,因此一年后互联网上的大量内容将由这些模型生成。这意味着,GPT-5 及以后的模型将使用 GPT-4 生成的数据进行训练。在合成数据上训练模型的效果如何?他们发现,在合成数据上训练语言模型会导致生成的模型出现不可逆转的缺陷。论文作者指出:"我们证明,如果我们要保持从网络上搜刮的大规模数据进行训练所带来的好处,就必须认真对待这一问题。事实上,当从互联网抓取的数据中出现由 LLM 生成的内容时,收集到的有关人类与系统之间真正交互行为的数据的价值将越来越大"。

这可能表明,围绕数据出处(追踪数据来源)的解决方案存在重大机遇。

图 35:模型崩溃示意图。随着使用人工智能模型生成的互联网内容越来越多,下一代模型的训练集中很可能包含合成数据,如本文所示

请注意,这种现象并非LLM所特有,它可能会影响各种机器学习模型和生成式人工智能系统(如变异自动编码器、高斯混合模型)。

现在,让我们来看看监督学习。在监督学习中,我们需要一个贴有标签的数据集。这意味着原始数据本身(一张狗的图片)和一个标签("狗")。标签由模型设计者手动选择,可以通过人工标注和自动化工具相结合的方式获得。这在实践中带来了许多挑战。这包括

  • 主观性:决定数据的标签可能是主观的,从而导致模糊不清和潜在的伦理问题。一个人认为合适的标签,另一个人可能会有不同的看法。
  • 标签的差异:同一个人(更不用说不同的人)重复运行可能会提供不同的标签。这就提供了 "真实标签 "的噪声近似值,因此需要质量保证层。例如,人类可能会收到一个句子,并负责标注该句子的情绪("快乐"、"悲伤"......等)。同一个人有时会给完全相同的句子贴上不同的标签。这就降低了数据集的质量,因为它在标签中引入了差异。在实践中,20% 的标签无法使用的情况并不少见。

想象一下,创建一个数据集来预测区块链上新协议的质量。你很可能会得到一个范围很广的分数,这取决于你所选择的评分系统的次活动性,以及你所调查的人的意见差异。

  • 缺乏专家注释者:对于一个小众的医疗应用,人们可能很难获得大量有意义的标签数据。这是由于能够提供这些标签的人员(医学专家)十分稀缺。
  • 罕见事件:对于许多事件来说,由于事件本身非常罕见,因此很难获得大量的标注数据。例如,发现流星的计算机视觉模型。
  • 高成本:当试图收集大量高质量数据集时,成本可能高得惊人。由于上述问题,如果需要对数据集进行标注,成本尤其高昂。

还有很多问题,比如应对对抗性攻击和标签的可转移性。为了让读者对数据集的规模有一些直观的了解,请看下图。像 ImageNet这样的数据集包含1400万个标签数据点。

图 36:各种机器学习数据集的规模示意图。Common Crawl的近似值为10亿个网页,因此总字数远远超过这个数字。小型数据集(如 Iris)包含 150 幅图像。MNIST 大约有 70,000 张图像。请注意,这是一个对数比例

# 2.1.2 强化学习中的数据收集

在强化学习中,数据收集是一项独特的挑战。与监督学习不同的是,监督学习的数据是预先标记好的静态数据,而强化学习则依赖于通过与环境互动而产生的数据,这通常需要复杂的模拟或真实世界的实验。这就带来了一些挑战:

  • 这一过程可能会耗费大量资源和时间,对于物理机器人或复杂环境而言尤其如此。如果机器人在真实世界中接受训练,那么它从试验和错误中学习可能会导致事故。或者,也可以考虑让训练机器人通过试验和错误来学习。
  • 奖励稀少且延迟:在收到有意义的反馈之前,代理可能需要探索大量的行动,从而难以学习有效的策略。
  • 确保所收集数据的多样性和代表性至关重要;否则,代理可能会过度适应狭隘的经验集,而不能通用化。在探索(尝试新行动)和利用(使用已知的成功行动)之间取得平衡使数据收集工作更加复杂,需要复杂的策略才能有效收集有用的数据。

值得强调的一点是,数据收集与推理直接相关。在训练一个强化学习代理下棋时,我们可以利用自我对弈来收集数据。自我对弈就像是与自己下棋,以获得进步。代理与自己的副本对弈,形成一个持续学习的循环。这种方法非常适合收集数据,因为它会不断产生新的场景和挑战,帮助代理从广泛的经验中学习。这一过程可以在多台机器上并行执行。由于推理的计算成本很低(与训练相比),这一过程对硬件的要求也很低。通过自我游戏收集数据后,所有数据都将被用于训练模型和改进模型。

闲置计算在分布式推理和数据收集中可以发挥强大作用,因为对硬件的要求比训练低得多。

# 2.1.3 对抗性数据攻击

  • 数据毒化攻击:在这种攻击中,通过添加扰动来破坏训练数据,从而欺骗分类器,导致不正确的输出。例如,有人可能会在非垃圾邮件中添加垃圾邮件元素。这将导致将来在垃圾邮件过滤器的训练中加入这些数据时,性能下降。这可以通过在非垃圾邮件上下文中增加 "free"、"win"、"offer "或 "token"等词的使用来解决。
  • 规避攻击:攻击者在部署过程中操纵数据,欺骗先前训练好的分类器。规避攻击在实际应用中最为普遍。针对生物识别验证系统的"欺骗攻击 "就是规避攻击的例子。
  • 对抗性攻击:这是对合法输入的修改,目的是愚弄模型,或者使用专门设计的"噪音"来引起错误分类。请看下面的例子,在熊猫图像中添加噪音后,模型将其分类为长臂猿(置信度为99.3%)。
图 37:通过在熊猫图像中添加特殊类型的噪声,模型可预先判断出图像是长臂猿而不是熊猫。在进行对抗攻击时,我们向神经网络提供一幅输入图像(左图)。然后,我们使用梯度下降法构建噪声向量(中)。该噪声向量被添加到输入图像中,从而导致错误分类(右图)。(图片来源:本文图 1解释和利用对抗性实例》论文中的图 1)

在创建开放数据集时,有必要建立一个强大的质量控制层,以避免恶意攻击。此外,数据出处(追溯图像来源)可能会有所帮助。

# 2.2 训练方面的挑战

训练机器学习模型会面临许多挑战。本节绝不是为了说明这些挑战的严重性。相反,我们试图让读者了解挑战的类型和瓶颈所在。这将有助于建立直觉,从而能够评估将训练模型与密码原语相结合的项目构想。

请看下面这个无监督学习问题的例子。在无监督学习中,没有 "老师 "提供标签或指导模型。相反,模型会发现问题中隐藏的模式。考虑一个猫狗数据集。每只猫狗都有两种颜色:黑色和白色。我们可以使用一个无监督学习模型,通过将它们聚类为两组来找到数据中的模式。该模型有两种有效的方法:

  • 将所有狗集中在一起,将所有猫集中在一起
  • 将所有白色动物集中在一起,将所有黑色动物集中在一起。

请注意,从技术上讲,这两者都没有错。模型找到的模式很好。然而,要完全按照我们的要求来引导模型是非常具有挑战性的。

图 38:训练好的对猫和狗进行分类的模型最终可能会根据颜色将动物聚类在一起。这是因为在实践中很难指导无监督学习模型。所有图像均由人工智能使用 Dalle-E 生成

这个例子说明了无监督学习所面临的挑战。然而,在所有类型的学习中,能够评估模型在训练过程中的学习效果并进行潜在干预至关重要。这可以节省大量资金。

在无权限系统中,模型的训练无需专家监督,因此可能会浪费大量资源。处理早期停止等问题的自动化工具还很不成熟。

训练大型模型的挑战还有很多,这是一个非常简短的清单:

  • 训练大规模机器学习模型,尤其是深度学习模型,需要大量的计算能力。这通常意味着要使用高端 GPU 或 TPU,而它们可能既昂贵又耗能。
    • 与这些计算需求相关的成本不仅包括硬件,还包括连续运行这些机器(有时长达数周或数月)所需的电力和基础设施。
  • 强化学习因其训练的不稳定性而闻名,模型或训练过程中的微小变化都可能导致结果的显著差异。
    • 与Adam等监督学习中使用的更稳定的优化方法不同,强化学习中没有放之四海而皆准的解决方案。通常需要对训练过程进行定制,这不仅耗时,而且需要深厚的专业知识。
    • 强化学习中的探索-开发两难问题使训练变得更加复杂,因为找到正确的平衡点对于有效学习至关重要,但却很难实现。
  • 机器学习中的损失函数定义了模型的优化目标。选择错误的损失函数会导致模型学习到不恰当或次优的行为。
    • 在复杂任务中,例如涉及不平衡数据集或多类分类的任务,选择、有时甚至定制设计正确的损失函数变得更加重要。
    • 损失函数必须与应用的实际目标紧密结合,这就需要深入了解数据和预期结果。
  • 在强化学习中,设计能持续、准确反映预期目标的奖励函数是一项挑战,尤其是在奖励稀少或延迟的环境中。
    • 在国际象棋游戏中,奖励函数可以很简单:赢了得 1 分,输了得 0 分。但是,对于行走机器人来说,这个奖励函数可能会变得非常复杂,因为它将包含 "面向前方行走"、"不要随意摆动手臂 "等信息。

奖励函数(和损失函数)包含了模型去符号化者认为重要的主观因素。可能有必要建立管理制度,以确保为广泛使用的模型选择适当的函数。

  • 在监督学习中,由于深度神经网络的 "黑箱 "性质,要了解是哪些特征驱动了复杂模型(如深度神经网络)的预测具有挑战性。
    • 这种复杂性使得调试模型、了解其决策过程和提高其准确性变得十分困难。
    • 这些模型的复杂性也对可预测性和可解释性提出了挑战,而这对在敏感或受监管领域部署模型至关重要。

同样,训练模式和所涉及的挑战也是非常复杂的话题。我们希望上述内容能让您对所涉及的挑战有一个大致的了解。如果您想深入了解该领域当前面临的挑战,我们推荐您阅读《应用深度学习中的开放性问题》(Open Problems in Applied Deep Learning)和《MLOps 指南》(MLOps guide)。

从概念上讲,机器学习模型的训练是按顺序进行的。但在很多情况下,并行训练模型至关重要。这可能只是因为模型太大,一个 GPU 难以容纳,并行训练可以加快训练速度。然而,并行训练模型会带来重大挑战,包括

  • 通信开销:将模型分割到不同的处理器需要这些单元之间不断进行通信。这可能会造成瓶颈,尤其是对于大型模型而言,因为各单元之间的数据传输可能会耗费大量时间。
  • 负载均衡:确保所有计算单元得到平等利用是一项挑战。不平衡会导致一些单元闲置,而另一些单元超负荷运行,从而降低整体效率。
  • 内存限制:每个处理器单元的内存都是有限的。在不超出这些限制的情况下,有效管理和优化多个单元的内存使用情况是非常复杂的,尤其是大型模型。
  • 实施的复杂性:设置模型并行涉及计算资源的复杂配置和管理。这种复杂性会增加开发时间和出错的可能性。
  • 优化困难:传统的优化算法可能无法直接适用于模型并行化环境,也无法提高效率,这就需要进行修改或开发新的优化方法。
  • 调试和监控:由于训练过程的复杂性和分布性增加,监控和调试分布在多个单元上的模型比监控和调试运行在单个单元上的模型更具挑战性。

分散和并行训练方面的基本新方法可以极大地推动机器学习的进步。

# 2.3 推理中的挑战

许多类型的机器学习系统面临的最重要挑战之一就是它们可能会"自信地出错"。ChatGPT可能会返回一个我们听起来很有把握的答案,但事实上这个答案是错误的。这是因为大多数模型经过训练后都会返回最有可能的答案。贝叶斯方法可用于量化不确定性。也就是说,模型可以返回一个有根据的答案,来衡量它有多确定。

考虑使用蔬菜数据训练图像分类模型。该模型可以获取任何蔬菜的图像,并返回它是什么,例如 "黄瓜 "或 "红洋葱"。如果我们给这个模型输入一张猫的图像,会发生什么呢?普通模型会返回它的最佳猜测,也许是 "白色洋葱"。这显然是不正确的。但这是模型的最佳猜测。贝叶斯模型的输出则是 "白色洋葱 "和一个确定度,例如 3%。如果模型有 3% 的确定性,我们可能就不应该根据这个预测采取行动。

图 39:常规模型预测(只返回最有可能的答案)和贝叶斯模型预测(返回预测结果的 s 分布)的示意图

这种形式的不确定性定性和推理在关键应用中至关重要。例如,医疗干预或金融决策。然而,贝叶斯模型的实际训练成本非常高,而且面临许多可扩展性问题。

推理过程中出现的更多挑战

  • 维护:随着时间的推移,尤其是数据和现实世界场景发生变化时,保持模型的更新和正常运行。
  • RL 中的探索-利用:在探索新策略和利用已知策略之间取得平衡,尤其是在推理直接影响数据收集的情况下。
  • 测试性能:确保模型在新的、未见过的数据上表现良好,而不仅仅是在训练过的数据上。
  • 分布偏移:处理输入数据分布随时间发生的变化,这种变化会降低模型性能。例如,推荐引擎需要考虑客户需求和行为的变化。
  • 某些模型生成缓慢:像扩散模型这样的模型在生成输出时可能需要大量时间,而且速度较慢。
  • 高斯过程和大型数据集:随着数据集的增长,使用高斯过程进行推理的速度会越来越慢。
  • 增加防护栏:在生产模型中实施制衡措施,防止出现不良结果或误用。

在封闭源模型中增加哪些防护措施,这对于确保不出现偏差至关重要。

# 2.4 LLM 面临的挑战

大型语言模型面临许多挑战。不过,由于这些问题受到了相当多的关注,我们在此仅作简要介绍。

  • LLM 不提供参考文献,但可以通过检索增强生成(RAG)等技术来缓解没有参考文献等问题。
  • 幻觉:产生无意义、虚假或无关的输出。
  • 训练运行需要很长时间,而且数据集重新平衡的边际值很难预测,这就导致了缓慢的反馈循环。
  • 很难将人类的基本评估标准扩展到模型所允许的吞吐量。
  • 量化在很大程度上是需要的,但其后果却鲜为人知。
  • 下游基础设施需要随着模型的变化而变化。在与企业合作时,这意味着长时间的发布延迟(生产总是远远落后于开发)。

不过,我们想重点介绍论文《沉睡代理:训练通过安全训练持续存在的欺骗性 LLMs》一文中的一个例子。作者训练的模型会在提示年份为 2023 年时编写安全代码,但在提示年份为 2024 年时插入可被利用的代码。他们发现,这种后门行为可以持续存在,因此标准的安全训练技术无法将其清除。这种后门行为在最大的模型中最持久,在经过经训练产生思维链路以欺骗训练过程的的模型中也最持久,甚至就算思维链路已经消失也一直存在。

图 40 后门示意图。如果是 2024 年,模型的训练表现为 "正常",但如果是 2024 年,则策略表现不同。资料来源:本文图 1

模型训练过程的透明度至关重要,因为即使是开源模型,也可能被训练出只在特定情况下使用的后门。例如,想象一下,将一个有资金的钱包连接到一个人工智能代理,结果却发现了一个后门。然后,这个代理就会将所有资金转移到一个特定的地址,或者以不同的身份恶意行事。

在本章中,我们讨论了机器学习领域的许多挑战。显而易见,研究的巨大进步解决了许多此类问题。例如,基础模型为训练特定模型提供了巨大优势,因为您只需根据使用情况对其进行微调即可。此外,数据标注不再是全手工过程,使用半监督学习等方法可以避免大量的人工标注。

本章的总体目标是先让读者对人工智能领域的问题有一些直观的了解,然后再探讨人工智能与密码学的交叉问题。