首页
/ Qwen2-VL-Finetune 项目使用与配置指南

Qwen2-VL-Finetune 项目使用与配置指南

2026-01-30 05:24:05作者:韦蓉瑛

1. 项目的目录结构及介绍

Qwen2-VL-Finetune 项目是一个用于微调 Qwen2-VL 和 Qwen2.5-VL 系列模型的开源项目。项目的目录结构如下:

  • scripts/: 包含项目运行所需的脚本文件,如启动训练、模型微调等。
  • src/: 源代码目录,包含项目的主要实现代码。
  • .gitignore: 指定 Git 忽略的文件和目录。
  • LICENSE: 项目使用的 Apache-2.0 许可文件。
  • README.md: 项目的说明文件,介绍了项目的使用方法和功能特性。
  • environment.yaml: 定义项目运行所需的环境和依赖。

2. 项目的启动文件介绍

项目的启动文件位于 scripts/ 目录下,主要包括以下脚本:

  • finetune.sh: 用于启动全量微调的脚本。
  • finetune_8bit.sh: 用于启动使用 8 位精度进行微调的脚本。
  • finetune_lora.sh: 用于启动仅对语言模型使用 LoRA 微调的脚本。
  • finetune_lora_vision.sh: 用于启动对语言模型和视觉模型同时使用 LoRA 微调的脚本。

用户可以根据自己的需求选择相应的脚本启动训练。

3. 项目的配置文件介绍

项目的配置文件主要包括以下内容:

  • zero2.jsonzero3.json: DeepSpeed 配置文件,用于指定分布式训练的参数。
  • environment.yaml: 环境配置文件,定义了项目运行所需的 Python 包和版本。

scripts/ 目录下的脚本中,可以通过命令行参数来配置训练的相关选项,以下是一些常用的配置参数:

  • --data_path: 指定 LLaVA 格式的训练数据的路径(必填)。
  • --image_folder: 指定训练数据中图片的文件夹路径(必填)。
  • --model_id: 指定 Qwen2-VL 模型的路径(必填)。
  • --output_dir: 指定模型检查点的输出目录。
  • --num_train_epochs: 指定训练的轮数。
  • --per_device_train_batch_size: 指定每个 GPU 的训练批次大小。
  • --gradient_accumulation_steps: 指定梯度累积的步数。
  • --freeze_vision_tower: 是否冻结视觉模型。
  • --freeze_llm: 是否冻结语言模型。
  • --tune_merger: 是否微调投影器。
  • --num_lora_modules: 指定添加 LoRA 的目标模块数量。
  • --vision_lr: 视觉模型的 learning rate。
  • --merger_lr: 投影器的 learning rate。
  • --learning_rate: 语言模型的 learning rate。
  • --bf16: 是否使用 bfloat16 精度。
  • --fp16: 是否使用 fp16 精度。

通过合理配置这些参数,用户可以根据自己的需求调整训练过程。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起