加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

调参侠看过来!两个提高深度学习训练效率的绝技

发布时间:2020-09-28 04:33:24 所属栏目:创业 来源:网络整理
导读:1. 实习的瓶颈在那边 GPU操作率低:模子实习时GPU显存沾满了,可是GPU的操作率较量不不变,偶然辰0%,偶然辰90%,忽高忽低。 实习的数据量大:实习数据大,在百万/万万的量级,实习一个Epoch必要很长时刻,模子迭代周期过长。 2. 进步GPU操作率:CPU vs GP
副问题[/!--empirenews.page--]

1. 实习的瓶颈在那边

 GPU操作率低:模子实习时GPU显存沾满了,可是GPU的操作率较量不不变,偶然辰0%,偶然辰90%,忽高忽低。   

调参侠看过来!两个进步妙度进修实习服从的特技

 实习的数据量大:实习数据大,在百万/万万的量级,实习一个Epoch必要很长时刻,模子迭代周期过长。

2. 进步GPU操作率:CPU vs GPU

GPU操作率低, 首要缘故起因是CPU处理赏罚的服从跟不上GPU

2.1 CPU vs GPU的通讯

 CPU认真加载数据+数据预处理赏罚,并不绝的在内存和显存之间交互数据  GPU认真模子实习(图片来自收集)

调参侠看过来!两个进步妙度进修实习服从的特技

调参侠看过来!两个进步妙度进修实习服从的特技

2.2 办理方案

回收多历程并行处理赏罚,加速CPU加载数据的机能

 keras keras 中提供了workers use_multiprocessing往返收多历程方法,并行处理赏罚数据,并push到行列中,共GPU模子实习。由于历程之间也许彼此影响资源,并不是越大越好,workers可以配置2,4,8。  run_model.fit_generator(                generator=training_generator,                class_weight={0: config.weights, 1: 1},                epochsepochs=epochs,                verbose=1,                steps_per_epochsteps_per_epoch=steps_per_epoch,                callbacks=callbacks_list,                validation_data=valid_generator,               validation_stepsvalidation_steps=validation_steps,                shuffle=True,                workers=8,                use_multiprocessing=True,                max_queue_size=20   pytorch torch在加载数据中提供相同参数num_workers。pin_memory=True可以直接加载到显存中,而不必要内存  torch.utils.data.DataLoader(image_datasets[x],                               batch_sizebatch_size=batch_size,                                shuffle=True,                               num_workers=8,                               pin_memory=True) 

3. 漫衍式并行实习

3.1 并行模式

当实习的数据量很大时,可以通过多个呆板多个GPU来进步实习的服从。差异于hadoop和spark平漫衍式数据处理赏罚框架,深度进修实习由于要涉及参数的前项撒播和反向撒播,有两种并行方法:

 模子并行( model parallelism ):漫衍式体系中的差异呆板(GPU/CPU等)认真收集模子的差异部门,凡是是神经收集模子的差异收集层被分派到差异的呆板,可能统一层内部的差异参数被分派到差异呆板。一样平常是超大的模子,一张显卡放不下的环境,如NLP的模子。模子并行的弱点是层和层之间也许存在依靠相关,不能完全的并行。(图片来自收集)  

调参侠看过来!两个进步妙度进修实习服从的特技

 数据并行( data parallelism ):差异的呆板有统一个模子的多个副本,每个呆板分派到差异的数据,然后将全部呆板的计较功效凭证某种方法归并。这种就较量得当大数据的环境。数据并行要办理的题目是数据的支解和传输,以及参数的更新。

调参侠看过来!两个进步妙度进修实习服从的特技

3.2 数据并行

Facebook在《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》先容了行使 256 块 GPU 举办 ResNet-50 收集「数据并行」实习的要领

 数据支解: 选用大的batch-size, 凭证worker数目举办支解, 分发到差异worker执行  参数更新:参数的更新有两种模式(1)参数处事器 (2) ring环状更新(无处事器模式)

3.2.1 参数处事器模式

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读