-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Description
背景
飞桨 IR 升级专项(PaddlePaddle IR,下面简称 PIR)是 Paddle 有史以来最大的一次重构升级,是整个 Paddle 框架静态图场景自底向上的全面升级。 自🎉 Paddle 之艾尔登(IR Dialect)快乐勇士挑战赛 ⚔ #55205 开源任务以来,在大家的帮助下,PIR 主体组件已经趋于完善,目前已经在绝大多数动转静以及纯静态图组网场景下进行了充分地测试,处于基本可用的状态。
当然,这么大规模的升级重构,总有一些边界情况是早期推全验证时无法覆盖到的,我们目前也在持续对这些问题进行持续修复和优化,以确保 PIR 能够完全替代老 IR。我们梳理了一些 PIR 相关的任务,涵盖了动转静、API、OP 体系等多个方面,希望大家能够一起参与进来,共同推动 PIR 体系的完善,以达成 3.0 版本的迭代升级~
Tip
本企划协同「⛵️ 启航计划 #65279」「⛵️ 护航计划 #65285」,旨在让大家自上而下渐进地理解 Paddle 全架构。当然,任何有兴趣的同学都可以报名参与进来~
详细背景请见:PIR 专项 说明
目标
参与这个企划,你可以获得什么呢?
- 本企划所有任务均为快乐开源任务,与快乐开源共享奖励,详情见 飞桨快乐开源 #61482
- 如果参与启航计划,则有机会获得启航结营证书、护航计划候选等,详情见 【HACKATHON 预备营】飞桨启航计划集训营(第三期) #65279
- 如果参与护航计划,则有计划获得正式实习生候选、校招候选等,详情见 【HACKATHON 7th Code Camp】黑客松护航计划集训营(提前批) #65285
当然,在参与任务的过程中,你还可能会收获
- Paddle 框架的全面知识体系,自浅入深地了解 Paddle 框架从组网到执行的全过程,并了解动转静、编译器等加速技术的实现原理
- 快乐开源任务定期针对性答疑,部分独立任务 1v1 指导(如下方的「🎲 随机事件」)
- 与开源社区小伙伴一同开发贡献,并有机会主导一个或多个任务
任务列表
我们不会限制你的选择,你可以随意按照自己的兴趣来选择自己喜欢的方向,但这里会为你提供各个方向在整个框架中所处位置的参考,以便你更好地选择自己感兴趣的任务~
动转静
动转静是未来静态图组网的主要入口,也是整个 PIR 体系的入口,它使得用户在基本不修改用户动态图代码的情况下,就能够获得静态图的性能提升。目前动转静包含 AST 和 SOT 两种模式,通过以下任务,你将有机会了解动转静模块是如何巧妙地捕获子图信息,并将其转换为静态图的。
Note
相关任务待补充
PIR 模式执行机制
通过以下任务,你可以了解新老 IR 模式执行的异同,熟悉 PIR 模式整体的执行流程
任务标题 | 描述 | mentor | 助教 |
---|---|---|---|
PIR 模式下单测问题修复与适配 | 本任务主要修复默认开启PIR模式后,框架里当前单测存在的问题,本任务需要对PIR的执行有基本的了解,通过本任务可以加深对PIR执行机制的认识。 | @wanghuancoder 、@0x45f、@YuanRisheng |
PIR 模式下Sparse API推全
通过以下任务,你可以了解新老 IR 模式执行的异同,熟悉 PIR 模式整体的执行流程
任务标题 | 描述 | mentor | 助教 |
---|---|---|---|
PIR 模式下sparse op相关单测问题修复与适配 | 本任务主要修复默认开启PIR模式后,框架里当前sparse op相关单测存在的问题,本任务需要对PIR的执行有基本的了解,通过本任务可以加深对PIR执行机制的认识。 | @risemeup1 |
独立任务
这里还有一些随机事件,它们往往需要某一个或者多个领域完整的知识体系,会稍微具有一些挑战性,适合稍微有一定基础的同学前来尝试~
任务标题 | 涉及方向 | mentor | 认领人 |
---|---|---|---|
PIR op_callstack 适配✅ | 动转静 + API + OP 体系 | @SigureMo | @xingmingyyj |
dtype 动静统一🚧 | 动转静 + API | @0x45f | @zrr1999 |
SOT 动态 shape 支持 | SOT 动转静 | @SigureMo | @zrr1999 |
动转静 train step 整图训练 PIR 适配 | AST 动转静 + API | @SigureMo |
Note
相关子 issue 待补充
Metadata
Metadata
Assignees
Labels
Type
Projects
Status