Sockeye 3.0.7 发布,快速、可扩展的深度学习库

来源: OSCHINA
编辑: 罗奇奇
2021-12-21 07:02:08

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

目前 Sockeye 更新到 3.0.7 版本,改进了训练速度,内容如下:

[3.0.7]

在训练期间使用 torch.nn.functional.multi_head_attention_forward 的自注意力和编码器注意力来提高训练速度。

需要重新组织键值输入投影的参数布局,因为当前的 Sockeye 注意力会交错以进行更快的推理。注意掩码(源掩码和自回归掩码都需要一些形状调整,因为对融合 MHA 操作的要求略有不同)。

  • 联合键值输入投影参数的非交错格式:
    in_features=hidden, out_features=2*hidden -> Shape: (2*hidden, hidden)
  • 联合键值输入投影的交错格式存储键和值参数,按头部分组:
    Shape: ((num_heads * 2 * hidden_per_head), hidden)
  • 模型以交错格式保存和加载键值投影参数。
  •  model.training == True 键值投影参数被放入非交错格式时torch.nn.functional.multi_head_attention_forward
  •  model.training == False,即 model.eval() 被调用时,键值投影参数再次转换为交错格式。

[3.0.6]

  • 修复了阻止使用bleuas--optimized-metric进行分布式训练的检查点解码器问题(#995

[3.0.5]

  • 修复了多语言教程中的数据下载。

更新公告:https://github.com/awslabs/sockeye/releases/tag/3.0.7

展开阅读全文
2 收藏
分享
0 评论
2 收藏
分享
返回顶部
顶部