Think 2018背后:IBM占据人工智能训练的优势


    本文重点介绍IBM上周在Think 2018大会上各种公告背后的机器学习(ML)工作,这方面的工作很快将进一步加速Watson和PowerAI的训练性能。这恰巧突出了IBM与NVIDIA的合作伙伴关系,以及NVIDIA针对GPU的NVLink互连技术。
    去年,IBM曾有一篇论文提到了如何在不到一小时的时间内、高达95%的扩展效率以及75%的准确率训练机器学习图像分类模型,采用了和Facebook用于训练一样的数据集。2017年上半年,IBM使用面向高性能计算系统的基于POWER8的64位Power System S822LC运行了这一训练基准测试。这些系统中的每一个都有采用4个NVIDIA Tesla P100 SXM2连接的GPU,并使用IBM的PowerAI软件平台和Distributed Deep Learning (DDL)。
    IBM的新论文“Snap Machine Learning”描述了一种新的IBM机器学习库,可以更有效地利用可用的网络、内存和异构计算资源,进行机器学习训练任务,也是基于基于一个新的平台——IBM Power Systems AC922服务器。IBM AC922通过NVIDIA最新的NVLINK 2.0接口,将4个SXM2连接的NVIDIA Tesla V100 GPU连接到双POWER9处理器。
    IBM研究员兼IBM研究院加速认知基础架构总监Hillery Hunter谈到了IBM为Snap Snap ML提高性能所做出的贡献:
    - 更有效地将机器学习训练算法映射到大规模并行的GPU微架构
    - 更有效地从单一服务器机箱扩展到一个服务器集群
    - 通过最小化异构处理节点(经典处理器和GPU)与动态内存调度器之间的通信,来改进内存管理,该调度器可将数据从处理器推测性地移动到GPU内存(反之亦然)
    - IBM集成了NVIDIA NVLink互连技术,让IBM POWER9能够更快地与NVIDIA Tesla V100进行通信,目前这已经在IBM Power Systems AC922中支持了。
    最终结果是,原来需要花费数小时的训练任务,现在在几秒钟内就可以完成,而且不会降低准确性。这是有可能实现的,因为Snap可以更有效地分配和加速这些任务。Snap将加速多种逻辑和线性回归分析,包括深度学习任务。
    IBM声称使用Criteo Labs在线广告训练数据集的机器学习训练记录比之前发布的记录提高了46倍,训练准确性没有任何损失。之前的结果是在一年前发布的,但更重要的是,Google使用纯处理器的云虚拟机(VM)实例就实现了该结果。Google可以轻松组装60个工作虚拟机实例和29个参数虚拟机实例(总共89个云处理器实例)进行训练。
    然而,即使在一年前,Google的结果也是一个暴力扩展处理器资源的示范,还有一个问题“为什么只用处理器周期进行训练?”。在Google公布使用Criteo Labs训练数据集结果的时候,还没有发出最初的TensorFlow处理单元(TPU)。也许这就是Google为什么不使用TPU来生成(当时)纪录结果的原因。
    一年后,IBM仅使用4台Power System AC922服务器,每台服务器包含2个POWER9处理器和4个NVIDIA Tesla V100 GPU,就击败了Google的纪录。这个结果是将89个云虚拟机实例与安装在4个服务器机箱(8个处理器和16个GPU)中的总计24个计算元件进行比较,速度提高了46倍。
    在关于Snap的论文中,IBM还将C9000服务器与基于英特尔处理器的主流服务器(使用Criteo Terabyte Click Log子集——前2亿个训练样例,一个合理大小的子集)进行了直接比较。测试的系统是:
    - 双路Power System AC922服务器,采用的POWER9处理器通过NVLink 2.0连接至4个NVIDIA Tesla V100 GPU,但仅使用其中一个GPU进行比较
    - 采用英特尔至强Gold 6150处理器的双路槽服务器,通过PCIe 3.0连至1个NVIDIA Tesla V100 GPU
    IBM测量了通过NVLink 2.0连接的AC922系统有效带宽为68.1GB/s,通过PCIe 3.0连接、基于英特尔处理器的系统有效带宽为11.8GB / s。对于使用NVLink 2.0的AC922系统来说,这是一个5.8x处理器与GPU互连相比的优势。
    Snap ML可管理处理器和GPU之间的数据移动。由于使用NVLink的数据传输速度几乎快了6倍,所以Snap可以将处理器和GPU之间的数据拷贝时间隐藏在处理器和GPU的数据处理时间之后。
    结果是,使用Power Systems AC922服务器的实际测量训练时间加速了3.5倍多,每个系统只使用1个GPU。
    数据移动严重影响了机器学习的性能;测量跨NVLink的单个GPU的性能,与跨PCIe的单个GPU的性能之间的关系,应该扩展到对比使用这些连接的多个GPU。但是,此测试很好地表明,使用由NVLink连接的IBM POWER9处理器,相对4个或更多NVIDIA Tesla GPU集群仍应具有可衡量的优势。该测试还强调了对标准机器学习基准测试的需求,该基准测试能够在使用真实应用的服务器之间进行直接比较。
    训练时间提速3.5倍,这与整体基准测试的性能领先同样重要。
    目前还没有其他处理器制造商将NVIDIA NVLink互连技术直接集成到处理器套件中,所有竞争的服务器生态系统都依赖于PCIe互连。直接访问NVLink和Snap ML软件架构都有助于加速训练。
    在上周的Think 2018大会,IBM和苹果公司宣布推出了IBM Watson Services for Core ML。这让苹果与IBM近4年的合作伙伴关系迈向了一个新的阶段,让苹果iOS软件开发人员能够使用IBM领先的人工智能和机器学习开发环境,以及云训练支持。双方将IBM Watson扩展到在苹果非常成功的消费设备生态系统上运行机器学习推理任务。更快速地培训机器学习模型,意味着可以为边缘设备(如基于iOS的智能手机)的推测任务提供更新的模型。
    Snap ML将在今年晚些时候作为IBM PowerAI技术预览组合的一部分问上市。
    机器学习的训练时间提高3.5倍,这与整体基准测试的性能领先同样重要。