我正在使用huggingface/accelerate在多节点环境中学习Llama模型,如果我按如下方式运行它来分析它,程序将由于与另一个节点的ssh连接出现问题而死掉。
$ nsys profile accelerate launch train.py -b 1 -m Llama-2-7b-chat-hf -o sgd -t
我知道这不是一个准确的多节点分析方法,但我认为至少分析会起作用。但我无法连接到其他节点,因为我使用了 nsys 命令...... 另外,之后,如果我不给出 nsys 命令而只是运行应用程序,则应用程序将不会出现同样的问题。 最终,我必须停止 docker 容器并再次运行它来解决问题......这是什么?
解决方案是创建一个 bash 脚本并将
nsys
命令放入其中。确保使用 -o/--output
开关并使用 %p
提供报告名称,这样来自不同级别的报告就不会发生冲突。
使用
--no_python
选项启动带有 Huggingface 的 bash 脚本,例如 accelerate launch --no_python <bash script>
。
对于类似的并行作业启动器,这些步骤也在 docs.nvidia.com/nsight-systems/UserGuide/index.html#deepspeed 中进行了描述。