1.13. 数据科学项目缓存概述
OpenShift AI 支持在数据科学管道中缓存,以优化执行时间并改进资源效率。使用缓存通过重复使用之前运行的结果来减少冗余任务执行。
缓存对于迭代任务特别有用,其中中间步骤可能不需要重复。了解缓存可帮助您设计更高效的管道,并在模型开发中节省时间。
缓存通过存储成功完成任务的输出来运行,并将新任务的输入与之前缓存的任务进行比较。如果找到匹配项,OpenShift AI 会重复使用缓存的结果,而不是重新执行该任务,从而减少计算时间和资源使用量。
1.13.1. 缓存标准 复制链接链接已复制到粘贴板!
要缓存生效,以下条件决定了任务是否可以使用之前缓存的结果:
- 输入数据和参数 :如果任务的输入数据和参数与之前的运行不同,则缓存的结果有资格被重复使用。
- 任务代码和配置 :对任务代码或配置的更改使缓存无效,以确保始终反映修改。
- Pipeline 环境 :对管道环境(如依赖项版本)的更改也会影响缓存资格以保持一致性。
1.13.2. 在 OpenShift AI 用户界面中查看缓存的步骤 复制链接链接已复制到粘贴板!
管道中的缓存步骤在用户界面(UI)中可视化指示:
-
使用缓存结果的任务会显示一个绿色图标,可帮助您快速确定缓存了哪些步骤。侧面板中的 Status 字段为缓存的任务显示
Cached。 - UI 还包括有关任务之前执行的时间信息,从而可以轻松地验证缓存使用情况。
要确认特定任务的缓存状态,请导航到 UI 中的管道详情视图,其中表示所有缓存和非缓存的任务。当缓存管道任务时,其执行日志不可用。这是因为任务使用之前生成的输出,从而消除了重新执行的需求。
1.13.3. 为特定的任务或管道禁用缓存 复制链接链接已复制到粘贴板!
在 OpenShift AI 中,缓存会被默认启用,但在有些情况下,需要为特定任务禁用缓存或整个管道。例如,依赖频繁更新的数据或唯一计算需求的任务可能无法从缓存中受益。
1.13.3.1. 为单个任务禁用缓存 复制链接链接已复制到粘贴板!
要为特定任务禁用缓存,请将 set_caching_options 方法直接应用到管道代码中的任务:
task_name.set_caching_options(False)
应用此设置后,OpenShift AI 在将来的管道运行中执行任务,忽略任何缓存的结果。
您可以通过设置 set_caching_options (True) 来为单个任务重新启用缓存。
1.13.3.2. 为管道禁用缓存 复制链接链接已复制到粘贴板!
如果需要,您可以通过在管道代码中将 enable_caching 参数设置为 False 来禁用整个管道的缓存。此设置可确保管道执行过程中不会缓存任何步骤。enable_caching 参数仅在使用 kfp.client 提交管道或启动管道运行(如 run_pipeline 方法时可用。
Example:
pipeline_func(enable_caching=False)
在管道级别禁用缓存时,会重新执行所有任务,这可能会增加计算时间和资源使用量。
1.13.4. 验证和故障排除 复制链接链接已复制到粘贴板!
配置缓存设置后,您可以使用以下方法之一验证缓存的行为是否如预期:
- 检查 UI :通过在任务列表中找到带有绿色图标的步骤来确认缓存的步骤。
- 测试任务重新运行 :禁用单个任务或管道的缓存,并检查重新执行以查看是否绕过缓存。
- 验证输入 :确保在有缓存应用时任务输入、参数和环境保持不变。