山东天成建设工程有限公司网站,电脑网站制作教程,网站建设 添加本地视频教程,做网站的主营业务使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览… 使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览和执行命令4.5. 训练完成 5. 与微调后的模型聊天5.1. 加载模型5.2. 开始聊天5.3. 导出模型5.4. 使用Vllm启动 总结 引言
本文将介绍如何使用LLaMA-Factory对AI进行微调使其具备“忍者”的认知并认知其是由“富士电视台”开发的。 1. 安装LLaMA-Factory
1.1. 克隆仓库
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory1.2. 创建虚拟环境
conda create -n llama_factory python3.11 -y
conda activate llama_factory1.3. 安装LLaMA-Factory
pip install -e .[torch,metrics]1.4. 验证
import torch
print(torch.cuda.current_device())
print(torch.cuda.get_device_name(0))
print(torch.__version__)
print(torch.cuda.is_available())2. 准备数据
2.1. 创建数据集
进入LLaMA-Factory目录
cd LLaMA-Factory复制identity.json并创建identity_ninja.json
cp data/identity.json data/identity_ninja.json将{{name}}和{{author}}替换为“忍者”和“富士电视台”
sed -i s/{{name}}/一人の忍者/g data/identity_ninja.json
sed -i s/{{author}}/フジテレビ/g data/identity_ninja.json验证
head data/identity_ninja.json2.2. 更新数据集信息
编辑data/dataset_info.json添加新的数据集
vi data/dataset_info.json添加以下内容 identity_ninja: {file_name: identity_ninja.json},3. 启动LLaMA-Factory
启动LLaMA-Factory
llamafactory-cli webui在浏览器中访问http://localhost:7860。
4. 进行微调
4.1. 设置模型
设置模型名称和微调方法本文使用Vicuna-v1.5-7B-Chat作为基础模型。 4.2. 预览数据集
点击“预览数据集”按钮确认数据。 4.3. 设置学习率等参数
设置学习率和训练轮数。 4.4. 预览和执行命令
设置输出目录点击“预览命令”按钮确认命令无误后点击“开始”。 命令示例
llamafactory-cli train \--stage sft \--do_train True \--model_name_or_path lmsys/vicuna-7b-v1.5 \--preprocessing_num_workers 16 \--finetuning_type lora \--template vicuna \--flash_attn auto \--dataset_dir data \--dataset identity_ninja \--cutoff_len 2048 \--learning_rate 0.0001 \--num_train_epochs 6.0 \--max_samples 100000 \--per_device_train_batch_size 2 \--gradient_accumulation_steps 2 \--lr_scheduler_type cosine \--max_grad_norm 1.0 \--logging_steps 5 \--save_steps 100 \--warmup_steps 0 \--packing False \--report_to none \--output_dir saves/Vicuna-v1.5-7B-Chat/lora/train_vicuna_7b_identity_ninja_1e-4_epoch6 \--bf16 True \--plot_loss True \--trust_remote_code True \--ddp_timeout 180000000 \--include_num_input_tokens_seen True \--optim adamw_torch \--lora_rank 8 \--lora_alpha 16 \--lora_dropout 0 \--loraplus_lr_ratio 16 \--lora_target all4.5. 训练完成
训练完成后会显示以下消息 5. 与微调后的模型聊天
5.1. 加载模型
选择“检查点路径”点击“Chat”选项卡然后点击“加载模型”。 5.2. 开始聊天
模型加载完成后输入问题并确认AI的回答。此时AI将具备“忍者(一人の忍者)”的认知并认知其是由“富士电视台(フジテレビ)”开发的。 5.3. 导出模型
选择“检查点路径”点击“Export”选项卡输入“导出目录”然后点击“导出”。 导出完成后会显示“模型导出完成”消息。
5.4. 使用Vllm启动
使用以下命令在Vllm中启动导出的模型
CUDA_VISIBLE_DEVICES3,1,0,2 VLLM_USE_V11 VLLM_WORKER_MULTIPROC_METHODspawn vllm serve /root/HuggingFaceCache/models--lmsys--vicuna-7b-v1.5-sft --trust-remote-code --served-model-name gpt-4 --gpu-memory-utilization 0.98 --tensor-parallel-size 4 --port 8000总结
通过以上步骤我们成功使用LLaMA-Factory对AI进行了微调使其具备特定的认知。希望大家能够尝试并应用这些方法进行更多的定制化。