• 弹性训练AI模型,华为云黑科技解决开发算力缺陷


    摘要:AI进入产业的门槛变高,开发者想要做出优秀的AI模型就不得不在算力和成本之间折中,怎么办?

    为帮助企业在AI落地过程中进一步实现降本增效,华为云推出AI黑科技——弹性训练。

    今年,AI界最被热议的当属OpenAI最新发布的GPT-3模型,作为迄今为止发布的最大自然语言处理(NLP)转换器,它的模型参数有1750亿个,使用了45TB的数据,算力要求为3640pfs-day,训练费用高达1200万美金。

    如果AI开发者想要使用大数据来训练模型,就需要超强的算力,同时不得不支付高昂的训练费用。这就导致AI进入产业的门槛变高,开发者想要做出优秀的AI模型就不得不在算力和成本之间折中。

    一方面,在预算投入有限的情况下,AI开发者只能使用较弱的算力,从而造成AI服务开发的滞后。另外一方面,对于云厂商来说,由于用户使用时间和规模的灵活性,经常会存在空闲的计算资源没有被使用,造成浪费。华为云AI黑科技弹性训练动态缩减和扩展节点,很好地解决了AI开发者算力不足和云厂商算力空闲的矛盾。

    灵活调配算力资源,弹性训练为AI开发降本增效

    华为云弹性训练方案实时监控资源池的算力情况,如果有空闲的计算资源,会把该资源分配给正在训练中的弹性作业,提高该训练作业的算力,从而使该训练作业快速收敛。在有新任务提交时,华为云弹性训练方案又会根据资源池空闲资源和弹性作业的使用情况,把资源回收后给新起的任务,保证新的训练的快速效应。

    弹性训练流程

    弹性训练可以根据模型训练速度的要求,自适应匹配最佳资源数。具体在产品上,它提供两种模式。

    一是Turbo模式,可以充分利用空闲资源加速已有训练作业,在大多数典型场景下加速效率大于80%,训练速度提升10倍,并且不会影响模型收敛精度。

    二是Economic模式,可以通过最大化资源利用率,给开发者提供极致的性价比,在大多数典型场景下可以提升性价比30%以上。

    工程和算法多个维度优化,降低模型训练难度

    华为云弹性训练方案需要解决多个复杂的分布式训练问题:如何实现动态多次弹性后训练的收敛过程和收敛结果和普通非弹性训练等价一致、如何保证弹性过程中优雅切换、如何解决混部等场景中straggler拖累系统性能、如何使用户减少代码修改、如何选择合适的通信框架从而减少梯度汇聚时间。华为云弹性训练方案从工程和算法多个维度进行优化,解决了上述问题,实现了训练的准确率不降低、加速比理想。

    具体来说,华为云弹性训练方案具有易用、高效、优雅的训练框架和等价的训练过程,普惠的强大算力、高利用率的云资源四大优势。

    易用、高效、优雅的训练框架

    华为云的弹性训练基于易用高效的训练框架,用户只需要根据要求,简单的修改代码,就可以满足弹性训练的要求。

    弹性训练框架支持NCCL通信,支持all_reduce或点对点的组网模式,可以高效的进行梯度聚合,因此有很好的加速性能。

    同时,它也支持多GPU/NPU性能监控,支持基于每个GPU/NPU的性能进行训练负载动态调整,在混部等多GPU/NPU性能不均衡的场景下,依然具有很好的性能。

    除此之外,弹性训练框架可以保证弹性过程是优雅的。弹性训练过程中涉及到节点数的变多和变少。在节点数变多时,它可以保证老节点在新节点切入前正常训练,新节点在准备好平滑的切入训练,因此不需要老节点长时间等待。在节点数变少时,弹性训练框架可以让释放的节点平滑退出。

    等价的训练过程

    弹性训练过程节点数是动态变化的,在弹性的动态过程中如何调整训练超参,保证模型的收敛是一个巨大的挑战。华为云的弹性训练方案在理论上可以保证,在初始设置正确的训练超参后,节点在弹性过程中变多或变小时,训练的模型的收敛过程和结果是一致的。因此用户在使用训练方案时,不需要因为弹性而引入过于复杂的超参调整策略,另外也不需要担心弹性的引入对收敛结果造成影响。等价训练过程让用户可以放心的使用弹性训练。

    普惠的强大算力

    相比传统的直接购买确定的算力方案,AI开发者在投入很少的情况下,可以获得巨大的算力。用户提起弹性训练作业后,在训练过程中可以获得华为云中空闲的运算资源,算力迅速增强,因此在较短的时间内就可以把训练跑完,从而实现高频的训练迭代、快速的服务上线变现。弹性方案真正让用户实现了用得起。

    高利用率的云资源

    传统的资源强化定制方案,导致无法盘活空闲资源,不能根据实时资源使用情况,动态调整已经训练的作业。因此在传统方案中,经常会出现训练任务算力不足、耗时漫长的同时资源池中大量资源闲置的矛盾局面。

    相比之下,华为云弹性训练方案具有极大的灵活性。基于弹性训练方案,华为云实时监控资源池中资源的情况,动态调整弹性训练作业的算力情况,当资源池中有空闲资源时,就将空闲资源分配给训练作业,保证资源的充分利用。

    在弹性方案确定后,华为云的弹性训练方案自动监控调整,无需人为参与,方便高效。该方案满足了云服务商充分利用算力资源的需求和AI开发者的诉求,实现了双赢。

    弹性训练方案应用前景广阔

    随着数据的爆发式增长,AI进入行业当中越发需要大算力的支撑来处理大数据。未来,弹性训练方案具有广阔的应用空间。使用华为云的弹性训练方案在ImageNet(大型可视化数据库 )上训练resent50模型。在开始时使用1节点训练模型,在有空闲资源后,将训练节点调整为16,此时的线性加速比为10。在训练60个epoch后top1 accuracy为76.1%。精度保持一致的情况下,华为云的弹性训练方案使收敛速度快了9倍。

    华为云一直秉持着“将简单留给开发者,复杂留给华为云”的理念。华为云AI不断迭代创新,推出黑科技功能,加速AI进入产业,落地实际场景,让千行百业共享AI技术红利。

     

    点击关注,第一时间了解华为云新鲜技术~

  • 相关阅读:
    Spring学习记录-源码构建
    Spring学习记录
    java相关技术提纲
    Seata 分布式事务框架
    SourceTree学习记录
    其他源码管理工具
    分布式事务
    Score (模拟题)
    大整数排序
    字符串的查找删除 时间限制:1 Seconds 内存限制:32 Mbyte
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14200645.html
Copyright © 2020-2023  润新知