LoRA weight merging giving torch distributed error on single-node single-gpu
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- jupyter-notebook, python, pytorch
- Domaine
- distributed-systems, machine-learning
Piste de recherche
Commencez par finetuning/Gemma/lora.ipynb et /opt/NeMo/scripts/nlp_language_modeling/merge_lora_weights/merge.py, puis reproduisez la fusion sur un seul nœud et un seul GPU en utilisant les overrides indiqués. Cherchez pourquoi l’initialisation distribuée tente de s’attacher au port 53747 lors de la restauration du modèle. Le travail est terminé lorsque les poids LoRA et du modèle sont fusionnés avec succès pour la configuration indiquée, sans erreur de socket.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I am running this notebook. However, when I try to merge LoRA and model weights before exporting to TensorRTLLM (python /opt/NeMo/scripts/nlp_language_modeling/merge_lora_weights/merge.py). I received the following error:
Initializing distributed: GLOBAL_RANK: 0, MEMBER: 1/1
[W socket.cpp:464] [c10d] The server socket has failed to bind to [::]:53747 (errno: 98 - Address already in use).
[W socket.cpp:464] [c10d] The server socket has failed to bind to ?UNKNOWN? (errno: 98 - Address already in use).
[E socket.cpp:500] [c10d] The server socket has failed to listen on any local network address.
Error executing job with overrides: ['trainer.accelerator=gpu', 'tensor_model_parallel_size=1', 'pipeline_model_parallel_size=1', 'gpt_model_file=gemma_2b_pt.nemo', 'lora_model_path=nemo_experiments/gemma_lora_pubmedqa/checkpoints/gemma_lora_pubmedqa.nemo', 'merged_model_path=gemma_lora_pubmedqa_merged.nemo']
Traceback (most recent call last):
File "/opt/NeMo/scripts/nlp_language_modeling/merge_lora_weights/merge.py", line 171, in main
model = MegatronGPTModel.restore_from(
File "/usr/local/lib/python3.10/dist-packages/nemo/collections/nlp/models/nlp_model.py", line 478, in restore_from
return super().restore_from(
File "/usr/local/lib/python3.10/dist-packages/nemo/core/classes/modelPT.py", line 468, in restore_from
instance = cls._save_restore_connector.restore_from(
File "/usr/local/lib/python3.10/dist-packages/nemo/collections/nlp/parts/nlp_overrides.py", line 1306, in restore_from
trainer.strategy.setup_environment()
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/strategies/ddp.py", line 154, in setup_environment
self.setup_distributed()
File "/usr/local/lib/python3.10/dist-packages/nemo/collections/nlp/parts/nlp_overrides.py", line 244, in setup_distributed
super().setup_distributed()
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/strategies/ddp.py", line 203, in setup_distributed
_init_dist_connection(self.cluster_environment, self._process_group_backend, timeout=self._timeout)
File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/utilities/distributed.py", line 297, in _init_dist_connection
torch.distributed.init_process_group(torch_distributed_backend, rank=global_rank, world_size=world_size, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/distributed/c10d_logger.py", line 86, in wrapper
func_return = func(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/distributed/distributed_c10d.py", line 1172, in init_process_group
store, rank, world_size = next(rendezvous_iterator)
File "/usr/local/lib/python3.10/dist-packages/torch/distributed/rendezvous.py", line 244, in _env_rendezvous_handler
store = _create_c10d_store(master_addr, master_port, rank, world_size, timeout, use_libuv)
File "/usr/local/lib/python3.10/dist-packages/torch/distributed/rendezvous.py", line 172, in _create_c10d_store
return TCPStore(
torch.distributed.DistNetworkError: The server socket has failed to listen on any local network address. The server socket has failed to bind to [::]:53747 (errno: 98 - Address already in use). The server socket has failed to bind to ?UNKNOWN? (errno: 98 - Address already in use).
Setup Information:
torch: 2.2.0a0+81ea7a4
nemo: 2.0
Container: nvcr.io/nvidia/nemo:24.01.gemma
- Langage dominant
- Jupyter Notebook
- Étoiles
- 4.2k
- Forks
- 1.1k
- Merge moyen
- 10 h 15 min
- PR mergées (30 j)
- 1
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/GenerativeAIExamples
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
NVIDIA/GenerativeAIExamples#361 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
NVIDIA/GenerativeAIExamples#299 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
NVIDIA/GenerativeAIExamples#437 ·
-
hyperlink not working Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 45/100
NVIDIA/GenerativeAIExamples#400 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 10/100
NVIDIA/GenerativeAIExamples#399 ·
Toutes les issues de NVIDIA/GenerativeAIExamples
Issues similaires
-
bug examples invalid iris
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
ai_reviewed
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
ydb-platform/ydb#53838 · 3 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
NovaSky-AI/SkyRL#2263 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
johanhaleby/occurrent#1106 ·
-
ShuffleManagerRegistry.register recursion guard is inverted, permits GlutenShuffleManager subclasses Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100