From 8f14836d55248b4d2e26dc3da992290ddbe0718e Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Sun, 3 Aug 2025 12:55:47 +0000 Subject: [PATCH 01/10] [WeeklyReports]_2025_07.18-2025_08.01 --- .../[WeeklyReports]_2025_07.18-2025_08.01 | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 new file mode 100644 index 00000000..44d97572 --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 @@ -0,0 +1,24 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +1. **动态图半自动化流水并行save_load 机制精度对齐,修复现存bug** +2. **动态图半自动化流水并行dataloader逻辑对齐,尤其在dp、pp混合场景下的micro_batch切分** +3. **GradientClipByGlobalNorm逻辑对齐,默认与动手对齐** +4. **get_group bug fix** +5. **增强stage对层间传递stop_grad=True的参数的支持** + + +### 下周工作 + +1. GradientClipByGlobalNorm逻辑对齐,在对齐模式下,与原动半pp对齐 + +### 导师评价 + + + + From 3fe3d70eafa22436e3c5522f8c977d0d695c6945 Mon Sep 17 00:00:00 2001 From: chenruibiao Date: Mon, 4 Aug 2025 16:19:29 +0800 Subject: [PATCH 02/10] Add mentor comments --- .../zty-king/[WeeklyReports]_2025_07.18-2025_08.01 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 index 44d97572..188d512c 100644 --- a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_07.18-2025_08.01 @@ -18,7 +18,7 @@ 1. GradientClipByGlobalNorm逻辑对齐,在对齐模式下,与原动半pp对齐 ### 导师评价 - +天宇本周高效推进了自动并行多个核心模块的优化,技术贡献显著,展现了独立承担复杂模块开发的能力。期待后续在性能优化方向上持续突破。 From 60554bc74cfdc2575c13d5030be03b978dae381d Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Mon, 25 Aug 2025 09:27:18 +0000 Subject: [PATCH 03/10] [WeeklyReports]_2025_08.02-2025_08.24 --- .../[WeeklyReports]_2025_08.02-2025_08.24 | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 new file mode 100644 index 00000000..319451f6 --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 @@ -0,0 +1,24 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +1. GradientClipByGlobalNorm逻辑对齐,在对齐模式下,与原动半pp对齐 +2. fused_rotary_position_embedding算子反向逻辑修复 +3. 配合flexcheckpoint的dcp组件的开发验证,提出了一些逻辑问题 +4. 使用flexcheckpoint适配paddlenlp、paddleformers跑通ernie、llama2、qwen3、qwen3-moe +5. 在llama2上对flexcheckpoint框架做了多重策略转换的验证 + + +### 下周工作 + +1. 在llama2上对多重策略继续做验证,进行md5对齐。 + +### 导师评价 + + + + From 2ebffd15ae81771a4e2e20f36e99d902421f5a4e Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Mon, 25 Aug 2025 10:14:41 +0000 Subject: [PATCH 04/10] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zty-king/[WeeklyReports]_2025_08.02-2025_08.24 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 index 319451f6..2a1b696b 100644 --- a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.02-2025_08.24 @@ -7,15 +7,15 @@ ### 本周工作 1. GradientClipByGlobalNorm逻辑对齐,在对齐模式下,与原动半pp对齐 -2. fused_rotary_position_embedding算子反向逻辑修复 -3. 配合flexcheckpoint的dcp组件的开发验证,提出了一些逻辑问题 +2. fused_rotary_position_embedding算子反向逻辑修复,同时修复原来单测的逻辑缺陷(因为此缺陷导致单测未检查出反向的错误) +3. 理解flexcheckpoint框架的开发逻辑,配合flexcheckpoint的dcp组件的开发验证,提出了一些逻辑问题 4. 使用flexcheckpoint适配paddlenlp、paddleformers跑通ernie、llama2、qwen3、qwen3-moe 5. 在llama2上对flexcheckpoint框架做了多重策略转换的验证 ### 下周工作 -1. 在llama2上对多重策略继续做验证,进行md5对齐。 +1. 在llama2上对多重策略转换的情况继续做验证——md5对齐、loss收敛。 ### 导师评价 From f4448a2c5299f60fd00b1a3896151d74e875ec0b Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Fri, 5 Sep 2025 15:18:44 +0000 Subject: [PATCH 05/10] [WeeklyReports]_2025_08.25-2025_09.07 --- .../[WeeklyReports]_2025_08.25-2025_09.07 | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.25-2025_09.07 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.25-2025_09.07 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.25-2025_09.07 new file mode 100644 index 00000000..ce386495 --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_08.25-2025_09.07 @@ -0,0 +1,34 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +**1.在llama2上验证Flexcheckpoint框架** +- 在使用过程中,对于tp、pp、dp、shardingV1、shardingV2等多种策略转换的情况——验证md5对齐、loss收敛,同时针对每种情况都写了一个自动化脚本,一键运行两种策略的互转、对齐md5、运行接续热启动训练、验证loss接续。 +- 在验证纯sharding时出错,原因是梯度累加数据类型有问题,需要在累加时做数据转换(临时hack,后来验证是paddle更新的pr导致的问题,最新版的paddle已修复此问题) +- 在测tp策略转换的过程中,发现fused_qkv, fused_ffn打开后loss差距不符合预期;经验证,当前存在fused_qkv与old_fused_qkv两套逻辑,llama当前默认使用的是old_fused_qkv此时无需配置aoa与tp自洽,而ernie使用的是fused_qkv,需要配置aoa。 +- 在测dp策略转换的过程中,发现原来的纯dp策略只保存一份ckpt,而Flexcheckpoint框架 +- 使用aoa_config时,macros优先级、关键字过滤、fused_ffn命令长度存在问题,已修复 +- 针对llama2上验证Flexcheckpoint框架流程,撰写了运行指导文档: https://github.com/PFCCLab/FlexCheckpointVerf/blob/main/parallel-strategy-verification/llama2/env.md + +**2.在ernie4.5上验证Flexcheckpoint框架** +- 在使用过程中,对于tp、pp、dp、shardingV1、shardingV2等多种策略转换的情况——验证md5对齐、loss收敛,同时针对每种情况都写了一个自动化脚本,一键运行两种策略的互转、对齐md5、运行接续热启动训练、验证loss接续。(**目前还在测试过程中,未全部完成**) +- tp2(ep2)->tp4时,gate参数的md5未对齐,经过验证发现,gate参数会在回调函数OrthogonalCallback中计算正交损失并更新,直接用FLAGS_shard_bypass_dygraph_optimizer 标志位控制优化器不更新无法制止gate的更新,而经过hack相应代码验证,gate不更新后,转换前后,tp2(ep2)的ckpt能完全对齐。 +- tp2(ep2)->pp4时,发现未适配共享参数的场景,做了适配,同时发现ernie pp和ernie 非pp的组网逻辑不一致,无法直接做对齐验证。 + + + +### 下周工作 + +1.继续在ernie4.5上验证Flexcheckpoint框架 + +### 导师评价 + + + + + + From dab9fef85ae59e6d16d85e897fc0522edc484100 Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Sat, 20 Sep 2025 07:27:30 +0000 Subject: [PATCH 06/10] [WeeklyReports]_2025_09.08-2025_09.21 --- .../[WeeklyReports]_2025_09.08-2025_09.21 | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.08-2025_09.21 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.08-2025_09.21 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.08-2025_09.21 new file mode 100644 index 00000000..1c5d754a --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.08-2025_09.21 @@ -0,0 +1,34 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +**1.在ernie4.5上验证method1:A->B->A的md5对齐,与loss接续** +- 验证了纯tp、pp、dp、shardingV1、shardingV2,在训练时,moe_group需要设置为dummy,即不划分experts。 +- tp2(ep2)->pp4时,关闭tie_weights操作,md5仍无法对齐,查验后发现,需要关闭moe_use_aux_free,否则非pp将多出一份参数。 +- tp下,bias为None时,出现bug,主要是MPScale.apply未考虑bias为None的情况。 +- 当前ernie_moe跑vpp存在问题跳过。 +- 纯DP下,opt未被封装,会导致init_optimizer报错,优化了paddlenlp的fc适配代码。 +- DP2、ShardingV1、V2转TP2(EP2)_PP2等出现src_var和dst_var的global_size对不齐的现象,经验证,主要是Ernie下的SequenceParallelLayer未适配sharded_state_dict,做了适配。 + +**2.在ernie4.5上验证method2:A->B,二者合参后与uc的md5对齐** +- 1.编写自动化脚本,一键训练,转化,合参,并分别与uc对比md5,已经验证了纯tp、pp、dp、shardingV1、shardingV2、sd2(ep2)。 +- 2.uc下,sd2(ep2)的md5无法对齐,经验证主要是uc未对expert的id做偏移,而fc做了偏移,对uc的expert_id偏移后,md5对齐。 +- 3.涉及TP的都无法对齐,主要是当前ernie_moe与uc在跑tp时存在bug,以及ernie_moe的tp_mappings未对mtp_block层做映射,load_state_dict和_handle_aoa未考虑到多卡转单机,已做适配。 + + + +### 下周工作 + +1.继续在ernie4.5上验证method2。 + +### 导师评价 + + + + + + From d07afc13afef9f90e95cc20b606ba9469b85cacb Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Fri, 17 Oct 2025 13:28:25 +0000 Subject: [PATCH 07/10] [WeeklyReports]_2025_09.22-2025_10.19 --- .../[WeeklyReports]_2025_09.22-2025_10.19 | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 new file mode 100644 index 00000000..5948b3a3 --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 @@ -0,0 +1,35 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +**1.在ernie4.5上验证method2:A->B,二者合参后与uc的md5对齐** + 全部验证完毕 + +**2.paddlnlp适配fc的代码,适配完成并合入pr** + +**3.AOA验证工作** +- 1.添加专家ID的macro +- 2.修复rename不支持axis属性的问题 +- 3.修复$LAYER_ID的get_num_hidden_layer的bug +- 4.修改及补充整个macro单测,覆盖AOAShardInfoContext类的测试 +- 5.修改optimizer_it的逻辑——在后续过程过滤,而不是直接读取metadata文件初始化(当前这个修改暂时保留,后续如果需要支持fused_qkv->非fused_qkv且保留优化器状态的场景,则推进该修改合入) +- 6.尝试支持在qkv->q,k,v场景下,beta1_pow_acc_0,beta2_pow_acc_0一对多和多对一的赋值转换,但经过讨论后,pass了这个方案,此场景下随机赋值这两个动量。 +- 7.修复star_macro和add aoa原语的bug +- 8.尝试在save时优化对DygraphShardingOptimizerV2的flatten_tensor的处理逻辑;目前新民最新pr已经将逻辑移入到load阶段,因此不做合入。 + + +### 下周工作 + +1.完善aoa相关组件问题 + +### 导师评价 + + + + + + From 2796f8ec0e42e79fba1f6a262eb154a1205c291c Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Fri, 17 Oct 2025 13:32:03 +0000 Subject: [PATCH 08/10] [WeeklyReports]_2025_09.22-2025_10.19 --- .../zty-king/[WeeklyReports]_2025_09.22-2025_10.19 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 index 5948b3a3..1405033f 100644 --- a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_09.22-2025_10.19 @@ -19,7 +19,7 @@ - 5.修改optimizer_it的逻辑——在后续过程过滤,而不是直接读取metadata文件初始化(当前这个修改暂时保留,后续如果需要支持fused_qkv->非fused_qkv且保留优化器状态的场景,则推进该修改合入) - 6.尝试支持在qkv->q,k,v场景下,beta1_pow_acc_0,beta2_pow_acc_0一对多和多对一的赋值转换,但经过讨论后,pass了这个方案,此场景下随机赋值这两个动量。 - 7.修复star_macro和add aoa原语的bug -- 8.尝试在save时优化对DygraphShardingOptimizerV2的flatten_tensor的处理逻辑;目前新民最新pr已经将逻辑移入到load阶段,因此不做合入。 +- 8.尝试在save时优化对DygraphShardingOptimizerV2的flatten_tensor的处理逻辑;目前最新pr已经将逻辑移入到load阶段,因此不做合入。 ### 下周工作 From c682d3b5ce6aff548458525db14ce26013ac9408 Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Mon, 10 Nov 2025 11:56:39 +0000 Subject: [PATCH 09/10] [WeeklyReports]_2025_10.20-2025_11.09 --- .../[WeeklyReports]_2025_10.20-2025_11.09 | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_10.20-2025_11.09 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_10.20-2025_11.09 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_10.20-2025_11.09 new file mode 100644 index 00000000..e1d8cfeb --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_10.20-2025_11.09 @@ -0,0 +1,35 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + +**aoa相关组件问题(PR均已合入)** + - 1.修复add,remove的bug,同时为aoa添加add、cast等单测 + - 2.修复star_macro的在匹配字符串的逻辑,转换成严格匹配 + - 3.修改ID相关的macro逻辑,统一使用id_macro,并限制在'$EXPERT_ID', '$LAYER_ID'范围内使用 + - 4.为load hf checkpoint添加单测 + - 5.修复full param的bug,并添加相关的cast单测 + - 6.添加get_var_mapping_chain_macro,支持中间变量继承src_key、dst_key的切分信息,并添加单测 + - 7.修复build_input_vars的bug + - 8.修复merge_sharded_state_dict,支持单卡运行 + +**API相关工作(PR已提交,待合入)** + - 1.优化17个loss函数的size_average和reduce的报错逻辑,当用户以pytorch习惯使用这些函数时,正确将size_average+reduce映射到reduction,并报错提示。 + - 2.对5个paddle的window函数进行封装,对齐torch的接口,使用时与torch相同,即paddle.xxx_window + + + +### 下周工作 + +1.API相关工作推进 + +### 导师评价 + + + + + + From 3a97bd1c9e77797602684a27ad73d1e0a0c0a93d Mon Sep 17 00:00:00 2001 From: zty-king <17786324919@163.com> Date: Sat, 22 Nov 2025 12:32:17 +0000 Subject: [PATCH 10/10] [WeeklyReports]_2025_11.10-2025_11.23 --- .../[WeeklyReports]_2025_11.10-2025_11.23 | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_11.10-2025_11.23 diff --git a/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_11.10-2025_11.23 b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_11.10-2025_11.23 new file mode 100644 index 00000000..de3fb2fd --- /dev/null +++ b/WeeklyReports/Hackathon_9th/zty-king/[WeeklyReports]_2025_11.10-2025_11.23 @@ -0,0 +1,33 @@ +### 姓名 +郑天宇 + +### 实习项目 +自动并行流水并行功能增强和性能优化 + +### 本周工作 + + + +**API相关工作** + - 1.优化size_average和reduce的报错逻辑的装饰器实现,同时补充中文文档。(pr已经合入)。 + - 2.对5个paddle的window函数进行封装,补充单侧,同时补充中文文档。(pr已经合入)。 + +**aoa相关组件问题** + - 1.支持auto reverse aoa_statemens(pr合入中) + - 2.为Sharding Optimizer Stage3 适配fc(pr合入中) + + + + +### 下周工作 + +1.API相关工作推进 +2.aoa相关工作推进 + +### 导师评价 + + + + + +