基于Docker的LLaMA-Factory全流程部署指南一、环境准备与基础部署1.1 系统要求操作系统Linux推荐Ubuntu 20.04GPUNVIDIA显卡显存建议≥16GB软件依赖Docker、NVIDIA Container Toolkit1.2 下载代码# 克隆仓库仅最新版本gitclone--depth1https://github.com/hiyouga/LLaMA-Factory.git# 进入目录cdLLaMA-Factory# 切换到指定版本gitfetch--tagsgitcheckout v0.9.31.3 制作镜像# 返回上级目录cd..# 构建Docker镜像docker-compose-fLLaMA-Factory/docker/docker-cuda/docker-compose.ymlup--build1.4 创建容器# 后台启动容器docker-compose-fLLaMA-Factory/docker/docker-cuda/docker-compose.ymlup-d# 查看容器状态docker-composeps1.5 启动LLaMA-Factory服务# 进入容器dockerexec-itllamafactory /bin/bash# 设置目录权限chmod-R777/app/data# 启动WebUI服务nohupllamafactory-cli webui/app/webui.log211.6 访问服务浏览器访问http://服务器IP:7860二、自定义数据集配置2.1 数据格式Alpaca格式[{instruction:Summarize the following text.,input:Artificial intelligence (AI) is a rapidly growing field...,output:AI is an evolving technology that is growing quickly in various fields...}]字段说明字段说明instruction任务指令告诉模型需要完成什么操作input任务所需的输入开放式任务可为空字符串output任务的期望输出2.2 注册数据集修改/app/data/dataset_info.json文件添加数据集配置alpaca_crypto_security_assessment:{file_name:alpaca_crypto_security_assessment.json},alpaca_security_gateway:{file_name:alpaca_security_gateway.json},alpaca_super_sim_gm_pool:{file_name:alpaca_super_sim_gm_pool.json},alpaca_trusted_auth:{file_name:alpaca_trusted_auth.json}数据集文件需放置在/app/data/目录下。三、微调参数详解3.1 学习率Learning Rate概念决定模型参数每次更新的调整幅度范围通常在 (0, 1) 之间。配置经验一般保持在5e-50.00005~4e-50.00004之间小数据集避免使用大学习率全参数微调需要比LoRA小一个数量级3.2 训练轮数Number of Epochs概念模型完整遍历一次全部训练数据的次数。配置经验一般3轮即可观察LOSS未平缓则增加轮数提前收敛则减少LOSS控制在0.5 ~ 1.5之间不建议超过10轮易过拟合数据集越小 → 需越多Epoch数据集越大 → 需越少Epoch3.3 批量大小Batch Size概念每次更新模型参数时使用的样本数量。配置经验大batch_size → 大学习率小batch_size → 小学习率小参数模型、小数据集单GPU batch size建议从2甚至1开始通过调大梯度累积步数4或8加快训练3.4 截断长度Cutoff Length概念模型处理文本时能接收的最大token数量。配置经验避免单条超长数据导致显存溢出建议计算数据集Token长度的P99、P95值可剔除超长数据以减少对训练效果的影响计算Token长度分布torchrun--nproc_per_node1\scripts/stat_utils/length_cdf.py\--model_name_or_path/app/DeepSeek-R1-Distill-Qwen-7B\--datasetalpaca_crypto_security_assessment\--dataset_dirdata\--templateqwen3.5 LoRA秩LoRA Rank概念决定参数更新“表达能力”的关键参数值越小越保守值越大特征复杂度越高。配置经验日常微调建议从8~16开始效果不佳可调大最低建议≥8小数据集避免调得过大3.6 验证集比例Val Size概念从训练数据中划分用于性能评估的比例。配置经验数据集规模推荐比例建议样本数小数据10000.1 ~ 0.2≥100大数据100000.05 ~ 0.1≥1000四、启动微调任务4.1 完整训练命令示例llamafactory-cli train\--stagesft\--do_trainTrue\--model_name_or_path/app/DeepSeek-R1-Distill-Qwen-7B\--preprocessing_num_workers16\--finetuning_typelora\--templatedeepseekr1\--flash_attnauto\--dataset_dirdata\--datasetalpaca_crypto_security_assessment,alpaca_security_gateway,alpaca_super_sim_gm_pool,alpaca_trusted_auth\--cutoff_len2000\--learning_rate4e-05\--num_train_epochs3.0\--max_samples100000\--per_device_train_batch_size2\--gradient_accumulation_steps4\--lr_scheduler_typecosine\--max_grad_norm1.0\--logging_steps5\--save_steps100\--warmup_steps0\--packingFalse\--report_tonone\--use_swanlabTrue\--output_dirsaves/DeepSeek-R1-7B-Distill/lora/train_2025-10-15-07-09-01\--bf16True\--plot_lossTrue\--trust_remote_codeTrue\--ddp_timeout180000000\--include_num_input_tokens_seenTrue\--optimadamw_torch\--lora_rank8\--lora_alpha16\--lora_dropout0\--lora_targetall\--val_size0.1\--eval_strategysteps\--eval_steps100\--per_device_eval_batch_size24.2 开始训练在WebUI界面中点击「开始训练」按钮即可启动微调任务。五、常见问题与建议问题解决方案显存不足降低batch_size、cutoff_len或启用梯度检查点过拟合减少epochs、增大验证集比例、降低LoRA rank欠拟合增加epochs、提高学习率、增大LoRA rank训练中断检查截断长度是否合理剔除超长样本本文档基于LLaMA-Factory v0.9.3编写实际操作时请根据硬件配置和数据特点灵活调整参数。