PaddlePaddle/Paddle

数据类型扩展任务

zhangting2020 opened this issue · 1 comments

问题描述

This project will be mentored by @zhangting2020

大家好,飞桨的算子支持多种数据类型,其中低精度float16bfloat16,被应用于自动混合精度训练(Automatic Mixed Precision, AMP),对于模型性能提升有着重要作用。目前仍有一些算子未支持这2种数据类型,因此我们邀请开发者一起来扩展算子数据类型,或者为已支持低精度的算子添加单测保障算子精度。

注意事项

  • 为飞桨框架一系列算子增加支持的数据类型,提交流程请参考 算子数据类型扩展&提交流程 & 低精度算子开发贡献指南,开发请参考 贡献指南
  • 参考PR:【PaddlePaddle Hackathon 4】数据类型扩展任务合集,这里有往期数据类型扩展任务的说明,关于算子、单元测试、API接口所在的目录等等,通过已经合入的PR你可以大概了解这项任务需要修改的内容。另外下面给出任务列表中包含了在PaddlePaddle Hackathon 4中尚未完成的算子,可以参考过去已提交但是尚未合入的PR
  • 任务说明:下方任务列表中功能支持表示你需要为算子注册FP16/BF16 2种数据类型,同时可能需要修改算子实现来保障计算的精确度,单测添加表示需要为算子添加2种数据类型的单元测试。一些算子只支持了某一种低精度类型,那么仅需要支持另一种即可;一些算子已经支持了2种数据类型,但缺少单元测试,则只需要补充单元测试。如果对认领的任务有任何问题,也可以在issue下提问。
  • 认领规则:直接在 issue 下回复认领的任务 ID
  • 提交PR前请参照官网安装pre-commit,检查代码格式。否则CI可能无法通过。
  • PR 通过 CI 后,可以评论里或者 review request @zhangting2020 ,研发会进行审核
  • 欢迎联系花花加入社区,和我们一起快乐开源!

image

任务列表 (整体进度:8/10)

按 merge 的时间顺序,排名不分先后: @longranger2 (3) @Difers (1) @enkilee (3) @jinyouzhi (1)

任务序号 算子 任务说明 参考PR 认领人 提交PR
1 dist✅(2023/8/15) 功能支持和单测添加 #50915 @jinyouzhi #56184
2 argsort✅(2023/7/31) 功能支持和单测添加 #51823 @enkilee #55105
3 erfinv✅(2023/8/2) 功能支持和单测添加 #53101 @enkilee #55287
4 poisson✅(2023/7/31) 功能支持和单测添加 #51662 @longranger2 #51662
5 searchsorted 功能支持和单测添加 #53205 @longranger2
6 embedding✅(2023/8/4) 单测添加 #51321 @longranger2 #51321
7 lerp✅(2023/7/3) 功能支持和单测添加 #53078 @longranger2 #53078
8 nanmedian✅(2023/8/9) 功能支持和单测添加 @enkilee #56056
9 lamb✅(2023/7/26) 功能支持和单测添加 @Difers #55641
10 assign_value 功能支持和单测添加 #53283 @Liyulingyue #56170

数据类型扩展任务已完成,感谢参与的小伙伴们!

按 merge 的时间顺序,排名不分先后: @longranger2 (3) @Difers (1) @enkilee (3) @jinyouzhi (1)

欢迎继续参与https://github.com/PaddlePaddle/Paddle/issues/56689!