转载

Facebook基于十亿单词量构建了一个高效的神经网络模型

使用神经网络进行 序列预测 是众所周知的计算机科学问题,在语音识别、机器翻译、语言建模和其他领域中都有着广泛的应用。这种预测使用的模型对计算能力要求很高,这限制了它们的实际应用。

Facebook AI Research的科学家 设计 了 自适应的softmax算法 ,这是一种为GPU定制的近似算法,可在庞大的单词量基础上高效地训练神经网络。如公开发表的 论文 中所描述的,自适应softmax利用单词在大语料库中的不均衡分布,形成可以最小化 计算复杂度 的群集。完全softmax与词汇库大小线性相关,而自适应softmax是次线性相关的,并且针对GPU进行了优化。

在开发softmax的同时,Facebook研究人员发布了开源库 torch-rnnlib ,帮助研究人员设计和测试GPU中的递归模型。有了 torch.cudnn ,可以使用 NVIDIA CUDA Deep Neural Network 库轻松访问基线。 RNN 、 LSTM 、 GRU 和其他递归神经网络都有具体的实现,研究人员可以很容易地把它们用于递归神经网络的设计。

Facebook研究人员在单个GPU上对该算法进行测试,速度达到了每秒12500个单词,同时保持精确度接近完全softmax。从基准困惑度来看,谷歌公司的 Jozefowicz等人在2016年 使用32个GPU训练了3个星期得到30的困惑度(越低越好),同时使用18个GPU训练了几天得到44的困惑度。Google使用Tensorflow实现的LSTM模型发布在 Github 上,它的主要作者在 Reddit 的相关话题中提出了一个有趣的方法来解释困惑度。相反地,自适应softmax可以在大约14小时内达到50的困惑度,在一两天内达到43.9的困惑度以及在六天内达到39.8的困惑度。如果没有CuDNN库,性能下降约30%。所有工具和技术都针对 EuroParl 和 十亿字 语料库进行过测试,这些语料库是当前可获得的最大的几个语料库。

查看英文原文: Facebook Builds an Efficient Neural Network Model over a Billion Words

感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。

原文  http://www.infoq.com/cn/news/2016/12/Facebook-Neural-Network-Billion
正文到此结束
Loading...