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)。