You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ML多实例训练异常:双节点集群仅单节点运行

排查AML集群单节点空闲的并行训练问题

我来帮你梳理下为什么你的AML集群只有一个节点在工作——核心问题大概率是训练步骤没配置分布式运行,加上训练脚本本身没启用多节点并行逻辑,导致即使集群有2个节点,也只会用其中一个。

下面分步骤给你解决思路:

1. 先修正管道步骤的分布式配置

你的PythonScriptStep默认是单实例运行的,必须显式告诉AML要在多个节点上启动进程。需要在run_config里添加MPI分布式配置(TensorFlow多节点训练通常依赖MPI):

from azureml.core.runconfig import MpiConfiguration

# 给你的run_config补充分布式运行设置
run_config.run_config.mpi = MpiConfiguration(node_count=2, process_count_per_node=1)
# 指定框架类型为Python
run_config.run_config.framework = 'python'

这样修改后,提交管道时AML会在2个节点上各启动一个训练进程,为多节点并行打下基础。

2. 改造训练脚本(Train.py)支持多节点Keras训练

Keras/TensorFlow不会自动利用多节点算力,必须用分布式策略包裹模型构建和训练逻辑。在你的Train.py里添加以下核心代码:

import os
import json
import tensorflow as tf
from azureml.core import Run

run = Run.get_context()

# 读取AML自动注入的TF_CONFIG环境变量,获取集群节点信息
if 'TF_CONFIG' in os.environ:
    tf_config = json.loads(os.environ['TF_CONFIG'])
    print(f"集群节点配置: {tf_config}")

# 初始化多Worker镜像策略,这是TensorFlow多节点训练的核心
strategy = tf.distribute.MultiWorkerMirroredStrategy()

# 所有模型构建、编译、训练的代码都要放在strategy.scope()上下文里
with strategy.scope():
    # 替换成你自己的模型定义
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(64, activation='relu', input_shape=(10,)),
        tf.keras.layers.Dense(64, activation='relu'),
        tf.keras.layers.Dense(10, activation='softmax')
    ])
    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])

# 加载数据集并开始训练(注意数据集要能被所有节点访问,比如用AML数据集或Blob存储挂载)
train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train)).batch(32)
val_dataset = tf.data.Dataset.from_tensor_slices((x_val, y_val)).batch(32)

model.fit(train_dataset, epochs=10, validation_data=val_dataset)

3. 额外检查点

  • 确认集群节点状态:在AML工作室的集群页面查看,确保两个节点都处于Ready状态,如果有节点处于Provisioning,需要等待节点初始化完成;
  • 验证数据集访问:确保所有节点都能读取训练数据(不要用本地路径,优先用AML数据集或Blob存储挂载);
  • 查看运行日志:在实验运行的「Logs」标签下,检查azureml-logs/70_driver_log.txt,确认是否有分布式初始化的日志,或者有没有报错信息。

按照上面的步骤修改后,再提交管道,应该就能看到两个节点都开始忙碌了~

内容的提问来源于stack exchange,提问作者webber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 13:02:49