Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

飞桨 IR 快乐开源活动表单 #62704

Open
SigureMo opened this issue Mar 13, 2024 · 1 comment
Open

飞桨 IR 快乐开源活动表单 #62704

SigureMo opened this issue Mar 13, 2024 · 1 comment
Assignees
Labels
HappyOpenSource 快乐开源活动issue与PR

Comments

@SigureMo
Copy link
Member

SigureMo commented Mar 13, 2024

背景

飞桨 IR 升级专项(PaddlePaddle IR,下面简称 PIR)是 Paddle 有史以来最大的一次重构升级,是整个 Paddle 框架静态图场景自底向上的全面升级。🎉 Paddle 之艾尔登(IR Dialect)快乐勇士挑战赛 ⚔ #55205 开源任务以来,在大家的帮助下,PIR 主体组件已经趋于完善,目前已经在绝大多数动转静以及纯静态图组网场景下进行了充分地测试,处于基本可用的状态。

当然,这么大规模的升级重构,总有一些边界情况是早期推全验证时无法覆盖到的,我们目前也在持续对这些问题进行持续修复和优化,以确保 PIR 能够完全替代老 IR。我们梳理了一些 PIR 相关的任务,涵盖了动转静、API、OP 体系等多个方面,希望大家能够一起参与进来,共同推动 PIR 体系的完善,以达成 3.0 版本的迭代升级~

Tip

本企划协同「⛵️ 启航计划 #62347」,旨在让大家自上而下渐进地理解 Paddle 全架构。当然,我们不局限于启航计划,任何有兴趣的同学都可以报名参与进来~

目标

参与这个企划,你可以获得什么呢?

当然,在参与任务的过程中,你还可能会收获

  • Paddle 框架的全面知识体系,自浅入深地了解 Paddle 框架从组网到执行的全过程,并了解动转静、编译器等加速技术的实现原理
  • 快乐开源任务定期针对性答疑,部分独立任务 1v1 指导(如下方的「🎲 随机事件」)
  • 与开源社区小伙伴一同开发贡献,并有机会主导一个或多个任务

任务列表

我们不会限制你的选择,你可以随意按照自己的兴趣来选择自己喜欢的方向,但这里会为你提供各个方向在整个框架中所处位置的参考,以便你更好地选择自己感兴趣的任务~

动转静

动转静是未来静态图组网的主要入口,也是整个 PIR 体系的入口,它使得用户在基本不修改用户动态图代码的情况下,就能够获得静态图的性能提升。目前动转静包含 AST 和 SOT 两种模式,通过以下任务,你将有机会了解动转静模块是如何巧妙地捕获子图信息,并将其转换为静态图的。

Note

相关任务待补充

API 组网

动静统一的 API 是 Paddle 的核心竞争力之一,它使得用户可以在不修改组网代码的情况下无缝切换动态图和静态图。通过以下任务,你可以了解 PIR 体系下更加动静统一的 API 是如何设计的,是如何通过自动生成的三层 API 架构触发组网的。

任务标题 描述 mentor 助教
新 IR Python API适配升级(第三期)🆕 本任务处于 API 体系的最前端——Python 用户接口层,在本任务中你可能了解 PIR 下动静统一的 API 的实现路径,并了解分布式、量化等 API 的实现方式 @0x45f@YuanRisheng @zrr1999

OP 体系

OP 是 Paddle 静态图表示层的核心,PIR 基于动态图更加规范的算子定义进行 OP 生成,并进行了静态图体系下的相应扩展。通过以下任务,你可以了解 PIR 体系下 OP 的定义、自动生成以及 ProgramTranslator 等核心组件是如何设计的。

任务标题 描述 mentor 助教

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

PIR 模式saveload机制

通过以下任务,你可以了解新老 IR 模式saveload 的相关技术, 学习模型训练结束到推理部署的必要机制。

任务标题 描述 mentor 助教
PIR SaveLoad 体系单测适配 本任务主要开启PIR模式下saveload相关单测,完善saveload 机制查漏补缺。本任务需要对PIR的op体系,执行机制有基本的了解,对动转静流程有相关了解,通过本任务可以学习PIR saveload设计理念,同时了解框架训推一体的设计理念。 @xiaoguoguo626807

独立任务

这里还有一些随机事件,它们往往需要某一个或者多个领域完整的知识体系,会稍微具有一些挑战性,适合稍微有一定基础的同学前来尝试~

任务标题 涉及方向 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 待补充

@SigureMo SigureMo changed the title 🌱 全能喵喵的养成方法 🚀 PIR 快乐开源活动表单 Mar 14, 2024
@luotao1 luotao1 added the HappyOpenSource 快乐开源活动issue与PR label Mar 15, 2024
@luotao1
Copy link
Contributor

luotao1 commented Mar 15, 2024

@luotao1 luotao1 changed the title PIR 快乐开源活动表单 飞桨 IR 快乐开源活动表单 May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HappyOpenSource 快乐开源活动issue与PR
Projects
Status: In Progress
Development

No branches or pull requests

6 participants