# Qwen3.5-0.8B 本地模型微调指南 ## 前提条件 1. ✅ 已在本地下载 Qwen3.5-0.8B 模型 2. ✅ 已安装 FineTuneX 依赖 3. ✅ Python 3.9+ 环境 ## 使用步骤 ### 1. 配置模型路径 打开 `examples/qwen3.5_0.8b_local_finetune.py`,修改以下配置: ```python # 本地模型路径(请根据实际情况修改) local_model_path = "./models/Qwen3.5-0.8B" # 示例路径: # Windows: local_model_path = "D:\\AI_Models\\Qwen3.5-0.8B" # Linux: local_model_path = "/home/user/models/Qwen3.5-0.8B" ``` ### 2. 运行微调脚本 ```bash python examples/qwen3.5_0.8b_local_finetune.py ``` ### 3. 等待训练完成 脚本会自动: - 加载本地模型 - 加载示例数据集 - 配置 LoRA - 开始训练 - 保存微调后的模型 - 进行推理测试 ### 4. 使用微调后的模型 ```bash python scripts/inference.py --model_path ./outputs/qwen3.5-0.8b-finetuned --interactive ``` ## 自定义配置 ### 修改训练参数 在脚本中修改 `config` 对象: ```python config = QwenConfig( model_name=local_model_path, # LoRA 配置 lora_r=16, # LoRA 秩 (8, 16, 32) lora_alpha=32, # LoRA alpha (通常是 r 的 2 倍) lora_dropout=0.05, # Dropout 率 # 训练配置 per_device_train_batch_size=1, gradient_accumulation_steps=4, learning_rate=2e-4, num_train_epochs=3, max_seq_length=512, # 量化配置 use_4bit=True, # 使用 4bit 量化节省显存 ) ``` ### 使用自己的数据集 ```python # 修改数据集路径 dataset_path = "path/to/your/dataset.json" # 数据集格式: [ { "instruction": "你的指令", "input": "输入(可选)", "output": "期望输出" } ] ``` ## 显存优化 如果显存不足,可以调整以下参数: ```python # 降低显存占用的配置 config = QwenConfig( use_4bit=True, # 启用 4bit 量化 per_device_train_batch_size=1, # 减小批次大小 gradient_accumulation_steps=8, # 增加梯度累积 max_seq_length=256, # 减小序列长度 ) ``` ## 训练时间估算 | 数据集大小 | Epochs | 批次大小 | 预计时间 (单卡) | |-----------|--------|---------|----------------| | 100 条 | 3 | 1 | ~10 分钟 | | 1000 条 | 3 | 1 | ~1-2 小时 | | 10000 条 | 3 | 2 | ~10-15 小时 | *注:时间取决于 GPU 性能* ## 常见问题 ### Q: 找不到模型路径怎么办? A: 确保路径正确,可以使用绝对路径: ```python local_model_path = "/absolute/path/to/Qwen3.5-0.8B" ``` ### Q: 训练时显存不足? A: 尝试: 1. 启用 4bit 量化:`use_4bit=True` 2. 减小 `max_seq_length` 3. 减小 `per_device_train_batch_size` 4. 增加 `gradient_accumulation_steps` ### Q: 如何恢复训练? A: 修改脚本,添加恢复检查点: ```python trainer.train(resume_from_checkpoint="./outputs/qwen3.5-0.8b-finetuned/checkpoint-100") ``` ### Q: 训练完成后如何使用? A: 使用推理脚本: ```bash python scripts/inference.py --model_path ./outputs/qwen3.5-0.8b-finetuned --interactive ``` ## 输出目录结构 训练完成后,输出目录结构: ``` outputs/qwen3.5-0.8b-finetuned/ ├── adapter_config.json # LoRA 配置 ├── adapter_model.safetensors # LoRA 权重 ├── tokenizer.json # Tokenizer ├── tokenizer_config.json # Tokenizer 配置 └── training_args.bin # 训练参数 ``` ## 推送模型到 HuggingFace(可选) ```python # 在脚本最后添加: trainer.push_to_hub("your-username/qwen3.5-0.8b-finetuned") ``` ## 下一步 1. 测试微调后的模型 2. 评估模型性能 3. 使用更大的数据集训练 4. 调整超参数优化效果 祝微调顺利!🚀