Received Signals.SIGHUP death signal, shutting down workers

单机多卡训练大模型的时候,突然报错:


  3%|▎         | 146/4992 [2:08:21<72:57:12, 54.20s/it][2024-05-10 13:27:11,479] torch.distributed.elastic.agent.server.api: [WARNING] Received Signals.SIGHUP death signal, shutting down workers
[2024-05-10 13:27:11,481] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 46635 closing signal SIGHUP
[2024-05-10 13:27:11,481] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 46636 closing signal SIGHUP
[2024-05-10 13:27:11,481] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 46637 closing signal SIGHUP
Traceback (most recent call last):
  File "/home/wangguisen/miniconda3/bin/accelerate", line 8, in <module>
    sys.exit(main())
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 46, in main
    args.func(args)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/accelerate/commands/launch.py", line 1073, in launch_command
    multi_gpu_launcher(args)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/accelerate/commands/launch.py", line 718, in multi_gpu_launcher
    distrib_run.run(args)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/run.py", line 803, in run
    elastic_launch(
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 135, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent
    result = agent.run()
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/elastic/metrics/api.py", line 123, in wrapper
    result = f(*args, **kwargs)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/api.py", line 727, in run
    result = self._invoke_run(role)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/api.py", line 868, in _invoke_run
    time.sleep(monitor_interval)
  File "/home/wangguisen/miniconda3/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 62, in _terminate_process_handler
    raise SignalException(f"Process {os.getpid()} got signal: {sigval}", sigval=sigval)
torch.distributed.elastic.multiprocessing.api.SignalException: Process 46460 got signal: 1

我的环境:

  • torch:2.2
  • Python:3.10

我是以 nohup 的形式后台运行的:

nohup sh ./dk/multi_run_demo.sh &

看了issues后,我们使用 screen 或 tmux 代替,具体是为什么大家可以看一下下面的链接:

  1. 下载 tmux:
sudo apt-get install tmux # ubuntu
sudo yum install tmux # centos

在命令行输入 tmux 即可进入 tmux 的界面,其常用命令如下:

  • 查看当前全部的tmux会话:tmux ls

  • 新建会话:tmux new -s [会话名字]

  • 分离会话并回到原始界面:tmux detach

  • 重新进入会话:

    • 按照编号:tmux attach -t 0
    • 按照名字:tmux attach -t [会话名字]
  • kill会话:

    • 按照编号:tmux kill-session -t 0
    • 按照名字:tmux kill-session -t [会话名字]
    • 或者会话内直接输入exit
  • 使用快捷键需要先按一下ctrl(control)+b,然后:

    • 快捷键帮助:ctrl+b,然后按一下?,最后按Esc退出
    • 查看当前全部的tmux会话:ctrl+b,然后按一下s
    • 分离会话并回到原始界面:ctrl+b,然后按一下d
  1. 后台运行

我们的 shell 脚本内容如下:

CUDA_VISIBLE_DEVICES=0,1,2 accelerate launch \
    --config_file yamls/accelerate_single_config.yaml \
    src/train.py yamls/qwen_lora_sft_multi_gpu_demo.yaml \
    > weights/run.log 2>&1

脚本名为:multi_run_demo.sh,给它权限:

chmod +x ./dk/multi_run_demo.sh

然后新建一个 tmux 会话:

tmux new -s multi_run_demo

然后在新的窗口中运行:

./dk/multi_run_demo.sh

此时我们的程序已经运行了:

在这里插入图片描述

利用快捷键分离页面,回到我们的原始页面:ctrl(control)+b,然后d

在这里插入图片描述

要是想看运行情况,也可以:

tmux attach -t multi_run_demo

另外,可以使用 accelerate 的--main_process_port XXX 重新指定端口号

ref:

https://github.com/pytorch/pytorch/issues/76894

https://github.com/hiyouga/ChatGLM-Efficient-Tuning/issues/72

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/613280.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java转Kotlin调用JNI方法异常

一、背景 Java调用JNI方法时没有任何问题&#xff0c;但是使用Java转Kotlin以后出现了崩溃异常&#xff1a;A java_vm_ext.cc:597] JNI DETECTED ERROR IN APPLICATION: jclass has wrong type: 校验参数后没有任何变化&#xff0c;经过分析验证找到解决方案 二、原因…

Java入门基础学习笔记16——运算符

package cn.ensource.operator;public class OperatorDemo1 {public static void main(String[] args) {// 目标&#xff1a;掌握基本的算术运算符的使用int a 10;int b 2;System.out.println(a b);System.out.println(a - b);System.out.println(a * b); // 20System.out.…

4步快速配置Java、MySQL、Maven环境(windows)

每次入职一家新公司或者用一台其他的临时电脑或者新电脑时都要重新配置Java开发环境&#xff0c;很麻烦&#xff0c;因此我在这里记录一下快速配置环境的方式&#xff0c;四步搞定&#xff01;此处以win为操作系统进行讲解。 第一步&#xff1a;下载链接 下载链接&#xff1a…

【半夜学习MySQL】数据库中的数据类型(含数值类型、文本二进制类型、时间类型、String类型详谈)

&#x1f3e0;关于专栏&#xff1a;半夜学习MySQL专栏用于记录MySQL数据相关内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 数据类型分类数值类型bit类型tinyint类型int类型float类型decimal类型 文本、二进制类型char类型varchar类型 时间类型Strin…

51单片机入门:串口通信

串行通信的初步认识 通信方式分类 1、按照数据传送方式&#xff1a; 并行通信&#xff1a;通信时数据的各个位同时传送&#xff0c;可以实现字节为单位的通信。 但是通信线多&#xff0c;占用资源多&#xff0c;成本高。 串行通信&#xff1a;一次只能发送一位&#xff0c…

机器学习-Numpy

机器学习-Numpy 如果一个人拒绝提高自己的思想觉悟&#xff0c;那么他只能处在弱小、可怜、凄惨的境地。 目录 机器学习-Numpy 1.Numpy&#xff1a;生成矩阵 做矩阵运算 1&#xff09;创建矩阵 ①使用列表创建 ②使用元组创建 2&#xff09;矩阵取值 3&#xff09;numpy…

【栈】Leetcode 字符串解码

题目讲解 394. 字符串解码 算法讲解 这道题有四种情况&#xff1a;1.遍历的时候遇到数字&#xff0c;我们计算并保存数字&#xff0c;将它加入到数字栈中&#xff1b;2.遍历的时候遇到[&#xff0c;我们就把字符保存&#xff0c;加入到字符栈中&#xff1b;3.当遇到]&#x…

全栈开发之路——前端篇(9)插槽、常用api和全局api

全栈开发一条龙——前端篇 第一篇&#xff1a;框架确定、ide设置与项目创建 第二篇&#xff1a;介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇&#xff1a;setup语法&#xff0c;设置响应式数据。 第四篇&#xff1a;数据绑定、计算属性和watch监视 第五篇 : 组件…

【2024亚马逊云科技峰会】Amazon Bedrock + Llama3 生成式AI实践

在 4 月 18 日&#xff0c;Meta在官网上公布了旗下最新大模型Llama 3。目前&#xff0c;Llama 3已经开放了80亿&#xff08;8B&#xff09;和700亿&#xff08;70B&#xff09;两个小参数版本&#xff0c;上下文窗口为8k&#xff0c;据称&#xff0c;通过使用更高质量的训练数据…

HTML实现3D相册

目录 写在前面 HTML简介 完整代码 代码分析 注意事项 系列推荐 写在最后 写在前面 本期小编给大家推荐一个炫酷的3D相册&#xff0c;可以更换照片哦&#xff0c;一起来看看吧~ HTML简介 HTML&#xff0c;即HyperText Markup Language&#xff0c;是一种广泛应用的超文…

扩展van Emde Boas树以支持卫星数据:设计与实现

扩展van Emde Boas树以支持卫星数据&#xff1a;设计与实现 1. 引言2. vEB树的基本概念3. 支持卫星数据的vEB树设计3.1 数据结构的扩展3.2 操作的修改3.3 卫星数据的存储和检索 4. 详细设计和实现4.1 定义卫星数据结构体4.2 修改vEB树节点结构4.3 插入操作的伪代码4.4 C语言实现…

GPIO输出速度(ARM-GD32)

单片机输出速度对GPIO硬件的影响 如果T为100ns 那么2/3*100ns 67ns 那么tr tf 38 ns &#xff08;也就是不能超过32ns&#xff09; tr 和tf和什么东西有关如何去控制 CL 是一个电容&#xff0c;电容会改变和影响电压变化的速率&#xff0c;输出高低电平也就是对电容进行充电…

【DDR 终端稳压器】Sink and Source DDR Termination Regulator [A]

Sink Source 这两个词被翻译的有点混乱了&#xff0c;有点“输入”“输出”的意思&#xff0c;但是还是不准确&#xff1b; 1 Sink 去到英英词典看看&#xff0c;母语是怎么介绍的吧。 to go down below the surface or towards the bottom of a liquid or soft substances…

uniapp 版本检查更新

总体来说uniapp的跨平台还是很不错的&#xff0c;虽然里面各种坑要去踩&#xff0c;但是踩坑也是开发人员的必修课和成长路。 这不&#xff0c;今天就来研究了一下版本检查更新就踩到坑了。。。先来看看检查更新及下载、安装的实现。 先来看看页面&#xff1a; 从左到右依次为…

了解 条码工具 Dynamsoft 在条码读取器中的形态运算

在图像处理中&#xff0c;术语形态学是指分析形状以填充小孔、去除噪声、提取轮廓等的一组操作。形态学操作很像空间卷积中的过滤过程。有两个部分在起作用&#xff1a;结构元素和预定义的计算规则。 点击下载Dynamsoft最新版https://www.evget.com/product/3691/download 结…

块元素、内联元素、行内块元素

一、介绍&#xff1a; CSS元素划分成块元素、行内元素&#xff08;内联元素&#xff09;、行内块元素等多种常用类型。也就是说&#xff1a;在CSS中&#xff0c;元素根据其在页面上的布局方式被分为不同的显示类型。 背景&#xff1a;HTML负责定义网页的结构和内容&#xff0c…

YOLO系列笔记(十四)——Compute Canada计算平台及其常见命令介绍

Compute Canada平台及其常见命令介绍 前言优势使用方法1. 检查模块不带版本号带版本号 2. 加载模块3. 检查模块是否加载成功4. 创建虚拟环境5. 编写作业脚本6. 提交作业7. 监控作业状态8. 查看作业开始预计时间9. 查看作业的详细输出10. 取消作业 注意结语 前言 大家好&#x…

hypack如何采集多波束数据?(上)

多波束设备有3种&#xff1a;多波束阵列&#xff0c;比如Seabat T50P&#xff1b;相干声纳&#xff0c;比如EdgeTeck 6205&#xff1b;多个单波束并列&#xff0c;比如Ross Sweep System&#xff0c;见下图。 辅助传感器主要有&#xff1a;罗经&#xff08;提供航向&#xff09…

[C++核心编程-07]----C++类和对象之友元应用

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

轻量级开源即时通讯项目:Open Im Server

Open Im Server&#xff1a;轻松搭建&#xff0c;随心沟通&#xff0c;让距离更近一步&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 Open IM Server 是一个基于 Go 实现的轻量级全功能开源即时通讯服务器项目&#xff0c;专为需要高度定制和扩展性的应用程序设计。…