Open baisechundu opened 2 months ago
目前llama3.1的sft是同时指出json和idxmap且不会卡住的。qwen2的sft使用json微调应该也不会卡住,如果使用idxmap微调,您需要重新用最新的代码制作下idxmap微调数据,然后用同样的seqlen来启动微调脚本
我遇到过问题一的第二点类似的现象。 我是开了micro batch size = 1正常训练, >1就会卡住。原因是在 https://github.com/alibaba/Pai-Megatron-Patch/blob/7c3dc6bb7578da93d9944dd9098e8f1ab24cb183/megatron_patch/data/utils.py#L51
如果不开reset_attention_mask,这里生成的attention mask维度是[1, 1, seq_len, seq_len], 而不是[bs, 1, seq_len, seq_len]。导致维度不一致。 我不太清楚是不是我个人的问题,总之我手动expand了一下shape 就正常运行了
sft训练数据是json的时候,tp=2的时候会卡住,tp=4的时候不卡,不知道啥原因
使用的是 README.md 中推荐的镜像 目前发现有两个问题: 问题一:
按照 examples/qwen2 下面的README.md,对 Qwen2-1.5B 进行的操作(A100 4ka):
目前针对qwen2 的 sft,只要TP或者PP超过1,均会出现卡住的情况。
问题二: megatron_patch/data/utils.py 中 代码的147行左右
这里得到的 sep_index 可能为空,或类型是张量,下一行作为索引时会报错(注 :Pai-Megatron-Patch 0.9.0 这个发布包默认使用 idxmap 类型的数据集,会出现此问题。Pai-Megatron-Patch 0.8.3 用的是Raw dataset,不会有这个问题)。
我看到主分支提到了qwen2 的 “hang“ 的情况,主分支的代码我也试过了,还是会卡住。pretrain 和 finetune 的模式是在哪块实现有差异吗?求解惑哈