涓�琛�浠g��璁╂�ц�芥����2��

浣���锛� 浣��� 2020-03-13 13:23:42

 ������娲昏��濂�����蹇�锛���绛�寰���宸茬�瓒��ヨ���涓轰汉浠�甯���杩�绂荤��河渠�����浣����ㄦ繁搴�海洋�涔�棰���锛�妯″�������般���版������瑙�妯$��绛��ㄨ�广大辨��浠ヤ嚎涓哄��浣�锛����虫�村ぇ锛���姝ゅ�妯″��璁�缁�����涔��讹��句�兄弟�寮���棰�����缁�河渠�绛��颁���浣�涓鸿�����充�疏浚��ㄦ��澶�搴���河渠���

�e����板�ㄥ��浣��ㄨ��涓�娆剧���锛���浠ュ���拌��缁���搴�缈诲��锛�璁垮������缈诲��锛�浣�蹇��ㄥ��锛�蹇��ㄤ�濡�琛���锛�杩���涓����佃��拈��锛������ユ�㈤���锛�锛��ュ����涓�璧风����杩�娆剧���——�轰�PaddlePaddle�稿�妗��剁�����ㄦ贩��绮惧害锛�Automatic Mixed Precision) ����锛�绠�绉伴�妗� AMP ������

椋�妗� AMP ����浠�浠���杩�涓�琛�浠g���冲��甯��╃�ㄦ�风��岛垮揩����广大���绮惧害璁�缁���妯″��淇��逛负���ㄦ贩��绮惧害璁�缁������堕��杩�榛��藉�������ㄦ�� Loss Scaling �ヤ�璇�璁�缁���绋冲���э��垮���雾�� INF ���� NAN ��棰���PaddlePaddle AMP ��浠ュ�������ユ�颁�浠� NVIDIA GPU 涓� Tensor Core ��璁$���ц�戒��救救�ResNet50��Transformer 绛�妯″����璁�缁���搴�涓���绮惧害璁�缁��告����浠ユ������ 1.5锝�2.9 ����

�d�疏浚�����涔�疏浚��扮演����锛���浠���浠�浠�涔������ㄦ贩��绮惧害����璁茶捣��

浠�涔������ㄦ贩��绮惧害����

椤惧����涔�锛����ㄦ贩��绮惧害��涓�绉����ㄥ���绮惧害����绮惧害娣峰��浣跨��锛�浠�������妯″��璁�缁����������朵腑��绮惧害锛�Float Precision32锛�FP32锛�濂界��瑙o���璁$���哄父�ㄧ��涓�绉��版��绫诲�����d���绮惧害��浠�涔���锛�濡��� 1 ��绀猴���绮惧害锛�Float Precision16锛�FP16锛���涓�绉��稿�硅��扮演��娴��圭被��锛��ㄨ�$���轰腑浣跨�� 2 海洋���锛�16 浣�锛�海洋���锛��� IEEE 754-2008 涓�锛�疏浚�琚�绉颁� binary16��涓�璁$��涓�甯哥�ㄧ����绮惧害����绮惧害绫诲���告��锛�Float16 �拈��河渠��ㄧ簿搴�瑕�姹�涓�楂����烘��涓�浣跨�ㄣ��

涓�瑷����队��ㄦ繁搴�海洋�涔�棰���锛�濡���浣跨�� Float16 浠f�� Float32 �ュ���ㄦ�版��锛��d�寮�����广大卞��浠ヨ��缁��村ぇ�村�����妯″��锛�浣跨�ㄦ�村ぇ�� batch size����姝ゅ�逛��d��ㄤ�寰������� GPU ��姣�涓�涓��朵�绠″�ㄩ�ㄦ�����绉�海洋�疏浚朵滑��涔��芥�捐�疏浚���锛����剁�变� NVIDIA �ㄥ�轰��山� Tensor Core ������ Volta �� Turing �舵�� GPU锛�浣垮��绮惧害璁$��瓒����������ㄧ�稿���� GPU 纭�浠朵�锛�Tensor Core ����绮惧害璁$������������绮惧害�� 8 ����

浣��捐����瑙�锛�浣跨�� Float16 ��疏浚�浼����跺甫�ヨ�$��绮惧害涓�����澶便��浣�瀵规繁搴�海洋�涔�璁�缁���瑷�锛�骞朵�������璁$���借�姹�寰�楂���绮惧害锛�涓�河渠�灞��ㄧ��绮惧害��澶卞�规��缁�璁�缁�����褰卞��寰�寰�寮憋�浠���瑕���河渠��规��姝ラ�や��� Float32 ��璁$��绮惧害�冲������姝ゆ贩��绮惧害璁$������姹�搴�杩���������浠���浠ュ�璁�缁�杩�绋�涓�涓�河渠�瀵圭簿搴���澶变�����涓��戒娇�� Tensor Core 杩�琛�������杩�绠�浣跨�ㄥ��绮惧害澶���锛���澶ч��搴�������璁垮����璁$��������

浣���瀵规��涓��蜂�妯″��锛�河渠哄伐�昏�捐�″��广大�璇�绮惧害娣峰�����规�锛�����甯哥�����锛���浠�杩�����瑕�涓�绉��寸��娲����瑰�锛�楂����板���版贩��绮惧害��璁�缁���AMP锛�椤惧����涔�锛�广大辨��璁╂贩��绮惧害璁�缁����ㄥ��锛���姝や娇�ㄧ������疏浚�����瑕��硅�层���蜂�����锛��变滑寰�涓���锛�

AMP ��浣跨�ㄦ�规�

涓���浠� MNIST 涓轰�浠�缁�濡�浣�浣跨�ㄩ�妗� AMP ������MNIST 缃�缁�疏浚�涔���浠g��濡�涓���绀恒���朵腑 conv2d��batch_norm锛�bn锛��� pool2d ���版��甯�灞���瑕�����璁剧疆涓�'NHWC'锛�杩��锋���╀�����娣峰��绮惧害璁�缁�锛�骞朵� conv2d ��杈��洪�����伴��瑕�璁剧疆涓� 4 �����起�浠ヤ究浣跨�� Tensor Core ����������

      
  1. import paddle.fluid as fluid  
  2. def MNIST(data, class_dim):  
  3.     conv1 = fluid.layers.conv2d(data, 16, 5, 1, act=Nonedata_format='NHWC' 
  4.     bn1 = fluid.layers.batch_norm(conv1, act='relu'data_layout='NHWC')   
  5.     pool1 = fluid.layers.pool2d(bn1, 2, 'max', 2, data_format='NHWC')   
  6.     conv2 = fluid.layers.conv2d(pool1, 64, 5, 1, act=Nonedata_format='NHWC' 
  7.     bn2 = fluid.layers.batch_norm(conv2, act='relu'data_layout='NHWC')   
  8.     pool2 = fluid.layers.pool2d(bn2, 2, 'max', 2, data_format='NHWC')   
  9.     fc1 = fluid.layers.fc(pool2, size=50act='relu')   
  10.     fc2 = fluid.layers.fc(fc1, size=class_dimact='softmax' 
  11.     return fc2 

涓轰�璁�缁� MNIST 缃�缁�锛�杩���瑕�疏浚�涔���澶卞�芥�版�ユ�存�版�������起�姝ゅ�浣跨�ㄧ��浼�����澶卞�芥�版�� SGDOptimizer��涓轰�绠���璇存��锛�杩������ヤ�杩�浠h��缁����稿�充唬��锛�浠�浣��版��澶卞�芥�板��浼����ㄥ��涔��稿�崇����疏浚广��

      
  1. import paddle.fluid as fluid  
  2. import numpy as np  
  3. data = fluid.layers.data(   
  4.     name='image'shape=[None, 28, 28, 1], dtype='float32' 
  5. label = fluid.layers.data(name='label'shape=[None, 1], dtype='int64' 
  6. out = MNIST(data, class_dim=10 
  7. loss = fluid.layers.cross_entropy(input=outlabellabel=label)  
  8. avg_loss = fluid.layers.mean(loss)  
  9. sgd = fluid.optimizer.SGDOptimizer(learning_rate=1e-3)  
  10. sgd.minimize(avg_loss) 

�d�濡�浣�广大�涓��㈢��绀轰��归����浣跨�� AMP 璁�缁����瑰���锛��ㄦ�蜂���瑕�浣跨�ㄩ�妗ㄦ��岛��� AMP �芥�� fluid.contrib.mixed_precision.decorate 广大����ョ��浼����� SGDOptimizer 杩�琛�广大�瑁�锛��跺��浣跨�ㄥ�瑁�����浼�����锛�mp_sgd锛��存�板���版�搴�锛�浠g��濡�涓���绀猴�

      
  1. sgd = fluid.optimizer.SGDOptimizer(learning_rate=1e-3)  
  2. mp_sgd = fluid.contrib.mixed_precision.decorator.decorate(sgd)  
  3. mp_sgd.minimize(avg_loss) 

濡�涓��充负��绠�����椋�妗� AMP ���戒娇�ㄦ�规���

浣���澶у�跺���芥��河渠�����锛�妯″����濡�浣����ュ��河渠�绠�海洋�锛�Op锛���瑕�琚�潘��㈠��锛���涓���杩���瑕���宸ユ��疏浚���锛�绠�海洋��d�澶�锛�����涔��ラ����涓�绠�海洋���浠ヨ�潘��㈠��锛������ワ�PaddlePaddle宸茬�甯�浣�疏浚��跺ソ河渠�锛�杩�涔���杩��ㄦ����琚�绉颁负�����ㄣ��������涔�涓�锛�涓�璇峰�涓���锛�

榛��藉��������

涓轰�璁╁�������浠ユ�逛究蹇��风��浣跨�ㄦ贩��绮惧害璁$��锛�PaddlePaddle��宸ョ�甯�浠�浣跨�ㄤ�澶ч��妯″���ㄤ���搴��ㄥ�烘��涓���澶�楠�璇�锛��跺���规����绮惧害�版��绫诲��璁$����绋冲���у����������锛�姊崇���轰�绯诲������潘���涓哄��绮惧害璁$����绠�海洋�锛�骞跺�杩�河渠�绠�海洋�疏浚�涔��颁�涓�浠界�藉������浠朵腑�����跺�逛�涓�河渠�缁�杩�楠�璇����颁�����潘��㈢��绠�海洋�锛�涔�广大辨��浣跨�ㄥ��绮惧害璁$��浼�瀵艰�存�板�间�绮剧‘��绠�海洋�广大�琚�璁板��伴�������浠朵腑��姝ゅ�涓�河渠�瀵瑰��绮惧害璁$��娌℃��澶�广大�褰卞����绠�海洋�褰�绫讳��板�������ㄤ娇�� AMP 璁�缁�杩�绋�涓�锛�绯荤�浼����ㄨ�诲��榛��藉����锛�浠������ュ�板��河渠�绠�海洋���瑕�琚�潘���涓哄��绮惧害璁$����

瀵逛���河渠��规���烘��锛�濡���寮�����甯���浣跨�ㄨ��疏浚�涔���榛��藉����锛�����浠ヤ娇�� AutoMixedPrecisionLists 绫昏�剧疆锛�浠g��绀轰�濡�涓���绀恒��

      
  1. sgd = SGDOptimizer(learning_rate=1e-3)  
  2. # ��疏浚���疏浚�涔���榛��藉����锛��朵腑 list1 �� list2 涓哄������绠�海洋���绉扮����琛�  
  3. amp_list = AutoMixedPrecisionLists(custom_white_list=list1,custom_black_list=list2 
  4. mp_sgd = fluid.contrib.mixed_precision.decorator.decorate(sgd, amp_list)  
  5. mp_sgd.minimize(avg_loss) 

�d����ㄦ贩��绮惧害����琚�绉颁负�����ㄣ��������涔�河渠���锛��e氨��涓��㈢�����ㄨ��� Loss Scaling ���姐��

���ㄨ��� Loss Scaling

AMP �����ㄦ����璁垮����璁$�����������讹�浼撮������浣��ㄤ���寰����剧�����e氨���变���绮惧害�版��绫诲����绮惧害���翠�潘��㈠������绮惧害�告��杩�绐�锛�瀵艰�村�规��河渠х�� INF �� NAN ��棰���涓轰��垮��姝ょ把��棰�锛�AMP ����疏浚��颁����ㄨ��� Loss Scaling ���斤��冲�� AMP 璁�缁�杩�绋�涓�锛�涓轰��垮��绮惧害涓�婧�锛�姣�璁�缁�涓�疏浚��伴���规�$���版��锛�广大卞� Loss �惧ぇ��疏浚����般��濡��� Loss �ㄦ�惧ぇ杩�绋�涓�����涓�婧�锛�����浠ュ��缂╁�涓�疏浚����起�纭�淇��翠釜璁�缁�杩�绋�涓�锛�姊�搴���浠ユ�e父�舵����

fluid.contrib.mixed_precision.decorate �芥�版�哄甫浜����ㄨ��� Loss Scaling ���界�稿�崇�����起�杩�河渠����伴�藉甫��榛�璁ゅ�硷�濡�涓���浠g����绀恒��杩�河渠�榛�璁ゅ�奸�芥��缁�杩�椋�妗ㄥ伐绋�甯�澶�娆¢��璇���疏浚�涔�������甯告���仪式�锛��ㄦ�山��浠ョ�存�ヤ娇��锛��������拌�剧疆��

      
  1. sgd = SGDOptimizer(learning_rate=1e-3)  
  2. mp_sgd = fluid.contrib.mixed_precision.decorator.decorate(sgd,   
  3.             init_loss_scaling=2**15,   
  4.             incr_every_n_steps=2000,   
  5.             use_dynamic_loss_scaling=True 
  6. mp_sgd.minimize(avg_loss) 

澶��� GPU 璁�缁���浼���

�ㄦ�板��甯���PaddlePaddle�稿�妗��� 1.7 ����涓�锛�AMP ����娣卞害浼���河渠�澶��� GPU 璁�缁���濡��� 2 ��绀猴��ㄤ���涔��������版�搴��存�拌�绋�涓�锛�姊�搴�璁$���惰�界�朵娇�ㄧ������绮惧害�版��绫诲��锛�浣���涓��� GPU �′��寸��姊�搴�浼�杈��版��绫诲��浠�涓哄��绮惧害��

涓轰���浣� GPU 澶��′��寸��姊�搴�浼�杈�甯�疏浚斤���浠�广大�姊�搴�浼�杈�杩�涓�杩�绋����� Cast ��浣�涔���锛���姣�涓� GPU �″�ㄥ��板�瑰�����绮惧害姊�搴������ц� Cast ��浣�锛�广大��惰浆��涓哄��绮惧害绫诲��锛�濡��� 3 ��绀恒��杩�涓�浼����ㄨ��缁�缃�缁�澶���搴�杈�澶х��妯″���讹�瀵瑰��广大�甯�疏浚藉���ㄦ�归�㈤��甯告����锛�濡�澶��¤��缁� BERT-Large 妯″����

璁�缁��ц�藉�规��锛�AMP VS FP32锛�

椋�妗� AMP ������ ResNet50��Transformer 绛�妯″��涓�璁�缁���搴��稿�逛� FP32 璁�缁��ヨ�存����甯稿ぇ��浼��救救�涓���浠� ResNet50 妯″��涓轰�锛�浠�涓��句腑��浠ョ���虎�ResNet50 �� AMP 璁�缁��稿�逛� FP32 璁�缁�锛����″����姣���杈� 2.9 ��锛����″����姣���杈� 2.8 ����

浠g�� 河渠哄伐�鸿�� 娣卞害瀛�涔�
涓�涓�绡�锛���澶╂�哄�ㄤ男子��浣�绯荤���妯″������搴������哄�舵�����风��锛� 涓�涓�绡�锛��哄�ㄥ��涔�宸ョ�甯����版��绉�海洋�疏浚朵��寸���哄��
璇�璁�
��娑�
����璇�璁猴�蹇��绘��涓虹��涓�涓�璇�璁虹��河渠哄��

�村�璧�璁��ㄨ��

��蹇���宸辩�х��琚�Deepfake�╃��锛�璇�璇�娉㈠+椤垮ぇ海洋�杩�椤规�扮演��绌�

�㈣�歌�棰���婊ョ�� DL ��涓�澶у����锛���瑕�缃�涓���浣����х��锛��d�广大辨�����借��㈣�稿�板�跺��������瑙�棰����惰��锛���河渠�杩��风��寮�婧��诲�绘ā��锛�涓�浼����х��涓�����涓洪��棰�锛�deepfake ��娉��存�ユ�垮�����㈣�搞��

������浼������� 路� 16h��
��河渠哄伐�鸿��+���测��甯��ュ��河渠��洪��涓�����

褰�河渠轰滑璋�璁轰汉宸ユ�鸿�戒互���风���板舰���雾�板�ㄩ�㈠���讹����茬���存�e�ㄥ����涓�潘��扮演�����┿���ㄦ�颁�潘����╂�ㄥ�ㄤ�,河渠哄伐�鸿�姐��澶ф�版����河渠���缃�绛���娌跨���姝e����搴��ㄤ����查������ㄤ俊���朵唬锛�河渠哄伐�鸿�藉�涓烘���茶�涓�甯��ュ��河渠��洪��������?杩���河渠轰滑�����冲�����棰���

�村��� 路� 17h��
���规����瀵规���板����姣�����绉��瑰�

��浠�姝ゆ�℃�板����姣�锛�COVID-19锛�����浠�涓��芥��姹�兄弟�娆$����浠ユ�ワ��充�宸茬�浼����拌�冲�100涓��藉�朵��板�恒��涓��芥�垮�杩���瀵规�ゆ�$�������哄��搴�锛�骞朵���寮哄ぇ������疏浚��������瑰����河渠哄伐�鸿�斤�AI锛����版��绉�海洋�涓���������璺�韪�骞跺�瀵硅�娉㈢�剧��澶ф�琛���

浣��� 路� 1澶╁��
Github����5澶у�婧��哄�ㄥ��涔�椤圭��锛��版��璁$��蹇���80��锛�

��杩�杩�5涓��锋�������х��寮�婧��哄�ㄥ��涔�椤圭��锛�姝g‘�板�彭�2020骞寸��海洋�涔��э�杩�河渠��哄�ㄥ��涔�椤圭��娑电��河渠�骞挎���棰���锛�����Python缂�绋���NLP��

���靛���� 路� 1澶╁��
��涓哄�婧����ㄥ��娉���绁�缁�缃�缁�锛�疏浚�涔���棰�琛�����锛�����涓�杈�浼�缁�CNN

娌℃��涔�娉���绁�缁�缃�缁�锛�浣��㈡�宠薄��锛���璁烘����涓�绁�缁�����杩�绠�杩����风Н杩�绠�锛��戒����垮���拌�浣跨�ㄤ�娉���

浣��� 路� 1澶╁��
2020骞翠汉宸ユ�鸿�藉��灞�����澶ч�娴�

2019骞达��ㄧ��53%���崇����疏浚e�宸茬�寤虹��河渠�AI�版������绯荤�锛�广大��ㄤ�浠������稿���ㄥ�ㄩ�㈠��灞�河渠哄伐�鸿�姐��浠ヤ���瀵�2020骞翠汉宸ユ�鸿�界��棰�娴���

椋�潘�河渠�椹� 路� 1澶╁��
2020骞翠汉宸ユ�鸿�借�藉�版�����洪��涓�����璋��磋��涓�绛�?

�卞�����ㄨ��ュ��甯�河渠���河渠哄伐�鸿��2020:�藉�版����涓�搴�瀵广�����ュ����椤句�河渠哄伐�鸿�界��琛�涓�姒��碉�骞剁���疏浚�璺垫�岛�����河渠�河渠哄伐�鸿�芥����锛�缁�河渠т�甯��ョ���蜂�浠峰�煎��������琛�涓��藉�拌�灞������ュ��ㄨ��裤��浠ユ�ゅ府�╀�涓��ㄥ�ㄤ汉宸ユ�鸿�界��浠峰�艰�藉�般��

浣��� 路� 1澶╁��
AIoT璁╁���变氦��杩�杈��存�鸿�姐���村����

����河渠哄伐�鸿�姐���╄��缃�绛��板�存�板�����������板����灞�姝e�ㄦ�瑰�����变氦��琛�涓�锛�岛�濡�AI疏浚��ㄧ���ф�����雾��搴���锛��藉����跺���版��棰�娴���绉�����疏浚��ㄤ�浠剁��������

浣��� 路� 2澶╁��
Copyright漏2005-2020 51CTO.COM �������� ��缁�璁稿�� 璇峰�胯浆杞�
<kbd id="3021999d"></kbd>

   
   


    
       
       
    <dt id="716c2325"></dt>