术语表

持续集成 (CI)

利用持续集成增强 AI/ML 工作流程。自动测试,提高代码质量,毫不费力地简化模型开发。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

持续集成(CI)是一种软件开发实践,开发人员经常将代码更改合并到一个中央存储库中,然后运行自动构建和测试。这一流程在现代软件开发(包括人工智能和机器学习(ML)项目)中至关重要,因为它有助于快速识别和解决错误,提高软件质量,缩短验证和发布新软件更新所需的时间。通过持续集成代码变更,团队可以避免 "集成地狱 "的出现,这种情况经常发生在人们等到项目结束才合并变更的时候。

持续集成的主要方面

持续集成涉及几个关键实践。首先,开发人员每天多次向共享仓库提交代码。然后,每次提交都要经过自动构建的验证,这样团队就能及早发现问题。自动测试是 CI 的另一个基石,包括单元测试、集成测试和其他形式的自动测试,以确保软件在每次更新后仍能正常运行。持续反馈是必不可少的,它能让开发人员立即了解其变更的影响。这种快速的反馈循环有助于快速解决问题并保持高水平的代码质量。

人工智能/移动语言持续集成的优势

在人工智能和 ML 方面,持续集成具有众多优势。它通过自动训练和验证模型来简化开发工作流程,确保任何新代码都能与现有系统无缝集成。这对于需要经常使用新数据重新训练模型的人工智能项目尤为重要。CI 可自动运行测试,检查模型的准确性、性能和其他关键指标,从而帮助保持代码质量。它还能提供一致、透明的开发流程,从而促进团队成员之间的协作。通过及早发现问题,CI 可降低开发周期后期出现重大问题的风险,最终实现更可靠、更强大的人工智能/ML 系统。

持续集成与相关术语

虽然持续集成是一种强大的实践,但它经常与持续交付(CD)和持续部署等其他相关概念一起讨论。持续交付是对持续集成的扩展,它确保软件可以随时发布到生产环境中,通常是通过将每个变更自动部署到测试或暂存环境中。持续部署则更进一步,将通过生产流水线所有阶段的每项变更自动发布到实时环境中。CI 专注于构建和测试阶段,而 CD 和持续部署则专注于发布和部署阶段。这些实践共同组成了一个称为 CI/CD 的管道,它是现代软件开发(包括人工智能/ML 项目)的最佳实践。

持续集成在人工智能/移动语言中的实际应用

持续集成用于各种实际的人工智能/ML 应用程序,以提高效率和可靠性。例如,一家使用Ultralytics YOLO 开发对象检测系统的公司可能会使用 CI 根据一套性能基准自动测试新的代码变更,确保任何更新都不会降低模型的准确性或速度。每次代码提交都会触发自动构建流程,在验证数据集上训练模型并评估其性能指标,如平均精度(mAP)。这种方法确保了模型的持续改进和可靠性。

另一个例子是在自然语言处理(NLP)领域,一个团队可能正在开发一个情感分析模型。通过实施 CI,每次代码变更都会自动测试其对模型准确进行情感分类能力的影响。这可能包括在测试数据集上运行更新后的模型,并将其性能与之前的版本进行比较。来自这些测试的持续反馈有助于团队快速发现并修复任何问题,确保模型保持准确有效。

持续集成的工具和平台

有几种工具和平台支持持续集成。Jenkins是一款开源自动化服务器,提供数百个插件,支持项目的构建、部署和自动化。Travis CI是另一种流行的选择,因其易用性和与 GitHub 的集成而闻名。GitLab CI/CD集成在 GitLab 中,为 CI/CD 管道提供了全面的解决方案。CircleCI支持多种语言和平台,可灵活满足不同的项目需求。GitHub Actions可让您直接在 GitHub 仓库中自动执行工作流程,为托管在 GitHub 上的项目提供了便利。这些工具可帮助团队有效实施 CI,确保其 AI/ML 模型得到持续测试和改进。此外,还可以将Ultralytics HUB 等平台集成到 CI 管道中,以简化模型的 训练部署,从而进一步提高开发流程的效率。

阅读全部