MLops博客

如何获取ML模型复制

7分钟
4月6日2023

工作现实世界ML项目与一系列屏障面对面ml模型可复制性问题

文章将带你们逐步解决Ml模型可复制性挑战 由我机器学习团队研究保险域欺诈检测系统

你会学习

  • 一号复制机学习为何重要
  • 2团队面临哪些挑战
  • 3解决办法是什么(工具栈和清单)

从头开始

复制机学习为何重要

加深理解这个概念,我将分享我和团队之旅

项目后台

讨论重要细节前,让我向大家讲讲项目机器学习项目是保险域的欺诈检测系统,使用分类模型分类个人易实施欺诈或非欺诈,并视所需细节输入

初始阶段,当我们开始任何项目时, 我们不考虑模型部署、可复制性、模型再培训等取而代之的是,我们往往花大量时间数据探索、预处理和建模做机器大规模学习项目时,这的确是错误的事背起它,这里2016年自然调查.

根据这项研究,1500名科学家选择可复制性测试, 但他们中70%无法复制其他科学家的实验, 50%以上无法复制自己的实验记住这一点和其他一些细节后,我们创建了一个项目可复制并成功部署制作

研究分类项目时,我们意识到可复制性不仅对一致性结果至关重要,而且出于这些原因:

  • 稳定ML结果实践为了确保客户很容易信任欺诈检测模型结果,我们必须确保结果稳定可复制性是稳定ML管道结果的关键因素可复制性方面,我们使用完全相同的数据集和管道,这样我们团队中运行模型的任何人都可产生同样结果。但要保证训练资料和管道组件运行时保持原样,我们必须使用不同的MLOPs工具跟踪这些数据和管道组件

代码编译工具 模型编译工具 数据集编译工具 帮助跟踪机器学习管道同时,这些工具还帮助团队成员高度协作,并确保开发过程中遵循最佳做法。

  • 提高精确度和效率最强调的一件事就是 我们希望模型 一次又一次产生相同结果任何可复制模型每次运行都产生相同结果时,我们只需确保不每次运行模型时都对模型配置和超参数作任何修改。这有助于我们从所有尝试中辨别出最优模式
  • 避免重复努力开发分类项目时摆在我们面前的一个重大挑战是,我们必须保证,每当我们团队成员管理项目时,他们不必从头开始做所有配置,每次都实现相同结果。并,如果新开发者加入我们项目,他们很容易理解管道生成相同模型版本控制工具文档帮助团队成员,新加入者访问特定版本代码、某些数据集和ML模型
  • 启动免ug流水线开发曾几度运行同一种分类模型不产生相同结果,这有助于我们轻易发现管道中的错误和错误确定后,我们便能快速修复问题,使我们ML管道稳定

每一次ML复制挑战

现在你知道可复制性及其不同好处,现在是讨论我团队和我在开发ML项目时所面临的重大可复制性问题的时候了。重要部分是,所有这些挑战对任何机器学习或深学习使用案例都非常常见

开工缺少清晰文档

文献记录是我们一开始遗漏的一个主要部分一开始,当我们没有任何文档时,它会影响团队成员性能,因为他们比预期花更多时间理解需求并实现新特征新开发者很难理解整个项目由于缺乏文档,缺少标准方法,导致每次运行模型时无法复制相同结果

可视文档为概念理解项目与实际技术实施项目之间的桥梁文档帮助现有开发商和新团队成员理解解决方案的微小性并帮助他们更好地了解项目结构

二叉不同的计算机环境

团队中不同的开发者往往有可能有不同的环境,如操作系统、语言版、库版等做项目时我们有相同的场景这会影响我们的可复制性,因为每个环境在不同ml框架或不同包实施方式等方面对其他环境有某些重大变化

常见做法是,不同团队成员分享代码和人工制品,用于任何ML项目计算机环境小小改变可对现有项目产生问题,最终开发者会不必要地重复调试同一种代码

3级不跟踪数据、代码和工作流程

模拟机学习只有在使用同一种数据、代码和预处理步骤时才有可能实现。但不跟踪这些事物可能导致不同的配置使用相同的模型,结果每次运行都产生不同的输出时点项目需要存储所有信息, 以便随时取回信息 。

工作分类项目时, 我们一开始没有跟踪所有模型 和它们的超参数 发现这是我们项目实现可复制性的一个屏障

4级缺少标准评价度量和协议

选择右评价度量法是处理分类使用案例时可能遇到的挑战之一需要判断能最有效使用案例的度量举例说,在欺诈检测使用案例中,我们模型无法预测许多假负值,而我们正努力提高整体系统召回率。不使用标准度量可降低团队成员对目标的清晰度并最终影响可复制性

最后,我们必须确保所有团队成员都遵循相同的协议和代码标准,以便代码有一致性,使代码更容易读易懂

读更多

如何解决ML复制

菲律宾凯时国际官网开户机器学习可复制性清单:解决办法

菲律宾凯时国际官网开户作为ML工程师,我们确保每个问题都有一个或多个可能的解决方案,ML可复制性问题就是一例并用正确策略和正确选择工具解决所有挑战。现在让我们看看机器学习复制清单

开工清除文档解决方案

欺诈检测项目综合多项单项技术组件并集很难用词记住何时何方使用面向项目制作文档 包含信息 每一个模块 我们工作过例如 数据采集 数据预处理和探索 建模 部署 监控

记录哪些解决方案策略我们已经或将要尝试,哪些工具和技术将在整个项目使用,哪些执行决策等帮助ML开发者更好地了解ML项目有了适当的文档,他们能够遵循标准最佳做法,并逐步程序运行管道,最后,他们知道哪些错误需要哪种解决方式。产生同样的结果 每一次我们的团队成员运行模型 并帮助我们提高整体效率

并帮助我们提高团队效率,因为我们不必花时间向新加入者和其他开发者解释整个ML工作流程,因为文件刚提到所有内容。

二叉使用相同的计算机环境

开发分类解决方案需要ML开发者协作并研究机器学习管道的不同段自大开发商使用不同的计算环境后 很难产生相同结果 原因有二面向可复制性,我们必须确保每个开发者使用相同的计算环境、ML框架、语言版本等

PIP虚拟环境
PIP虚拟环境源码

使用嵌套容器或创建可分享性虚拟环境菲律宾凯时国际官网开户两种最佳解决方案使用相同的计算环境团队中,人们研究Windows和Unix环境,使用docker容器的不同语言和库版,解决了问题并帮助我们重新复制

3级跟踪数据、代码和工作流程

编译数据和工作流

数据是我们欺诈检测使用案例的骨架 如果我们对数据集稍作修改 可能影响模型可复制性数据使用案例并不符合培训模型所需的形状和格式所以我们不得不应用 不同的数据预处理步骤像NaN值清除,特征生成,特征编码,特征缩放等类使数据与所选模型兼容

正因如此,我们不得不使用数据编译工具像奈普奈,偏差DVC帮助系统管理数据看这个教程看海王星解决之道如何版本比较数据集.

比较Neptune.ai数据集
比较Neptune.ai数据集| 实例见海王星应用

同时,我们并不想每次运行ML管道时重复所有数据处理步骤,因此使用这些数据和工作流程管理工具帮助我们检索ML管道运行预处理数据的具体版本

学习更多

最佳7数据版本控制工具用机器学习项目改善工作流

代码编译管理

开发期间,我们必须多代码修改ML模块实施、新特征实现、集成测试等为了保证可复制性,我们必须确保每次运行管道时都使用同一种代码版

多工具版本控制全代码GitHub比特巴克特GitHub使用案例版本控制全代码库, 工具还使得团队协作很容易, 开发者访问由其他开发者所做的每项委托代码编译工具使我们每次运行机器学习管道时很容易使用相同的代码

kb88凯时开户平台ML实验跟踪

最后,使管道可复制的最重要部分是追踪所有模型和实验,我们在整个ML生命周期中都尝试过这些模型和实验。工作分类项目时,我们尝试不同的ML模型和超参数值,很难人工或文档跟踪这些模型和值解决问题,我们决定选择一个解决多重问题多工具跟踪全代码 数据 ML工作流而不是为每一项任务选择不同的工具奈普奈似乎正确解决办法

云平台设计帮助数据科学家kb88凯时开户平台,数据编译,5凯时app 元数据存储.网站为所有这些活动提供集中定位点,使团队更容易项目协作,并确保每个人都使用最新信息工作

www.musclechai.com:实验跟踪器和模型寄存器制作ML团队
www.musclechai.com源码

工具类奈普奈,彗星,MLFLOL等类使开发商能够访问模型的任何特定版本,以便他们能决定算法中哪些最优并使用何超参数并取决于使用案例和团队动态-你决定使用哪个工具

学习更多

kb88凯时开户平台系统自驱动飞行器实验跟踪

kb88凯时开户平台实验追踪媒体情报分析

4级判定标准评价度量和协议

当我们研究分类项目 并有偏差数据集时, 我们不得不决定 哪些测量值对我们有效精确性不出来作为均衡数据集的好度量,所以我们无法使用它得由我们来决定精度回想AUC-ROC曲线等类

欺诈检测使用案例,精度和回召都得到重视这是因为假阳性会给客户带来不便和烦恼,并可能损害企业名声假负值破坏力大得多并造成重大财政损失。保留回想为使用案例的主要度量

同时,我们决定使用PEP8编码标准,因为我们希望代码在我们开发的所有构件中统一选择单一度量聚焦PEP8标准编码实践帮助我们写易复制代码

结论

阅读文章后,你现在知道可复制性是处理ML使用案例的一个重要因素不可复制性 任何人都难信你的发现和结果菲律宾凯时国际官网开户并分享我和团队面临的部分挑战及建议解决方案。

需要记住文章中的一件事 即使用专用工具服务 控制版本 每一种可能的东西如数据 流水线 模型 和各种实验允许使用任何特定版本并运行整个管道 每次获取相同结果

引用

  1. //www.musclechai.com/blog/how-to-solve-reproducibility-in-ml
  2. https://blog.ml.cmu.edu/2020/08/31/5-reproducibility/
  3. https://www.decisivedge.com/blog/the-importance-of-reproducibility-in-machine-learning-applications/

文章有用吗

感谢回馈