赞
踩
感谢开源
项目地址:https://github.com/huang1332/finetune_dataset_maker.git
备用地址
https://gitee.com/yang_hu_cheng/finetune_dataset_maker.git
pip install streamlit
pip install openai
streamlit run dataset.py --server.port 2323
from modelscope.hub.snapshot_download import snapshot_download
local_dir_root = "/root/autodl-tmp/models_from_modelscope"
snapshot_download('ZhipuAI/chatglm3-6b', cache_dir=local_dir_root)
git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3
可以创建一个环境(可省)
conda create --name chatchat python=3.10
conda activate chatchat
安装依赖
pip install -r requirements.txt
调整一下就可以用了
启动第二个;好看一些
nohup streamlit run web_demo2.py > output.log &
也可以启动第一个
nohup python web_demo.py > output.log &
pip install transformers==4.30.2 accelerate sentencepiece astunparse deepspeed
两个文件夹里面的内容都是一样的
{"content": "类型#裤*版型#宽松*风格#性感*图案#线条*裤型#阔腿裤", "summary": "宽松的阔腿裤这两年真的吸粉不少,明星时尚达人的心头爱。毕竟好穿时尚,谁都能穿出腿长2米的效果宽松的裤腿,当然是遮肉小能手啊。上身随性自然不拘束,面料亲肤舒适贴身体验感棒棒哒。系带部分增加设计看点,还让单品的设计感更强。腿部线条若隐若现的,性感撩人。颜色敲温柔的,与裤子本身所呈现的风格有点反差萌。"}
./scripts/format_advertise_gen.py --path "AdvertiseGen/train.json"
出现这个说明处理好了
预处理结束后其实就是对格式进行改造
MAX_STEP(就是让大模型重复多少遍死记硬背)
BASE_MODEL_PATH:模型路径(最后有个\)
./scripts/finetune_ds.sh # 全量微调
./scripts/finetune_pt.sh # P-Tuning v2 微调
./scripts/finetune_ds.sh 中的配置(MAX_SEQ_LEN=2048, DEV_BATCH_SIZE=16, GRAD_ACCUMULARION_STEPS=1)恰好用满 4 * 80GB 显存。
这里就是用P-Tuning v2 微调
./scripts/finetune_pt.sh
python inference.py \
--pt-checkpoint "/root/autodl-tmp/ChatGLM3-New/finetune_demo/output/advertise_gen_pt-20231121-175741-128-2e-2/" \
--model /root/autodl-tmp/models_from_modelscope/ZhipuAI/chatglm3-6b/
微调成功。撒花
git clone https://github.com/hiyouga/LLaMA-Factory.git
conda create -n llama_factory python=3.10
conda activate llama_factory
cd LLaMA-Factory
pip install -r requirements.txt
编辑|新建数据集,可以选择这个,也可以自建
里面是json格式
查看数据集
使用 启动 LLaMA Board。(该模式目前仅支持单卡训练)
默认端口号是7860
cd /root/autodl-tmp/LLaMA-Factory
CUDA_VISIBLE_DEVICES=0 python src/train_web.py
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \ --stage sft \ --model_name_or_path /root/autodl-tmp/models_from_modelscope/ZhipuAI/chatglm3-6b \ --do_train True \ --finetuning_type lora \ --template chatglm3 \ --flash_attn False \ --shift_attn False \ --dataset_dir data \ --dataset self_cognition \ --cutoff_len 1024 \ --learning_rate 5e-05 \ --num_train_epochs 3.0 \ --max_samples 100000 \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 4 \ --lr_scheduler_type cosine \ --max_grad_norm 1.0 \ --logging_steps 5 \ --save_steps 100 \ --warmup_steps 336 \ --neft_alpha 0 \ --train_on_prompt True \ --upcast_layernorm False \ --lora_rank 8 \ --lora_dropout 0.1 \ --lora_target query_key_value \ --resume_lora_training True \ --output_dir saves/ChatGLM3-6B-Chat/lora/2023-11-22-11-02-17 \ --fp16 True \ --val_size 0.247 \ --evaluation_strategy steps \ --eval_steps 100 \ --load_best_model_at_end True \ --plot_loss True
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
--stage sft \
--model_name_or_path /root/autodl-tmp/models_from_modelscope/ZhipuAI/chatglm3-6b/ \
--do_train \
--overwrite_output_dir \
--template chatglm3 \
python src/export_model.py \
--model_name_or_path path_to_llama_model \
--template default \
--finetuning_type lora \
--checkpoint_dir path_to_checkpoint \
--export_dir path_to_export
举例
python src/export_model.py \
--model_name_or_path /root/autodl-tmp/models_from_modelscope/ZhipuAI/chatglm3-6b/ \
--template chatglm3 \
--finetuning_type lora \
--checkpoint_dir /root/autodl-tmp/LLaMA-Factory/export_chatglm3 \
--export_dir lora_merge_chatglm3
直接使用合并的模型
就不要用checkpoint_dir参数
python src/api_demo.py \
--model_name_or_path path_to_llama_model \
--template default \
--finetuning_type lora \
--checkpoint_dir path_to_checkpoint
python src/cli_demo.py \
--model_name_or_path path_to_llama_model \
--template default \
--finetuning_type lora \
--checkpoint_dir path_to_checkpoint
举例
python src/cli_demo.py \
--model_name_or_path /root/autodl-tmp/models_from_modelscope/ZhipuAI/chatglm3-6b/ \
--template chatglm3 \
--finetuning_type lora \
--checkpoint_dir /root/autodl-tmp/LLaMA-Factory/saves/ChatGLM3-6B-Chat/lora/2023-11-22-11-02-17
python src/web_demo.py \
--model_name_or_path path_to_llama_model \
--template default \
--finetuning_type lora \
--checkpoint_dir path_to_checkpoint
刷新模型断点,选择训练好的模型
选择chat
加载模型
结果产出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。