# autodl_prep **Repository Path**: xiemulei/autodl_prep ## Basic Information - **Project Name**: autodl_prep - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-27 - **Last Updated**: 2026-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoDL 微调 Hermes Agent 知识库 基于 LLaMA-Factory,在 AutoDL 云平台上对 Qwen2.5-7B-Instruct 进行 QLoRA 微调,训练数据为 500 条 Hermes Agent 知识问答对。 ## 项目结构 ``` autodl_prep/ ├── data/ │ └── my_custom_data.json # 500 条训练数据(Alpaca 格式) ├── dataset_info.json # 数据集注册配置 ├── setup_env.sh # 完整环境搭建脚本(含模型下载) ├── setup_env_no_model.sh # 环境搭建脚本(不含模型下载) ├── setup_env_test.sh # 测试环境脚本(使用 0.5B 小模型) ├── train_qwen_qlora.yaml # 7B 模型训练配置 ├── train_qwen_qlora_test.yaml # 0.5B 模型测试训练配置 ├── run_train.sh # 一键训练 ├── run_inference.sh # 一键推理 ├── run_export.sh # 合并权重 └── README.md # 本文件 ``` ## 快速开始 ### 1. 租用 AutoDL 实例 推荐配置: - 显卡:RTX 5090 24G(或 RTX 4090 24G) - 系统:Ubuntu 22.04 - 磁盘:至少 50G 可用空间 ### 2. 克隆项目 ```bash cd ~/autodl-tmp git clone https://gitee.com/xiemulei/autodl_prep.git ``` ### 3. 环境搭建 **正式环境(下载 Qwen2.5-7B-Instruct,约 15GB):** ```bash bash ~/autodl-tmp/autodl_prep/setup_env_no_model.sh ``` **测试环境(下载 Qwen2.5-0.5B-Instruct,约 1GB,推荐先跑通流程):** ```bash bash ~/autodl-tmp/autodl_prep/setup_env_test.sh ``` > 脚本会自动完成:创建 conda 虚拟环境 `llama-factory`、安装 PyTorch + CUDA、克隆 LLaMA-Factory、下载模型。 ### 4. 复制数据文件 ```bash cp ~/autodl-tmp/autodl_prep/data/my_custom_data.json ~/LLaMA-Factory/data/ cp ~/autodl-tmp/autodl_prep/dataset_info.json ~/LLaMA-Factory/data/ ``` ### 5. 训练 **测试训练(0.5B 模型,几分钟完成,验证流程):** ```bash conda activate llama-factory cd ~/LLaMA-Factory llamafactory-cli train ~/autodl-tmp/autodl_prep/train_qwen_qlora_test.yaml ``` **正式训练(7B 模型,需较长时间):** ```bash conda activate llama-factory cd ~/LLaMA-Factory llamafactory-cli train ~/autodl-tmp/autodl_prep/train_qwen_qlora.yaml ``` ### 6. 推理 **命令行推理:** ```bash llamafactory-cli chat ~/autodl-tmp/autodl_prep/train_qwen_qlora.yaml ``` **WebUI 推理:** ```bash llamafactory-cli webui ``` 在浏览器中打开提示的地址,选择 `LoRA` 微调类型,加载训练输出的 checkpoint 路径。 ### 7. 合并权重(可选) 将 LoRA 权重合并到基础模型中,得到完整模型: ```bash llamafactory-cli export ~/autodl-tmp/autodl_prep/train_qwen_qlora.yaml ``` 合并后的模型位于 `output_dir` 配置的目录下。 ## 训练参数说明 ### 测试配置(train_qwen_qlora_test.yaml) | 参数 | 值 | 说明 | |------|-----|------| | 模型 | Qwen2.5-0.5B-Instruct | 约 1GB,快速验证 | | lora_rank | 8 | 小 rank,快速测试 | | epochs | 1 | 单轮 | | cutoff_len | 512 | 截断长度 | | batch_size | 1 | 每设备 | | gradient_accumulation | 4 | 梯度累积 | ### 正式配置(train_qwen_qlora.yaml) | 参数 | 值 | 说明 | |------|-----|------| | 模型 | Qwen2.5-7B-Instruct | 生产级模型 | | lora_rank | 64 | 更大 rank,效果更好 | | epochs | 3 | 三轮训练 | | cutoff_len | 2048 | 截断长度 | | batch_size | 2 | 每设备 | | gradient_accumulation | 8 | 梯度累积 | | quantization_bit | 4 | QLoRA 4-bit 量化 | ## 数据格式 训练数据采用 Alpaca 格式,每条数据包含: ```json {"instruction": "问题", "input": "", "output": "答案"} ``` - `instruction`:用户问题/指令 - `input`:额外输入(通常为空) - `output`:期望的回答 ## 常见问题 ### CUDA 版本不匹配 RTX 5090 需要 CUDA 12.8 的 PyTorch。如果训练时出现 `CUDA error: no kernel image is available`,请升级: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 ``` ### 找不到 dataset_info.json 确保已将数据文件复制到 LLaMA-Factory 的 data 目录: ```bash cp ~/autodl-tmp/autodl_prep/dataset_info.json ~/LLaMA-Factory/data/ cp ~/autodl-tmp/autodl_prep/data/my_custom_data.json ~/LLaMA-Factory/data/ ``` ### 路径问题 YAML 配置文件中的路径使用绝对路径(`/root/...`),不使用 `~/` 简写。如果手动修改配置,请确保所有路径都是完整的绝对路径。 ### 显存不足 - 降低 `per_device_train_batch_size` - 增加 `gradient_accumulation_steps` - 减小 `cutoff_len`