机器学习中的持续集成与A/B测试服务
1. 持续集成服务概述
理想情况下,持续集成服务能自动可靠地将更改集成到机器学习(ML)管道中。该服务可跟踪ML管道的更改,创建可在不同测试环境中部署的可重现包,并简化管道测试以检测问题。通过自动化这些任务,它能减少集成时间和生产中出现的问题数量,还支持数据用户进行协作开发。
1.1 协作开发ML管道
在构建阶段,数据科学家和工程师团队共同迭代以找到最佳模型。特征管道代码与模型算法、参数和超参数并行开发。团队通常面临交付ML管道的紧迫期限,需在确定与主分支集成的版本之前系统地进行大量实验。目前,实验跟踪、构建可部署版本、验证管道、训练模型、评估模型质量和跟踪最终结果等工作都是临时进行的。
1.2 集成ETL更改
特征管道以ETL代码形式编写,从不同数据源读取数据并将其转换为特征。ETL代码不断发展,常见场景包括迁移到新的数据处理框架(如Spark)、从Hive重写为Spark以提高性能、更改源模式等。
ETL更改需要使用全面的单元、功能、回归和集成测试套件进行正确性验证。这些测试确保管道代码健壮,并能在极端情况下正常运行。集成过程的第一步是运行单元测试和集成测试的黄金测试套件,也称为冒烟测试,因为它们比较样本输入输出数据的结果。理想情况下,集成测试应使用实际生产数据来测试健壮性和性能。目前,测试可以作为代码的一部分编写,也可以单独管理。此外,如果特征用于生成业务指标仪表板,数据用户需要验证结果的正确性(即用户验收测试),但目前的方法是临时的,通常使用不代表生产数据的小样本进行验证。
1.3 验证模式更改
数据源所有者会更改其源模式,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



