使用数据科学项目管道


Red Hat OpenShift AI Self-Managed 2.25

使用 Red Hat OpenShift AI Self-Managed 中的数据科学管道

摘要

通过使用数据科学管道构建可移植机器学习(ML)工作流,提高 OpenShift AI 上的数据科学项目。

前言

作为数据科学家,您可以使用 Docker 容器通过构建带有数据科学管道的可移植机器学习(ML)工作流来增强 OpenShift AI 上的数据科学项目。这可让您标准化和自动化机器学习工作流,以便您开发和部署数据科学模型。

例如,机器学习工作流中的步骤可能包括数据提取、数据处理、功能提取、模型培训、模型验证和模型服务等项目。自动化这些活动可让您的组织开发基于新接收的数据重新培训和更新模型的持续流程。这有助于解决与构建集成机器学习部署以及持续在生产中操作相关的挑战。

您还可以使用 Elyra JupyterLab 扩展在 JupyterLab 中创建并运行数据科学项目。如需更多信息,请参阅在 JupyterLab 中使用管道

要在 OpenShift AI 中使用数据科学管道,您需要以下组件:

  • Pipeline 服务器 :附加到数据科学项目的服务器并托管您的数据科学管道。
  • 管道 : 管道定义 机器学习工作流的配置以及工作流中的每个组件之间的关系。

    • Pipeline 代码: YAML 文件中的管道定义。
    • Pipeline 图 :图形显示管道运行中执行的步骤及其之间的关系。
  • Pipeline 试验 :您可以尝试不同管道配置的工作空间。您可以使用实验将运行组织到逻辑组中。

    • 归档的管道试验:归档的管道试验。
    • Pipeline 工件:由管道组件生成的输出工件。
    • Pipeline 执行 :管道执行管道中的任务。
  • 管道运行 :管道的执行。

    • Active run:正在执行或停止的管道运行。
    • 调度的运行:调度至少执行一次的管道运行。
    • 归档运行:归档的管道运行。

此功能基于 Kubeflow Pipelines 2.0。使用最新的 Kubeflow Pipelines 2.0 SDK 在 Python 代码中构建您的数据科学管道。构建管道后,使用 SDK 将它编译到 Intermediate Representation (IR) YAML 文件中。OpenShift AI 用户界面允许您跟踪和管理管道、试验和管道运行。要查看之前执行、调度和归档运行的记录,您可以进入 Data Science pipelinesRuns,也可以从 Experiments → Experiments 选择 实验,并运行以访问其所有管道运行。您可以使用版本控制来管理 OpenShift AI 中管道的增量更改。这可让您迭代开发和部署管道,保留更改的记录。

您可以将管道工件存储在 S3 兼容对象存储桶中,以便不使用本地存储。要做到这一点,您必须首先对存储帐户上的 S3 存储桶配置写入访问权限。

第 1 章 管理数据科学项目

1.1. 配置管道服务器

在 OpenShift AI 中成功创建管道前,您必须配置管道服务器。此任务包括配置管道工件和数据存储位置。

注意

在为管道服务器配置连接时,您不需要指定任何存储目录。当您导入管道时,/pipelines 文件夹会在存储桶的根目录中创建,其中包含管道的 YAML 文件。如果您上传同一管道的新版本,则会将具有不同 ID 的新 YAML 文件添加到 /pipelines 文件夹中。

运行管道时,工件会存储在存储桶的根文件夹中的 /pipeline-name 文件夹中。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了可添加管道服务器的数据科学项目。
  • 您有一个现有的 S3 兼容对象存储桶,并且您已在存储帐户上配置了 S3 存储桶的写入访问权限。
  • 如果您要为生产环境的管道工作负载配置管道服务器,则有一个现有的外部 MySQL 或 MariaDB 数据库。
  • 如果您要配置带有外部 MySQL 数据库的管道服务器,您的数据库必须至少使用 MySQL 版本 5.x。但是,红帽建议您使用 MySQL 版本 8.x。

    注意

    ML Metadata 组件需要 mysql_native_password 身份验证插件,才能成功连接到您的数据库。MySQL 8.4 及之后的版本中默认禁用 mysql_native_password。如果您的数据库使用 MySQL 8.4 或更高版本,您必须更新 MySQL 部署以启用 mysql_native_password 插件。

    有关启用 mysql_native_password 插件的更多信息,请参阅 MySQL 文档中的 原生可插拔身份验证

  • 如果您要使用 MariaDB 数据库配置管道服务器,您的数据库必须使用 MariaDB 版本 10.3 或更高版本。但是,红帽建议您至少使用 MariaDB 版本 10.5。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science projects

    Data Science 项目页将打开。

  2. 点您要为其配置管道服务器的项目名称。

    此时会打开项目详情页面。

  3. Pipelines 选项卡。
  4. 单击 Configure pipeline server

    此时会打开 Configure pipeline server 对话框。

  5. Object storage connection 部分中,为必填字段提供值:

    1. Access key 字段中,输入 S3 兼容对象存储供应商的访问密钥 ID。
    2. Secret key 字段中,为您指定的 S3 兼容对象存储帐户输入 secret 访问密钥。
    3. Endpoint 字段中,输入 S3 兼容对象存储桶的端点。
    4. Region 字段中,输入 S3 兼容对象存储帐户的默认区域。
    5. Bucket 字段中,输入 S3 兼容对象存储桶的名称。

      重要

      如果您指定了不正确的连接设置,则无法更新同一管道服务器上的这些设置。因此,您必须删除管道服务器并配置另一个服务器。

      如果要使用管道中任务生成的现有工件,您可以使用 kfp.dsl.importer 组件从其 URI 导入工件。您只能将这些工件导入到您在管道服务器配置中的 Bucket 字段中定义的 S3 兼容对象存储桶。有关 kfp.dsl.importer 组件的更多信息,请参阅 Special Case: Importer 组件

  6. Advanced settings 显示 Database,Pipeline 定义存储, 和 Pipeline 缓存 部分。
  7. Database 部分,选择以下选项之一来指定管道元数据和运行信息的位置:

    • 选择 集群中的 Default 数据库 以在项目中部署 MariaDB 数据库。

      重要

      cluster 选项中的 Default 数据库 仅用于开发和测试目的。对于生产环境管道工作负载,请选择 External MySQL 数据库 选项来使用外部 MySQL 或 MariaDB 数据库。

    • 选择 External MySQL 数据库,向管道服务器可访问的外部 MySQL 或 MariaDB 数据库添加新连接。

      1. Host 字段中,输入数据库主机名。
      2. Port 字段中输入数据库端口。
      3. Username 字段中,输入连接到数据库的默认用户名。
      4. Password 字段中,输入默认用户帐户的密码。
      5. Database 字段中,输入数据库名称。
  8. 可选:默认情况下,管道定义存储为 Kubernetes 资源,启用版本控制、GitOps 工作流以及与 OpenShift GitOps 或类似工具的集成。要在内部数据库中存储管道定义,请清除 Pipeline 定义 存储部分的 Kubernetes 复选框中的 Store pipeline 定义
  9. 可选: 默认情况下,缓存可在管道和任务级别进行配置。要禁用管道服务器中所有管道和任务的缓存并覆盖任何管道级别和任务级缓存设置,请在 Pipeline 缓存部分为每个管道和任务配置 Allow 缓存 复选框。
  10. 单击 Configure pipeline server

验证

在项目的 Pipelines 选项卡中:

  • Import pipeline 按钮可用。
  • 当您点操作菜单(autotune),然后点 Manage pipeline server configuration,则会显示管道服务器详情。

要配置带有外部 Amazon Relational Database Service (RDS)数据库的管道服务器,您必须将 OpenShift AI 配置为信任由其证书颁发机构(CA)发布的证书。

重要

如果您要为生产环境的管道工作负载配置管道服务器,红帽建议您使用外部 MySQL 或 MariaDB 数据库。

先决条件

  • 具有集群管理员特权。
  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了可添加管道服务器的数据科学项目。
  • 您有一个现有的 S3 兼容对象存储桶,并且已将存储帐户配置为对 S3 存储桶的写入访问权限。

流程

  1. 在配置管道服务器前,从 Amazon RDS:AWS Region 的证书捆绑包,下载数据库在其中创建区域的 PEM 证书捆绑包。

    例如,如果数据库是在 us-east-1 区域中创建的,请下载 us-east-1-bundle.pem

  2. 在终端窗口中,登录部署了 OpenShift AI 的 OpenShift 集群。

    oc login api.<cluster_name>.<cluster_domain>:6443 --web
  3. 运行以下命令来获取当前的 OpenShift AI 可信 CA 配置并将其存储在新文件中:

    oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crt
  4. 运行以下命令,将您下载的 PEM 证书捆绑包附加到新的自定义 CA 配置文件中:

    cat us-east-1-bundle.pem >> /tmp/my-custom-ca-bundles.crt
  5. 运行以下命令,将 OpenShift AI 可信 CA 配置更新为信任新自定义 CA 配置文件中包含的 CA 发布的证书:

    oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'
  6. 配置管道服务器,如 配置管道服务器 中所述。

验证

  • 管道服务器成功启动。
  • 您可以导入并运行数据科学管道。

1.2. 定义管道

Kubeflow Pipelines SDK 可让您定义端到端机器学习和数据管道。使用最新的 Kubeflow Pipelines 2.0 SDK 在 Python 代码中构建您的数据科学管道。构建管道后,使用 SDK 将它编译到 Intermediate Representation (IR) YAML 文件中。如需有关编译管道的更多信息,请参阅使用 Kubeflow Pipelines SDK 编译管道 YAML 和 使用 Kubeflow Pipelines SDK 编译 Kubernetes 原生清单。编译 Kubernetes 原生清单是可选的,只有在管道服务器配置为使用 Kubernetes API 存储时才适用。定义管道后,您可以将 YAML 文件导入到 OpenShift AI 仪表板,以便您可以配置其执行设置。

重要

如果您在以 FIPS 模式运行的集群使用 OpenShift AI,则数据科学项目的任何自定义容器镜像都必须基于 UBI 9 或 RHEL 9。这样可确保与 FIPS 批准的管道组件兼容,并防止与不匹配的 OpenSSL 或 GNU C 库(glibc)版本相关的错误。

您还可以使用 Elyra JupyterLab 扩展在 JupyterLab 中创建并运行数据科学项目。有关在 JupyterLab 中创建管道的更多信息,请参阅在 JupyterLab 中使用管道。有关 Elyra JupyterLab 扩展的更多信息,请参阅 Elyra 文档

1.2.1. 使用 Kubeflow Pipelines SDK 编译管道 YAML

在集群中定义管道前,您必须将 Python 定义管道转换为 YAML 格式。您可以使用 Kubeflow Pipelines (KFP)软件开发套件(SDK)将管道代码编译到可部署 YAML 文件中,以进行声明性 GitOps 部署。

先决条件

  • 您已在本地环境中安装了 Python 3.11 或更高版本。
  • 已安装 Kubeflow Pipelines SDK 软件包(kfp)版本 2.14.3 或更高版本。
  • 您有一个有效的 Python 管道定义文件。

流程

使用 KFP SDK 编译管道,以生成管道 YAML 文件。

在以下示例中,将 &lt ;pipeline_file>.py 替换为 Python 管道文件的名称,并为编译的 YAML 指定输出文件:

$ kfp dsl compile \
    --py <pipeline_file>.py \
    --output <compiled_pipeline_file>.yaml
注意

生成的 & lt;compiled_pipeline_file>.yaml 文件包含 YAML 格式的编译的管道规格。在创建 PipelineVersion 自定义资源(CR)时,您可以使用此内容作为 pipelineSpec 字段的值。您还可以在 Git 中存储 文件,以进行声明性或基于 GitOps 的部署。

验证

验证生成的文件是否包含 pipelineSpec 键,后跟编译的管道定义:

$ head -n 10 <compiled_pipeline_file>.yaml

如果您的管道服务器使用 Kubernetes 原生 API 模式,您可以直接将管道编译到 Kubernetes 清单。输出包括带有 spec.pipelineSpecPipelinePipelineVersion 自定义资源,在使用 Kubernetes 资源配置时,包括可选的 spec.platformSpec

先决条件

  • 您已在本地环境中安装了 Python 3.11 或更高版本。
  • 已安装 Kubeflow Pipelines SDK 软件包(kfp)版本 2.14.3 或更高版本。
  • 您有一个有效的 Python 管道定义文件。

流程

  1. 将以下代码保存为工作目录中名为 compile.py 的新文件。

    这个示例使用 kfp.compiler.compiler_utils 模块中的 KubernetesManifestOptions 类来定义管道元数据,如名称、版本和命名空间。

    编译脚本示例

    from kfp import dsl, compiler
    from kfp.compiler.compiler_utils import KubernetesManifestOptions
    
    @dsl.pipeline(name="<pipeline_name>")
    def my_pipeline():
        pass  # define your tasks
    
    compiler.Compiler().compile(
        pipeline_func=my_pipeline,
        package_path="<output_file>.yaml",
        kubernetes_manifest_format=True,
        kubernetes_manifest_options=KubernetesManifestOptions(
            pipeline_name="<pipeline_name>",
            pipeline_version_name="<version_name>",
            namespace="<namespace>",
            include_pipeline_manifest=True,
        ),
    )

  2. 运行脚本以编译管道并生成 Kubernetes 清单:

    $ python compile.py

验证

验证编译的输出是否包含预期的资源:

apiVersion: pipelines.kubeflow.org/v2beta1
kind: Pipeline
---
apiVersion: pipelines.kubeflow.org/v2beta1
kind: PipelineVersion
spec:
  pipelineSpec: ...
  platformSpec: ...   # present when Kubernetes resource configuration is used

1.2.3. 使用 Kubernetes API 定义管道

您可以使用 Kubernetes API 定义数据科学管道和管道版本,该 API 将它们作为自定义资源存储在集群中,而不是内部数据库。这种方法可让您更轻松地使用 OpenShift GitOps (Argo CD)或类似的工具来管理管道和管道版本,同时仍然允许您通过 OpenShift AI 仪表板、API 和 Kubeflow Pipelines (KFP)软件开发套件(SDK)管理它们。您可以使用 Kubeflow Pipelines SDK 生成所需的清单;请参阅 使用 Kubeflow Pipelines SDK 编译管道 YAML 或使用 Kubeflow Pipelines SDK 编译 Kubernetes 原生清单

注意

如果您的管道服务器已配置为使用 Kubernetes API 存储,您仍然可以使用 OpenShift AI 仪表板和 REST API 来查看管道详情、运行管道并创建调度。在这个模式中,Kubernetes API 充当存储后端,因此您的现有工具可以继续按预期工作。

先决条件

  • 您有 OpenShift AI 管理员特权,或者作为项目所有者。
  • 您有一个带有正在运行的管道服务器的数据科学项目。
  • 如集群的适当文档所述,已安装了 OpenShift CLI (oc):

  • 如果您计划创建 PipelineVersion 自定义资源,则有:

    • 使用 KFP SDK 将 Python 管道编译为 IR YAML。请参阅使用 Kubeflow Pipelines SDK 编译管道 YAML
    • 使用 KFP SDK 编译 Kubernetes 原生清单。请参阅使用 Kubeflow Pipelines SDK 编译 Kubernetes 原生清单

流程

  1. 在终端窗口中,使用 OpenShift CLI (oc)登录您的 OpenShift 集群:

    $ oc login -u <user_name>

    出现提示时,输入 OpenShift 服务器 URL、连接类型和密码。

  2. 要将管道服务器配置为使用 Kubernetes API 存储而不是默认的 数据库 选项,请在项目的 DataSciencePipelinesApplication (DSPA)自定义资源中将 spec.apiServer.pipelineStore 字段设置为 kubernetes

    在以下命令中,将 &lt ;dspa_name > 替换为 DSPA 自定义资源的名称,并将 & lt;namespace > 替换为您的项目的名称:

    $ oc patch dspa <dspa_name> -n <namespace> \
      --type=merge \
      -p {"spec": {"apiServer": {"pipelineStore": "kubernetes"}}}
    警告

    当您将管道服务器从数据库存储切换到 Kubernetes API 存储时,存储在内部数据库中的现有管道不再在 OpenShift AI 仪表板或 REST API 中可见。要再次查看或管理这些管道,请将 spec.apiServer.pipelineStore 字段更改回 数据库

  3. 在 YAML 文件中定义一个包含以下内容的 Pipeline 自定义资源:

    Pipeline 定义示例

    apiVersion: pipelines.kubeflow.org/v2beta1
    kind: Pipeline
    metadata:
      name: <name>
      namespace: <namespace>
    spec:
      displayName: <displayName>

    • Name :管道的不可变 Kubernetes 资源名称。
    • Namespace :项目的名称。
    • displayName :管道的用户友好显示,显示在仪表板和 REST API 中。
  4. 应用管道定义来在集群中创建 Pipeline 自定义资源。

    在以下命令中,将 &lt ;pipeline_yaml_file > 替换为 YAML 文件的名称:

    示例命令

    $ oc apply -f <pipeline_yaml_file>.yaml

  5. 另外,如果您使用 KFP SDK 编译了 Kubernetes 原生清单,您可以在不手动创建单独的 YAML 文件的情况下直接应用生成的文件:

    $ oc apply -f <output_file>.yaml

    生成的文件包括 PipelinePipelineVersion 资源。您可以跳过以下手动定义步骤,并继续执行验证步骤。

  6. 在包含以下内容的 YAML 文件中定义 PipelineVersion 自定义资源:

    Pipeline 版本定义示例

    apiVersion: pipelines.kubeflow.org/v2beta1
    kind: PipelineVersion
    metadata:
      name: <name>
      namespace: <namespace>
    spec:
      pipelineName: <pipelineName>
      displayName: <displayName>
      description: This is the first version of the pipeline.
      pipelineSpec:
            # ... YAML generated by compiling Python pipeline with KFP SDK ...

    • name :管道版本的名称。
    • Namespace :项目的名称。
    • pipelineName :管道的不可变 Kubernetes 资源名称。这个值必须与 Pipeline 自定义资源中的 metadata.name 值匹配。
    • displayName :管道版本的用户友好的显示名称,显示在仪表板和 REST API 中。
    • PipelineSpec: 使用 Kubeflow Pipelines (KFP) SDK 生成的 YAML 内容。
  7. 应用管道版本定义,在集群中创建 PipelineVersion 自定义资源。

    在以下命令中,将 &lt ;pipeline_version_yaml_file > 替换为 YAML 文件的名称:

    示例命令

    $ oc apply -f <pipeline_version_yaml_file>.yaml

    创建管道版本后,系统会自动将以下标签应用到管道版本以便更轻松地过滤:

    自动标签示例

    pipelines.kubeflow.org/pipeline-id: <metadata.uid of the pipeline>
    pipelines.kubeflow.org/pipeline: <pipeline name>

验证

  1. 检查 Pipeline 自定义资源是否已成功创建:

    $ oc get pipeline <pipeline_name> -n <namespace>
  2. 检查 PipelineVersion 自定义资源是否已成功创建:

    $ oc get pipelineversion <pipeline_version_name> -n <namespace>

1.2.4. 将管道从数据库迁移到 Kubernetes API 存储

您可以将现有的管道和管道版本从内部数据库迁移到 Kubernetes 自定义资源。这样可以更轻松地使用 OpenShift GitOps (Argo CD)或类似的工具来管理管道和管道版本,同时仍然允许您通过 OpenShift AI 仪表板、API 和 Kubeflow Pipelines (KFP)软件开发套件(SDK)管理它们。

此流程使用社区支持的 Kubeflow Pipelines 迁移脚本从 Data Science Pipelines API 导出管道,并生成对应的 PipelinePipelineVersion 自定义资源来导入到集群中。

重要

此流程中的迁移脚本由 Kubeflow Pipelines 社区维护,红帽不支持它。在使用该脚本之前,请检查存储库并在非生产环境中验证它。

警告

在迁移过程中更改管道和管道版本 ID,因此现有管道运行不会映射到迁移的管道版本。原始 ID 存储在 pipelines.kubeflow.org/original-id 标签中。

先决条件

流程

  1. 在终端窗口中,使用 OpenShift CLI (oc)登录您的 OpenShift 集群:

    $ oc login -u <user_name>

    出现提示时,输入 OpenShift 服务器 URL、连接类型和密码。

  2. 为您的数据科学项目设置环境变量并获取管道 API 路由。

    export 命令中,将 <namespace > 替换为项目的名称:

    echo "Setting the prerequisite variables"
    export NAMESPACE=<namespace>
    export DSPA_NAME=$(oc -n $NAMESPACE get dspa -o jsonpath={.items[0].metadata.name})
    export API_URL="https://$(oc -n $NAMESPACE get route "ds-pipeline-$DSPA_NAME" -o jsonpath={.spec.host})"
  3. 创建 Python 虚拟环境并安装所需的依赖项。

    echo "Set up the Python prerequisites"
    python3.11 -m venv .venv
    ./.venv/bin/pip install kfp requests PyYAML
  4. 下载并运行 Kubeflow Pipelines 社区迁移脚本。

    该脚本连接到 Data Science Pipelines API,从指定的数据科学项目导出所有管道和版本,并在本地 kfp-exported-pipelines/ 目录中为每个管道生成一个 YAML 文件。每个文件包含一个 Pipeline 资源,以及所有关联的 PipelineVersion 资源。

    1. 运行以下命令:

      curl -L https://raw.githubusercontent.com/kubeflow/pipelines/refs/heads/master/tools/k8s-native/migration.py -o migration.py
      ./.venv/bin/python migration.py --skip-tls-verify --kfp-server-host $API_URL --namespace $NAMESPACE --token "$(oc whoami --show-token)"
      注意

      --skip-tls-verify 选项禁用证书验证,并且应仅在开发环境中使用,或者在使用自签名证书连接到服务器时使用。在生产环境中,提供有效的证书捆绑包。

      此外,直接在命令行中传递访问令牌可能会在 shell 历史记录或进程列表中公开。要降低此风险,请将令牌存储在环境变量中,并在命令中引用它:

      export KFP_TOKEN=$(oc whoami --show-token)
      ./.venv/bin/python migration.py --kfp-server-host $API_URL --namespace $NAMESPACE --token "$KFP_TOKEN"

      或者,使用 read -s 提示来在运行时安全地输入令牌。

    2. 可选:有关脚本的更多信息,请运行以下命令:

      ./.venv/bin/python migration.py --help
    3. 如果您计划在迁移后创建新或更新的 PipelineVersion 自定义资源,您可以使用 Kubeflow Pipelines SDK 编译管道代码。如需更多信息,请参阅使用 Kubeflow Pipelines SDK 编译管道 YAML,并使用 Kubeflow Pipelines SDK 编译 Kubernetes-native 清单
  5. 将导出的 Kubernetes 自定义资源应用到集群。

    oc apply -f ./kfp-exported-pipelines
  6. 将管道服务器更改为使用 Kubernetes API 存储。

    oc -n "$NAMESPACE" patch dspa "$DSPA_NAME" --type=merge -p {"spec":{"apiServer":{"pipelineStore":"kubernetes"}}}
    注意

    要查看存储在内部数据库中且未迁移的管道,您可以临时将管道服务器更改回 数据库存储

    oc -n $NAMESPACE patch dspa $DSPA_NAME --type=merge -p {"spec":{"apiServer":{"pipelineStore":"database"}}}
  7. 对您要迁移的每个额外数据科学项目重复这个过程,将 NAMESPACE 更改为适当的项目名称。
  8. 可选:清理本地环境。

    rm -rf .venv migration.py

验证

  1. 检查项目中是否已创建 PipelinePipelineVersion 自定义资源:

    $ oc -n <namespace> get pipelines.pipelines.kubeflow.org
    $ oc -n <namespace> get pipelineversions.pipelines.kubeflow.org
  2. 验证管道服务器是否使用 Kubernetes API 存储:

    $ oc -n <namespace> get dspa <dspa_name> -o jsonpath={.spec.apiServer.pipelineStore}{"\n"}

    该命令应返回 kubernetes

1.3. 导入数据科学项目

为了帮助您开始使用 OpenShift AI 中的数据科学管道,您可以将包含管道代码的 YAML 文件导入到活跃的管道服务器,或者从 URL 导入 YAML 文件。此文件包含一个使用 Kubeflow 编译器编译的 Kubeflow 管道。将管道导入到管道服务器后,您可以通过创建管道运行来执行管道。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 已使用 Kubeflow 编译器编译了管道,并可访问生成的 YAML 文件。
  • 如果您要从 URL 上传管道,则 URL 可以公开访问。
注意

如果在 Python 代码中定义管道而不是 YAML 文件,请首先使用 KFP SDK 编译它。如需更多信息,请参阅使用 Kubeflow Pipelines SDK 编译管道 YAML

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择您要导入管道的项目。
  3. Import pipeline
  4. Import pipeline 对话框中,输入您要导入的管道的详情。

    1. Pipeline name 字段中输入您要导入的管道的名称。
    2. Pipeline description 字段中,输入要导入的管道的描述。
    3. 通过执行以下操作之一,选择您要从中导入管道的位置:

      • 选择 Upload a file 以从本地机器的文件系统上传管道。点 Upload 或通过拖放文件来导入管道。
      • 选择 Import by url 将管道从 URL 上传,然后在文本框中输入 URL。
    4. Import pipeline

验证

  • 您导入的管道会显示在 Pipelines 页面中,并在项目详情页面的 Pipelines 标签页中显示。

1.4. 删除数据科学项目管道

如果您不再需要访问仪表板上的数据科学管道,您可以删除它,使其不会出现在 Data Science pipelines 页面中。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • Pipelines 页面中有活跃的管道可用。
  • 要删除的管道不包含任何管道版本。
  • 要删除的管道不包含任何管道版本。如需更多信息,请参阅 删除管道版本

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要删除的管道的项目。
  3. 点您要删除的管道旁的操作菜单(alsa),然后点 Delete pipeline
  4. Delete pipeline 对话框中,在文本字段中输入管道名称,以确认您想要删除它。
  5. Delete pipeline

验证

  • 您删除的数据科学管道不再显示在 Pipelines 页面中。

1.5. 删除管道服务器

运行完数据科学管道后,您可以删除管道服务器。删除管道服务器会自动删除所有关联的管道、管道版本并运行。如果您的管道数据存储在数据库中,数据库也会及其 meta-data 被删除。另外,在删除管道服务器后,您无法创建新的管道或管道运行,直到创建另一个管道服务器为止。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要删除的管道服务器的项目。
  3. Pipeline 服务器操作 列表中,选择 Delete pipeline server
  4. Delete pipeline server 对话框中,在文本字段中输入管道服务器的名称,以确认您想要删除它。
  5. 点击 Delete

验证

  • 以前分配给已删除管道服务器的管道不再出现在相关数据科学项目的 Pipelines 页面中。
  • 管道运行之前分配给已删除的管道服务器,不再出现在相关数据科学项目的 Runs 页面中。

1.6. 查看管道服务器的详情

您可以查看在 OpenShift AI 中配置管道服务器的详情,如管道的连接详情及其数据存储位置。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了包含活跃和可用的管道服务器的数据科学项目。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要查看的管道服务器的项目。
  3. Pipeline 服务器操作 列表中,选择 Manage pipeline server configuration

验证

  • 您可以在 Manage pipeline server 对话框中查看管道服务器详情。

1.7. 查看现有的管道

您可以查看导入到 Red Hat OpenShift AI 的管道详情,如管道最后一次运行、创建的时间、管道的执行运行以及任何关联的管道版本的详情。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 现有管道可用。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要查看的管道的项目。
  3. 可选:点击管道行中的 Expand ( rhoai expand icon )来查看其管道版本。

验证

  • Pipelines 页面中显示数据科学管道列表。

1.8. 管道版本概述

您可以使用版本控制来管理 OpenShift AI 中管道的增量更改。这可让您迭代开发和部署管道,保留更改的记录。您可以在 OpenShift AI 仪表板上跟踪和管理您的更改,允许您针对管道的所有可用版本调度和执行运行。

1.9. 上传管道版本

您可以将 YAML 文件上传到包含管道最新版本的活跃管道服务器,或者从 URL 上传 YAML 文件。YAML 文件必须包含使用 Kubeflow 编译器编译的 Kubeflow 管道。将管道版本上传到管道服务器后,您可以通过创建管道运行来执行它。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您有一个管道版本可用并准备好上传。
  • 如果您要从 URL 上传管道版本,则 URL 可以公开访问。
  • 如果您的管道版本基于 Python 代码,请在上传前将其编译到 YAML 中。如需更多信息,请参阅使用 Kubeflow Pipelines SDK 编译管道 YAML

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择您要上传管道版本的项目。
  3. 单击 Import pipeline 下拉列表,然后选择 Upload new version
  4. Upload new version 对话框中,输入您要上传的管道版本的详情。

    1. Pipeline 列表中,选择要将管道版本上传到的管道。
    2. Pipeline version name 字段中,确认管道版本的名称,并根据需要修改它。
    3. Pipeline version description 字段中,输入管道版本的描述。
    4. 通过执行以下操作之一选择要上传管道版本的位置:

      • 选择 Upload a file 以从本地机器的文件系统上传管道版本。点 Upload 导入管道版本,或者拖放文件。
      • 选择 Import by url 将管道版本从 URL 上传,然后将 URL 输入到文本框中。
    5. Upload

验证

  • 您上传的管道版本会显示在 Pipelines 页面中。点包含管道的行中的 Expand ( rhoai expand icon )查看其版本。
  • 包含您在 Pipelines 页面中上传的管道版本的 Version 列会递增。

1.10. 删除管道版本

当您不再需要时,您可以删除管道的特定版本。删除默认管道版本会自动将默认管道版本改为下一个最新版本。如果没有管道版本,管道会在没有默认版本的情况下保留。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines

    Pipelines 页面将打开。

  2. 删除您不再需要的管道版本:

    • 删除单个管道版本:

      1. Project 列表中,选择包含您要删除的管道版本的项目。
      2. 在包含管道的行中,点 Expand ( rhoai expand icon )。
      3. 点您要删除的项目版本旁的操作菜单(alsa),然后点 Delete pipeline version

        Delete pipeline version 对话框将打开。

      4. 在文本字段中输入管道版本的名称,以确认您想要删除它。
      5. 点击 Delete
    • 删除多个管道版本:

      1. 在包含您要删除的每个管道版本的行中,选择复选框。
      2. Import pipeline 下拉列表旁边的操作菜单(swig),然后从列表中选择 Delete

验证

  • 您删除的管道版本不再显示在 Pipelines 页面中,或 data Science 项目的 Pipelines 标签页中显示。

1.11. 查看管道版本的详情

您可以查看上传到 Red Hat OpenShift AI 的管道版本详情,如图形和 YAML 代码。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 在活跃和可用的管道服务器上有一个管道。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines

    Pipelines 页面将打开。

  2. Project 下拉列表中选择包含您要查看详情的管道版本的项目。
  3. 点管道名称查看其最新版本的更多详情。Pipeline 版本详情页面会打开,显示 Graph,Summary, 和 Pipeline spec 标签页。

    或者,点击包含您要查看版本的管道的行中的 Expand ( rhoai expand icon ),然后点击您要查看详情的管道版本。Pipeline 版本详情页面会打开,显示 Graph,Summary, 和 Pipeline spec 标签页。

验证

  • 在管道版本详情页面中,您可以查看管道图形、概述详情和 YAML 代码。

1.12. 下载数据科学管道版本

要进一步更改您之前上传到 OpenShift AI 的数据科学项目,您可以从用户界面下载管道版本代码。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已创建了管道并将其导入到可用于下载的活跃管道服务器。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要下载的版本的项目。
  3. 点包含您要下载的版本的管道旁的 Expand ( rhoai expand icon )。
  4. 点您要下载的管道版本。

    Pipeline 版本详情页面将打开。

  5. Pipeline spec 选项卡,然后点 Download 按钮( rhoai download icon )将包含管道版本代码的 YAML 文件下载到本地机器。

验证

  • 管道版本代码下载到浏览器下载文件的默认目录中。

1.13. 数据科学项目缓存概述

您可以在数据科学管道中使用缓存来优化执行时间并改进资源效率。缓存通过重复使用之前运行的结果来减少冗余任务执行。

缓存对于迭代任务特别有用,其中中间步骤可能不需要重复。了解缓存可帮助您设计更高效的管道,并在模型开发中节省时间。

缓存通过存储成功完成任务的输出来运行,并将新任务的输入与之前缓存的任务进行比较。如果找到匹配项,OpenShift AI 会重复使用缓存的结果,而不是重新执行该任务,从而减少计算时间和资源使用量。

1.13.1. 缓存标准

要缓存生效,以下条件决定任务是否可以使用之前缓存的结果:

  • 输入数据和参数 :如果任务的输入数据和参数与之前的运行不同,则缓存的结果有资格被重复使用。
  • 任务代码和配置 :对任务代码或配置的更改使缓存无效,以确保始终反映修改。
  • Pipeline 环境 :对管道环境(如依赖项版本)的更改也会影响缓存资格以保持一致性。

管道中的缓存步骤在用户界面(UI)中可视化指示:

  • 使用缓存结果的任务会显示一个绿色图标,可帮助您快速确定缓存了哪些步骤。侧面板中的 Status 字段为缓存的任务显示 Cached
  • UI 还包括有关任务之前执行的时间信息,从而可以轻松地验证缓存使用情况。

要检查特定任务的缓存状态,请导航到 UI 中的管道详情视图。缓存和非缓存的任务被明确指示。缓存的任务不会显示执行日志,因为它们会重复使用之前生成的输出,且不会重新执行。

1.13.3. 控制数据科学管道中的缓存

OpenShift AI 中默认启用缓存以提高性能。但是,在禁用缓存时,可能需要特定任务、整个管道或所有管道。例如,对于依赖频繁更新的数据或唯一计算需求的任务,缓存可能并不有用。在其他情况下,如调试、开发或在确定性重新执行时,您可能需要禁用所有管道的缓存。

Important

在管道或管道服务器级别禁用缓存会导致所有任务重新运行,这可能会增加计算时间和资源使用量。

您可以使用以下方法控制数据科学管道的缓存:

  • 单个任务 :数据科学家可以为管道中的特定步骤禁用缓存。
  • 管道(提交时间) :数据科学家可以在提交管道运行时禁用缓存。
  • 管道(编译时间) :数据科学家可以在编译管道时禁用缓存。
  • 所有管道(管道服务器) :您可以对管道服务器中的所有管道禁用缓存,这将覆盖所有管道和任务级缓存设置。
1.13.3.1. 为单个任务禁用缓存

要为特定任务禁用缓存,请将 set_caching_options 方法直接应用到管道代码中的任务:

task_name.set_caching_options(False)

应用此设置后,OpenShift AI 在将来的管道运行中运行任务,忽略任何缓存的结果。

您可以通过将 set_caching_options 参数设置为 True 或省略 set_caching_options 来为单个任务重新启用缓存。

如果在管道服务器中禁用了缓存,则忽略此设置。

1.13.3.2. 在提交时禁用管道缓存

要在管道提交过程中为整个管道禁用缓存,请在管道代码中将 enable_caching 参数设置为 False。此设置可确保管道执行过程中不会缓存任何步骤。enable_caching 参数仅在使用 kfp.client 提交管道或启动管道运行(如 run_pipeline 方法时可用。

示例:

import kfp
client = kfp.Client()
client.run_pipeline(
    experiment_id=experiment.id,
    pipeline_id=pipeline.id,
    job_name="no-cache-run",
    params={},                # optional
    enable_caching=False,
)

如果在管道编译或管道服务器中禁用了缓存,则忽略此设置。

1.13.3.3. 在编译时禁用管道缓存

要在编译过程中为整个管道禁用缓存,请在本地环境或工作台中设置以下选项之一:

  • 环境变量:

    export KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT=true
  • CLI 标志(使用 kfp dsl 编译):

    kfp dsl compile --disable-execution-caching-by-default

如果在管道服务器中禁用了缓存,则忽略这些设置。

1.13.3.4. 禁用所有管道的缓存(管道服务器)

要为管道服务器中的所有管道禁用缓存并覆盖所有管道和任务级缓存设置,请使用以下方法之一:

Pipeline 服务器配置
  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesPipelines
  2. Pipelines 页面中,从 Project 下拉列表中选择包含您要配置的管道服务器的项目。
  3. Pipeline 服务器操作 列表中,选择 Manage pipeline server configuration
  4. Pipeline caching 部分中,清除 Allow caching to be configured per pipeline and task 复选框。
  5. 点击 Save
Data Science Pipelines Application (集群管理员)

在 OpenShift 控制台或 CLI 中,将项目的 DataSciencePipelinesApplication (DSPA)自定义资源中的 cacheEnabled 字段设置为 false

示例:

apiVersion: datasciencepipelinesapplications.opendatahub.io/v1
kind: DataSciencePipelinesApplication
metadata:
  name: my-dspa
  namespace: my-namespace
spec:
  apiServer:
    cacheEnabled: false

要允许在管道和任务级别配置缓存,请在 DSPA 自定义资源中将 cacheEnabled 字段设置为 true

应用此设置后,所有管道和任务级缓存设置都会被忽略。

注意

更改此设置会更新管道服务器部署中的 CACHEENABLED 环境变量。

验证

配置缓存设置后,您可以使用以下方法之一验证其行为:

  • 检查 UI :查找任务列表中的绿色图标,以识别缓存的步骤。
  • 测试任务重新运行 :禁用特定任务或管道的缓存,以确认步骤按预期重新执行。
  • 验证输入 :确保应用缓存时任务输入、参数和运行时设置不会改变。
注意

您还可以为单个节点禁用缓存,或使用 Elyra 为 JupyterLab 中的整个管道禁用缓存。如需更多信息,请参阅 在 Elyra 中禁用节点缓存

第 2 章 管理管道实验

2.1. 管道试验概述

管道试验是一个工作区,您可以尝试不同的管道配置。您可以使用实验将运行组织到逻辑组中。作为数据科学家,您可以使用 OpenShift AI 定义、管理和跟踪管道实验。您可以在 OpenShift AI 用户界面中的 Experiments 页面中查看之前创建的和归档的试验记录。Pipeline 试验包含管道运行,包括重复运行。这可让您尝试不同的管道配置。

当您使用数据科学管道时,务必要监控和记录管道试验,以跟踪数据科学管道的性能。您可以比较最多 10 个管道运行的结果,并查看所有所选运行中的可用参数、scalar 指标、混淆列表和接收器操作字符(ROC) curve 数据。

您可以从 OpenShift AI 仪表板查看已执行管道运行的工件。Pipeline 工件可帮助您评估管道运行的性能,并更轻松地了解管道组件。Pipeline 工件可以从纯文本数据到详细的交互式数据视觉化。

2.2. 创建管道实验

Pipeline 试验是可以尝试不同管道配置的工作空间。您还可以使用实验将管道运行组织到逻辑组中。Pipeline 试验包含管道运行,包括重复运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面上,从 Project 下拉列表中选择要创建管道实验的项目。
  3. 单击 Create experiment
  4. Create experiment 对话框中,配置管道实验:

    1. Experiment name 字段中,输入管道试验的名称。
    2. Description 字段中,输入管道实验的描述。
    3. 单击 Create experiment

验证

  • 您创建的管道测试显示在 Experiments 选项卡中。

2.3. 归档管道试验

您可以归档管道试验,以存储和保留记录以备将来参考。如果您需要重复使用归档的实验,您可以随时恢复它。删除管道实验是一个独立的操作,只有在您明确选择删除它们时才会发生。除非手动删除它们,否则未归档的实验会保留下来。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 管道试验可用于归档。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要存档的管道试验的项目。
  3. 点您要归档的管道试验旁的操作菜单(alsa),然后点 Archive
  4. Archiving 试验 对话框中,在文本字段中输入管道试验名称,以确认您想要归档它。
  5. Archive

验证

  • 归档的管道试验不会出现在 Experiments 选项卡中,而是显示在管道试验的 Experiments 页面中的 Archive 选项卡中。

2.4. 删除归档的管道试验

您可以从 OpenShift AI 试验归档中删除管道试验。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 管道实验在管道存档中提供。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要删除的归档管道试验的项目。
  3. 单击 归档 选项卡。
  4. 点您要删除的管道试验旁的操作菜单(alsa),然后点 Delete
  5. Delete experiment? 对话框中,在文本字段中输入管道实验名称,以确认您想要删除它。
  6. 点击 Delete

验证

  • Experiments 页面上的 Archive 选项卡中不再显示您删除的管道测试。

2.5. 恢复归档的管道试验

您可以将归档的管道试验恢复到 active 状态。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 项目中存在存档的管道试验。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要恢复的归档管道试验的项目。
  3. 单击 归档 选项卡。
  4. 点您要恢复的管道实验旁边的操作菜单(autotune),然后点 Restore
  5. Restore 试验 对话框中,点 Restore

验证

  • 恢复的管道试验会在 Experiments 页面中的 Experiment s 选项卡中显示

2.6. 查看管道任务执行

当管道运行执行时,您可以从 OpenShift AI 仪表板查看管道运行中每个步骤中执行任务的详情。管道中任务的单步形式部分。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 之前您已触发了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 ExperimentsExecutions
  2. Executions 页面上,从 Project 下拉列表中选择包含您要查看的管道任务测试的项目。

验证

  • Executions 页面中,您可以查看每个管道任务执行的执行详情,如其名称、状态、唯一 ID 和执行类型。执行状态指示管道任务是否已成功执行。有关任务执行详情的更多信息,请点执行名称。

2.7. 查看管道工件

管道运行执行后,您可以从 OpenShift AI 仪表板查看其管道工件。Pipeline 工件可帮助您评估管道运行的性能,并更轻松地了解管道组件。Pipeline 工件可以从纯文本数据到详细的交互式数据视觉化。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 之前您已触发了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 ExperimentsArtifacts
  2. Artifacts 页面中,从 Project 下拉列表中选择包含您要查看的管道工件的项目。
  3. 点列表中的工件名称查看工件的附加信息,包括其原始运行、原始执行和属性。
  4. 要查看或下载存储在 S3 兼容对象存储中的工件内容,请点 preview 图标、下载图标或活跃工件 URI 链接。

    点浏览器可以显示的内容的 preview 图标或 URI 链接(如纯文本、HTML 或 markdown)在新浏览器标签页中打开工件。点浏览器无法显示的内容的下载图标或 URI 链接(如模型文件)下载工件。要下载浏览器标签页中显示的构件,请右键单击内容,然后单击 Save 作为

验证

  • Artifacts 页面中,您可以查看每个管道工件的详情,如其名称、唯一 ID、类型和 URI。

2.8. 比较实验中运行的

您可以比较同一试验中的 10 个管道运行,并查看所有所选运行中的可用参数、scalar 指标、混淆列表和接收器操作特性(ROC) curve 数据。

要比较来自不同试验或管道的运行,或与查看项目中的每个管道运行进行比较,请参阅 比较在不同试验中运行

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您至少创建了两个管道运行。

流程

  1. 在 OpenShift AI 仪表板中,选择 ExperimentsExperiments 并运行

    此时会打开 Experiments 页面。

  2. Project 下拉列表中,选择包含您要比较运行的项目。
  3. Experiment s 选项卡中,单击 Experiment 列中您要比较运行的实验。要选择不在实验中的运行,请单击 Default。在没有指定实验的情况下创建的所有运行都将出现在 Default 组中。

    Runs 页面将打开。

  4. 选中您要比较的每个运行旁边的复选框,然后单击 Compare run。您可以一次比较最多 10 个运行。

    Compare run 页面会打开并显示您选择的运行的数据。

    1. Run list 部分显示所选运行的列表。您可以根据 run name, pipeline version, start date, 和 status 来过滤列表。
    2. Parameters 部分显示每个所选运行的参数信息。将 Hide 参数设置为 On 没有区别开关设置为 On 来隐藏具有相同值的参数。
    3. Metrics 部分显示所有所选运行中的 scalar 指标、混淆列表和 ROC curve 数据。

      1. Scalar metrics 选项卡中,将 没有区别的 参数设置为 On 来隐藏具有相同值的参数。
      2. ROC curve 选项卡中,在 artifacts 列表中清除您要从 chart 中删除工件旁边的复选框来调整 ROC curve chart。
  5. 要选择不同的运行以进行比较,请单击 Manage run

    此时会打开 Manage run 对话框。

    1. 在过滤器下拉列表中,选择 Run,Pipeline version,Created after, 或 Status 以根据每个值过滤 run 列表。
    2. 清除您要从您的比较中删除的每个运行旁边的复选框。
    3. 选择您要添加到比较的每个运行旁边的复选框。
  6. Update

验证

  • Compare run 页面会打开并显示您选择的运行的数据。

2.9. 比较不同试验中的运行

您可以从项目中的任何实验或管道运行比较 10 个管道,包括没有相应管道的运行,以及查看可用参数、scalar 指标、混淆列表和接收器操作特性(ROC) curve 数据。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您至少创建了两个管道运行。

流程

  1. 在 OpenShift AI 仪表板中,选择 Data Science pipelinesRuns

    Runs 页面将打开。

  2. Project 下拉列表中,选择包含您要比较运行的项目。
  3. Runs 选项卡中,选中您要比较的每个运行旁边的复选框,然后单击 Compare run。您可以一次比较最多 10 个运行。

    Compare run 页面会打开并显示您选择的运行的数据。

    1. Run list 部分显示所选运行的列表。您可以通过运行名称、试验、管道版本、开始日期和状态过滤列表。
    2. Parameters 部分显示每个所选运行的参数信息。将 Hide 参数设置为 On 没有区别开关设置为 On 来隐藏具有相同值的参数。
    3. Metrics 部分显示所有所选运行中的 scalar 指标、混淆列表和 ROC curve 数据。

      1. Scalar metrics 选项卡中,将 没有区别的 参数设置为 On 来隐藏具有相同值的参数。
      2. ROC curve 选项卡中,在 artifacts 列表中清除您要从 chart 中删除工件旁边的复选框来调整 ROC curve chart。
  4. 要选择不同的运行以进行比较,请单击 Manage run

    此时会打开 Manage run 页面。

    1. 在过滤器下拉列表中,选择 Run, Experiment, Pipeline version,Created after, 或 Status 以根据每个值过滤运行列表。
    2. 清除您要从您的比较中删除的每个运行旁边的复选框。
    3. 选择您要添加到比较的每个运行旁边的复选框。
  5. Update

验证

  • Compare run 页面会打开并显示您选择的运行的数据。

第 3 章 管理管道运行

3.1. 管道运行概述

管道运行是数据科学管道的单一执行。作为数据科学家,您可以使用 OpenShift AI 定义、管理和跟踪数据科学管道的执行。要查看之前执行、调度和归档运行的记录,您必须首先从 OpenShift AI 界面中的 ExperimentsExperiments 和 run 页面中进行选择。选择实验后,您可以从 Runs 页面访问其所有管道运行。

您可以使用管道试验来优化管道运行的使用以实现可移植性和可重复性。通过试验,您可以对管道运行进行逻辑分组,并尝试不同的管道配置。您还可以克隆管道运行来重现和扩展,或者在您要保留执行记录时归档它们,但不再需要它们。您可以删除不再需要保留的归档运行,也可以将其恢复到以前的状态。

您可以执行一次运行,即创建后或重复执行。重复运行由带有所有参数值和 run 触发器的管道副本组成。运行触发器指示重复运行的时间执行。您可以定义以下运行触发器:

  • periodic:用于调度运行(以间隔执行)
  • cron:用于调度作为 cron 作业运行

您还可以将同一运行的最多 10 个实例配置为同时执行。您可以从 OpenShift AI 用户界面的运行详情页面中跟踪运行的进度。在这里,您可以查看运行的图形和输出工件。

管道运行可以处于以下状态之一:

  • Scheduled: 调度一次执行的管道运行
  • Active :正在执行或停止的管道运行
  • 归档:归档的管道运行

您可以使用捕获运行来确保管道运行在暂停时不会永久低于调度。例如,如果您重新启用暂停的重复运行,则运行调度程序会回填每个未命中的运行间隔。如果您禁用捕获运行,并且您有调度的运行间隔可供执行,则运行调度程序只会调度运行的最新间隔。捕获运行会被默认启用。但是,如果管道在内部处理回填,红帽建议您禁用捕获运行以避免重复回填。

管道运行执行后,您可以在 Executions 页面中查看其执行任务的详情,及其工件(在 Artifacts 页面中)。在 Executions 页面中,您可以查看每个任务的执行状态,这表明它是否已成功完成。您还可以通过单击列表中的执行名称来查看每个执行的任务的更多信息。在 Artifacts 页面中,您可以查看每个管道工件的详情,如其名称、唯一 ID、类型和 URI。Pipeline 工件可帮助您评估管道运行的性能,并更轻松地了解管道组件。Pipeline 工件可以从纯文本数据到详细的交互式数据视觉化。

您可以通过点列表中的工件名称来查看每个工件的更多信息,包括原始运行和原始执行。您还可以点 preview 图标、下载图标或活跃工件 URI 链接来查看或下载存储在 S3 兼容对象存储中的工件内容。

点浏览器可以显示的内容的 preview 图标或 URI 链接(如纯文本、HTML 或 markdown)在新浏览器标签页中打开工件。点浏览器无法显示的内容的下载图标或 URI 链接(如模型文件)下载工件。要下载浏览器标签页中显示的构件,请右键单击内容,然后单击 Save 作为

注意

没有存储在 S3 兼容对象存储中的工件无法下载,且不会显示活跃的 URI 链接。

您可以查看和分析活跃管道运行中的每个步骤的日志。通过日志查看器,您可以搜索特定的日志消息,查看每个步骤的日志,并将步骤日志下载到本地机器。

3.2. 使用数据科学管道存储数据

当您运行数据科学项目时,OpenShift AI 存储管道 YAML 配置文件,并在存储桶 的根目录中 运行工件。包含管道运行工件的目录可能会因您执行管道运行的位置而有所不同。如需更多信息,请参阅下表:

Expand
表 3.1. Pipeline 配置文件和工件存储位置
Pipeline 运行源Pipeline 存储目录运行工件存储目录

OpenShift AI 仪表板

/pipelines/<pipeline_version_id>

示例: /pipelines/1d01c4eb-d2ab-4916-9935-a73a5580f1fb

/<pipeline_name>/<pipeline run_id>

示例: iris- training-pipeline/2g48k8pw-a8ib-4884-9145-h41j7599h3ds

JupyterLab Elyra 扩展

/pipelines/<pipeline_version_id>

/<pipeline_name_timestamp>

示例: /hello-generic-world-0523161704

使用 JupyterLab Elyra 扩展,您还可以设置 对象存储路径前缀

示例: /iris-project/hello-generic-world-0523161704

如果要使用管道中任务生成的现有工件,您可以使用 kfp.dsl.importer 组件从其 URI 导入工件。您只能将这些工件导入到您在管道服务器配置中的 Bucket 字段中定义的 S3 兼容对象存储桶。有关 kfp.dsl.importer 组件的更多信息,请参阅 Special Case: Importer 组件

3.3. 查看活跃管道运行

您可以查看之前在管道试验中执行的管道运行列表。在这个列表中,您可以查看与管道运行相关的详情,如运行的管道版本,以及运行状态、持续时间和执行开始时间。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您之前已执行可用的管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要查看活跃管道运行的管道测试的项目。
  3. 从试验列表中,点包含您要查看的活跃管道运行的实验。

    Runs 页面将打开。

    运行完成其执行后,运行状态将显示在 Runs 选项卡的 Status 列中,指示运行是成功还是失败。

验证

  • 管道运行列表显示在管道运行的 Runs 选项卡中,用于管道试验。

3.4. 执行管道运行

默认情况下,管道运行会在创建后立即执行一次。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要为其创建运行的管道试验的项目。
  3. 从管道试验列表中,点击您要为其创建运行的实验。
  4. 单击 Create run
  5. Create run 页面中,配置运行:

    1. Experiment 列表中选择您要为其创建运行的管道实验。或者,若要创建新管道实验,请单击 Create new experiment,然后在 Create experiment 对话框中完成相关字段。
    2. Name 字段中输入运行的名称,最多为 255 个字符。
    3. Description 字段中,输入 run 的描述,最多 255 个字符。
    4. Pipeline 列表中选择您要为其创建运行的管道。或者,要创建新管道,请点 Create new pipeline,然后完成 Import pipeline 对话框中的相关字段。
    5. Pipeline version 列表中,选择要为其创建运行的管道版本。或者,若要上传新版本,请单击 Upload new version,然后在 Upload new version 对话框中完成相关字段。
    6. 通过从列表中选择参数来配置运行的输入参数。
    7. 单击 Create run

      运行的详情页面将打开。

验证

  • 您创建的管道运行会显示在管道实验的 Runs 页面上的 Runs 选项卡中。

3.5. 停止活跃的管道运行

如果您不再需要活跃的管道运行继续在管道试验中执行,您可以在其定义的结束日期前停止运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 之前创建的数据科学项目包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 活跃的管道运行当前正在执行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要停止活跃运行的管道试验的项目。
  3. 从管道试验列表中,点包含您要停止的 run 的管道试验。
  4. Runs 选项卡中,点您要停止的活跃运行旁的操作菜单(WWN),然后点 Stop

    运行停止时可能会有短暂的延迟。

验证

  • Failed status 图标( The pipeline run failure icon )显示在已停止运行的 Status 列中。

3.6. 复制活跃管道运行

为了方便在管道试验中快速执行管道运行,您可以复制它们。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • Runs 页面上的 Active 选项卡中有一个活跃运行可以重复。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要重复的管道运行的管道测试的项目。
  3. 从管道试验列表中,点包含您要重复的管道运行的实验。
  4. 点相关活跃运行旁边的操作菜单(autotune),然后点 Duplicate
  5. Duplicate run 页面中,配置重复运行:

    1. Experiment 列表中,选择一个管道试验来包含重复运行。或者,若要创建新管道实验,请单击 Create new experiment,然后在 Create experiment 对话框中完成相关字段。
    2. Name 字段中输入重复运行的名称。
    3. Description 字段中,输入重复运行的描述。
    4. Pipeline 列表中,选择一个包含重复运行的管道。或者,要创建新管道,请点 Create new pipeline,然后完成 Import pipeline 对话框中的相关字段。
    5. Pipeline version 列表中,选择一个包含重复运行的管道版本。或者,若要上传新版本,请单击 Upload new version,然后在 Upload new version 对话框中完成相关字段。
    6. Parameters 部分中,通过从列表中选择参数来为重复运行配置输入参数。
    7. 单击 Create run

      运行的详情页面将打开。

验证

  • 重复的管道运行会在管道运行的 Runs 选项卡中显示,用于管道试验。

3.7. 查看调度的管道运行

您可以查看调度在管道试验中执行的管道运行列表。在这个列表中,您可以查看与管道运行相关的详情,如运行的管道版本。您还可以查看运行状态、执行频率和调度。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您已调度了可查看的管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要查看的调度的管道运行的管道测试的项目。
  3. 从管道试验列表中,点包含您要查看的管道运行的实验。
  4. Runs 页面上,单击 Schedules 选项卡。

    调度运行后,Status 列指示运行是否就绪或无法执行。要更改其执行可用性,请将 Status 开关设置为 OnOff。或者,您可以通过单击 Actions 下拉菜单,从调度的运行详情页面更改其执行可用性,然后选择 EnableDisable

验证

  • 在 Runs 页面上的 Runs 页面上显示调度的运行列表,用于管道试验。

3.8. 使用 cron 任务调度管道运行

您可以使用 cron 任务来调度管道运行在特定时间执行。Cron Job 可用于创建周期性和重复性任务,也可以将个别任务调度到指定时间,例如,如果您希望在低活动周期内计划运行。要在 OpenShift AI 中成功执行运行,您必须使用支持的格式。如需更多信息,请参阅 Cron Expression Format

以下示例显示了正确的格式:

Expand
运行发生次数Cron format

每五分钟

@every 5m

每 10 分钟

0 */10 * * * *

每天 16:16 UTC

0 16 16 * * *

每个小时的每日季度

0 0,15,30,45 * * * *

在周一和星期二为 15:40 UTC

0 40 15 * * MON,TUE

3.9. 调度管道运行

要重复运行管道,您可以创建一个调度的管道运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。

流程

  1. 要进入 Schedules 选项卡来运行,请执行以下几组操作:

    • 从实验中选择运行

      1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
      2. Experiments 页面中,从 Project 下拉列表中选择包含您要调度的运行管道试验的项目。
      3. 从管道试验列表中,单击包含您要调度的 run 的实验。
      4. 单击 Schedules 选项卡。
    • 选择任何运行

      1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
      2. Runs 页面上,从 Project 下拉列表中选择包含您要调度的运行的项目。
      3. 单击 Schedules 选项卡。
  2. 单击 Create schedule
  3. Create schedule 页面中,配置您要调度的运行:

    1. Experiment 列表中选择您要包含调度的运行管道试验。或者,若要创建新管道实验,请单击 Create new experiment,然后在 Create experiment 对话框中完成相关字段。
    2. Name 字段中输入运行的名称。
    3. Description 字段中,输入 run 的描述。
    4. Trigger type 列表中选择以下选项之一:

      • 选择 Periodic 来指定执行频率。在 Run every 字段中,输入数字并从列表中选择一个执行频率。
      • 选择 Cron,在 Cron string 字段中以 cron 格式指定执行调度。这会创建一个 cron 作业来执行运行。点 Copy 按钮( osd copy )将 cron 任务调度复制到剪贴板。左侧的字段代表秒。有关使用支持的 cron 格式调度任务的更多信息,请参阅 Cron Expression Format
    5. Maximum concurrent run 字段中,指定可以同时执行的运行数量,范围为一到 10。
    6. 对于 Start date,指定 run 的开始日期。使用日历以及时间列表中的开始时间选择开始日期。
    7. 对于 结束日期,请为运行指定结束日期。使用日历和时间列表中的结束时间选择结束日期。
    8. 对于 Catch up,启用或禁用捕获运行。您可以使用捕获运行来确保管道运行在暂停时不会永久回退到调度后。例如,如果您重新启用暂停的重复运行,则运行调度程序会回填每个未命中的运行间隔。
    9. Pipeline 列表中选择您要为其创建运行的管道。或者,要创建新管道,请点 Create new pipeline,然后完成 Import pipeline 对话框中的相关字段。
    10. 对于 Pipeline 版本,请选择以下选项之一:

      • 选择 Always 使用最新的管道版本,以便每个重复运行都会自动使用最新的管道版本。
      • 选择 Use fixed version,然后为所有重复运行选择特定的管道版本。或者,若要上传新版本,请单击 Upload new version,然后在 Upload new version 对话框中完成相关字段。
    11. 通过从列表中选择参数来配置运行的输入参数。
    12. 单击 Create schedule

验证

  • 调度的管道运行会在管道运行的 Runs 页面中显示用于管道试验的 Schedules 选项卡。

3.10. 复制调度的管道运行

为了更容易地调度运行作为管道试验的一部分执行,您可以复制现有的调度运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 调度的运行可以在 Runs 页面上的 Schedules 选项卡上重复。

流程

  1. 要进入 Schedules 选项卡来运行,请执行以下几组操作:

    • 从实验中选择运行

      1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
      2. Experiments 页面中,从 Project 下拉列表中选择包含您要重复的运行的管道试验的项目。
      3. 从管道试验列表中,单击包含您要重复的运行的实验。
      4. 单击 Schedules 选项卡。
    • 选择任何运行

      1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
      2. Runs 页面上,从 Project 下拉列表中选择包含您要调度的运行的项目。
      3. 单击 Schedules 选项卡。
  2. 点击您要复制的运行旁的操作菜单(WWN),然后点 Duplicate
  3. Duplicate schedule 页面中,配置重复运行:

    1. Experiment 列表中,选择一个管道试验来包含重复运行。或者,若要创建新管道实验,请单击 Create new experiment,然后在 Create experiment 对话框中完成相关字段。
    2. Name 字段中输入重复运行的名称。
    3. Description 字段中,输入重复运行的描述。
    4. Trigger type 列表中选择以下选项之一:

      • 选择 Periodic 来指定执行频率。在 Run every 字段中,输入数字,然后从列表中选择一个执行频率。
      • 选择 Cron,在 Cron string 字段中以 cron 格式指定执行调度。这会创建一个 cron 作业来执行运行。点 Copy 按钮( osd copy )将 cron 任务调度复制到剪贴板。左侧的字段代表秒。有关使用支持的 cron 格式调度任务的更多信息,请参阅 Cron Expression Format
    5. 对于 最大并发运行,请指定可同时执行的运行数量,范围为 1 到 10。
    6. 对于 Start date,为重复运行指定开始日期。使用日历以及时间列表中的开始时间选择开始日期。
    7. 对于 结束日期,请指定重复运行的结束日期。使用日历和时间列表中的结束时间选择结束日期。
    8. 对于 Catch up,启用或禁用捕获运行。您可以使用捕获运行来确保管道运行在暂停时不会永久回退到调度后。例如,如果您重新启用暂停的重复运行,则运行调度程序会回填每个未命中的运行间隔。
    9. Pipeline 列表中,选择您要为其创建重复运行的管道。或者,要创建新管道,请点 Create new pipeline,然后完成 Import pipeline 对话框中的相关字段。
    10. 对于 Pipeline 版本,请选择以下选项之一:

      • 选择 Always 使用最新的管道版本,以便每个重复运行都会自动使用最新的管道版本。
      • 选择 Use fixed version,然后为所有重复运行选择特定的管道版本。或者,若要上传新版本,请单击 Upload new version,然后在 Upload new version 对话框中完成相关字段。
    11. 通过从列表中选择参数,为运行配置输入参数。
    12. 单击 Schedule run

验证

  • 您重复的管道运行会在管道运行的 Runs 页面中显示,用于管道试验。

3.11. 删除调度的管道运行

要丢弃之前调度的管道运行,但不再需要,您可以删除它们,以便它们不会出现在 Schedules 页面中。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您之前已调度了一个可以删除的运行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要删除的调度的管道运行的管道测试的项目。
  3. 从管道试验列表中,点包含您要删除的调度的管道运行的实验。
  4. Runs 页面上,单击 Schedules 选项卡。
  5. 点您要删除的调度的管道运行旁的操作菜单(alsa),然后点 Delete
  6. Delete schedule 对话框中,在文本字段中输入运行名称,以确认您想要删除它。
  7. 点击 Delete

验证

  • 您删除的运行不再显示在管道试验的 Schedules 选项卡中。

3.12. 查看管道运行的详情

要更好地了解管道运行,您可以查看之前触发的管道运行的详情,如图形、执行详情和运行输出。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 之前您已触发了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
  2. Runs 页面上,从 Project 下拉列表中选择您要查看管道运行详情的项目。
  3. Runs 页面上,点您要查看详情的运行名称。

    运行的详情页面将打开。

验证

  • 在运行详情页面中,您可以查看运行图形、执行详情、输入参数、步骤日志和运行输出。

3.13. 查看归档的管道运行

您可以查看已归档的管道运行列表。您可以查看归档的管道运行详情,如管道版本、运行状态、持续时间和执行开始日期。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 归档的管道运行存在。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要查看的归档管道运行的管道测试的项目。
  3. 在管道试验列表中,点包含您要查看的归档管道运行的实验。
  4. Runs 页面上,点 Archive 选项卡。

验证

  • 在管道运行的 Runs 页面中会显示 存档 运行列表,用于管道试验。

3.14. 归档管道运行

您可以通过归档管道来保留管道运行的记录。如果需要,您可以从归档中恢复运行来重复使用或删除不再需要的运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您之前已执行可用的管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要归档的运行的管道试验的项目。
  3. 从管道试验列表中,点包含您要归档的管道运行的实验。

    Runs 页面将打开。

  4. Runs 选项卡中,点您要归档的管道运行旁的操作菜单(WWN),然后点 Archive
  5. Archiving run 对话框中,在文本字段中输入运行名称,以确认您想要归档它。
  6. Archive

验证

  • 归档的运行不会出现在 Runs 标签页中,而是显示在管道实验的 Runs 页面上的 Archive 选项卡中。

3.15. 恢复归档的管道运行

您可以将存档运行恢复到活动状态。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 项目中存在存档运行。

流程

  1. 在 OpenShift AI 仪表板中点 Experiments → Experiment s 并运行
  2. Experiments 页面中,从 Project 下拉列表中选择包含您要恢复的管道实验的项目。
  3. 从管道试验列表中,点包含您要恢复的归档管道运行的实验。
  4. Runs 页面上,点 Archive 选项卡。
  5. 点您要恢复的管道运行旁的操作菜单(autotune),然后点 Restore
  6. Restore run? 对话框中,点 Restore

验证

  • 恢复的运行会在管道运行的 Runs 选项卡中显示,用于管道试验。

3.16. 删除归档的管道运行

您可以从 OpenShift AI run 归档中删除管道运行。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并有一个管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 您之前已归档了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
  2. Runs 页面上,从 Project 下拉列表中选择您要删除归档的管道运行的项目。
  3. 单击 归档 选项卡。
  4. 点您要删除的管道运行旁的操作菜单(alsa),然后点 Delete
  5. Delete run? 对话框中,在文本字段中输入运行名称,以确认您想要删除它。
  6. 点击 Delete

验证

  • 您删除的归档运行不再显示在 Runs 页面的 Archive 选项卡中。

3.17. 复制归档的管道运行

为了更容易地重现与归档中运行的配置相同的配置,您可以复制它们。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含配置的管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • Runs 页面上的 Archived 选项卡中可以复制归档的运行。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
  2. Runs 页面上,从 Project 下拉列表中选择您要复制管道运行的项目。
  3. Runs 页面上,点 Archive 选项卡。
  4. 点您要重复的管道运行旁的操作菜单(autotune),然后点 Duplicate
  5. Duplicate run 页面中,配置重复运行:

    1. Experiment 列表中,选择一个管道试验来包含重复运行。或者,若要创建新管道实验,请单击 Create new experiment,然后在 Create experiment 对话框中完成相关字段。
    2. Name 字段中输入重复运行的名称。
    3. Description 字段中,输入重复运行的描述。
    4. Pipeline 列表中,选择一个包含重复运行的管道。或者,要创建新管道,请点 Create new pipeline,然后完成 Import pipeline 对话框中的相关字段。
    5. Pipeline version 列表中,选择一个包含重复运行的管道版本。或者,若要上传新版本,请单击 Upload new version,然后在 Upload new version 对话框中完成相关字段。
    6. Parameters 部分中,通过从列表中选择参数来为重复运行配置输入参数。
    7. 单击 Create run

      运行的详情页面将打开。

验证

  • 重复的管道运行会在管道运行的 Runs 选项卡中显示,用于管道试验。

第 4 章 使用管道日志

4.1. 关于管道日志

您可以查看和分析触发的管道运行中每个步骤的步骤日志。

为了帮助您对管道进行故障排除和审核,您可以使用 OpenShift AI 仪表板中的 log viewer 来查看和分析这些步骤日志。在这里,您可以搜索特定的日志消息,查看每个步骤的日志,并将步骤日志下载到本地机器。

如果步骤日志文件超过其容量,则会在日志查看器上方显示警告,表示日志窗口显示部分内容。扩展警告会显示更多信息,如日志查看器每三秒钟刷新一次,并且每个步骤日志显示收到的日志消息的最后 500 行。另外,您可以点 下载所有步骤日志,将所有步骤日志下载到您的本地机器中。

每个步骤都有一组容器日志。您可以从日志视图的 Steps 列表中选择一个容器来查看这些容器日志。Step-main 容器日志由步骤的日志输出组成。step-copy-artifact 容器日志由发送到 s3 兼容存储的工件数据的输出组成。如果您的管道中步骤传输的数据大于 3 KB,则通常会提供五个容器日志。这些日志包含与持久性卷声明(PVC)之间传输的数据相关的输出。

4.2. 查看管道步骤日志

要帮助您对管道进行故障排除和审核,您可以使用日志查看器查看和分析每个管道步骤的日志。在这里,您可以搜索特定的日志消息,并下载管道中每个步骤的日志。如果管道运行,您还可以从日志查看器暂停并恢复日志。

注意

对于在 Elyra 管道中运行的 Python 脚本,日志不再存储在 S3 兼容存储中。在 OpenShift AI 版本 2.11 中,您可以在管道步骤日志查看查看这些日志。

要使此更改生效,您必须使用 2024.1 或更高版本的工作台镜像中提供的 Elyra 运行时镜像。

如果您有一个旧的工作台镜像版本,请将 Version 选择 字段更新为兼容工作台镜像版本,例如 2024.1,如 更新项目工作台 中所述。

更新工作台镜像版本会清除管道的任何现有运行时镜像选择。更新工作台版本后,打开工作台 IDE 并更新管道的属性以选择运行时镜像。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 之前您已触发了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
  2. Runs 页面上,从 Project 下拉列表中选择您要查看管道步骤日志的项目。
  3. Runs 页面上,点您要查看日志的运行名称。
  4. 在运行详情页面的 Graph 选项卡中,点您要查看日志的管道步骤。
  5. Logs 选项卡。
  6. 要查看另一个管道步骤的日志,请从 Steps 列表中选择您要查看日志的步骤。
  7. 使用日志查看器分析日志。

    • 要搜索特定的日志消息,请在搜索栏中输入至少部分消息。
    • 要在单独的浏览器窗口中查看完整的日志,请点操作菜单(&&)并选择 View raw logs。或者,要扩展日志查看器的大小,请点操作菜单(postgres)并选择 Expand

验证

  • 您可以查看管道中每个步骤的日志。

4.3. 下载管道步骤日志

除了在 OpenShift AI 仪表板上使用 log viewer 来查看管道运行的步骤日志,您可以下载它们以进一步分析。您可以选择下载管道中所有步骤的日志,或者只能下载日志视图中显示的步骤日志。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您之前已创建了可用的数据科学项目,并包含管道服务器。
  • 您已将管道导入到活跃的管道服务器。
  • 之前您已触发了管道运行。

流程

  1. 在 OpenShift AI 仪表板中点 Data Science pipelinesRuns
  2. Runs 页面上,从 Project 下拉列表中选择您要下载日志的项目。
  3. Runs 页面上,点您要下载日志的运行名称。
  4. 在运行详情页面的 Graph 选项卡中,点您要下载日志的管道步骤。
  5. Logs 选项卡。
  6. 在日志查看器中,点 Download 按钮( rhoai download icon )。

    1. 选择 Download current stop log 以下载当前管道步骤的日志。
    2. 选择 Download all step logs 下载管道运行中的所有步骤的日志。

验证

  • 步骤会下载浏览器的默认目录以下载您的下载文件。

第 5 章 在 JupyterLab 中使用管道

5.1. JupyterLab 中的管道概述

您可以使用 Elyra 在 JupyterLab 中创建视觉端到端管道工作流。Elyra 是 JupyterLab 的扩展,为您提供了一个 Pipeline Editor,以创建可在 OpenShift AI 执行的管道工作流。

在创建以下工作台镜像的最新版本时,您可以在 JupyterLab 中访问 Elyra 扩展:

  • Standard Data Science
  • PyTorch
  • TensorFlow
  • TrustyAI
  • ROCm-PyTorch
  • ROCm-TensorFlow

Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

当您使用 Pipeline Editor 可视化设计管道时,需要最少的代码来创建和运行管道。有关 Elyra 的更多信息,请参阅 Elyra 文档。有关 Pipeline Editor 的更多信息,请参阅 Visual Pipeline Editor。创建管道后,您可以在 JupyterLab 中本地运行,也可以使用 OpenShift AI 中的数据科学管道远程运行。

管道创建过程由以下任务组成:

  • 创建包含工作台的数据科学项目。
  • 创建管道服务器。
  • 在 JupyterLab 中的 Pipeline Editor 中创建新管道。
  • 通过添加 Python 笔记本或 Python 脚本并定义其运行时属性来开发管道。
  • 定义执行依赖项。
  • 运行或导出管道。

在 JupyterLab 中运行管道前,您的管道实例必须包含运行时配置。运行时配置定义了管道实例的连接信息,以及 S3 兼容云存储。

如果您创建工作台作为数据科学项目的一部分,则会自动创建默认的运行时配置。但是,如果您从 OpenShift AI 仪表板的 Start basic workbench 标题创建工作台,您必须在 JupyterLab 中运行管道前创建一个运行时配置。有关运行时配置的更多信息,请参阅运行时配置。作为先决条件,在创建工作台前,请确保已在与工作台相同的数据科学项目中创建并配置管道服务器。

您可以使用 S3 兼容云存储,在笔记本和脚本执行期间使数据提供给笔记本和脚本。您的云存储必须可从部署中的机器访问,这些机器运行 JupyterLab 以及托管数据科学管道的集群。在 JupyterLab 中创建并运行管道前,请确保您具有兼容 s3 的存储凭证。

5.2. 访问管道编辑器

您可以使用 Elyra 在 JupyterLab 中创建视觉端到端管道工作流。Elyra 是 JupyterLab 的扩展,为您提供了一个 Pipeline Editor,以创建可在 OpenShift AI 执行的管道工作流。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。

    重要

    要确保自动创建运行时配置,您必须在创建工作台前创建管道服务器。

  • 您已创建了一个工作台镜像的工作台,其中包含 Elyra 扩展(Standard Data Science、TensorFlow、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch),如 创建工作台并选择 IDE 中所述。
  • 您已启动工作台并打开 JupyterLab 接口,如 访问工作台 IDE 中所述。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

  • 您可以访问 S3 兼容存储。

流程

  1. 打开 JupyterLab 后,确认 JupyterLab launcher 会自动显示。
  2. 在 JupyterLab launcher 的 Elyra 部分中,点 Pipeline Editor 标题。

    Pipeline Editor 将打开。

验证

  • 您可以在 JupyterLab 中查看 Pipeline Editor。

5.3. 创建运行时配置

如果您创建工作台作为数据科学项目的一部分,则会自动创建默认的运行时配置。但是,如果您从 OpenShift AI 仪表板的 Start basic workbench 标题创建工作台,您必须在 JupyterLab 中运行管道前创建一个运行时配置。这可让您为管道实例和 S3 兼容云存储指定连接信息。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您可以访问兼容 S3 的云存储。
  • 您已创建了一个包含工作台的数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 JupyterLab 左侧栏中,点 Runtimes ( The Runtimes icon )。
  2. Create new runtime configuration 按钮( Create new runtime configuration )。

    Add new Data Science Pipelines runtime configuration 页面会打开。

  3. 完成相关字段以定义运行时配置。

    1. Display Name 字段中输入运行时配置的名称。
    2. 可选:在 Description 字段中输入用于定义运行时配置的描述。
    3. 可选: 在 Tags 字段中,点 Add Tag 为管道实例定义类别。输入标签的名称,然后按 Enter 键。
    4. 定义数据科学项目管道的凭证:

      1. Data Science Pipelines API Endpoint 字段中,输入数据科学项目管道的 API 端点。不要在此字段中指定 pipelines 命名空间。

        重要

        使用 Elyra 时,您现在可以通过包含端口号来使用基于服务的 URL 而不是基于路由的 URL。通过使用基于服务的 URL,您的数据科学管道可以直接访问该服务。

      2. Public Data Science Pipelines API Endpoint 字段中,输入数据科学项目管道的公共 API 端点。

        重要

        您可以从仪表板的 Data Science pipelines → Runs 页面获取数据科学管道 API 端点。复制相关端点,并将其输入到 Public Data Science Pipelines API Endpoint 字段中。

      3. 可选: 在 Data Science Pipelines User Namespace 字段中输入相关用户命名空间来运行管道。
      4. Authentication Type 列表中,选择验证管道所需的身份验证类型。

        重要

        如果您直接从仪表板上的 Start basic workbench 标题创建工作台,请从 Authentication Type 列表中选择 EXISTING_BEARER_TOKEN

      5. Data Science Pipelines API Endpoint Username 字段中,输入身份验证类型所需的用户名。
      6. Data Science Pipelines API Endpoint Password Or Token 中,输入身份验证类型所需的密码或令牌。

        重要

        要获取数据科学管道 API 端点令牌,请在 OpenShift Web 控制台右上角,点您的用户名并选择 Copy login command。登录后,点 Display token,并复制来自 Log in with this token 命令的 --token= 的值。

    5. 定义 S3 兼容存储的连接信息:

      1. Cloud Object Storage Endpoint 字段中,输入 S3 兼容存储的端点。有关 Amazon s3 端点的更多信息,请参阅 Amazon Simple Storage Service 端点和配额
      2. 可选:在 Public Cloud Object Storage Endpoint 字段中输入 S3 兼容存储的 URL。
      3. Cloud Object Storage Bucket Name 字段中输入存储管道工件的存储桶名称。如果存储桶名称不存在,则会自动创建。
      4. Cloud Object Storage Authentication Type 列表中,选择访问 S3 兼容云存储所需的身份验证类型。如果使用 AWS S3 存储桶,请从列表中选择 KUBERNETES_SECRET
      5. Cloud Object Storage Credentials Secret 字段中,输入包含存储用户名和密码的 secret。此 secret 在相关用户命名空间中定义(如果适用)。另外,它必须存储在托管管道运行的集群中。
      6. Cloud Object Storage Username 字段中输入要连接到 S3 兼容云存储的用户名(如果适用)。如果使用 AWS S3 存储桶,请输入 AWS Secret Access Key ID。
      7. Cloud Object Storage Password 字段中,输入要连接到 S3 兼容云存储的密码(如果适用)。如果使用 AWS S3 存储桶,请输入 AWS Secret Access Key。
    6. Save & Close

验证

  • 您创建的运行时配置会在 JupyterLab 左侧栏中的 Runtimes 标签页( The Runtimes icon )中显示。

5.4. 更新运行时配置

为确保运行时配置准确和更新,您可以更改现有运行时配置的设置。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您可以访问 S3 兼容存储。
  • 您已创建了一个包含工作台的数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 之前创建的运行时配置在 JupyterLab 界面中可用。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 JupyterLab 左侧栏中,点 Runtimes ( The Runtimes icon )。
  2. 将光标悬停在您要更新的运行时配置上,然后点击 Edit 按钮( Edit runtime configuration )。

    Data Science Pipelines 运行时配置页面将打开。

  3. 填写相关字段以更新运行时配置。

    1. Display Name 字段中,更新运行时配置的名称(如果适用)。
    2. 可选:在 Description 字段中,更新运行时配置的描述(如果适用)。
    3. 可选: 在 Tags 字段中,点 Add Tag 为管道实例定义类别。输入标签的名称,然后按 Enter 键。
    4. 定义数据科学项目管道的凭证:

      1. Data Science Pipelines API Endpoint 字段中,更新数据科学项目管道的 API 端点(如果适用)。不要在此字段中指定 pipelines 命名空间。

        重要

        使用 Elyra 时,您现在可以通过包含端口号来使用基于服务的 URL 而不是基于路由的 URL。通过使用基于服务的 URL,您的数据科学管道可以直接访问该服务。

      2. Public Data Science Pipelines API Endpoint 字段中,更新数据科学项目管道的 API 端点(如果适用)。
      3. 可选: 在 Data Science Pipelines User Namespace 字段中,更新相关用户命名空间以运行管道(如果适用)。
      4. Authentication Type 列表中,选择验证管道所需的新身份验证类型(如果适用)。

        重要

        如果您直接从仪表板上的 Start basic workbench 标题创建工作台,请从 Authentication Type 列表中选择 EXISTING_BEARER_TOKEN

      5. Data Science Pipelines API Endpoint Username 字段中,更新身份验证类型所需的用户名(如果适用)。
      6. Data Science Pipelines API Endpoint Password Or Token 中,更新身份验证类型所需的密码或令牌(如果适用)。

        重要

        要获取数据科学管道 API 端点令牌,请在 OpenShift Web 控制台右上角,点您的用户名并选择 Copy login command。登录后,点 Display token,并复制来自 Log in with this token 命令的 --token= 的值。

    5. 定义 S3 兼容存储的连接信息:

      1. Cloud Object Storage Endpoint 字段中,更新 S3 兼容存储的端点(如果适用)。有关 Amazon s3 端点的更多信息,请参阅 Amazon Simple Storage Service 端点和配额
      2. 可选:在 Public Cloud Object Storage Endpoint 字段中,更新 S3 兼容存储的 URL (如果适用)。
      3. Cloud Object Storage Bucket Name 字段中,更新存储管道工件的存储桶的名称(如果适用)。如果存储桶名称不存在,则会自动创建。
      4. Cloud Object Storage Authentication Type 列表中,更新访问 S3 兼容云存储所需的身份验证类型(如果适用)。如果使用 AWS S3 存储桶,则必须从列表中选择 USER_CREDENTIALS
      5. 可选:在 Cloud Object Storage Credentials Secret 字段中,更新包含存储用户名和密码的 secret (如果适用)。此 secret 在相关用户命名空间中定义。您必须在托管管道运行的集群中保存 secret。
      6. 可选:在 Cloud Object Storage Username 字段中,更新用户名以连接到与 S3 兼容的云存储(如果适用)。如果使用 AWS S3 存储桶,请更新 AWS Secret Access Key ID。
      7. 可选:在 Cloud Object Storage Password 字段中,更新密码以连接到与 S3 兼容云存储(如果适用)。如果使用 AWS S3 存储桶,请更新 AWS Secret Access Key。
    6. Save & Close

验证

  • 您更新的运行时配置会在 JupyterLab 左侧边栏的 Runtimes 标签页( The Runtimes icon )中显示。

5.5. 在 Elyra 中禁用节点缓存

您可以使用 OpenShift AI 中的 Elyra 功能在数据管道中缓存组件或 "nodes"。当管道组件运行时,Elyra 默认存储其输出。在后续运行时,如果 Elyra 检测到某个组件已经执行并且其输入没有更改,它将重复使用缓存的输出,而不是重新运行整个组件。

有关数据科学管道缓存的更多信息,请参阅 数据科学管道缓存概述

如果您不想缓存组件输出,您可以为单一节点或管道中的所有节点禁用此功能。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。

    重要

    要确保默认创建了运行时配置,您必须在创建工作台前创建管道服务器。

  • 您已创建了一个工作台镜像的工作台,其中包含 Elyra 扩展(Standard Data Science、TensorFlow、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch),如 创建工作台并选择 IDE 中所述。
  • 您已启动工作台并打开 JupyterLab 接口,如 访问工作台 IDE 中所述。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于包含 Elyra 扩展的 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用,它不包含在 Minimal Python workbenches 中。支持的基于 JupyterLab 的镜像,如 Standard Data Science、Tensorch、TrustyAI 和 ROCm 变体包括 Elyra 扩展。

  • 您可以访问 S3 兼容存储。
  • 您已在 JupyterLab 中创建管道。

流程

  1. 打开 JupyterLab 后,确认 JupyterLab launcher 会自动显示。
  2. 打开包含您要修改节点的管道。
  3. 右键点击您要编辑的节点,然后点 Open Properties
  4. 要在单一节点上禁用缓存,请完成以下步骤:

    1. 单击右侧的滑块菜单中的 Node Properties 选项卡。
    2. Additional Properties 下,单击 Disable node caching 下的选项栏,该缓存使用 Use runtime default 自动填充。
    3. 选择 True
  5. 要为管道上的所有节点禁用缓存,请完成以下步骤:

    1. 点右侧的 slide-out 菜单中的 Pipeline Properties 选项卡。
    2. Node Defaults 下,单击 Disable node caching 下的选项条,该缓存使用 Use runtime default 自动填充。
    3. 选择 True

验证

  • 要验证单个节点是否禁用了缓存,请检查节点在目标运行时环境中是否已重新执行。
  • 要验证管道上所有节点是否禁用了缓存,请检查目标运行时环境中是否重新执行整个管道运行。

5.6. 删除运行时配置

使用运行时配置完成后,您可以从 JupyterLab 接口中删除它。删除运行时配置后,您无法在 JupyterLab 中运行管道,直到创建另一个运行时配置为止。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了一个包含工作台的数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 之前创建的运行时配置在 JupyterLab 界面中可见。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 JupyterLab 左侧栏中,点 Runtimes ( The Runtimes icon )。
  2. 将光标悬停在您要删除的运行时配置上,然后点 Delete Item 按钮( Delete item )。

    此时会打开一个对话框,提示您确认删除运行时配置。

  3. 点击 OK

验证

  • 您删除的运行时配置不再显示在 JupyterLab 左侧栏中的 Runtimes 标签页( The Runtimes icon )中。

5.7. 复制运行时配置

要防止您整个使用类似值重新创建运行时配置,您可以在 JupyterLab 界面中复制现有的运行时配置。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了一个包含工作台的数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 之前创建的运行时配置在 JupyterLab 界面中可见。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 JupyterLab 左侧栏中,点 Runtimes ( The Runtimes icon )。
  2. 将光标悬停在您要重复的运行时配置上,并点击 Duplicate 按钮( Duplicate )。

验证

  • 重复的运行时配置会在 JupyterLab 左侧栏中的 Runtimes 标签页( The Runtimes icon )中显示。

5.8. 在 JupyterLab 中运行管道

您可以从 Pipeline Editor 用户界面运行在 JupyterLab 中创建的管道。在运行管道前,您必须创建一个数据科学项目和管道服务器。创建管道服务器后,您必须在与管道服务器相同的项目中创建工作台。JupyterLab 中的管道实例必须包含运行时配置。如果您创建工作台作为数据科学项目的一部分,则会自动创建默认的运行时配置。但是,如果您从 OpenShift AI 仪表板的 Start basic workbench 标题创建工作台,您必须在 JupyterLab 中运行管道前创建一个运行时配置。运行时配置定义了管道实例的连接信息,以及 S3 兼容云存储。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您可以访问 S3 兼容存储。
  • 您已在 JupyterLab 中创建管道。
  • 您已在 JupyterLab 中的 Pipeline Editor 中打开管道。
  • 管道实例包含运行时配置。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 Pipeline Editor 用户界面中,点 Run Pipeline ( The Runtimes icon )。

    此时会打开 Run Pipeline 对话框。Pipeline Name 字段自动填充管道文件名。

    注意

    运行管道后,会在 OpenShift AI 仪表板中自动创建包含管道运行的管道 试验,并在 OpenShift AI 仪表板中 运行 页面。试验名称与您分配给管道的名称匹配。

  2. 定义管道运行的设置。

    1. Runtime Configuration 列表中,选择要运行管道的相关运行时配置。
    2. 可选:配置管道参数(如果适用)。如果您的管道包含引用管道参数的节点,您可以更改默认参数值。如果需要参数且没有默认值,则必须输入一个值。
  3. 点击 确定

验证

  • 您可以在 Experiments → Experiments → Experiments 中查看管道运行的详情 ,并在 OpenShift AI 仪表板中运行 页面。
  • 您可以查看管道运行的输出工件。工件存储在您指定的对象存储桶中。

5.9. 在 JupyterLab 中导出管道

您可以导出在 JupyterLab 中创建的管道。当您导出管道时,管道已准备好进行后续执行,但不会立即上传或执行。在导出过程中,任何软件包依赖项都会上传到兼容 S3 的存储中。另外,为目标运行时生成管道代码。

在导出管道前,您必须创建一个数据科学项目和管道服务器。创建管道服务器后,您必须在与管道服务器相同的项目中创建工作台。另外,JupyterLab 中的管道实例必须包含运行时配置。如果您创建工作台作为数据科学项目的一部分,则会自动创建默认的运行时配置。但是,如果您从 OpenShift AI 仪表板的 Start basic workbench 标题创建工作台,您必须在 JupyterLab 中导出管道前创建一个运行时配置。运行时配置定义了管道实例的连接信息,以及 S3 兼容云存储。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 您已创建了一个包含工作台的数据科学项目。
  • 您已在包含工作台的 data Science 项目中创建和配置了管道服务器。
  • 您可以访问 S3 兼容存储。
  • 您已在 JupyterLab 中创建了一个管道。
  • 您已在 JupyterLab 中的 Pipeline Editor 中打开管道。
  • 管道实例包含运行时配置。
  • 您已从包含 Elyra 扩展(Standard Data Science、TrustyAI、ROCm-PyTorch、ROCm-TensorFlow 或 PyTorch)的工作台创建并启动工作台。

    重要

    Elyra 管道编辑器仅适用于特定的工作台镜像。要使用 Elyra,工作台必须基于 JupyterLab 镜像。Elyra 扩展在 code-server 或 RStudio IDE 中不可用。工作台也必须从 Standard Data Science 镜像衍生而来。它不适用于 Minimal Python 或 CUDA 的工作台。所有其他支持的基于 JupyterLab 的工作台镜像都可以访问 Elyra 扩展。

流程

  1. 在 Pipeline Editor 用户界面中,点 Export Pipeline ( Export pipeline )。

    此时会打开 Export Pipeline 对话框。Pipeline Name 字段自动填充管道文件名。

  2. 定义导出管道的设置。

    1. Runtime Configuration 列表中,选择要导出管道的相关运行时配置。
    2. Export Pipeline 中选择一个适当的文件格式
    3. Export Filename 字段中,为导出的管道输入文件名。
    4. 选择 Replace if file already exists 复选框,以替换与您要导出的管道相同的现有文件。
    5. 可选:配置管道参数(如果适用)。如果您的管道包含引用管道参数的节点,您可以更改默认参数值。如果需要参数且没有默认值,则必须输入一个值。
  3. 点击 确定

验证

  • 您可以查看包含您在指定对象存储存储桶中导出的管道的文件。

第 6 章 DSPA 组件错误故障排除

下表显示了在 DataSciencePipelinesApplication (DSPA)组件中找到的常见错误,以及相关的状态、消息和建议的解决方案。Ready 条件类型从各种 DSPA 组件收集错误,提供 DSPA 部署的状态视图。

Expand
类型Status错误信息和解决方案

ObjectStorageAvailable

Ready

False

False

错误消息: Could not connect to Object Store: tls: failed to verify certificate: x509: certificate signed by unknown authority

解决方案 :这个问题发生在 OpenShift AI 版本 2.9 或更高版本中使用自签名证书的集群中。数据科学项目管理器无法连接到对象存储,因为它不信任对象存储 SSL 证书。因此,无法创建管道服务器。请联系您的 IT 操作管理员,以添加相关的证书颁发机构捆绑包。

如需更多信息,请参阅使用证书

ObjectStorageAvailable

Ready

False

False

错误消息:Could not connect to Object Store Deployment for component "ds-pipeline-pipelines-definition" is missing - 先决条件组件可能还不可用。缺少组件 "ds-pipeline-persistenceagent-pipelines-definition" 的部署 - 先决条件组件可能还不可用。缺少组件 "ds-pipeline-scheduledworkflow-pipelines-definition" 的部署 - 先决条件组件可能还不可用。

解决方案:在运行 OpenShift AI 2.8.x 的集群中,数据科学项目管理器可能无法连接到对象存储,且可能无法创建管道服务器。

确保您的对象存储凭证和连接信息准确,并验证从数据科学项目关联的 OpenShift 命名空间中访问对象存储。一个常见的问题是对象存储 SSL 证书不被信任,特别是在使用自签名证书时。

验证和更新对象存储凭据,然后重试操作。

ObjectStorageAvailable

Ready

False

False

错误消息 :Wrong credentials for Object Storage: Could not connect to (minio-my-project.apps.my-cluster.com), Error: 我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。

解决方案:为您的对象存储提供正确的凭证,并重试操作。

DatabaseAvailable

Ready

False

False

错误消息: FailingToDeploy: Dial tcp XXX.XXX.XXX:3306 : i/o timeout

解决方案:如果问题在启动之外仍然存在,请在数据库连接设置中检查网络问题或错误配置。

DatabaseAvailable

Ready

False

False

错误消息: Unable to connect to external database: tls: failed to verify certificate: x509: certificate signed by unknown authority

解决方案 :在使用任何外部数据库时,可能会出现此问题,如 Amazon RDS。数据科学项目管理器无法连接到数据库,因为它不信任数据库 SSL 证书,从而导致创建管道服务器。请联系您的 IT 操作管理员以添加相关证书。

如需更多信息,请参阅使用证书

DatabaseAvailable

Ready

False

False

错误消息: Error 1129: Host 'A.B.C.D' 因许多连接错误而被阻止。

解决方案:使用外部数据库时可能会出现此问题,如 Amazon RDS。最初,管道服务器创建成功。但是,在一段时间后,OpenShift AI 仪表板显示一个"错误显示管道"消息,而 DSPA 条件则表示主机因为多个连接错误而被阻止。

有关如何为外部 Amazon RDS 数据库解决这个问题的更多信息,请参阅 解决 "Host is blocked due due many connection error" error in Amazon RDS for MySQL。注:点击此链接会打开外部网站。

APIServerReady

Ready

False

False

错误消息: 由于项目名称长,路由创建失败: Route.route.openshift.io 无效:spec.host 超过 63 个字符。

解决方案:确保 OpenShift 中的项目名称小于 40 个字符。

APIServerReady

Ready

False

False

错误消息:FailingToDeploy: Component replica failed to create。Message: serviceaccount "ds-pipeline-sample" not found.

解决方案:如果故障在 DSPA 启动过程中保留超过 25 秒,请重新创建缺少的服务帐户。

PersistenceAgentReady

Ready

False

False

错误消息: FailingToDeploy: 组件的副本无法创建。Message: serviceaccount "ds-pipeline-persistenceagent-sample" not found.

解决方案:如果故障在 DSPA 启动过程中保留超过 25 秒,请重新创建缺少的服务帐户。

ScheduledWorkflowReady

Ready

False

False

错误消息: FailingToDeploy: 组件的副本无法创建。Message: serviceaccount "ds-pipeline-scheduledworkflow-sample" not found.

解决方案:如果故障在 DSPA 启动过程中保留超过 25 秒,请重新创建缺少的服务帐户。

MLMDProxyReady

Ready

False

False

错误消息: Deploying: Component [ds-pipeline-scheduledworkflow-sample] 仍在部署。

解决方案:等待 DSPA 启动完成。如果部署在 25 秒后失败,请检查日志以了解更多信息。

6.1. DSP 组件间的常见错误

下表列出了在多个 DSPA 组件间可能会出现的错误:

Expand
部署条件和条件类型Status错误信息和解决方案

状况: 未找到组件部署

状况类型: ComponentDeploymentNotFound

False

错误消息: 组件 <component> Deployment 缺少 - 先决条件组件可能还不可用。

解决方案:该组件的部署不存在。通常,这个问题会因为缺少部署或创建过程中发生的问题。

状况:部署扩展

状况类型: MinimumReplicasAvailable

False

错误消息: 为组件 <component> Deployment 被缩减。

解决方案:组件不可用,因为部署副本数设为零。

条件:组件无法进行

condition type: FailingToDeploy

False

错误消息: Component <component> has failed to progress。Reason: <progressingCond.Reason>.Message: <progressingCond.Message>

解决方案:由于 ProgressDeadlineExceededReplicaSetCreateError 问题,部署已停止,或类似。

条件:复制创建失败

condition type: FailingToDeploy

False

错误消息:Component's replica <component> has failed to create。Reason: <replicaFailureCond.Reason>.Message: <replicaFailureCond.Message>

解决方案 :复制创建失败,通常是因为副本集中的错误或服务帐户。

condition: Pod-Level Failures

condition type: FailingToDeploy

False

错误消息: 每个 pod 的 Concatenated 失败消息。

解决方案:部署 pod 处于失败状态。检查 pod 日志以了解更多信息。

condition: Pod in CrashLoopBackOff

condition type: FailingToDeploy

False

错误消息: Component <component> is in CrashLoopBackOff.来自 pod 的消息:<crashLoopBackOffMessage>

解决方案 :Pod 容器会重复失败,通常是因为环境变量不正确或缺少服务帐户。

条件:组件部署(无错误)

condition: type: Deploying

False

错误消息: Component <component> is deployed.

解决方案 :组件部署过程持续,且不会检测到错误。

条件:最小组件可用

状况类型: MinimumReplicasAvailable

True

错误消息: Component <component> is minimally available。

解决方案:组件可用,但仅运行的最小副本数。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部