通过持续集成增强AI/ML工作流程。自动执行测试,提高代码质量,并轻松简化模型开发。
持续集成(CI)是一种基本的软件开发实践,开发人员经常将他们的 代码更改合并到共享的中央存储库中。与定期整合大规模更新不同,CI 鼓励 小规模的定期提交,从而触发自动构建和测试序列。在充满活力的 人工智能(AI)和 机器学习(ML)领域,这种做法是 基石 机器学习运营 (MLOps) 的基石。它可以确保代码、数据或 超参数不会破坏现有系统或降低模型性能。 系统或降低模型性能。
CI 的主要目标是尽早detect ,这一概念通常被称为 "快速失败"。 快速"。该流程主要依靠 Git 等版本控制系统来 管理代码库。当开发人员推送变更时,CI 服务器(如 GitHub Actions、 GitLab CI 或Jenkins 等 CI 服务器会自动 自动生成一个全新的环境。
对于 ML 项目,这种环境通常使用 容器化工具,如 Docker等容器化工具,以确保开发、测试和生产的一致性。CI 管道会执行一系列检查:
ML 的 CI 的一个重要方面是防止 "无声故障",即代码运行时没有错误,但模型的 智能降低。要做到这一点 模型测试直接集成到 CI 工作流中。
下面的Python 代码段演示了 CI 脚本如何加载一个 YOLO11模型,并断言其性能指标符合特定标准,然后才允许合并代码。 特定标准,然后才允许合并代码。
from ultralytics import YOLO
# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")
# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")
# Extract the mAP50-95 metric
map_score = results.box.map
# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
raise ValueError("Model performance regression detected! mAP is too low.")
在可靠性要求极高的行业中,持续集成的应用至关重要。
虽然 CI/CD 经常被放在一起提及,但重要的是要将持续集成与持续部署区分开来。 持续部署。
它们共同构成了一个精简的管道,可加速视觉人工智能产品的生命周期。 视觉人工智能产品的生命周期,让团队在保持质量和安全标准的同时 同时保持高标准的质量和安全性。