PFCCLab / Camp

飞桨护航计划集训营
10 stars 70 forks source link

[WeeklyReports] 2024.03.23~2024.04.05 周报汇总 #193

Closed AndSonder closed 2 months ago

AndSonder commented 6 months ago

[WeeklyReports] 2024.03.23~2024.04.05 周报汇总

请各位学员在本 issue 下以 comment 的形式填写周报摘要,ddl 本周日晚,格式示例如下:

### 姓名

xxx

### 本周工作

1. xxx
2. xxx

### 下周工作

1. xxx
2. xxx

### 详细周报链接:

- https://github.com/PFCCLab/Camp/pull/xxx

项目一:PIR 算子补全与兼容机制建设

项目二:PIR 控制流专项

项目三:PIR Python API 升级及机制建设

项目四:动转静 SOT 模块 Python 3.12 支持

项目五:算子支持复数计算专项

项目六:模型迁移工具建设

项目七:框架 API 易用性提升

项目八:组合机制算子专项和机制建设

项目九:高阶微分的性能分析和优化

项目十:静态图半自动并行训练性能优化

项目十一:全自动并行架构升级

项目十二:科学计算领域拓展专项(DeePMD-kit、光学案例)

项目十三:科学计算领域拓展专项(超分重构方向)

项目十四:科学计算领域拓展专项(领域流体方向)

项目十五:科学计算领域拓展专项(领域气象方向)

项目十六:CINN 支持动态 Shape 专项(前端方向)

项目十七:CINN 支持动态 Shape 专项(PIR 部分)

项目十八:CINN 静态 shape 下鲁棒性和性能优化

项目二十:CINN 支持动态 Shape 专项 (后端模型扩量)

项目二十一:Paddle CMake 治理和编译优化

项目二十二:PaddleMIX 套件能力建设(文图方向)

项目二十三:PaddleMIX 套件能力建设(图文方向)

项目二十四:大模型训练稳定性和高效低价小模型快速收敛

项目二十六:推理 Pass & 融合算子优化

unseenme commented 6 months ago

姓名

Github ID: unseenme

本周工作

  1. 了解Monkey测试的意义
  2. 熟悉Monkey代码
  3. 了解Paddle如何做cinn的单测

下周工作

  1. 在Paddle的CINN单测中增加Monkey相关的内容。

详细周报链接:

AndSonder commented 6 months ago

姓名

卢畅

本周工作

本周主要任务是对 ZB H1 的编排结果进行测试以及设计 ZB VPP 的编排实现方案。

  1. 对 ZB H1 进行性能测试并验证模型是否能正常收敛

相关 PR:

  1. 学习 Zero Bubble 源码中 zb vpp 的实现

笔记:

  1. 设计 ZB VPP 的编排实现方案

ZB VPP 是一种根据计算图自动调度任务的并行训练方案,反向计算分为两部分 b 和 w。w 可以用于填充计算图中的空洞,以此来降低 Bubble 率。ZB VPP 会把 Forward 和 Backward 拆分为多个 chunk,然后根据显存占用情况来进行任务调度。

详细设计文档:

下周工作

  1. 与导师讨论 ZB VPP 的设计方案是否合理
  2. 初步实现 ZB VPP 的编排方案

详细周报链接:

yulangz commented 6 months ago

姓名

Github ID: yulangz

实习项目

CINN子图鲁棒性和性能优化

本周工作

  1. CINN 故障修复

    1. 根据 CINN CE 的故障 case,分析错误原因,尝试修复
    2. 修复 reshape_op 出现空指针错误的问题,PR:https://github.com/PaddlePaddle/Paddle/pull/62956
    3. 修复 reshape invalid op type 的问题,PR:https://github.com/PaddlePaddle/PaddleTest/pull/2734
    4. 部分修复 gather 实现错误,PR:https://github.com/PaddlePaddle/Paddle/pull/63150
    5. 修复 prim 中生成反向报错的问题,PR:https://github.com/PaddlePaddle/Paddle/pull/63250

下周工作

  1. 继续依据子图 CE,修复 CINN 的实现。

详细周报链接

ZelinMa557 commented 6 months ago

姓名

马欣楷

本周工作

  1. 合入优化动态shape符号推导流程的pr https://github.com/PaddlePaddle/Paddle/pull/62951
  2. 修复paddle.mean接口在动态shape下无法使用的问题,pr: https://github.com/PaddlePaddle/Paddle/pull/63231
  3. 学习nsys profile使用

下周工作

  1. 合入pr https://github.com/PaddlePaddle/Paddle/pull/63231
  2. 分析reduce_mean算子性能问题

详细周报链接:

silverling commented 6 months ago

姓名

凌少鹏

本周工作

  1. 对 “支持 Clang/LLVM 编译 Paddle” 工作进行收尾:https://github.com/PaddlePaddle/Paddle/pull/63133
  2. 尝试借助 include-what-you-use 检测无用头文件:https://github.com/silverling/paddle-paddle/commit/2ce6c021cccf34fc04ae1e2a6094517d9d67cd91
    • 已放弃该方法

下周工作

  1. 通过预编译头文件加速编译
  2. 添加额外链接器选项

详细周报链接:

WintersMontagne10335 commented 6 months ago

姓名

马贺达

本周工作

  1. 新增 pd_op.bce_loss, pd_op.distribute_fpn_proposals, pd_op.sigmoid_cross_entropy_with_logits, https://github.com/PaddlePaddle/Paddle/pull/63277
  2. ComputeInline 阅读笔记, https://github.com/WintersMontagne10335/Paddle-Code-Camp/blob/master/code%20reading/ComputeInline.md

下周工作

  1. 收尾符号推导
  2. 修复 Updates has wrong shape 相关的 bug
  3. DoHorizontalLoopFusion 阅读笔记

详细周报链接:

NKNaN commented 6 months ago

姓名

李睿文

本周工作

  1. 添加 paddle.linalg.svd_lowrank API

  2. 针对 paddle.nn.initializer.XavierNormalpaddle.nn.initializer.XavierUniform 的功能增强

  3. 修复 paddle.nanmedian 存在的问题

  4. 针对 paddle.nn.initializer.KaimingNormalpaddle.nn.initializer.KaimingUniform 的功能增强

下周工作

  1. 完善已提交的 pr
  2. 继续修改其他框架 API

详细周报链接:

xingmingyyj commented 6 months ago

姓名

xingmingyyj

本周工作

解决paddle.bincount API动转静执行失败问题

下周工作

  1. 完成paddle.mean API的动转静执行失败修复
  2. Review分布式算子注册以及单测修复相关PR

    详细周报链接

zbt78 commented 6 months ago

姓名

周波涛

实习项目

算子支持复数计算专项

本周工作

  1. 对之前pr进行收尾,已合并
  2. 提交PR:add complex support for cross https://github.com/PaddlePaddle/Paddle/pull/63207
  3. 提交PR:add complex support for inv https://github.com/PaddlePaddle/Paddle/pull/63229

下周工作

  1. 继续完善pow算子
  2. 开展新的算子

详细周报链接

zhaojiameng commented 6 months ago

姓名

赵加孟

本周工作

  1. 转换的paddle代码推理校验
  2. 转换的paddle代码训练校验

下周工作

  1. 在paddle代码精度对齐的条件下,进行paddlescience代码的转换

详细周报链接:

Yang-Changhui commented 6 months ago

姓名

Yang-Changhui

本周工作

  1. 根据导师意见修改PR的代码风格和格式
  2. 整理ICAR-ENSO和SEVIR数据集资料
  3. 复现neuraloperator模型,支持了darcyflow数据集

下周工作

  1. 继续修改PR的代码风格和格式
  2. 完成对darcyflow的训练精度对齐

PR连接

gouzil commented 6 months ago

姓名

田川

本周工作

  1. PIR 0 维单测适配

下周工作

  1. PIR 0 维单测适配收尾
  2. PIR 动转静理想态单测推全验证任务(第二期)收尾

详细周报链接:

lshpku commented 6 months ago

姓名

梁书豪

本周工作

  1. Convert0DTo1DPass去掉,写了一个单例用来测试CINN对常见算子的0D输入或输出的支持
  2. 看Llama的代码和部分论文,学习用CINN运行Llama

下周工作

  1. 持续跟踪CINN对Llama中0D的支持情况
  2. 根据导师安排,可能转向CINN的性能优化工作

详细周报链接:

huangjiyi commented 6 months ago

姓名

黄济懿

本周工作

本周请假

下周工作

下周请假

YibinLiu666 commented 6 months ago

姓名

YibinLiu666

实习项目

高阶微分的性能分析和优化

本周工作

  1. 收尾DivideDoubleGrad算子.
  2. 阅读fft算子的相关文档,优化FFTC2RGradKernel,去除其额外的循环与内存占用。 https://github.com/PaddlePaddle/Paddle/pull/63137
  3. 优化FFTC2RKernel,其在计算时候长时间同步的问题。 https://github.com/PaddlePaddle/Paddle/pull/63249

下周工作

  1. 分析现有科学计算中性能相比 pytorch 较差的三个模型,尝试发现其瓶颈并优化对应的算子。

详细周报链接

https://github.com/PFCCLab/Camp/pull/209

DUCH714 commented 6 months ago

姓名

于天池

本周工作

收尾Causal PINN复现工作

对引起误差部分进行进一步分析

继续阅读Causal PINN论文,补充文档

此工作意义在于,帮助Paddle框架自动微分部分开发

继续回到汽车风阻预测项目

数据集:使用Pyby下载导师提供的几何文件,参考https://blog.csdn.net/PolarisRisingWar/article/details/121887801 代码:尝试运行代码,并在ShapeNet Car数据集上进行实验

下周工作

详细周报链接:

zeroRains commented 6 months ago

姓名

卢林军

实习项目

组合机制算子专项和机制建设

本周工作

本周主要工作是支持部分组合算子对动态shape的支持,以及对之前pr的一些完善。

  1. 新增sum_as op

相关 PR:

  1. 解决test_sub_graph_73中,开启with_prim=True会导致单测报错的BUG。

相关 PR:

下周工作

  1. 尝试修复test_sub_graph_46, 65, 66, 78开启with_prim=True会导致单测报错的BUG。
  2. 完善之前尚未merge的PR。

详细周报链接

Corle-hyz commented 6 months ago

姓名

何咏哲

本周工作

  1. 了解Sharding,阅读ZeRO论文,学习Paddle的Sharding实现
    • Sharding的原理
    • Sharding的使用
    • Sharding和ZeRO的区别
    • Sharding需要考虑的其他因素

下周工作

  1. 学习Recompute

详细周报链接:

lishuai-97 commented 6 months ago

姓名

李帅

Github ID: lishuai-97

本周工作

  1. 学习LLaMA、LLaMA-2、DiT、CLIP等论文,熟悉Megatron-LLaMA、Open-CLIP、Large-DiT训练框架
  2. XXX梯度裁剪算法在开源模型GPT-2 的C4-en数据集相关实验验证
  3. 开源模型LLaMA预训练中loss spike的复现以及竞品策略在Megatron-LLaMA的实现

下周工作

  1. LLaMA-7B以及VLM、MLLM相关实验,LLaMA-13B fine-tune实验的loss spike调研与复现
  2. XXX梯度裁剪算法在VLM、MLLM任务中的实验验证
  3. 继续阅读相关论文

详细周报链接:

cocoshe commented 6 months ago

姓名

叶柯

实习项目

PaddleMIX 套件能力建设(图文方向)

本周工作

下周工作

  1. 将InternLM-XComposer集成到PaddleMIX中,支持sft

详细周报链接:

zrr1999 commented 5 months ago

姓名

詹荣瑞

实习项目

PIR Python API 升级及机制建设

本周工作

  1. 推进 PIR test_errors 相关单测适配

    相关 ISSUE:

  2. 推进 PIR Python API适配升级(第三期)

    相关 PR:

    相关 ISSUE:

下周工作

  1. 继续推进 PIR test_errors 相关单测适配和 PIR Python API适配升级(第三期)。

详细周报链接:

xusuyong commented 5 months ago

姓名

徐苏勇

本周工作

  1. 增加NLS-MB方程的光学怪波案例
  2. 增加NLS-MB方程的光孤子案例

下周工作

  1. 进一步简化代码
  2. 完善文档

详细周报链接:

RedContritio commented 5 months ago

姓名

RedContritio

本周工作

  1. 对升级的 Paddle API 更新对应映射文档、方法和用例。
  2. 文档规范化建设,健全文档规范检查体系

下周工作

  1. 拆分复合映射关系;
  2. 完善 torch.optim.lr.PolynomialLR 映射及实现;
  3. 添加别名展示。

详细周报链接:

Tsaiyue commented 5 months ago

姓名

蔡越

本周工作

  1. 完成对AnimateAnyone stage2微调的有效性验证;
  2. 提供ppdiffusers/example/AnimateAnyone训练支持。

下周工作

  1. 推进AnimateAnyone训练支持PR合入;
  2. 尝试对组网部分的denoising_unet进行权重加载逻辑升级;
  3. 完善对应ai studio项目。

详细周报链接

yinfan98 commented 5 months ago

姓名

yinfan

本周工作

  1. 实现 flash attn fuse pass
  2. 实现 scale dot product fuse pass

下周工作

  1. 实现int4 weight only phi quant kernel
  2. 继续实现融合pass

详细周报链接:

Xinyu302 commented 5 months ago

姓名

杨新宇

实习项目

CINN 支持动态 Shape 专项(PIR 部分)

本周工作

本周主要工作如下:

  1. 合入支持了logsumexp、logcumsumexp、linspace、logspace、min、poisson、repeat_interleave、topk, triu_indices等算子的符号推导 合入pr https://github.com/PaddlePaddle/Paddle/pull/62800 https://github.com/PaddlePaddle/Paddle/pull/63000
  2. 配置nsys profile环境,学习使用nsys profile分析cuda kernel性能

下周工作

  1. 使用nsys profile分析group norm算子的性能问题,尝试进行性能优化

详细周报链接

https://github.com/PFCCLab/Camp/pull/220

fty1777 commented 5 months ago

姓名

fty1777

本周工作

  1. 完善一系列算子的符号推导
    • PR: PaddlePaddle/Paddle#63016
  2. 从InferMeta学习einsum的形状推导规则
  3. 配置nsys环境,熟悉使用nsys profiler对paddle进行性能采集的过程

下周工作

  1. 推进符号推导PR合并。
  2. 继续推进op_op.einsum符号推导实现。
  3. 启动后端性能相关工作。

详细周报链接