Llama Factory新手入门从环境搭建到模型推理一篇教程全搞定如果你对AI大模型感兴趣想自己动手训练一个专属的智能助手但又觉得写代码、调参数太复杂那今天这篇文章就是为你准备的。Llama Factory一个让你不用写一行代码就能在本地微调上百种大模型的神奇工具。无论是想做个能写周报的助手还是训练一个懂你业务的客服它都能帮你轻松实现。这篇文章我会带你从零开始手把手走完Llama Factory的完整流程环境怎么搭、数据怎么准备、模型怎么训练、最后怎么用起来。咱们不聊复杂的理论就讲实实在在的操作步骤保证你看完就能上手。1. 环境准备10分钟搞定安装首先咱们得把Llama Factory装到电脑上。这个过程比你想的要简单。1.1 系统要求在开始之前先看看你的电脑够不够格操作系统Windows、macOS、Linux都行推荐用Linux比如UbuntuPython版本需要Python 3.8或更高版本内存至少16GB越大越好显卡这是最重要的部分NVIDIA显卡需要支持CUDA显存至少8GB训练7B模型的最低要求如果没有独立显卡也可以用CPU跑但速度会很慢只适合小模型推理如果你用的是云服务器选择带NVIDIA显卡的实例就行。现在很多云平台都有现成的AI环境镜像能省不少事。1.2 快速安装步骤打开你的命令行终端Windows用PowerShell或CMDmacOS/Linux用Terminal跟着我一步步来# 1. 克隆Llama Factory的代码仓库 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git # 2. 进入项目目录 cd LLaMA-Factory # 3. 安装核心依赖 pip install -e .[torch,metrics]这三行命令执行完核心环境就装好了。--depth 1参数的意思是只下载最新代码不下载历史版本这样更快。安装完成后验证一下是否成功llamafactory-cli version如果看到版本号比如v0.7.0说明安装成功了。1.3 额外依赖按需安装Llama Factory很贴心把功能模块化了。基础安装只包含核心功能如果你有特殊需求可以按需安装# 如果你需要网页界面WebUI pip install -e .[webui] # 如果你需要多模态功能处理图片、视频、音频 pip install -e .[multimodal] # 如果你需要语音功能 pip install -e .[audio] # 如果你需要部署成API服务 pip install -e .[deploy] # 或者一次性安装所有功能 pip install -e .[all]我建议新手先装基础版用熟了再按需添加。这样环境更干净出问题的概率也小。1.4 显卡配置检查如果你有NVIDIA显卡还需要确认CUDA是否正确安装# 检查CUDA版本 nvidia-smi这个命令会显示显卡信息和CUDA版本。Llama Factory支持CUDA 11.8到12.4大部分情况都能自动适配。重要提示如果你用的是华为昇腾910B显卡32G或64G版本或者英伟达的A800/H80080GB显存Llama Factory也支持但需要额外的配置。不过对新手来说先从消费级显卡开始更简单。2. 数据准备让模型学会说话模型训练就像教小孩说话你得先准备好教材。Llama Factory支持多种数据格式咱们挑最常用的两种来讲。2.1 理解数据格式Llama Factory主要支持两种数据格式Alpaca格式和ShareGPT格式。简单理解Alpaca格式像填空题有固定的instruction指令、input输入、output输出字段ShareGPT格式像对话记录记录多轮对话的完整过程对于新手我建议先用Alpaca格式它更直观也更容易准备。2.2 Alpaca格式详解Alpaca格式是现在最流行的指令微调格式结构清晰容易理解。2.2.1 基础格式先看一个最简单的例子{ instruction: 计算这些物品的总费用。, input: 输入汽车 - $3000衣服 - $100书 - $20。, output: 汽车、衣服和书的总费用为 $3000 $100 $20 $3120。 }instruction你要模型做什么必填input具体的输入内容选填output期望的模型回答必填在实际训练时Llama Factory会把instruction和input拼接起来作为最终输入。比如上面的例子模型看到的是计算这些物品的总费用。\n输入汽车 - $3000衣服 - $100书 - $20。2.2.2 多轮对话格式如果你想训练一个能连续对话的模型可以用history字段{ instruction: 今天的天气怎么样, input: , output: 今天的天气不错是晴天。, history: [ [今天会下雨吗, 今天不会下雨是个好天气。], [今天适合出去玩吗, 非常适合空气质量很好。] ] }history里记录了之前的对话历史这样模型就能理解上下文了。2.2.3 偏好数据集格式有时候我们不仅要知道正确答案还要知道什么答案更好。这就是偏好数据集的作用{ instruction: 请介绍Python语言, input: , chosen: Python是一种高级编程语言以简洁易读著称..., rejected: Python是个软件可以用来写代码... }chosen是优质回答rejected是劣质回答。用这种数据训练模型能学会区分回答的好坏。2.2.4 准备你的数据集现在咱们来准备一个实际可用的数据集。假设你想训练一个中文客服助手创建数据文件新建一个my_dataset.json文件编写数据按照Alpaca格式写几条数据[ { instruction: 用户咨询退货政策, input: 我买的产品不满意可以退货吗, output: 您好我们支持7天无理由退货。请确保产品完好、包装齐全然后联系客服处理。 }, { instruction: 用户询问发货时间, input: 我昨天下的订单什么时候能发货, output: 订单一般在24小时内处理发货物流需要1-3天。您可以在订单详情查看物流信息。 }, { instruction: 用户反馈问题, input: 我收到的产品有瑕疵怎么办, output: 非常抱歉给您带来不便。请拍照发给我们客服我们会尽快为您处理换货或退款。 } ]添加到数据集列表Llama Factory通过dataset_info.json文件管理所有数据集。你需要在这个文件里注册你的数据集{ my_dataset: { file_name: my_dataset.json, format: alpaca } }这个文件在data/dataset_info.json找到它把你的数据集信息加进去就行。小技巧刚开始训练时数据不用太多50-100条高质量数据就够模型学到基本能力了。等效果满意了再慢慢增加数据量。2.3 数据质量很重要准备数据时记住这几个原则多样性覆盖不同的场景和问题类型一致性相似的问题要有相似的答案格式准确性答案要正确、有用适量新手从50-100条开始效果好再增加如果你不想自己准备数据Llama Factory内置了很多现成的数据集比如alpaca_zh中文Alpaca、sharegpt对话数据等可以直接用。3. 模型训练一键开启微调之旅环境准备好了数据也准备好了现在进入最激动人心的环节训练模型Llama Factory提供了两种训练方式命令行和Web界面。新手我强烈推荐用Web界面点点鼠标就能完成所有操作。3.1 启动Web界面打开终端输入llamafactory-cli webui等一会儿你会看到类似这样的输出Running on local URL: http://127.0.0.1:7860用浏览器打开这个地址http://127.0.0.1:7860就能看到Llama Factory的Web界面了。界面主要分为四个部分训练配置和启动模型训练评估与预测测试模型效果对话和训练好的模型聊天导出把训练好的模型保存起来3.2 第一次训练配置咱们以训练一个中文对话助手为例一步步配置步骤1选择模型在模型标签页模型路径选择你要微调的基础模型。新手可以从Qwen2.5-1.5B-Instruct开始这个模型小训练快模板选择对应的模板。Qwen系列选qwenLlama系列选llama3步骤2配置训练方法在方法标签页训练阶段选SFT监督微调这是最常用的微调方式微调类型新手建议选LoRA它只训练一小部分参数速度快显存要求低LoRA目标模块保持默认all就行步骤3选择数据集在数据集标签页数据集选择你准备好的数据集。如果你用了内置数据集直接选就行预处理工作线程数根据你的CPU核心数设置一般设8-16最大样本数新手可以先设1000快速验证流程步骤4设置训练参数在训练参数标签页关键参数就这几个批次大小根据显存调整。8GB显存可以设116GB可以设2学习率LoRA训练一般用1e-4到5e-4训练轮数新手先设3轮看看效果输出目录设置一个文件夹名训练结果会保存到这里步骤5开始训练所有配置检查一遍点击开始训练按钮。你会看到训练日志开始滚动loss损失值逐渐下降。训练时间取决于模型大小、数据量和你的显卡。以Qwen2.5-1.5B模型、1000条数据、RTX 4090显卡为例大概需要30分钟到1小时。训练过程中的小贴士如果训练中断了可以在适配器路径里选择上次的输出目录Llama Factory会自动从断点继续训练训练时loss不是一直下降的会有波动只要总体趋势向下就行随时可以点停止训练按钮中断结果会自动保存3.3 命令行训练方式如果你更喜欢命令行也可以这样训练# 基本训练命令 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml # 可以覆盖配置文件里的参数 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml \ learning_rate1e-5 \ logging_steps1Llama Factory提供了很多示例配置文件在examples目录下。你可以复制一个过来按需修改。3.4 不同训练方法对比Llama Factory支持多种微调方法适合不同需求方法训练参数显存需求训练速度适合场景Full微调全部参数非常高慢专业需求效果最好Freeze微调部分参数中等中等平衡效果和资源LoRA微调少量参数低快新手入门快速验证对于大多数新手我建议从LoRA开始。它只需要训练原模型0.1%-1%的参数但效果能达到Full微调的90%以上性价比极高。4. 模型推理让你的模型开口说话训练完成后最期待的时刻来了和你的模型对话4.1 Web对话界面训练完成后回到Web界面的对话标签页加载模型在模型部分选择你刚才训练时用的基础模型加载适配器在适配器路径里选择训练输出的目录选择模板和训练时保持一致开始对话在输入框里提问点击发送试试问一些你训练数据里相关的问题比如如果你训练了客服助手可以问产品有质量问题怎么办你会看到模型按照你教的方式回答你。第一次看到自己训练的模型回答问题那种成就感试过才知道4.2 命令行推理如果你需要批量处理问题或者集成到其他系统里可以用命令行# 加载微调后的模型进行对话 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml配置文件里只需要指定模型路径和适配器路径# examples/inference/llama3_lora_sft.yaml model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct adapter_name_or_path: saves/llama3-8b/lora/sft # 你的训练输出目录 template: llama3 finetuning_type: lora4.3 批量推理有时候我们需要用模型处理大量数据比如测试集评估。Llama Factory提供了批量推理功能在Web界面的评估与预测标签页选择预测模式上传包含问题的数据集文件设置输出路径开始预测模型会批量处理所有问题把答案保存到文件里。这对于评估模型效果特别有用。4.4 提升推理速度如果你觉得推理速度慢可以试试vLLM推理引擎# 在配置文件中添加 infer_backend: vllmvLLM能显著提升推理速度特别是处理长文本时。不过它需要额外安装pip install vllm5. 模型评估看看训练效果如何训练完了咱们得知道模型学得怎么样。Llama Factory提供了多种评估方式。5.1 通用能力评估如果你想测试模型的基础能力比如数学、逻辑、常识可以用内置的评估数据集llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml配置文件示例# examples/train_lora/llama3_lora_eval.yaml model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct adapter_name_or_path: saves/llama3-8b/lora/sft finetuning_type: lora # 选择评估任务 task: mmlu_test # 也可以选ceval_validation中文或cmmlu_test template: fewshot lang: en n_shot: 5 # 少样本学习给5个例子 save_dir: saves/llama3-8b/lora/eval batch_size: 4评估完成后会生成一个报告显示模型在各个类别上的准确率。5.2 生成质量评估对于对话、写作这类生成任务我们更关心生成文本的质量。可以用BLEU和ROUGE分数来评估llamafactory-cli train examples/extras/nlg_eval/llama3_lora_predict.yaml这个命令会让模型在测试集上生成回答然后计算与标准答案的相似度分数。5.3 人工评估自动评估指标只能作为参考最终还是要人来看。我建议你设计测试集准备20-30个典型问题覆盖不同场景让模型回答用你的模型和原始模型都回答一遍对比分析看看微调后的模型在专业问题上是否更准确回答风格是否符合预期有没有学到错误的东西人工评估虽然费时但最能反映模型的真实表现。6. 模型导出与部署让模型真正用起来训练好的模型最终要部署到实际环境中使用。Llama Factory提供了方便的导出功能。6.1 LoRA权重合并如果你用的是LoRA微调推理时需要同时加载基础模型和LoRA适配器。这样不太方便部署。我们可以把它们合并成一个完整的模型llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml配置文件示例# examples/merge_lora/llama3_lora_sft.yaml model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct adapter_name_or_path: saves/llama3-8b/lora/sft template: llama3 finetuning_type: lora export_dir: models/llama3_lora_sft # 导出目录 export_size: 2 # 保存为FP16格式 export_device: cpu # 在CPU上合并节省显存合并后的模型就是一个完整的模型文件可以直接用Hugging Face的transformers库加载。6.2 模型量化大模型很占空间一个7B的模型就要14GB。我们可以通过量化来压缩# 在导出配置中添加量化设置 quantization_bit: 8 # 8位量化精度损失小 # 或者 quantization_bit: 4 # 4位量化压缩率高量化后的模型大小FP16半精度原大小INT88位量化减少约50%INT44位量化减少约75%量化会损失一些精度但对于很多应用来说完全够用而且推理速度还能提升。6.3 部署为API服务如果你想在Web应用或移动App里调用模型可以部署成API# 启动API服务 llamafactory-cli api examples/inference/llama3_lora_sft.yaml默认会在7860端口启动服务你可以用curl或Python requests库调用import requests response requests.post( http://localhost:7860/api/chat, json{ messages: [ {role: user, content: 你好请介绍一下你自己} ] } ) print(response.json()[response])这样任何能发送HTTP请求的程序都能调用你的模型了。7. 常见问题与解决方案新手在使用Llama Factory时常会遇到一些问题。这里我总结了一些常见问题和解决方法7.1 显存不足怎么办这是最常见的问题。试试这些方法使用更小的模型从1.5B或3B参数模型开始使用LoRA微调LoRA比Full微调节省很多显存减小批次大小把per_device_train_batch_size设为1使用梯度累积增大gradient_accumulation_steps比如设为8启用梯度检查点在配置中添加gradient_checkpointing: true7.2 训练loss不下降如果训练了很久loss没什么变化检查学习率学习率太大或太小都不行试试1e-4到5e-4检查数据质量数据太少或质量太差模型学不到东西检查数据格式确保数据格式正确字段名没有拼错增加训练轮数有些模型需要更多轮数才能收敛7.3 模型回答不符合预期如果模型回答很奇怪检查模板确保训练和推理用的模板一致检查数据一致性训练数据里的instruction和output要对应尝试不同的提示词在推理时给一些系统提示比如你是一个专业的客服助手调整温度参数把temperature设低一点比如0.3让回答更确定7.4 训练速度太慢加速训练的方法使用FlashAttention在配置中添加flash_attn: true使用混合精度训练添加fp16: true或bf16: true使用DeepSpeed对于多卡训练DeepSpeed能显著加速使用Unsloth专门为LoRA优化的加速库8. 总结走到这里你已经完成了Llama Factory的完整入门之旅。咱们回顾一下都学到了什么第一步环境搭建- 用几行命令就装好了Llama Factory比想象中简单多了。第二步数据准备- 学会了Alpaca格式知道怎么准备训练数据。记住数据质量比数量更重要。第三步模型训练- 通过Web界面点点鼠标就能训练模型LoRA微调对新手特别友好又快又省资源。第四步模型推理- 训练完马上就能和模型对话看到自己的劳动成果那种成就感很棒。第五步模型评估- 用自动评估和人工评估结合的方式客观判断模型效果。第六步部署使用- 把模型导出、量化、部署成API让它在实际场景中发挥作用。给新手的几个建议从小开始先用小模型、小数据量跑通整个流程再慢慢扩大重视数据花时间准备高质量的训练数据这是成功的关键多次迭代不要指望一次训练就完美多训练几次每次调整一些参数实际测试用真实场景的问题测试模型而不仅仅是评估指标Llama Factory最大的价值就是让大模型微调变得触手可及。你不用再担心复杂的代码和配置可以专注于数据和业务逻辑。无论是做个人助手、专业客服还是行业应用现在你都有能力自己定制了。训练大模型就像教小孩需要耐心需要好的教材数据也需要正确的方法参数。但当你看到模型按照你的期望回答问题的那一刻所有的努力都值得。现在打开你的电脑开始你的第一个大模型微调项目吧。从一个小目标开始比如训练一个能帮你写周报的助手或者一个能回答产品问题的客服。每一步成功都会给你继续前进的动力。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。