手把手实操:环境部署 + 电力数据集制作 + QLoRA 训练产出 LoRA 权重)
目录Ollama 本地大模型微调实战二手把手实操环境部署 电力数据集制作 QLoRA 训练产出 LoRA 权重前言一、硬件最低适配标准二、全套环境一键安装命令2.1 先装好 Ollama 客户端2.2 深度学习运行依赖三、拉取训练所用基座模型四、电力专业数据集规范编写决定微调最终效果的核心4.1 存储格式4.2 电力数据集示范样本可直接扩充使用4.3 数据集制作硬性要求五、方式一LLaMA-Factory 网页可视化训练新手首选不用手写代码1、启动网页服务2、页面关键参数配置固定最优参数7B/8B 通用3、训练产物六、方式二原生 Python 训练代码适合自动化、对接第三章自我进化七、本章常见报错解决本篇总结前言上一篇我们厘清了底层原理依靠外部代码 / LLaMA-Factory 训练 LoRA 权重Ollama 只负责加载运行。本篇全程落地操作适配 Arc A770 16G、RTX4060 这类普通消费显卡目标训练出适配国网工作场景的 Hermes 电力专属 LoRA 文件。 整套流程分为四块依赖环境安装 → 基座模型拉取 → 电力标准数据集编写 → 两种训练方式可视化网页、原生 Python 代码。一、硬件最低适配标准模型尺寸QLoRA 4bit 最低显存推荐硬件Hermes 8B8GB 显存容易爆显存16G 显存你的 Arc A770 完美运行Hermes 13B12GB 显存起步4070Ti、3090 等高显存显卡全文全部采用 4bit 量化训练最大限度压缩显存占用普通家用电脑无需专业算力卡。二、全套环境一键安装命令2.1 先装好 Ollama 客户端Windows/macOS 直接官网下载安装包Linux 执行这条命令curl -fsSL https://ollama.com/install.sh | sh # 校验是否安装成功 ollama --version2.2 深度学习运行依赖打开 CMD / 终端逐条执行安装# 安装Pytorch CUDA版本 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 大模型训练全套依赖包 pip install transformers datasets peft accelerate bitsandbytes sentencepiece protobuf scipy trl # 拉取可视化训练框架 LLaMA-Factory git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -r requirements.txt三、拉取训练所用基座模型选用 Hermes3:8b 作为基础模型上下文理解强、对话格式统一适配后续自我进化闭环# Ollama拉取基座模型 ollama pull hermes3:8bOllama 模型本地存放路径WindowsC:\Users\你的用户名\.ollama\modelsLinux~/.ollama/models训练读取权重时可以直接引用该路径文件。四、电力专业数据集规范编写决定微调最终效果的核心4.1 存储格式新建train.json文件放置在训练同级目录使用 Alpaca 标准格式。 字段说明instruction用户提问电力问题、工作需求input补充输入内容无额外信息填空字符串output标准标准答案必须严格贴合国网规程、作业规范禁止编造内容4.2 电力数据集示范样本可直接扩充使用[ { instruction: 简述雨天配网户外巡检硬性安全规定, input: , output: 1、雷雨天气立刻终止所有室外巡检作业人员撤离至坚固建筑物内2、小雨巡检必须穿戴绝缘雨披、绝缘靴、绝缘手套全套防护用品3、禁止触碰潮湿杆塔、避雷器、户外端子箱4、雨后优先排查杆塔基础冲刷、线路树障放电、设备进水受潮缺陷。 }, { instruction: 解释电力两票三制具体内容, input: , output: 两票工作票、操作票三制交接班制度、设备巡回检查制度、设备定期试验轮换制度是配网现场作业最基础的安全管理制度。 }, { instruction: 配网线路频繁跳闸常见故障原因汇总, input: , output: 雷击闪络、树木碰触导线、外力施工破坏线缆、小动物搭接短路、线路覆冰断线、设备绝缘老化击穿、台区负荷过载、避雷器故障击穿。 }, { instruction: 变压器日常巡视必查项目有哪些, input: , output: 油位与油色是否正常、有无渗漏油现象、套管有无破损放电痕迹、本体有无异响异味、散热风扇运转状态、接地装置完好性、箱体有无锈蚀破损。 }, { instruction: 工作票终结需要满足哪些条件, input: , output: 现场所有工作人员撤离作业区域、检修临时安全措施全部拆除、现场物料工具清点完毕、设备恢复原有运行状态、双方工作负责人现场确认签字。 } ]4.3 数据集制作硬性要求数量最低 50 条可用想要效果稳定建议 200~1000 条高质量问答内容覆盖安规、巡检、故障处置、两票管理、变电设备、负荷分析六大方向质量优先劣质、错误的回答数据只会让模型回答更加混乱。五、方式一LLaMA-Factory 网页可视化训练新手首选不用手写代码1、启动网页服务进入克隆的 LLaMA-Factory 文件夹执行cd LLaMA-Factory python src/webui.py浏览器自动打开地址http://127.0.0.1:78602、页面关键参数配置固定最优参数7B/8B 通用模型名称填写本地 hermes3 模型物理路径微调方式QLoRA4bit 量化数据集上传刚刚编写的 train.json 文件训练超参Batch size2梯度累积步数2学习率2e-4训练轮数 epoch35epoch 过高极易出现过拟合LoRA 秩 r8lora_alpha16其余参数保持默认点击【开始训练】3、训练产物训练结束后输出 adapter 文件夹内部包含adapter_config.json与safetensors权重文件这就是我们需要挂载到 Ollama 的电力 LoRA 适配器。六、方式二原生 Python 训练代码适合自动化、对接第三章自我进化新建train_power_lora.py复制下方全部代码修改文件路径即可直接运行import torch from datasets import load_dataset from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig from peft import LoraConfig, get_peft_model from trl import SFTTrainer # 自定义配置区 BASE_MODEL_PATH NousResearch/Hermes-3-8B DATA_JSON_PATH ./train.json OUTPUT_LORA_FOLDER ./power_hermes_lora # 4bit量化配置降低显存占用 bnb_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_use_double_quantTrue, bnb_4bit_quant_typenf4, bnb_4bit_compute_dtypetorch.bfloat16 ) # LoRA标准配置 lora_config LoraConfig( r8, lora_alpha16, target_modules[q_proj, v_proj], lora_dropout0.05, biasnone, task_typeCAUSAL_LM ) # # 加载分词器与模型 tokenizer AutoTokenizer.from_pretrained(BASE_MODEL_PATH) tokenizer.pad_token tokenizer.eos_token model AutoModelForCausalLM.from_pretrained( BASE_MODEL_PATH, quantization_configbnb_config, device_mapauto, trust_remote_codeTrue ) model get_peft_model(model, lora_config) # 加载电力训练数据集 train_dataset load_dataset(json, data_filesDATA_JSON_PATH, splittrain) # 组装训练器 trainer SFTTrainer( modelmodel, tokenizertokenizer, train_datasettrain_dataset, dataset_text_fieldinstruction, max_seq_length1024, args{ per_device_train_batch_size: 2, gradient_accumulation_steps: 2, learning_rate: 2e-4, num_train_epochs: 3, output_dir: OUTPUT_LORA_FOLDER, fp16: True, optim: paged_adamw_8bit } ) # 执行训练 保存LoRA权重 if __name__ __main__: print(开始训练电力专属LoRA权重) trainer.train() trainer.save_model(OUTPUT_LORA_FOLDER) print(f训练完成LoRA文件存放目录{OUTPUT_LORA_FOLDER})运行命令python train_power_lora.py运行完毕后当前目录生成power_hermes_lora文件夹即为可用适配器文件。七、本章常见报错解决显存溢出调小 batch_size、缩短 max_seq_length务必开启 4bit 量化bitsandbytes 报错更新 CUDA 环境重新安装对应版本 torch训练后模型没有专业效果检查数据集答案是否标准、epoch 数量是否充足数据集读取失败json 文件格式严格合法不要存在多余逗号。本篇总结1、完成全套运行环境部署适配本地独显训练 2、掌握电力行业数据集标准写法这是微调效果的根本 3、提供两套训练方案可视化界面适合新手原生代码适合自动化迭代 4、本章最终产出物可用的电力 LoRA 适配器文件。下一篇第三篇讲解Modelfile 挂载 LoRA 打包 Ollama 私有模型 Hermes 全自动自我进化闭环搭建实现模型自主生成电力数据、自我打分、迭代变强。