H4O编辑伏贵荣分析师

MLSys 2020提前看:多面了解机器学习系统标准、加速方法和应用场景

机器学习本质上是一系列的数值计算。当需要计算的数据量很大或者计算模型很大时,就需要设计一个合适的平台来进行这种计算。机器学习系统就是针对此方面的研究,目的在于开发一类特殊的系统,用于支持和部署机器学习模型。MLSys 会议正是来解决机器学习和计算机系统之间的交叉问题。首届会议于 2018 年在斯坦福举办,吸引了学界和业界的广泛关注,会议主要研究(1)设计支持机器学习的软件系统;(2)设计硬件系统;(3)设计系统以满足精度以外的其他需求,诸如隐私,安全,公平性等。

在本篇提前看中,我们从不同的角度选择三篇文章。其中,第一篇文章对机器学习系统制定了一套具备一般性的工业衡量标准,第二篇文章从模型部署层面对机器学习模型进行加速,主要解决瓶颈是特征计算的问题,第三篇文章则针对一个特定应用场景——大量依赖隐私数据的机器学习任务设计了一个权衡隐私传输与模型效果的系统。

论文列表:

  1. MLPerf Training Benchmark
  2. WILLUMP: A Statistically-Aware End-To-End Optimizer ForMachine Learning Inference
  3. Privacy-Preserving Bandits

MLPerf Training Benchmark

论文链接:https://arxiv.org/pdf/1910.01500.pdf

Github 链接:https://github.com/mlperf/training

引言

日趋复杂的机器学习算法和庞大的数据量对真正运行模型的系统提出了一系列的挑战,在这篇文章的工作之前,业界尚未存在一套针对机器学习系统具备工业级别的衡量标准。然而,纵观各个领域的发展,这样的一套标准不仅能起到具有说服力的比较效果,更能促进创新,推动科研和工业界的发展。由此,来自谷歌,百度,斯坦福大学,哈佛大学等众多业界和学界的研究人员共同合作,克服了在衡量机器学习系统的各种独特难题,定义了一套衡量基准 MLPerf。

该论文总结分析了衡量训练机器学习的系统的各种挑战,针对各种机器学习任务(如:图像分类目标检测机器翻译强化学习等)给出不同的衡量标准,并附有详细的使用指南。

设计难点

一个训练机器学习的系统的工作流程抽象而言就是:系统输入端接受选定的数据集,优化器,模型,然后在系统上运行该模型直到模型质量(比如:图片分类的精确度)达到预期水平。选择一个系统,便要在训练后的模型质量和系统各方面的表现之间做出权衡。

那么,衡量训练机器学习的系统相较于一般的计算机系统,有哪些独特的挑战呢?

  1. 系统优化对系统表现与模型质量的不同影响。系统层面的优化可能在短期提高系统的表现性能,却会最终伤害到训练的模型的质量。这就要求,系统必须运行完整个训练过程才能判断模型是否达标,而不能只根据短时间的吞吐量进行优劣评估。
  2. 并行化训练规模的双重影响。在大型分布式计算场景中,为了增加数据并行度和系统利用率,常常使用大的批量规模(batchsize)。这反过来要求调整模型的优化参数来保证模型性能,比如学习率(learning rate)。而这些参数的调整却可能对模型训练时间带来负面影响。简言之就是,大批量规模减少了每次训练的时间,却增加了所需的训练次数。
  3. 模型中的随机性引起的系统表现的差异。即使是相同的模型和超参数,在不同的训练会话(session)中也可能需要不同的迭代次数以达到相同的准确度。这些差异为可信地比较系统表现带来了挑战。
  4. 不同的软件环境的影响。不同软件框架,不同的数学计算表达,编程界面等诸多因素都可能影响一个系统的表现。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
理论机器学习MLSys 2020
相关数据
动态规划技术

动态规划(也称为动态优化),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划将复杂的问题分解成一系列相对简单的子问题,只解决一次子问题并存储它的解决方案(solution),下一次遇到同样的子问题时无需重新计算它的解决方案,而是简单地查找先前计算的解决方案,从而节省计算时间。动态规划适用于有最优子结构(Optimal Substructure)和重叠子问题(Overlapping Subproblems)性质的问题。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

累积分布函数技术

累积分布函数,又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布。一般以大写“CDF”(Cumulative Distribution Function)标记。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~