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

Vertex AI UI显示训练任务运行中,但gcloud ai-platform命令无法列出任务

GCP训练任务UI显示运行但gcloud命令无法列出的问题解决

问题描述

用户通过以下操作在GCP启动模型训练:

  • 从.csv文件上传数据集
  • 在数据集UI中点击“train new model”按钮
  • 选择“other”选项
  • 填写表格回归任务的所有训练信息
  • 点击“train model”启动训练,UI显示模型正在训练

但在GCP云终端执行所有相关查询命令均返回Listed 0 items.:

gcloud ai-platform jobs list --project my-project-id
gcloud alpha ai-platform jobs list --project my-project-id
gcloud beta ai-platform jobs list --project my-project-id
gcloud ai-platform jobs list --billing-project project my-project-id

用户最终目标是将任务查询逻辑集成到GitHub Action工作流中,实现当有运行中任务时持续监控,无运行任务时终止工作流。

可能的原因排查

  • 项目/区域不匹配:当前gcloud CLI默认项目可能和UI训练任务所在项目不一致;部分训练任务会绑定特定区域,未指定区域查询会返回空结果。
  • 任务类型不匹配:UI启动的训练可能不属于AI Platform Jobs范畴,而是Vertex AI自定义训练任务或AutoML任务,需要用对应命令查询。
  • 权限不足:执行命令的账号缺少ml.jobs.list或aiplatform.jobs.list权限,无法读取任务列表。

解决方法

  1. 确认项目与区域

    • 先检查并切换CLI默认项目:
      gcloud config get-value project
      gcloud config set project my-project-id
      
    • 从UI训练页面获取任务所在区域,添加区域参数查询:
      # AI Platform Jobs查询
      gcloud ai-platform jobs list --project my-project-id --region <任务所在区域>
      # Vertex AI Jobs查询
      gcloud ai jobs list --project my-project-id --region <任务所在区域>
      
  2. 匹配任务类型选择查询命令

    • 若为AutoML表格训练任务,使用专属命令:
      gcloud ai tables operations list --project my-project-id --region <任务所在区域>
      
  3. 补全必要权限

    • 联系项目管理员为执行命令的账号添加AI Platform Viewer或Vertex AI Viewer角色,或直接授予ml.jobs.list细粒度权限。

GitHub Action工作流集成示例

以下是实现监控逻辑的工作流代码:

name: Monitor GCP Training Jobs
on: [push]

jobs:
  monitor-running-jobs:
    runs-on: ubuntu-latest
    steps:
      - name: Configure GCP CLI
        uses: google-github-actions/setup-gcloud@v1
        with:
          project_id: my-project-id
          service_account_key: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
          export_default_credentials: true

      - name: Continuous Job Monitoring
        run: |
          while true; do
            # 替换为对应任务类型的查询命令,筛选运行中任务
            RUNNING_COUNT=$(gcloud ai jobs list --project my-project-id --region us-central1 --filter="state=RUNNING" --format="value(name)" | wc -l)
            
            if [ "$RUNNING_COUNT" -eq 0 ]; then
              echo "No active training jobs detected. Terminating workflow."
              exit 0
            else
              echo "$RUNNING_COUNT running jobs found. Rechecking in 5 minutes..."
              sleep 300
            fi
          done
  • 需在GitHub仓库Secrets中配置GCP_SERVICE_ACCOUNT_KEY(拥有任务查看权限的服务账号JSON密钥)
  • 根据实际任务类型调整查询命令,修改sleep值可调整监控间隔

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:33:18