Sockeye - 基于 Apache MXNet 的神经机器翻译框架


Apache
跨平台
Python

软件简介

Sockeye 是一个基于 Apache MXNet
的快速而可扩展的深度学习库。Sockeye 代码库具有来自 MXNet 的独特优势。例如,通过符号式和命令式 MXNet API,Sockeye
结合了陈述式和命令式编程风格;它同样可以在多块 GPU 上并行训练模型。

Sockeye:为使用 MXNet 的机器翻译进行序列到序列建模

Sockeye 实现了 MXNet
上当前最佳的序列到序列模型。它同样为所有序列到序列模型的超参数提供恰当的默认值。对于优化,无需担心停止标准、指标跟踪或者权重初始化。可以简单地运行已提供的训练命令行界面(CLI),也可以轻易改变基础模型架构,比如:

  • RNN 单元类型(LSTM 或 GRU)和隐藏状态大小

  • RNN 层的数量

  • 源序列和目标序列嵌入的大小

  • 应用于源编码的注意力机制的类型

Sockeye 同样有其他更高级的功能,比如:

  • 束搜索推理

  • 多模型的简单集成

  • RNN 层之间的残差链接

  • 输出层预测的词汇偏倚

  • 门控语境(Context gating)

  • 交叉熵标签平滑

  • 层归一化

为了训练,Sockeye 允许使用者完全掌控重要的优化参数。例如,使用者可以设置优化器类型、学习率、动量、权重衰减和提前停止条件。Sockeye
跟踪了训练和验证数据上的多个指标(包括专门针对机器翻译的指标,比如 BLEU)。