# lora_train **Repository Path**: hongshu2018/lora_train ## Basic Information - **Project Name**: lora_train - **Description**: 模型微调 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-08-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Libai LoRA 训练工具 基于 Unsloth 的中文古诗词 LoRA 微调训练框架,支持 Qwen2.5-4B-Instruct 模型。 ## 功能特性 - 使用 [Unsloth](https://unsloth.ai/) 实现高效 LoRA 训练(显存占用降低 60%) - 支持自定义数据集(JSON 格式) - WebUI 界面管理训练任务 - Docker 部署支持 - 支持 LoRA 权重合并 ## 项目结构 ``` . ├── scripts/ # 核心脚本 │ ├── train_libai_lora.py # 训练脚本 │ ├── generate_libai_data.py # 数据生成工具 │ └── merge_lora.py # LoRA 合并脚本 ├── webui/ # WebUI │ ├── server.py # FastAPI 后端 │ └── templates/ │ └── index.html # 前端界面 ├── Dockerfile # Docker 配置 ├── docker-compose.yml # Docker Compose 配置 ├── start_webui.sh # Linux/Mac 启动脚本 └── start_webui.bat # Windows 启动脚本 ``` ## 快速开始 ### 方式一:WebUI 启动 ```bash # 安装依赖 pip install unsloth transformers peft trl bitsandbytes accelerate # 启动 WebUI python -m uvicorn webui.server:app --host 0.0.0.0 --port 8501 ``` 然后访问 http://localhost:8501 ### 方式二:命令行训练 ```bash python scripts/train_libai_lora.py \ --local_model ./models/Qwen2.5-4B-Instruct \ --data ./output/train/libai/libai_train_1000.json \ --output ./output/models/libai-lora \ --epochs 3 \ --batch_size 2 \ --lr 2e-4 \ --r 16 ``` ### 方式三:Docker 部署 ```bash docker-compose up --build ``` ## 训练参数说明 | 参数 | 默认值 | 说明 | |------|--------|------| | `--epochs` | 3 | 训练轮数 | | `--batch_size` | 2 | 批大小 | | `--lr` | 2e-4 | 学习率 | | `--r` | 16 | LoRA rank | | `--max_seq` | 2048 | 最大序列长度 | ## 数据集格式 ```json [ { "instruction": "请以'春天'为题写一首七言绝句", "input": "", "output": "《春》\n绿柳新芽映日红,桃花笑靥对春风。\n莺歌燕舞生机盎,万物苏醒待繁荣。" } ] ``` ## 合并 LoRA 权重 训练完成后,可以将 LoRA 权重合并到基础模型: ```bash python scripts/merge_lora.py \ --base_model ./models/Qwen2.5-4B-Instruct \ --lora_adapter ./output/models/libai-lora/checkpoint-402 \ --output ./output/models/libai-lora/merged ``` ## 环境要求 - Python 3.10+ - CUDA 11.0+ (建议 12.0+) - 显存: 12GB+ (RTX 3060 可运行) - 依赖: unsloth, transformers, peft, trl ## License MIT