📖 完整教程请看
LoRA微调大模型实战教程.md(约 900 行,零基础到部署,含全部踩坑记录)。 本 README 只是仓库导航,详细步骤以教程为准。
| 文件 | 作用 |
|---|---|
LoRA微调大模型实战教程.md |
📖 主教程(环境 → 数据 → 训练 → 验证 → 部署) |
LoRA微调实战全记录.md |
|
scripts/train_coding.py |
最终稳定版训练脚本(自动保存 / 续训 / 防显存碎片) |
scripts/test_inference.py |
训练后推理验证脚本 |
scripts/merge_lora.py |
把 LoRA 合并进基础模型 |
scripts/generate_data_deepseek.py |
用 DeepSeek V4 Flash API 造训练数据 |
scripts/train_coding_v3.py |
✅ 推荐版训练脚本(官方模板,修空答) |
scripts/test_inference_v3.py |
✅ 推荐版推理验证(官方模板) |
scripts/generate_seeds_4000.py |
批量生成 4000+ 多样种子题(可复现) |
data/seed_tasks_4000.jsonl |
4000+ 种子题(配合生成脚本造大规模数据) |
data/seed_tasks.jsonl |
种子任务模板(改这里 = 改训练内容) |
data/my_sft.json |
sharegpt 格式示例(human/gpt 角色,别写成 assistant) |
原版与微调版本地部署对比测试报告.md |
📊 原版 vs LoRA 微调版 本地部署实测对比(LM Studio + Vulkan,6 题逐题、完整回答、调参建议) |
scripts/compare_gguf_windows.py |
🖥️ Windows/Linux 通用:自动起 llama-server 对比两个 GGUF(同一组题同一参数) |
legacy/ |
第一版(LLaMA-Factory 路线)遗留文件,已弃用,勿用 |
📊 最新实测结果见
原版与微调版本地部署对比测试报告.md:微调版无思考旁白/空答、速度快一倍以上、代码不输原版;但有"提前停笔"倾向,建议采样解码 + 调大 max tokens。
Qwen/Llama 开源基座 + DeepSeek API 造数据 + LoRA 微调 + 本地部署,单张 16G 显卡即可跑通(本项目用 Tesla V100 实测)。
conda activate ft
export DEEPSEEK_API_KEY=sk-你的Key
python scripts/generate_data_deepseek.py --input data/seed_tasks.jsonl --output data/my_sft.json --workers 8 # ① 造数据
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True nohup python train_coding.py > train_coding.log 2>&1 & # ② 后台训练
tail -f train_coding.log # ③ 看进度
python test_inference_v3.py # ④ 验证效果(官方模板版)
python merge_lora.py # ⑤ 合并 LoRA(可选)✅ 推荐用官方模板版脚本(
train_coding_v3.py+test_inference_v3.py),解决空答问题,原因与完整对比见教程 6.6 / FAQ Q11。
⚠️ 文件放法(详见教程 4.0):把仓库复制进 WSL 后,train_coding.py、test_inference.py、merge_lora.py放在~/llm-project/根目录;generate_data_deepseek.py放在~/llm-project/scripts/;data/整个放进去。教程里所有/home/tyts/路径要换成你自己的用户名。
- 报
CUDA error: unknown error→ 先看显存满没满(nvidia-smi),没满就wsl --update升级 WSL - 训练到一半断了 → 脚本每 25 步自动保存,重跑同一条命令自动续训
- 完整 FAQ 见教程第七章,显卡适配见教程附录 D