微调使用的是swift吗,我使用 --merge_lora_and_save true 把权重合并了
这是微调的脚本:nproc_per_node=2
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0,1 \
torchrun \
--nproc_per_node=$nproc_per_node \
--master_port 29500 \
llm_sft.py \
--model_id_or_path OpenBuddy/openbuddy-mistral-7b-v13.1 \
--model_revision master \
--sft_type lora \
--tuner_backend swift \
--template_type openbuddy \
--dtype AUTO \
--output_dir output \
--ddp_backend nccl \
--custom_train_dataset_path /root/dest.jsonl \
--train_dataset_sample -1 \
--num_train_epochs 100 \
--max_length 8192 \
--check_dataset_strategy warning \
--lora_rank 8 \
--lora_alpha 32 \
--lora_dropout_p 0.05 \
--lora_target_modules ALL \
--gradient_checkpointing true \
--batch_size 1 \
--weight_decay 0.01 \
--learning_rate 1e-4 \
--gradient_accumulation_steps $(expr 16 / $nproc_per_node) \
--max_grad_norm 0.5 \
--warmup_ratio 0.03 \
--eval_steps 100 \
--save_steps 100 \
--save_total_limit 2 \
--logging_steps 10 \
--push_to_hub false \
--hub_model_id openbuddy-mistral-7b-chat-lora \
--hub_private_repo true \
--hub_token 'your-sdk-token' \
--deepspeed_config_path 'ds_config/zero2.json' \
--only_save_model true \
在 ModelScope 中,微调(Fine-tuning)模型的实现语言可能不是固定的,而是取决于所使用的具体模型库和框架。
ModelScope 平台本身并不提供微调功能,而是提供了预训练模型库和模型评估平台。微调的实现通常是通过在所选的模型库和框架中加载预训练模型,并根据特定任务的需求进行进一步训练。
例如,在使用 PyTorch 进行微调时,您可以使用 PyTorch 的相关功能和接口来加载预训练模型,并将其用于微调任务。同样地,在 TensorFlow、Keras、MXNet 等其他深度学习框架中也有类似的微调操作。
至于 Swift 语言,它通常与苹果的机器学习框架 Core ML 结合使用。如果您使用的是 Core ML 框架,并且选择使用 Swift 进行微调,则可以使用 Swift 语言来编写微调的代码。
你拉取一下最新的代码, 然后在infer.sh中加入--custom_val_dataset_path xxx.jsonl
进行评估.。此回答整理自钉钉群:魔搭ModelScope开发者联盟群 ①