Skip to content

Repository files navigation

学校 AI 协会:LoRA 微调大模型实战仓库

📖 完整教程请看 LoRA微调大模型实战教程.md(约 900 行,零基础到部署,含全部踩坑记录)。 本 README 只是仓库导航,详细步骤以教程为准。

目录结构

文件 作用
LoRA微调大模型实战教程.md 📖 主教程(环境 → 数据 → 训练 → 验证 → 部署)
LoRA微调实战全记录.md ⚠️ 早期草稿(未写完,仅到第 4 章),回顾用,执行以教程为准
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 实测)。

快速开始(环境已搭好时,在 WSL 的 ~/llm-project 下)

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.pytest_inference.pymerge_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

About

Qwen3.5-4B LoRA 微调实战教程:单卡 16G 显卡(Tesla V100)从零到部署,含全部踩坑记录。AI 协会新生中文教材 + 配套脚本

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages