Qwen1.5训练监控工具:TensorBoard与WandB使用指南

【免费下载链接】Qwen1.5 【免费下载链接】Qwen1.5 项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen1.5

在模型训练过程中,实时监控训练指标、可视化模型性能变化是优化模型效果的关键环节。本文将介绍如何为Qwen1.5模型训练集成TensorBoard和Weights & Biases(WandB)两大主流监控工具,帮助开发者直观掌握训练动态,及时调整超参数。

工具选择与环境准备

TensorBoard是TensorFlow生态的可视化工具,适合本地训练监控;WandB(Weights & Biases)则提供云端实验跟踪、团队协作功能,支持多设备数据同步。两者结合可满足不同场景的监控需求。

前置依赖安装

需安装以下Python包:

pip install tensorboard wandb transformers datasets accelerate

项目中与训练相关的配置文件可参考examples/llama-factory/qwen2-7b-full-sft.yaml,该文件定义了模型微调的基础参数框架。

TensorBoard本地监控实现

集成到训练流程

在训练脚本中添加TensorBoard回调,需修改训练入口文件(如train.py):

from torch.utils.tensorboard import SummaryWriter

# 初始化TensorBoard写入器
writer = SummaryWriter(log_dir="./logs/tensorboard")

# 训练循环中记录指标
for epoch in range(num_epochs):
    loss = model.train_step(batch)
    writer.add_scalar("Train/Loss", loss, epoch)
    writer.add_scalar("Train/Accuracy", acc, epoch)
    
writer.close()

启动与查看

执行训练脚本后,通过以下命令启动TensorBoard:

tensorboard --logdir=./logs/tensorboard --port=6006

访问http://localhost:6006即可查看损失曲线、学习率变化等实时指标。

WandB云端实验跟踪

初始化与配置

  1. 注册WandB账号并获取API密钥:
wandb login your_api_key
  1. 在训练脚本中初始化WandB:
import wandb

wandb.init(
    project="qwen1.5-finetune",
    name="qwen2-7b-lora-sft",
    config={
        "learning_rate": 2e-4,
        "batch_size": 16,
        "epochs": 10
    }
)

关键指标记录

训练过程中记录关键指标:

# 记录单值指标
wandb.log({"train_loss": loss, "val_acc": accuracy}, step=epoch)

# 保存模型权重
wandb.save("./checkpoints/model_epoch_5.pt")

# 训练结束标记
wandb.finish()

监控指标体系设计

核心监控指标

建议重点跟踪以下指标: | 指标类型 | 关键指标 | 监控工具 | |----------------|---------------------------|----------------| | 模型性能 | 训练损失、验证准确率 | TensorBoard/WandB | | 资源利用 | GPU显存占用、CPU利用率 | TensorBoard | | 超参数影响 | 学习率、批大小对Loss影响 | WandB |

日志配置示例

项目中日志模块可参考examples/speed-benchmark/speed_benchmark_vllm.py的实现:

import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.info(f"Training started with batch size {batch_size}")

常见问题与解决方案

TensorBoard无数据显示

  • 检查日志路径是否正确:确保log_dir与启动命令中的--logdir一致
  • 权限问题:确认当前用户对日志目录有读写权限
  • 版本兼容性:TensorBoard 2.10+需匹配PyTorch 1.10+

WandB同步失败

  • 网络问题:配置代理或使用离线模式wandb offline
  • API密钥错误:重新执行wandb login验证凭据
  • 训练中断:通过wandb resume恢复实验记录

扩展与最佳实践

多实验对比

使用WandB的"Experiments"面板可同时对比不同超参数组合的训练效果,例如比较qwen2-7b-lora-sft.yamlqwen2-7b-qlora-sft.yaml的量化训练效果差异。

自动化报告生成

WandB支持自动生成实验报告,可在项目设置中开启"Auto-Report"功能,训练结束后将收到包含关键指标、混淆矩阵的详细报告。

更多训练调优技巧可参考官方文档docs/source/training/llama_factory.md,该文档详细介绍了基于Llama Factory框架的Qwen1.5微调流程。通过合理配置监控工具,可显著提升模型迭代效率,缩短从实验到部署的周期。

【免费下载链接】Qwen1.5 【免费下载链接】Qwen1.5 项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen1.5

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐