Chinese-LLaMA-Alpaca
Chinese-LLaMA-Alpaca copied to clipboard
作者您好,请问llama7b-plus的llama用的是哪个版本的transformers转化的?
众所周知,transformers在更新到4.28dev的时候修复了一个llama模块的bug,导致基础模块的特殊token会有所不同。所以请问你们使用的是哪个版本的transformers转化的llama的权重?是4.28以后的版本,还是以前的版本?我看在你们的requirements里面写的transformer的版本是4.28.1,是否我可以默认,llama的权重使用的是修复bug后的程序转化的?
我们尝试过不同的transformers版本转换llama权重,最终得到的chinese-llama(alpaca)并没有影响,您可以直接使用最新的transformers版本
我们尝试过不同的transformers版本转换llama权重,最终得到的chinese-llama(alpaca)并没有影响,您可以直接使用最新的transformers版本
感谢回复。还有另外一个问题,我转化了你们的模型以后,使用类似vicuna的方式进行sft,但发现loss的值以及下降速度明显慢于原版的llama,不知你们是否有类似的发现?可能造成这种现象的原因,能提供一些hint么?
我们尝试过不同的transformers版本转换llama权重,最终得到的chinese-llama(alpaca)并没有影响,您可以直接使用最新的transformers版本
感谢回复。还有另外一个问题,我转化了你们的模型以后,使用类似vicuna的方式进行sft,但发现loss的值以及下降速度明显慢于原版的llama,不知你们是否有类似的发现?可能造成这种现象的原因,能提供一些hint么?
是指在中文任务上吗,可否提供一下具体数值?
我们尝试过不同的transformers版本转换llama权重,最终得到的chinese-llama(alpaca)并没有影响,您可以直接使用最新的transformers版本
感谢回复。还有另外一个问题,我转化了你们的模型以后,使用类似vicuna的方式进行sft,但发现loss的值以及下降速度明显慢于原版的llama,不知你们是否有类似的发现?可能造成这种现象的原因,能提供一些hint么?
是指在中文任务上吗,可否提供一下具体数值?
当然。我这边训练参考的是vicuna那个repo,即fastchat的repo。数据的话是中文英文各一半,都是开源的alpaca数据我整合了一下。训练的过程中发现,用你们的模型,初始的loss大概是2.几,1个完整epoch过后loss降到了0.9左右。而用官方的llama的话,初始loss在1.2-1.3左右,1个完整epoch过后降到了0.6左右。数据都是一样的。llama都是7B的。用的是你们最新的那个plus版本的llama-chinese。
这是不同的tokenizer导致的。在中文上,原版LLaMA tokenizer分词后的长度相对Chinese-LLaMA更长; 这会导致,在原版LLaMA和Chinese-LLaMA对同一句输入的整句预测概率相同的情况下,原版LLaMA分到每个token上的loss更低,因此训练时看起来loss更低。 是输入不同导致的问题,而且并不是完全可比的,不必过于担心。
非常感谢解惑!