modelscope / ms-swift

Use PEFT or Full-parameter to finetune 400+ LLMs or 100+ MLLMs. (LLM: Qwen2.5, Llama3.2, GLM4, Internlm2.5, Yi1.5, Mistral, Baichuan2, DeepSeek, Gemma2, ...; MLLM: Qwen2-VL, Qwen2-Audio, Llama3.2-Vision, Llava, InternVL2, MiniCPM-V-2.6, GLM4v, Xcomposer2.5, Yi-VL, DeepSeek-VL, Phi3.5-Vision, ...)
https://swift.readthedocs.io/zh-cn/latest/Instruction/index.html
Apache License 2.0
4.03k stars 357 forks source link

merge lora后qwen1.5-7b变得特别大? #715

Closed qianliyx closed 6 months ago

qianliyx commented 6 months ago

用qwen1.5-7b采用swift官网的自我认知微调后,开始使用CUDA_VISIBLE_DEVICES=0 swift export --ckpt_dir xxx --merge_lora true 进行权重合并,结果合并后模型变成了二十几个GB的大小,比原模型大出一倍?

是因为我在lora微调时dtype是auto自动选择fp32而不是fp16的原因吗?

Jintao-Huang commented 6 months ago

你是使用V100微调的嘛

Jintao-Huang commented 6 months ago

你试试 在merge的时候多指定参数 --dtype fp16

qianliyx commented 6 months ago

我用的是8卡A100-40GB微调的

qianliyx commented 6 months ago

另外在问一下,微调数据集需要事先shuffle打乱吗?

Jintao-Huang commented 6 months ago

另外在问一下,微调数据集需要事先shuffle打乱吗?

不需要的,训练会打乱的

qianliyx commented 6 months ago

model.generation_config.max_new_tokens = 128

这个参数设置有什么讲究吗,可以设置成和微调时配置的max_length 2048一样大吗

Jintao-Huang commented 6 months ago

可以呀

qianliyx commented 6 months ago

这个参数的设置是决定了输出中新词的个数不影响输出的长度?还是决定了整个输出的长度?有什么设置推荐吗,我看文档里写的都是128

Jintao-Huang commented 6 months ago

限制了新生成的tokens的数量

Jintao-Huang commented 6 months ago

issue: https://github.com/modelscope/swift/issues/841