瑞叫兽

Results 9 comments of 瑞叫兽

能不能直接把词频放上?老铁

@NYF-BRICK 请问你动转静后模型验证成功没?

> ![image](https://user-images.githubusercontent.com/14050233/137726053-3b7e9557-5538-41fc-b41e-5875790aad85.png) > > 经过比较,两个模型的版本相同的 C++ tokenizer没有python中segment_tool过程

@0xDing 感谢工作分享,方便分享下其在sharegpt数据上的训练损失情况吗?

> ![image](https://user-images.githubusercontent.com/52128805/233960144-0981aaf3-0e0f-424c-8b88-753d9a43f225.png) 设置 skip_special_tokens=False ,打印response看最后是不是 eom,如果是(我觉得大概率是),那说明模型就只给你这点输出。

> 请问为何在13B的时候将位置编码从ROPE改为Alibi了。如果从长度外推的角度来考虑,我们最近看论文Rope通过插值也能做到很好的长度外推,请问改成Alibi是基于其他的一些考虑吗?谢谢~ 实际上,Alibi位置编码也具备RoPe的[位置插值](https://arxiv.org/pdf/2306.15595.pdf)特性,以下是Baichuan-13B-Chat在shareGPT-zh 1w token以上的样本做的实验。可以看到,插值的效果是优于外推的,并且插值并没有微调。 ![CE6F49A3-4FC7-4ec0-B7E8-B58310D30B6D](https://github.com/baichuan-inc/Baichuan-13B/assets/26210791/9b15b363-8352-4c61-912b-7478c8ea3d2f) 也可以看到,ALiBi的外推能力在本测试集上是优于RoPe的,之前的7b模型在8192的点为上PPL是34+,而这里是2.24。 图中还有个有趣的实验,就是插值是按静态插值(按固定最大长度计算缩放比例)和动态插值(按当前文本长度计算缩放比例)。如果这个实验靠谱,可能会得出几个猜想结论: 1. 想办法把超长的推理文本的位置编码压缩到模型训练的最大长度之内,模型的表现就会变好。 2. 在1.的基础上,统计SFT数据token的长度分布,将推理文本token长度压缩到该分布密度最高的长度上,模型表现最佳。 以上结论和猜想仅供参考,实践需要自己根据自己的数据做测试。

> > @forrestsocool 有试过用这个repo提供的modeling_baichuan.py来sft吗,我的loss总是第一个step是3点几然后就一直是0,感觉是不是代码或者权重有点问题 > > 你这个问题跟训练代码的实现、所用的数据多少、学习率、显卡类型等等都有可能有关系,可以说详细点 我在实测中也遇到了同样的问题,用同样一份数据集,同样的显卡和配置,使用flash attention和原生attention 的初始loss完全不一样,且差距较大,前者为4,后者为1.2。flash attention尝试过xformer的库也尝试过torch2.0的scaled_dot_product_attention都没有解决。因此排除了因数据、学习率、显卡等的因素。 我又单纯使用模型不用训练代码进行loss计算,发现flash atten又是正常的,大概可以猜测原因可能是训练环节的问题。

> 找到原因了,由于attention mask的padding在左边,和flash attention的causal mask不一致导致的。 1.在torch 2.0 上,传入atten_mask实际速度是很慢的,似乎flash attn 算子还没有实现自定义atten_mask的优化加速。 2. 在两者都用同样的qkv和标准的attn进行比较差值发现 torch2.0的偏差更小。这里的偏差我仅仅简单计算的是矩阵的元素完全相等的比率,所以也不太靠谱。

> > > > 找到原因了,由于attention mask的padding在左边,和flash attention的causal mask不一致导致的。 > > 1.在torch 2.0 上,传入atten_mask实际速度是很慢的,似乎flash attn 算子还没有实现自定义atten_mask的优化加速。 2. 在两者都用同样的qkv和标准的attn进行比较差值发现 torch2.0的偏差更小。这里的偏差我仅仅简单计算的是矩阵的元素完全相等的比率,所以也不太靠谱。 基于1. ,在推理时会用到cache,这导致一定会传入atten mask,所以速度提升也不是很大。我猜这可能也是为啥flash atten目前大多数只用来训练,没用来推理的原因吧。