\parinterval Ian Goodfellow、Yoshua Bengio,Aaron Courville三位机器学习领域的学者所写的《深度学习》\cite{HeatonIan}也是值得一读的参考书。其讲解了有关深度学习常用的方法,其中很多都会在深度学习模型设计和使用中用到。同时在《深度学习》应用一章中也简单讲解了神经机器翻译的任务定义和发展过程。
\parinterval Ian Goodfellow、Yoshua Bengio,Aaron Courville三位机器学习领域的学者所写的《Deep Learning》\cite{HeatonIan}也是值得一读的参考书。其讲解了有关深度学习常用的方法,其中很多都会在深度学习模型设计和使用中用到。同时在《Deep Learning》应用一章中也简单讲解了神经机器翻译的任务定义和发展过程。
\parinterval 《Neural Network Methods in Natural Language Processing》\cite{Goldberg2017Neural}是Yoav Goldberg编写的面向自然语言处理的深度学习参考书。相比《深度学习》,该书聚焦在自然语言处理中的深度学习方法,内容更加易读。
\parinterval 常用的多设备并行化加速方法有数据并行和模型并行,其优缺点的简单对比如表\ref{tab:adv and disadv between Data parallel and model parallel }所示。数据并行是指把同一个batch的不同样本分到不同设备上进行并行计算。其优点是并行度高,理论上有多大的batch就可以有多少个设备并行计算,但模型体积不能大于单个设备容量的极限。而模型并行是指把``模型''切分成若干模块后分配到不同设备上并行计算。其优点是可以对很大的模型进行运算,但只能有限并行,比如我们按层对模型进行分割,那么有多少层就需要多少个设备,同时这两种方法可以一起使用进一步提高神经网络的训练速度。具体来说:
\parinterval 常用的多设备并行化加速方法有数据并行和模型并行,其优缺点的简单对比如表\ref{tab:adv and disadv between Data parallel and model parallel }所示。数据并行是指把同一个batch的不同样本分到不同设备上进行并行计算。其优点是并行度高,理论上有多大的batch就可以有多少个设备并行计算,但模型体积不能大于单个设备容量的极限。而模型并行是指把``模型''切分成若干模块后分配到不同设备上并行计算。其优点是可以对很大的模型进行运算,但只能有限并行,比如我们按层对模型进行分割,那么有多少层就需要多少个设备,同时这两种方法可以一起使用进一步提高神经网络的训练速度。具体来说:
\rule{0pt}{20pt} Layer Type &\begin{tabular}[l]{@{}l@{}}Complexity\\ per Layer\end{tabular}&\begin{tabular}[l]{@{}l@{}}Sequential\\ Operations\end{tabular}&\begin{tabular}[l]{@{}l@{}}Maximum\\ Path Length\end{tabular}\\\hline