-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用neat_packing进行sft训练,模型性能指标下降明显 #5426
Comments
@YeQiuO 和你有类似的问题 |
收到作者召唤 ૮꒰ ˶• ༝ •˶꒱ა |
针对你的问题
neat_packing 方法在 axolotl、swift、functionary 内均有实现,但我只试了 lf 的,指标确实降低很多,和你说的一样 为了查明原因,我 Debug 了 Qwen2 的 _get_unpad_data() 方法(neat 实现方法就是替换该方法,实现 4D 掩码)并没有发现问题,按照 attention 计算逻辑,每个 batch 内的每个序列在 mask 后,Software 的结果不会关注到相邻元素,且 RoPE 使其不受packing 后的位置影响【所以按道理不应该由此问题】 我很想要搞明白原因,希望大佬们不吝赐教 |
而且我还试过调整lr,按理说neat_packing后相当于增大的batchsize,所以我调大的lr到5e-5,发现训练loss和eval loss都确实比lr=1e-5的时候低。 但是实际在各个benchmark上lr=1e-5 效果反而更高,但是依然不如不pack的。 |
我可能找到了问题所在,解决方案在 #5458 |
2. update mistral format function call 3. fix knapsack, may cause hiyouga#5443 4. avoid supervised examples wrongly truncation hiyouga#5426
find the same issue, just
直接用的原始仓库的代码效果好,LF太笨重 找问题都要找好几个月 |
Reminder
System Info
None
Reproduction
neat_packing: True
Expected behavior
有人遇到过使用neat_packing训练后的模型,性能指标下降明显吗?
我尝试使用neat_packing,差不多可以加速3倍,但是训练完的模型比不开neat_packing的效果要差很多。所有benchmark上都掉点。
想请教一下如果训练集有多个文件,在训练时会首先进行全局shuffle吗?
neat_packing在数据打包的时候是随机挑选不同的任务数据进行组合的吗?还是挑选相邻的sample进行组合?
Others
No response
The text was updated successfully, but these errors were encountered: