【PyTorch】分布式訓練報錯記錄-ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1)

最近,我在服務器上起基于PyTorch分布式框架的預訓練實驗,起初實驗都在順利進行,但是當我們把模型的深度與寬度調大之后,模型在訓練幾代之后便會出現如下的報錯:

WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41495 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41497 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41498 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41500 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41502 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41504 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 41506 closing signal SIGTERM
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 1 (pid: 41496)
of binary: /home/user/anaconda3/envs/conda-envs/bin/python
Traceback (most recent call last):File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/runpy.py", line 194, in _run_module_as_mainreturn _run_code(code, main_globals, None,File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/runpy.py", line 87, in _run_codeexec(code, run_globals)File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/launch.py", l
ine 193, in <module>main()File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/launch.py", l
ine 189, in mainlaunch(args)File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/launch.py", l
ine 174, in launchrun(args)File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/run.py", line710, in runelastic_launch(File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/launcher/api.
py", line 131, in __call__
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/user/anaconda3/envs/conda-envs/lib/python3.8/site-packages/torch/distributed/launcher/api.
py", line 259, in launch_agentraise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
run_pretraining.py FAILED
------------------------------------------------------------
Failures:<NO_OTHER_FAILURES>
------------------------------------------------------------
Root Cause (first observed failure):
[0]:time      : 2024-08-30_09:05:52host      : ae83085e5bc2rank      : 1 (local_rank: 1)exitcode  : 1 (pid: 41496)error_file: <N/A>traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
============================================================

起初,我認為是batch size太大的問題,導致GPU顯存不夠,但是當我調小之后,問題照常發生。之后,我更新了PyTorch框架到2.0,但還是出現這樣的問題。
?

后續,在觀察實驗日志的時候發現,訓練期間我的梯度范數(grad_norm)變化非常不穩定,于是我順著這條線去查,遂把原因歸結為優化方面的問題。

之后,我發現對于學習率的設置,我是使用了學習率擴張法則,我的總batch為800,遠遠大于設定的256,因此導致實際訓練中,我的初始學習率由我設置的3e-4轉變為1e-3,從而導致學習率太大,進而造成了訓練坍塌。

基于上述結論,我將初始學習率調整為2e-4,模型恢復正常訓練。

上述bug出現的原因各不相同,我把我的報錯原因分享給大家,僅供參考。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910616.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910616.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910616.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

有哪些詞編碼模型

有哪些詞編碼模型 詞編碼模型:是將自然語言符號映射為稠密的高維向量,使語義相近的詞匯在向量空間中位置接近。 不過,也有部分模型會考慮字母或字符信息,如基于字節對編碼(BPE)的模型會將單詞拆分成子詞,這里的子詞可能是字母組合。 詞編碼模型的原理主要是通過機器學…

Mono 功能介紹與使用示例

Mono 功能介紹與使用示例 一、核心概念與特性 Mono 是 Spring Reactor 框架中的核心組件&#xff0c;屬于響應式編程&#xff08;Reactive Programming&#xff09;模型&#xff0c;專注于處理包含 0 或 1 個元素 的異步序列[1][2][5]。其核心特點包括&#xff1a; 異步非阻…

5060Ti雙顯卡+LLaMA-factory大模型微調環境搭建

查看環境確定安裝版本安裝CUDA12.8安裝Anaconda安裝Visual Studio C桌面開發環境&#xff08;編譯llama.cpp需要&#xff09;安裝cmake(編譯llama.cpp需要)安裝llama.cpp(用于量化)安裝huggingface-cli安裝llama-factory安裝PyTorch2.7.0安裝bitsandbytes安裝flash-attention加…

Lnmp和XunRuiCMS一鍵部署(Rocky linux)

先上傳XunRuiCMS-Study.zip包到當前目錄&#xff0c;可以去官網下載 #!/bin/bash # function: install nginx mysql php on Rocky Linux 9.5 with fixed PHP-FPM configip$(hostname -I | awk {print $1}) yhxunrui passwordxunrui123# 檢查是否為root用戶 if [ "$USER&qu…

高精度OFDR設備在CPO交換機中的應用

光電共封裝&#xff08;CPO&#xff09;交換機的特點 核心需求&#xff1a;CPO將光模塊與交換芯片集成封裝&#xff0c;縮短電互連距離&#xff0c;降低功耗和延遲&#xff0c;但需解決以下挑戰&#xff1a; 1.光器件微型化&#xff1a;硅光芯片、光纖陣列等需高精度制造。 …

Vulkan 通過 CMake 集成 Dear ImGUI

一、 目錄與文件部署 從官網獲取 IMGUI 代碼庫&#xff0c;在項目 extern 目錄下新建 imgui 目錄&#xff0c;將相關文件復制進去&#xff0c;構建出如下目錄結構&#xff1a; . ├── build ├── extern │ ├── glfw │ ├── glm │ └── imgui │ ├…

Linux設備框架:kset與kobject基本介紹

系列文章目錄 Linux設備框架&#xff1a;kset與kobject基本介紹 [link] Linux設備框架&#xff1a;kset與kobject源碼分析 [link] kset與kobject基本介紹 一、前言二、kobject、kset和設備的關系2.1 kset 結構體2.2 kobject 結構體 三、總結 一、前言 Linux 設備模型如同一座擁…

【AI論文】擴展大型語言模型(LLM)智能體在測試時的計算量

摘要&#xff1a;擴展測試時的計算量在提升大型語言模型&#xff08;LLMs&#xff09;的推理能力方面已展現出顯著成效。在本研究中&#xff0c;我們首次系統地探索了將測試時擴展方法應用于語言智能體&#xff0c;并研究了該方法在多大程度上能提高其有效性。具體而言&#xf…

LeapMotion-PhysicalHandsManager 類詳解

PhysicalHandsManager 類詳解 這個類是 Ultraleap 物理手交互系統的核心管理器,負責處理手部物理交互的不同模式。下面我將詳細解析這個類的結構和功能: 類概述 PhysicalHandsManager 繼承自 LeapProvider,是物理手交互系統的中央控制器: public class PhysicalHandsMa…

vue-22(理解組合式 API:setup、ref、reactive)

Vue.js 中的組合式 API 代表了我們構建和組織組件方式的重大轉變。它為傳統的選項式 API 提供了一種更靈活、更強大的替代方案&#xff0c;尤其適用于復雜的應用程序。本章將深入探討組合式 API 的核心概念&#xff1a;setup函數、ref和reactive&#xff0c;為你構建更可維護、…

【Golang玩轉MCP】-實現一個加減乘除MCP服務

文章目錄 概要1 首先創建一個MCP服務器2 添加MCP工具如何測試我們的MCP服務功能是否正常呢小結 概要 今天我們使用golang簡單實現一個加減乘除MCP服務 1 首先創建一個MCP服務器 s : server.NewMCPServer("Hello World Server","1.0.0",server.WithToolCa…

計算機網絡期末 網絡基礎概述

目錄 網絡的定義歷史發展(了解) 網絡的分類&#xff0c;功能和應用(熟悉) 網絡的組成與結構(理解) 網絡的 OSI 七層參考模型(熟悉) 網絡的 TCP/IP 四次模型(理解) 網絡有關性能指標(掌握) 網絡的定義歷史發展(了解) 計算機網絡是什么 四個階段 總結 網絡 互連網 因特網的…

SwiftUI學習筆記day4: Lecture 4 | Stanford CS193p 2023

Lecture 4 | Stanford CS193p 2023 課程鏈接&#xff1a;https://www.youtube.com/watch?v4CkEVfdqjLw 代碼倉庫&#xff1a;iOS 課程大綱&#xff1a; 簡要課程大綱&#xff1a;SwiftUI 高級主題 Swift 訪問控制&#xff08;Access Control&#xff09; 5 個級別&#xff1…

Docker 高級管理——容器通信技術與數據持久化

目錄 一、Docker 容器的網絡模式 1. Bridge 模式 2. Host 模式 3. Container 模式 4. None 模式 5. Overlay 模式 6. Macvlan 模式 7. 自定義網絡模式 二、端口映射 1. 端口映射 2. 隨機映射端口 3. 指定映射端口 &#xff08;1&#xff09;固定端口 &#xff08;…

git操作案例 -設置遠程分支,并提交到新遠程新分支

文章目錄 前言一、分析當前的問題二、修改遠程倉庫地址&#xff08;一&#xff09;修改遠程倉庫地址場景 現有保留遠程分支場景替換現有遠程分支 二、 找回已經提交的文件場景&#xff1a;提交后&#xff0c;代碼在本地倉庫但未推送 三、同步遠程分支四、提交到新遠程的新分支 …

mysql一張表,其中一個字段設置了唯一索引,又設置了普通索引,查詢的時候很慢,沒有走普通索引,是const

問題分析 在 MySQL 中&#xff0c;當一個字段同時存在唯一索引和普通索引時&#xff0c;查詢優化器通常會優先選擇最嚴格的索引&#xff08;即能最快縮小結果集的索引&#xff09;。在你的場景中&#xff0c;優化器選擇了唯一索引并將查詢視為const類型&#xff0c;這通常是高…

ARCGIS國土超級工具集1.6更新說明

ARCGIS國土超級工具集V1.6版本&#xff0c;功能已增加至60 個。本次更新在V1.5版本的基礎上&#xff0c;除修復了使用時發現的若干小問題外&#xff0c;還更新及新增了若干工具。其中勘測定界工具欄更新了界址點西北角重排工具&#xff0c;新增了提示圖斑起始點、指定圖斑起始點…

零基礎學習RabbitMQ(2)--Linux安裝RabbitMQ

注意&#xff1a;這里使用的是ubuntu系統 1. 安裝Erlang RabbitMQ需要Erlang語言的支持&#xff0c;在安裝rabbitMQ之前需要安裝Erlang #更新軟件包 sudo apt-get update #安裝erlang sudo apt-get install erlang 安裝后輸入 rel可查看Erlang版本&#xff1a; 輸入halt().…

Centos進單用戶模式

一、開機按E 二、修改里面的linux行 把ro 修改成rw init/sysroot/bin/sh 修改前&#xff1a; 修改后&#xff1a; 三、ctrl x退出&#xff0c;進入單用戶模式

RabbitMQ 的工作流程

RabbitMQ 是一個消息中間件&#xff0c;實現了生產者消費者模型&#xff0c;可以用來接收、存儲、轉發消息。 專有名詞介紹 要了解 RabbitMQ 的工作流程&#xff0c;我們需要先了解下面幾個關鍵詞&#xff1a; 1、Producer 生產者&#xff0c;即向 RabbitMQ 發送消息。 2…