0

現在、Pytorch Lightning のトレーニングを含むプロジェクトに取り組んでいます。このコードは、DistributedDataParallel (DDP) を介して GPU を利用します。現在、Vertex AI トレーニング ジョブの 1 台のマシンおよび/またはノートブックで実行している間は正常に動作しています。

しかし、マルチノード トレーニング (マスター プールとワーカー プールを含む) で同じことを試みると、コードはワーカー マシンを利用せずにマスター ノードで実行されるだけなので、トレーニングは開始されません。ここにトレーニング用のコードがあります -

trainer = pl.Trainer(
        max_epochs=num_epochs,
        weights_summary='full',
        callbacks=callbacks,
        accelerator='ddp',
        gpus=-1,
        num_sanity_val_steps=0,
        limit_train_batches=limit_train_batches,
        limit_val_batches=limit_val_batches,
    )

Q1 - トレーニング ジョブでワーカー ノードを呼び出す方法はありますか?


また、同じ目的を支援できる Ray Lightning というモジュールに出くわしました。しかし、同じものを実装すると、いくつかのバグが発生します...コードで次のコマンドを指定しているにもかかわらず、初期化されません-

os.system('ray up cluster.yml')
ray.init(address="auto")
trainer = pl.Trainer(
        max_epochs=num_epochs,
        weights_summary='full',
        callbacks=callbacks,
        accelerator='ddp',
        plugins=[RayPlugin(num_workers=num_workers, use_gpu=use_gpu)],
        num_sanity_val_steps=0,
        limit_train_batches=limit_train_batches,
        limit_val_batches=limit_val_batches,
    )

Q2 - 現在の問題の解決策はありますか?

前もって感謝します...

4

1 に答える 1