00000549
安装好SDK4.4.0,安装好docker
sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn,密码联系售后获取
get /client_tmp/support/llamafactory/llamafactory_v3.tar.gz ./
gunzip llamafactory_v3.tar.gz
docker load -i llamafactory_v3.tar
docker run -dit -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/home -v /data:/data --network=host --name=Llamafactory --pid=host --ipc=host --privileged --cap-add=ALL llamafactory:v3 /bin/bash
docker exec -it Llamafactory bash
提前下载好模型至
/data/model/Qwen2.5-7B-Instruct
准备测试数据集
mkdir /data/LlaMa-Factory
cd LlaMa-Factory
modelscope download --dataset llamafactory/alpaca_zh --local_dir /data/LLaMA-Factory/data/alpaca-zh
cp /data/LlaMa-Factory/data/alpaca-zh/alpaca_data_zh_51k.json /data/LlaMa-Factory/data/alpaca_zh.json
执行
python3 - <<'PY'
import json
import random
src = "/data/LlaMa-Factory/data/alpaca_zh.json"
train_path = "/data/LlaMa-Factory/data/alpaca_zh_train.json"
val_path = "/data/LlaMa-Factory/data/alpaca_zh_val.json"
with open(src, "r", encoding="utf-8") as f:
data = json.load(f)
random.seed(42)
random.shuffle(data)
split = int(len(data) * 0.95)
train_data = data[:split]
val_data = data[split:]
with open(train_path, "w", encoding="utf-8") as f:
json.dump(train_data, f, ensure_ascii=False, indent=2)
with open(val_path, "w", encoding="utf-8") as f:
json.dump(val_data, f, ensure_ascii=False, indent=2)
print("total =", len(data))
print("train =", len(train_data))
print("val =", len(val_data))
PY
python3 - <<'PY'
import json
path = "/data/LlaMa-Factory/data/dataset_info.json"
with open(path, "r", encoding="utf-8") as f:
info = json.load(f)
print("alpaca_zh_train" in info)
print("alpaca_zh_val" in info)
print(info["alpaca_zh_train"])
print(info["alpaca_zh_val"])
PY
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 llamafactory-cli train --stage sft --do_train true --do_eval true --eval_strategy steps --eval_steps 1000 --model_name_or_path /data/model/Qwen2.5-7B-Instruct --finetuning_type lora --template qwen --dataset_dir data --dataset alpaca_zh_train --eval_dataset alpaca_zh_val --cutoff_len 1024 --learning_rate 5e-5 --num_train_epochs 1.0 --per_device_train_batch_size 1 --gradient_accumulation_steps 1 --lr_scheduler_type cosine --logging_steps 10 --save_steps 1000 --warmup_steps 50 --output_dir saves/qwen2.5-7b/lora/alpaca_zh_8gpu_fast --bf16 true --lora_rank 8 --lora_alpha 16 --lora_dropout 0.05 --report_to none