luojiehua ca11e597ed 支持Qwen3.0 6 napja
..
README_Qwen3.5_Local.md ed712dad24 初始提交 2 hete
colab_example.py ed712dad24 初始提交 2 hete
quantization_workflow.py ed712dad24 初始提交 2 hete
quantize_awq.py ed712dad24 初始提交 2 hete
quantize_gguf.py ed712dad24 初始提交 2 hete
quantize_gptq.py ed712dad24 初始提交 2 hete
quantize_lora_model.py ed712dad24 初始提交 2 hete
qwen3.5_0.8b_finetune.py ca11e597ed 支持Qwen3.0 6 napja
qwen3.5_0.8b_local_finetune.py ca11e597ed 支持Qwen3.0 6 napja
qwen3_1.7b_local_finetune.py ca11e597ed 支持Qwen3.0 6 napja

README_Qwen3.5_Local.md

Qwen3.5-0.8B 本地模型微调指南

前提条件

  1. ✅ 已在本地下载 Qwen3.5-0.8B 模型
  2. ✅ 已安装 FineTuneX 依赖
  3. ✅ Python 3.9+ 环境

使用步骤

1. 配置模型路径

打开 examples/qwen3.5_0.8b_local_finetune.py,修改以下配置:

# 本地模型路径(请根据实际情况修改)
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. 运行微调脚本

python examples/qwen3.5_0.8b_local_finetune.py

3. 等待训练完成

脚本会自动:

  • 加载本地模型
  • 加载示例数据集
  • 配置 LoRA
  • 开始训练
  • 保存微调后的模型
  • 进行推理测试

4. 使用微调后的模型

python scripts/inference.py --model_path ./outputs/qwen3.5-0.8b-finetuned --interactive

自定义配置

修改训练参数

在脚本中修改 config 对象:

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 量化节省显存
)

使用自己的数据集

# 修改数据集路径
dataset_path = "path/to/your/dataset.json"

# 数据集格式:
[
  {
    "instruction": "你的指令",
    "input": "输入(可选)",
    "output": "期望输出"
  }
]

显存优化

如果显存不足,可以调整以下参数:

# 降低显存占用的配置
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: 确保路径正确,可以使用绝对路径:

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: 修改脚本,添加恢复检查点:

trainer.train(resume_from_checkpoint="./outputs/qwen3.5-0.8b-finetuned/checkpoint-100")

Q: 训练完成后如何使用?

A: 使用推理脚本:

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(可选)

# 在脚本最后添加:
trainer.push_to_hub("your-username/qwen3.5-0.8b-finetuned")

下一步

  1. 测试微调后的模型
  2. 评估模型性能
  3. 使用更大的数据集训练
  4. 调整超参数优化效果

祝微调顺利!🚀