Windows 10上仅用CPU微调大语言模型的完整指南:基于LLaMA-Factory 0.9.2

SINAPSA Infocomplex


前言

随着大语言模型(LLM)的普及,越来越多的开发者希望根据自己的需求对模型进行定制化训练。然而,许多用户在缺乏高性能GPU的情况下,难以完成这一任务。本文将以LLaMA-Factory 0.9.2为核心工具,详细介绍如何在Windows 10系统中仅使用CPU完成LLM的微调、导出与测试。本指南适用于有一定编程基础的用户,所有步骤均经过实测验证。


环境准备

1. 安装Python 3.12.9

首先,确保系统中已安装Python 3.12.9版本。可从Python官网下载对应安装包。安装完成后,建议通过以下命令清理Python缓存(可选操作):

pip cache purge

2. 创建项目目录

在硬盘(例如D盘)中新建一个文件夹(如lafa),用于存放后续所有文件:

D:
mkdir lafa

3. 安装LLaMA-Factory

进入目标目录,通过Git克隆LLaMA-Factory仓库并安装依赖:

cd D:\lafa
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

数据集与路径配置

4. 准备数据集文件夹

lafa目录下创建datasets_mymodels文件夹,并放入以下必需文件:

  • identity.json
  • dataset_info.json
  • c4_demo.jsonl

这些文件可从LLaMA-Factory的data文件夹中复制。

5. 修改默认路径

打开LLaMA-Factory\src\llamafactory\webui\common.py文件,修改以下路径参数:

DEFAULT_DATA_DIR = "D:/lafa/datasets_mymodels"  # 数据集目录
DEFAULT_SAVE_DIR = "D:/lafa/lafa_llms_created"  # 模型保存目录

6. 安装依赖库

进入LLaMA-Factory根目录,安装所有依赖:

pip install -r requirements.txt

CPU环境适配

7. 安装CPU版PyTorch

卸载默认安装的GPU版PyTorch,替换为CPU专用版本:

pip uninstall -y torch torchvision torchaudio
pip install torch==2.2.2+cpu torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cpu

8. 修改训练脚本

打开LLaMA-Factory\src\train.py文件,在def main():前添加以下代码,强制使用CPU:

device = torch.device('cpu')

9. 调整WebUI启动参数

修改LLaMA-Factory\src\llamafactory\webui\runner.py文件中的Popen调用,添加shell=True参数:

self.trainer = Popen(["llamafactory-cli", "train", save_cmd(args)], env=env, shell=True)

启动训练与监控

10. 启动WebUI

进入LLaMA-Factory\src目录,运行以下命令启动训练界面:

webui --device cpu

若提示“CUDA环境未检测到”,可忽略此警告。训练进度将在命令行界面实时显示。

11. 处理常见错误

  • 训练未启动:检查llamafactory-cli是否安装正确,必要时重新克隆仓库并清理缓存。
  • 路径错误:确保common.py中的目录路径使用正斜杠(/)且无拼写错误。

模型导出与格式转换

12. 导出模型为Safetensors

训练完成后,模型默认保存在LLaMA-Factory\src\saves\Custom\lora\。如需自定义保存路径,可在common.py中修改DEFAULT_SAVE_DIR

13. 合并适配器与基础模型

复制LLaMA-Factory\examples\train_lora中的配置文件(如qwen2vl_lora.sft.yaml)到模型目录,并修改以下参数:

model_name_or_path: "基础模型路径(从HuggingFace下载)"
adapter_name_or_path: "微调后的模型路径"
export_dir: "合并后的模型导出路径"

运行合并命令:

llamafactory-cli export 配置文件路径

14. 转换为GGUF格式

安装llama.cpp并执行转换:

python llama.cpp/convert_hf_to_gguf.py 输入模型路径 --outfile 输出路径.gguf --outtype q8_0

注意:若转换失败,需检查模型配置文件(如config.json)是否包含完整的架构参数。


模型测试与部署

15. 在LM Studio中加载模型

将生成的GGUF文件复制到LM Studio的模型目录(如D:\llm_for_lmstudio\lmstudio_models),启动软件后即可在模型列表中找到微调后的版本。

16. 验证模型效果

通过提问测试模型是否掌握了特定领域的知识。例如,若微调目标是医疗问答,可输入相关专业问题,对比基线与微调后的回答质量。


结语

通过本指南,即使仅使用CPU,用户也能高效完成大语言模型的微调与部署。关键点在于环境配置的准确性和步骤执行的顺序。实际应用中,建议从小规模数据集开始验证流程,逐步扩展到完整任务。未来,随着工具链的优化,CPU训练的效率将进一步提升。