Description
一、Background 🎃
飞桨 PaddlePaddle 开源之初,是以「静态图」组网为默认范式的,那是一个诸神兴起的时代,MXNet、TF 大行其道,PyTorch 小弟异军突起🐴🐴🐴。看!还有 Theano 这名久负盛名的「古老骑士」,站在阿斯匹山的半山腰⛰,眼睁睁地看着诸神崛起🌅.....
那是「静态图」为王👑的时代。飞桨 PaddlePaddle 以 Protobuf 协议为基石构建了 Program 体系,并添砖加瓦筑起国内首个开源深度学习框架的「大厦」☁️。
二、Motivation 🚀
转眼间,岁月葱葱(没写错)。飞桨对于中间表示 IR 的「扩展性」要求越来越高,我们终于决定重构掉旧的 Program 体系,孵化「艾尔登」(即 IR Dialect
音译)项目 , 支撑组合算子、AI 编译器、分布式自动并行、训推端统一,更有力地提升飞桨在 「科学计算 🌊」、「编译优化 🔧」、「大模型 ⛰」 领域的潜力。
三、Elden Tasks 📚
序号 | 任务线 issue | 贡献者 | 状态 |
---|---|---|---|
1 ✅ | 「星星时代 ⭐️」之 IR 核心组件 | @Liyulingyue @gouzil 等 | 9/9 |
2 | 「癫火之王 👑」之 ProgramTranslator 专项 | @DrRyanHuang @GreatV 等 | 4/8 |
3 | 「碎星拉塔恩🔨」 之执行器进阶 | @gouzil | 0/1 |
4 | 「艾尔登之王 ⚔」之 API 推全升级⭐️创新大赛 | @0x45f | 7/8 |
5 ✅ | 「IR 可视化工具」 ⭐️创新大赛 | @Difers | 1/1 |
四、Gains 💰
「艾尔登」有别于其他项目,诸如一场「冒险」 ⚔,这里涉及很多「故事线」值得各位 PFCC 开源社区的同(da)学(lao)们一起探索。在这里,你会得到:🎁
-
✏️ 技能点一:C++精进。整个项目均是基于C++开发,将涉及C++高级编程技巧(如
Concept-Model
模型实现多态)、设计模式(如PImpl
手法隔离实现)等 -
✏️ 技能点二:全局视野。「艾尔登」项目是飞桨有史以来「牵涉面最大」、「难度最高」的重构项目,涉及算子定义、AutoDiff、组合算子、编译器CINN、推理引擎、执行器、分布式并行等,你将会逐步提升「架构全局技术视野」,解锁「造物主」的意识能力,可独立设计一个完整框架。
-
💰物质激励:飞桨礼物。此项目与🎁飞桨快乐开源活动表单 共享奖励。
五、远程护航计划 ⛵️
如果你是在校的学生,并且有兴趣参加飞桨社区的框架护航项目,非常欢迎你依据这份材料来申请:百度飞桨框架护航计划。
序号 | 任务方向 | 队长 | 状态 |
---|---|---|---|
1 | 「适配AI 编译器 CINN」 | @DrRyanHuang | 13/17 |
2 | 「子图验证&核心机制完善」 | @yangguohao | 4/5 |
3 | 「组网API PIR 下推全验证」 | @MarioLulab | 1/5 |
六、Design Documents 📚
新一代的 IR 设计借鉴了 MLIR 的优秀设计思想,引入了 Dialect 体系,以提升对各个领域灵活接入的扩展能力,补齐旧 Program
体系的短板,详细的技术设计文档可以参考(持续更新中....):
- 【源码学习】IR 设计和底层数据结构🔥hot🔥
- 【方案设计】IR 底层基础类型系统设计文档✨New✨
- 【方案设计】IR 顶层模型结构表示设计文档✨New✨
- 【方案设计】IR Program Translator设计文档 🚀
- 【代码约定】IR 代码相关约定
Metadata
Assignees
Labels
Type
Projects
Status
Done