SageMaker算法如何实现机器学习民主化
系统支持高效更新、并行化和稳定扩展。
系统概述
SageMaker是某机构提供的服务,使客户能够快速轻松地构建用于云部署的机器学习模型。它包含一套标准机器学习算法,如k均值聚类、主成分分析、神经主题建模和时间序列预测。
动态模型更新
基于云的机器学习模型运行环境很少是静态的。随着新训练数据的可用或新用例的出现,模型通常需要更新;有些模型每小时更新一次。
然而,简单地在新增数据上重新训练模型可能会侵蚀模型先前获得的知识。在新旧数据组合上重新训练模型可以避免这个问题,但可能非常耗时。
系统设计优势
SageMaker系统设计有助于解决这一困境。它还支持更轻松的模型训练并行化和更高效的模型"超参数"优化。超参数是模型的结构特征,其变化会影响性能。
例如,在神经网络中,超参数包括网络层数、每层节点数和学习率等特征。模型超参数的最佳设置因任务而异,将超参数调整到特定任务通常是一个繁琐的试错过程。
模型状态管理
系统设计通过区分模型和模型状态来解决这些问题。在这种情况下,状态是模型迄今为止所见数据的执行摘要。
支持通过某机构SageMaker服务提供的机器学习算法的系统存储机器学习模型的状态,即模型迄今为止所见数据的执行摘要(黑色方块)。这使得能够快速探索模型的不同超参数(灰色方块)。
实际示例
举一个简单例子,假设模型正在计算输入数字流的运行平均值。模型状态将包括所见所有数字的总和及其数量。如果模型存储该状态,那么当下一周有新数字流输入时,它可以简单地继续增加这两个值,而无需重新添加已经见过的数字。
状态跟踪优势
跟踪状态的优势之一是模型稳定性。状态大小固定:模型可能会看到越来越多数据,但状态的数据摘要始终占用相同的内存空间。
这意味着模型训练的成本(时间和系统资源)与新增训练数据量呈线性比例。如果训练时间呈超线性比例,足够大的数据量可能导致训练超时并因此失败。
平均示例说明了系统的另一个方面:它需要在流数据上运行。也就是说,它可能只看到每个训练示例一次,并且示例序列可能在任何点中断。在任何这样的断点,它应该能够综合所学知识以生成工作的、最新的模型。
分布式状态
系统支持这种学习范式。但它也在标准机器学习设置中运行良好,其中训练示例被分成固定大小的批次,模型多次运行相同的训练集直到性能停止改进。
当系统并行训练模型时,每个并行处理器接收其自己的状态副本,并在本地更新。为了同步本地存储的状态更新,使用称为参数服务器的开源框架。
同步计划再次是算法特定的。例如,对于k均值聚类和主成分分析,给定处理器不需要向参数服务器报告其状态更新,直到完成所有计算。对于神经网络,其训练涉及找到全局最优解,同步需要更频繁地发生。
超参数调优
正如状态的数据摘要支持模型的高效重新训练一样,它们也支持有效估计不同超参数设置对模型性能的影响。因此SageMaker能够自动化超参数调优。
在论文中,报告了将系统与相同机器学习技术的一些标准实现进行比较的实验结果。
发现平均而言,方法更加资源高效。例如,对于线性学习器(学习线性模型如线性回归和多类分类的算法),方法实现了并行化效率的八倍提高。
对于k均值聚类(一种聚类数据点的技术),方法实现了训练效率的近10倍提高。实际上,在实验中,大于100 GB的数据集导致现有实现崩溃。
研究领域
机器学习 云系统
标签
人工智能(AI) 某机构SageMaker 某机构云服务(AWS) 超参数优化
相关会议
SIGMOD/PODS 2020
相关出版物
某机构SageMaker中的弹性机器学习算法