佛山网站建设a068,外贸是做什么的工作内容是什么,wordpress页面颜色,网络培训系统建设前言#xff1a;LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术#xff0c;适配市场主流开源模型#xff0c;形成一个功能丰富#xff0c;适配性好的训练框架。 目录 1. 前期准备2. 原始模型直接推理3. 自定义数据集4. 模型训练5. 模型合并并导出 1. 前期准备
… 前言LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术适配市场主流开源模型形成一个功能丰富适配性好的训练框架。 目录 1. 前期准备2. 原始模型直接推理3. 自定义数据集4. 模型训练5. 模型合并并导出 1. 前期准备
下载源码https://github.com/hiyouga/LLaMA-Factory 环境搭建的话参考readme.md:
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .[torch,metrics]2. 原始模型直接推理
只需要配置template和model_name_or_path。 终端运行
CUDA_VISIBLE_DEVICES0 llamafactory-cli webchat \ --model_name_or_path /media/codingma/LLM/llama3/Meta-Llama-3-8B-Instruct \ --template llama3运行完可以在本地服务器访问http://localhost:7860/
3. 自定义数据集
llama-factory支持json格式文件自定义数据集中每条数据格式如下 { “prompt”: “介绍一下苹果”, “response”: “苹果公司Apple Inc.是一家美国跨国科技公司总部位于加利福尼亚州库比蒂诺。” } 将文件放到llama factory项目下的data文件夹然后编辑data_info.json文件添加数据集映射 demo: {file_name: demo.json,file_sha1:dwfewcevrvffcolumns: {prompt: prompt,response: response}demo是映射后使用的数据集别名file_name是数据集路径file_sha1不是必需的但是可以缓存预处理后的数据集避免二次训练时重新预处理sha1的生成可以通过终端运行shasum -a 1 filenamelinux命令columns是json文件中的列名映射
4. 模型训练
CUDA_VISIBLE_DEVICES0 python src/train_bash.py \--stage sft \ --do_train \ --model_name_or_path /media/codingma/LLM/llama3/Meta-Llama-3-8B-Instruct \ --dataset alpaca_gpt4_zh \ --dataset_dir ./data \ --template llama3 \ --finetuning_type lora \ --lora_target q_proj,v_proj \ --output_dir ./saves/LLaMA3-8B/lora/sft \ --overwrite_cache \ --overwrite_output_dir \ --cutoff_len 1024 \ --preprocessing_num_workers 16 \ --per_device_train_batch_size 2 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 8 \ --lr_scheduler_type cosine \ --logging_steps 50 \ --warmup_steps 20 \ --save_steps 100 \ --eval_steps 50 \ --evaluation_strategy steps \ --load_best_model_at_end \ --learning_rate 5e-5 \ --num_train_epochs 5.0 \ --max_samples 1000 \ --val_size 0.1 \ --plot_loss \ --fp16--logging_dir path_to_logging_directory一些重要参数解读
stage: 训练方式ptsft等model_name_or_path基础模型的路径dataset数据集名称data_info.json中的template模板在readme.md中可以找到对应的模型模板finetuning_type微调方式一般选loraoutput_dir存储模型路径logging_dir日志路径
5. 模型合并并导出
训练后得到的模型不能直接使用需要和基础模型合并后导出
CUDA_VISIBLE_DEVICES0 python src/export_model.py \--model_name_or_path qwen/Qwen-7B \--adapter_name_or_path /mnt/workspace/llama_factory_demo/qwen/lora/sft/checkpoint-50 \--template qwen \--finetuning_type lora \--export_dir /mnt/workspace/merge_w/qwen \--export_legacy_format Falsemodel_name_or_path: 基础模型路径adapter_name_or_path训练后的模型路径template模板finetuning_type微调方式export_dir导出模型路径