PFCCLab / Camp

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

[WeeklyReports] 2024.03.09~2024.03.22 周报汇总 #161

Closed AndSonder closed 6 months ago

AndSonder commented 7 months ago

[WeeklyReports] 2024.03.09~2024.03.22 周报汇总

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

### 姓名

xxx

### 本周工作

1. xxx
2. xxx

### 下周工作

1. xxx
2. xxx

### 详细周报链接:

- https://github.com/PFCCLab/Camp/pulls/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 & 融合算子优化

DUCH714 commented 7 months ago

姓名

DUCH714

本周工作

汽车外流场仿真:

  1. 整理熟悉 GINO 的输入数据和dataloader部分

文献调研

  1. 阅读CausalPINN
  2. 将CausalPINN代码转为Paddle

下周工作

详细周报链接:

lishuai-97 commented 7 months ago

姓名

李帅

Github ID: lishuai-97

本周工作

  1. 学习Megatron-LM以及Megatron-DeepSpeed相关论文、框架代码
  2. XXX梯度裁剪算法在开源模型上的实现以及实验验证
  3. 开源模型训练中loss spike的复现以及竞品策略的复现

下周工作

  1. 完善竞品策略复现,对齐方案,比较优劣
  2. 完善XXX梯度裁剪算法实验验证,进行分析总结
  3. 继续阅读相关论文

详细周报链接:

Yang-Changhui commented 7 months ago

姓名

杨昌辉

本周工作

  1. 完成earthformer对ICAR-ENSO的推理对齐,并完成训练、导出模型、推理代码编写
  2. 完成earthformer对sevir数据集的训练过程,并完成导出模型、推理代码编写 PR:https://github.com/PaddlePaddle/PaddleScience/pull/816

下周工作

  1. 提交了PR,根据导师意见进行代码细节的修改
  2. 编写相关技术文档

详细周报链接:

AndSonder commented 7 months ago

姓名

卢畅

实习项目

静态图半自动并行训练性能优化

本周工作

本周的主要工作是设计 Zero Bubble 的实现方案,以及与导师讨论并完善方案。还完成了几个 Zero Bubble 并行调度的前置任务,以及对 Zero Bubble 的实现方案进行了初步的实现。

  1. 将 allreduce_matmul_grad_overlapping 中拆分 matmul_grad_op 的操作提取到 pass_utils 当中

相关 PR:

  1. 将 pipeline_scheduler_pass.py 中的 pass 进行拆分成单独的文件

相关 PR:

  1. 完成 Zero Bubble 的实现方案初步设计

详见Tracking Issue:

  1. 初步编写 ZB-H1 的编排方案

相关 PR:

下周工作

  1. 完善 ZB-H1 的编排实现,以及对结果进行测试
  2. 对 ZB-H1 支持 send_backward_recv_forward overlap
  3. 排查显存占用变多的问题

详细周报链接

gouzil commented 7 months ago

姓名

田川

本周工作

  1. 基本完结 SOT 的 Python 3.12 适配
  2. 0D Tensor 小部分单测修复

下周工作

  1. 0D Tensor 单测修复

详细周报链接:

zeroRains commented 7 months ago

姓名

卢林军

实习项目

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

本周工作

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

  1. 跑blip2模型,统计模型涉及到的算子

  2. 尝试让dropout算子的前向拆解计算支持动态shape

相关 PR:

  1. 尝试让flatten算子的前向拆解计算支持动态shape

相关 PR:

  1. 尝试让group_norm算子的前向计算支持动态shape

相关 PR:

  1. 完善binary_cross_entropy_with_logits算子前向拆解计算的单测编写

相关 PR:

下周工作

  1. 继续对组合算子添加动态shape的支持。
  2. 完善之前尚未merge的PR。

详细周报链接

YibinLiu666 commented 7 months ago

姓名

YibinLiu666

实习项目

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

本周工作

  1. 高阶微分大算子性能优化

  2. 高阶微分算子组合单测添加

    • 添加高阶微分算子的组合实现的单测
  3. 问题疑惑与解答

下周工作

  1. merge现在提交的pr,补全单测
  2. 进一步优化divide_double_grad
  3. 阅读fft算子的相关文档,理解原理后尝试优化FFTC2RGradKernel

周报详细链接

NKNaN commented 7 months ago

姓名

李睿文

本周工作

  1. 针对 paddle.nanmedian 的功能增强
  2. 针对 paddle.nn.TransformerEncoderLayer 的功能增强
  3. 添加 paddle.nn.functional.group_norm API
  4. 添加 paddle.linalg.svd_lowrank API

下周工作

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

详细周报链接:

silverling commented 7 months ago

姓名

凌少鹏

本周工作

  1. 为 Paddle 添加完整 Clang 编译器支持
  2. 修复单测代码

下周工作

  1. 借助 include-what-you-use 检测无用头文件
  2. 分模块编译 PHI,划分 CUDA 算子单独编译
  3. 完善 CMake 中的代码规范,优化 deprecated 代码

详细周报链接:

ZelinMa557 commented 7 months ago

姓名

马欣楷

本周工作

  1. 熟悉cinn 动态shape符号推导相关代码
  2. 优化group lower中符号替换逻辑 https://github.com/PaddlePaddle/Paddle/pull/62951

下周工作

  1. 添加更多测试,验证符号推导效果

详细周报链接:

zhaojiameng commented 7 months ago

姓名

赵加孟

本周工作

  1. 完成paddle代码转换

下周工作

  1. 跑通paddle代码,验证精度

详细周报链接:

Tsaiyue commented 7 months ago

姓名

蔡越

本周工作

  1. 完成在trainer和no_trainer两个版本下AnimateAnyone stage1训练steploss对齐;
  2. 基于paddlenlp.trainer完成AnimateAnyone stage2训练steploss对齐;
  3. 构建爬取2000条高质量人体动作数据集,用于后续微调训练。并与导师沟通确立仅对stage2进行训练的微调策略。

下周工作

  1. 基于构建的数据集对AnimateAnyone stage2进行微调,预期为在相关量化指标和生成视觉效果上相较于源库有一定的提升,以验证方案的有效性;
  2. 完善训练功能,包括对fp16训练精度, recompute, xformer的支持。

详细周报链接

zbt78 commented 7 months ago

姓名

周波涛

实习项目

算子支持复数计算专项

本周工作

  1. 完成pow复数支持中的 pow部分和elementwish_pow部分
  2. 为allgather,diag,eye,gather,lookup_table_v2 支持复数
  3. 阅读test过程中对grad进行测试时的numerical_grad部分,是因为在测试pow时,如果输入数据的size为1测试正确,当size不为1时numerical_grad计算得到的结果为(正确结果)/ size。可能是pow的问题。

相关pr:

https://github.com/PaddlePaddle/Paddle/pull/62764

https://github.com/PaddlePaddle/Paddle/pull/62959

下周工作

  1. 完善已提交pr
  2. 开展新的算子

详细周报链接

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

huangjiyi commented 7 months ago

姓名

黄济懿

本周工作

本周请假

下周工作

下周请假

unseenme commented 7 months ago

姓名

Github ID: unseenme

本周工作

  1. 继续表达式化简AutoSimplify考察

下周工作

  1. 表达式化简AutoSimplify代码分析与缺陷挖掘。
  2. 表达式化简AutoSimplify测试与Bug总结。
  3. 对导师提供的测试结果进行分析归纳。(将于导师提供测试结果之后进行)

详细周报链接:

xusuyong commented 7 months ago

姓名

徐苏勇

本周工作

  1. 调研国内外研究现状,撰写部分文档
  2. 用PaddleScience的API写代码

下周工作

  1. 继续写文档
  2. 将NLS-MB系统的单孤子解提交到paddlescience中

详细周报链接:

xingmingyyj commented 7 months ago

姓名

朱新明

本周工作

  1. PIR动转静适配op_callstack属性
  2. 解决kthvalue API动转静精度问题
  3. Review分布式算子注册以及单测修复相关PR

下周工作

  1. 分析并修复paddle.modepaddle.bincountAPI新旧IR下精度问题
  2. Review分布式算子注册相关PR

详细周报链接

Xinyu302 commented 7 months ago

姓名

杨新宇

本周工作

  1. 完成多个算子的符号推导

    在前两周熟悉了如何进行算子的符号推导后,本周支持了logsumexp、logcumsumexp、linspace、logspace、min、poisson、repeat_interleave、topk等算子的符号推导。

    PR: https://github.com/PaddlePaddle/Paddle/pull/62800/

  2. review代码

    review了导师张博的PR: https://github.com/PaddlePaddle/Paddle/pull/62955

下周工作

  1. 完成算子符号推导的单测编写,尽早完成PR的合入。

详细周报链接

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

Corle-hyz commented 7 months ago

姓名

何咏哲

本周工作

  1. 讨论原有全自动并行架构的不足
  2. 制定后续研究目标
  3. 考虑同构到异构的扩展

下周工作

  1. 完善原本的cost model,进一步包括sharding和recompute的过程

详细周报链接:

zyt1024 commented 7 months ago

姓名

张玉涛

本周工作

本周请假

下周工作

下周请假

cocoshe commented 7 months ago

姓名

叶柯

实习项目

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

本周工作

本周主要工作如下(这周毕设开题,花了些时间水各种材料文本ppt;新换了某遥遥领先服务商的机器,但是官方提供的容器镜像中nvidia驱动太老,而且不给驱动更新的权限,所以自己花了挺多时间build from source在配各种依赖,解决torch那边的问题):

完成CogVLM前向推理对齐以及单测添加,增强CogVLM与CogAgent的组网复用:

下周工作

  1. InternLM-XComposer前向和训练对齐

详细周报:

yinfan98 commented 7 months ago

姓名

尹帆

本周工作

  1. 添加matmul transpose fuse pass https://github.com/PaddlePaddle/Paddle/pull/62671
  2. 正添加attention fuse pass https://github.com/PaddlePaddle/Paddle/pull/62990

下周工作

  1. 继续添加attention fuse pass,并支持更多pattern。
  2. 测试pass性能

详细周报链接:

WintersMontagne10335 commented 7 months ago

姓名

马贺达

本周工作

  1. 新增 pd_op.meshgrid https://github.com/PaddlePaddle/Paddle/pull/62710
  2. 修复 ConcatOpInferSymbolicShape 中存在一个小 bug https://github.com/PaddlePaddle/Paddle/pull/62992
  3. 尝试解决 reshape 未生效的问题,正在推进 https://github.com/PaddlePaddle/Paddle/issues/62976
  4. 新增 pd_op.nonzero https://github.com/PaddlePaddle/Paddle/pull/62987

下周工作

  1. 修复编译器子图 CE 建设 Detection 目录下 bug 5-6个

详细周报链接:

yulangz commented 7 months ago

姓名

Github ID: yulangz

实习项目

CINN子图鲁棒性和性能优化

本周工作

  1. 大模型子图导出

    1. 完善此前导出的子图,整理复现过程与跑通情况
    2. 熟悉 CINN 的代码逻辑,了解 CINN 的设计与实现
    3. 跑通子图 CE 测试,汇总报错信息,初步开始分析原因

下周工作

  1. 针对子图 CE 的报错,分析原因,尝试解决,并在此过程中熟悉 CINN 的代码逻辑

详细周报链接:

RedContritio commented 7 months ago

姓名

RedContritio

本周工作

  1. 新增 37 篇映射文档
  2. 文档规范化建设,健全文档规范检查体系

下周工作

  1. 添加映射主目录生成时对 api_aliases 的处理;
  2. 面向更新升级的 Paddle API,更新映射文档、映射方法与测试用例。

详细周报链接:

fty1777 commented 7 months ago

姓名

Github ID: fty1777

本周工作

  1. 实现一系列算子的符号推导

    • PaddlePaddle/Paddle#63016

下周工作

  1. 完善单元测试,合并PR。
  2. 实现op_op.einsum的符号推导并完成单元测试。
  3. 开始后端性能相关工作。

详细周报链接

zrr1999 commented 7 months ago

姓名

Github ID: zrr1999

实习项目

PIR Python API 升级及机制建设

本周工作

  1. 在用户层面统一 VarType 和 DataType 的使用。

    相关 PR:

  2. 修复开启 FLAGS_enable_pir_api=True 单测 test_var_base.py 存在的问题。

    相关 PR:

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

    相关 ISSUE:

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

    相关 ISSUE:

下周工作

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

姓名

梁书豪

本周工作

  1. 测试CINN对0D Tensor的支持能力
  2. 看CINN前端向后端转换时的相关代码,理解lang::ComputeLowerToAstVec的逻辑

下周工作

  1. 重点关注reduce类算子,解决其在将多维归约为0D时的错误
  2. 看CINN后端IR的定义与变换方法相关的文档和代码

详细周报链接: