Ziqing Yang

Results 212 comments of Ziqing Yang

> 请问loss=0,解决了吗,我把llama模型的梯度冻结,只微调lora,训练正常,可是当把llama的embed层的梯度设置为True,然后同时训练embd与lora,loss只有第一个有值,然后一直是0. 是使用了int8 training? int8 training下的确有这个问题,等peft更新吧

我们提供的脚本中默认是训练embed_tokens和lm_head的,这两个矩阵参数量较大。如果显存不足,可以尝试不训练embed_tokens和lm_head,将SFT代码中(365~371行) ``` peft_config = LoraConfig( task_type=TaskType.CAUSAL_LM, target_modules=target_modules, inference_mode=False, r=lora_rank, lora_alpha=lora_alpha, lora_dropout=lora_dropout, modules_to_save=modules_to_save) ``` 的`module_to_save`赋值为`None` ```python modules_to_save=None) ``` 即可。

tokenizer自动处理。不需要对预训练数据特殊处理。

After PT stage-1, the CLM loss was about 5~6. (We forgot to train LM head in PT stage-1. We expect the loss can be much lower with a trainable LM...

tokenizer.padding_side 改成'right',可能和这个有关

这个loss我看来算是正常,至少整个流程上没问题,不同domain的数据的有差别,2以下都是正常的。 如果你还是觉得loss高,那需要靠你自己调模型训练、调超参等“炼丹”技术了 `load_in_8bit=False`后,`model = prepare_model_for_int8_training(model)`这句也要删掉吧?

可以先看这个 #128 如果还不清楚的话,请耐心等待一下,我们还会持续更新repo内容

预训练代码实在没什么改动,参考Transformers里的[run_clm.py](https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_mlm.py)就行

> > > 预训练代码实在没什么改动,参考Transformers里的[run_clm.py](https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_mlm.py)就行 > > > > > > 但是如果扩充了词表,那么tokenizer的path肯定是要进行变化,意思是把.bin文件和新的tokenizer_config啥的文件放在一个文件夹下,用model_name_and_path参数传进run_clm.py? > > 我也想问这个问题 是的

> 更新了llama.cpp之后确实可以跑起来了,但是生成速度非常慢,可能5-10Min生成1个字,这是正常的情况吗?比如下面是运行了20分钟之后的结果 main: seed = 1681118045 llama.cpp: loading model from zh-models/7B/ggml-model-q4_0.bin llama_model_load_internal: format = ggjt v1 (latest) llama_model_load_internal: n_vocab = 49954 llama_model_load_internal: n_ctx = 256 llama_model_load_internal: n_embd = 4096 llama_model_load_internal:...