当前位置: 首页 > news >正文

如何避免和恢复因终端关闭导致的 LoRA 微调中断

环境:

Ubuntu20.04

Llama factory

Qwen2.5-7B-Instruct

llama.cpp

H20 95G

问题描述:

使用命令 CUDA_VISIBLE_DEVICES=1 FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/qwen2_5-7b_lora_sft.yaml 进行 LoRA 微调时,如果突然关闭终端窗口,微调进程会被中断。

在这里插入图片描述

解决方案:

  1. 中断原因

    • 终端关闭会发送 SIGHUP 信号,终止所有关联进程。
    • 未使用后台运行或会话管理工具(如 nohuptmux 等)。
  2. 如何确认中断

    • 检查训练日志,查看是否有异常终止记录。
    • 使用 nvidia-smi 检查 GPU 是否仍在运行训练任务。
    • 检查训练输出文件(如检查点)是否完整。
  3. 避免中断的方法

    • 使用 nohup
      nohup CUDA_VISIBLE_DEVICES=1 FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/qwen2_5-14b_lora_sft.yaml > train.log 2>&1 &
      

使用 sh -c 来包裹整个命令

这种方法可以确保环境变量被正确设置并应用于紧跟其后的命令:

nohup sh -c 'CUDA_VISIBLE_DEVICES=1 FORCE_TORCHRUN=1 python -m llamafactory.cli train examples/train_lora/qwen2_5-7b_lora_sft.yaml' > train.log 2>&1 &

实时日志查看:

tail -f train.log

在这里插入图片描述

  1. 中断后的恢复方法

    • 从检查点恢复
      CUDA_VISIBLE_DEVICES=1 FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/qwen2_5-14b_lora_sft.yaml --resume_from_checkpoint path_to_checkpoint
      
    • 重新开始训练:如果没有保存检查点,只能重新开始。
    • 检查日志和 GPU 状态:确认中断原因并解决问题。
  2. 总结

    • 使用后台运行或会话管理工具(如 `nohup``)避免中断。
    • 启用检查点保存功能,以便中断后可以恢复训练。
    • 定期检查训练日志和 GPU 状态,确保训练顺利进行。
http://www.dtcms.com/a/188125.html

相关文章:

  • 无锡哲讯科技:引领芯片封装SAP系统的智能化革命
  • 前端性能优化3:深入分析 Web Worker 和 Service Worker
  • Gmsh+OCC对应版本库编译
  • LabVIEW 程序运行时内存不足报错原因
  • 故障诊断模型评估——混淆矩阵,如何使样本量一致(上)
  • 【计算机组成原理】第二部分 存储器--分类、层次结构
  • Linux的域名解析服务器
  • 专题四:综合练习( 找出所有子集的异或总和再求和)
  • 每日Prompt:发光线条解剖图
  • 华秋2025电子设计与制造技术研讨会(华东站)成功举办!
  • 技术干货 | 如何用模块化仪器高效测试嵌入式微控制器?
  • 嵌入式培训之数据结构学习(二)顺序表与单向链表
  • 手机换IP真的有用吗?可以干什么?
  • 解锁向量数据库:实现高效过滤与管理的实用方法
  • OpenCV的CUDA模块进行图像处理
  • FPGA:XILINX FPGA产品线以及器件选型建议
  • 首个窗口级无人机配送VLN系统!中科院LogisticsVLN:基于MLLM实现精准投递
  • 使用PHP对接日本股票市场数据
  • VTK|类似CloudCompare的比例尺实现1-源码分析
  • 基于几何布朗运动的股价预测模型构建与分析
  • 云手机服务器搭建
  • http断点续传
  • RK3568移植鸿蒙系统openharmony-5.1.0-release
  • 养生:打造健康生活的全方位策略
  • Docker入门教程:常用命令与基础概念
  • Qt —— 在Windows10下通过在线安装方式安装Qt6.9.0(附:“server replied: Forbidden“网络出错解决办法)
  • MERGE INTO 与 INSERT INTO 语法分析及实战对比
  • 对抗帕金森:在疾病阴影下,如何重掌生活主动权?
  • 科学养生:构建现代健康生活新范式
  • (十六)Java String类全面解析