Skip to content

PaddlePaddle 1.6.3

Compare
Choose a tag to compare
@XiaoguangHu01 XiaoguangHu01 released this 20 Jan 02:55
· 1 commit to release/1.6 since this release
fa7ace7

Release Notes

性能优化

  • 优化ERNIE模型的CPU预测性能,BS=1时性能略优于竞品。
    • 在FC的CPU实现中对GEMM进行Padding,使得ERNIE模型FP32的单线程预测性能提升8.97%,20线程预测性能提升42.52%。
    • layer_norm实现多线程优化,该op 20线程性能提升4.73倍,ERNIE模型20线程性能提升8.88%。

Bug修复

  • 修复由于动态图弃用reshape inplace策略而导致无法进行多卡训练的问题。
  • 修复softmax_with_cross_entropy_op在axis dimension为1时出现Tensor未初始化报错的问题。
  • 修复指数滑动平均(EMA) 连续多次 apply 时结果不正确的问题。
  • 修复了Adagrad中设置decay参数不生效的问题。
  • 修复了match_matrix_op设置较大lod整型溢出的问题。
  • 修复 InitDevices() 在同一进程中前后调用的行为不一致问题。
  • 一些 Passes 在 上一级 Scope 中创建中间变量,会引起克隆时 Scope 错误的修复。
  • 修复 tensorrt calib engine key bug。
  • 修复conv_elementwise_add_fuse_pass导致Xception模型预测出错问题。
  • 修复multihead中softmax计算错误的问题。
  • 修复conv_fusion在windows环境下无法找到GPU kernel的问题。
  • 修复batch_norm_grad在scale和bias一个可训一个不可训练时会产生Shape为0梯度,导致后续若干错误的问题。
  • 修复all_reduce会对Shape为0梯度做聚合操作的问题,添加断言定位出错Tensor。
  • 针对多机开启sync_batch_norm会引入新拓扑依赖导致hang住的问题,对Fleet接口配置保持拓扑顺序避免hang住。

预测部署

  • 修复由于图优化阶段node排序不稳定导致paddle-TRT int8 calib有时无法加载已有校准表,会重新生成校准表的问题。