MLops博客

如何运行机器学习项目:最佳做法

6分钟
8月17日2023

ML和数据科学正在快速演化过去几年中,在整合不同技术和商务工作流方面大有进展。

工作商业ML项目时, 前后会做很多事.fit和.pridict文章中,我们将讨论端对端项目的不同方面, 通过几小步提高项目成功几率

何时使用ML

创建模型前, 问我们自己是一个好主意:

问题能否在没有ML解决

含意是,基于规则系统能解决问题吗?

规则型方法有独有特征规则透明易调试你总知道预测出错信息从实用性入手决定解释透明性至关紧要

规则化系统难以维护写法规则一开始看似简单化,但随着产品开发,它变得乱七八糟。关键是要思考规则维护问题,而ML系统很容易重新训练使用新数据集

举例说,如果你正在构建发票解析软件, 一开始你可能会专注于特定发票模板很容易写规则 因为文档结构几乎一致后处理更多发票后,ML法更容易理解,因为它易于标度只需要更多资料和/或复杂模型,而不是更多工程师写更多规则

启动ML项目前查表

甚至在写首行代码前,你应该对进度会如何看有良好的了解这份清单可以帮助:

  • ML项目的目标是什么定义清晰目标项目帮助焦点举例说,你可建ML模型实现信用卡认证自动化目标应尽量具体透明
  • 有数据吗压力不够大花更多时间收集高质量数据比用最先进模型实践上 每当模型表现不良 都可能与数据问题相关菲律宾凯时国际官网开户公司可能完全没有数据,像一些早期创业者, 让你回溯第三方ML解决方案直到你获取数据并训练模型即使是有数据,它可能不注解,注解需要一段时间
  • 如何测量模型性能训练模型时 会记录精度精度 精度记住这些数字不是最终目标商业计量取自项目目标Netflix推荐引擎是ML模型增加时间花在每个用户或减少数访问用户不看关闭网站.分两个层次衡量标准、模型衡量标准和商业衡量标准
  • 基础设施真的到位了吗机器学习10%机器学习90%工程

上图显示 实际ML代码 微小部分系统ML代码前,我们需要思考数据过程并不只是收集资料存储系统必须高度容错性举个例子,如果你使用云服务收集数据服务失效, 则应该有营救机制避免数据丢失

同时ML模型需要频繁更新视使用案例而定开发商花很多时间更新不是好做法系统工具节省时间并在整个过程更加透明是有益的一种方法就是使用良好的模型寄存器,使我们能够存储和管理多位训练模型开源模型寄存器像ML流和模型DB菲律宾凯时国际官网开户复杂协作求解退局奈普奈.

学习更多

读你如何能5凯时app 和海王星

从MLOPs角度讲,这是一种良好做法容器化ML推理代码使用Docker并使用Kubernetes部署容器化应用允许你少为搭建正确环境担心,并允许你在云中任何地方持续运行应用

  • 部署需求常备考虑部署策略的好点子云部署优先或边缘部署延时约束是什么思考这些问题常帮助判断模型的大小或复杂程度

差部署策略会削弱用户经验举个例子,如果你为用户生成餐厅推荐程序, 等她/他开机后立即开机应用需要很多时间。用户可能退出应用遇此情况,当用户不活动时,人或可隔夜生成建议,并隐藏在设备上

  • 可解释性需要吗?任何模型总目标都是为了获取最佳度量通常,这是代价解释性越复杂 模型内发生的事情就越少然而,我们关心为什么模型在某些情况下作特定预测举例说,在自动贷款应用系统中,申请者想了解为什么他们的贷款申请被拒绝。在此种情况下,似可选用简单模型并带可解释参数

训练ML模型后核对表

并训练模型瞷或快你只是部署它

慢点当数据你训练模型 仔细整理时, 有一些方法你模型黑客 通过高度量举个例子,考虑图像分类器预测图像是熊猫或北极熊高精度模型

模型预测(下图)-熊猫

模型预测(下图)-极地熊

模型预测(下图)-极地熊

前两个预测合情合理第三个呢应该是熊猫

分析模型后发现模型不是熊山极地分类器,而是一个雪草分类器大熊猫大多在雨林中看到 环境绿 雪中北极熊

类似地,NLP数据泄漏司空见惯建情感分类器 确保模型从表示情感的词学习 而不是从句令或无关词学习LIME和Shapley等库帮助解释模型预测

可你如何评估无人监督模型考虑句嵌入模型模型的目标是生成高分对语法相似的句子,低分异句子,在无人监督或全学自监督设置有定制测试套房是件好事,像手拉对正(相似)和负(不同)例子可用于任何模型做'单元测试'设计多级测试Easy测试模型智能性,例如

高山市好冰淇淋 政治领导人必须联合)

高山市好冰淇淋 甜点棒极了)

A/B测试

等模型完全正常后 即应释放到野外记住您的模型建测试 本地受限环境可事物生产可能稍有不同关键先测试运行 后完全部署

简言之,A/B测试用于随机设置中评估变量的两个选项电影推荐示例中, 我们随机选择几千个用户 并部署新ML模型 只面向用户几天后,我们比较新模式和老模式推荐接受率、总时间等如果新模型表现得更好,我们部署它供所有用户使用

好A/B测试有许多设计考量视测试目标而定

测量模型野性性能

训练时有标签光景模型预测实战环境呢可能你看不到标签如何测量实战模型性能

移动前,为什么我们要测量模型部署后性能我们不是用打包测试集测试它吗是的,我们确实这样做了训练数据分布可能与模型所见活环境大相径庭举例说,COVID前和COVID期间生成的推文在词汇、情感和题目上分布可能不同模型必然会在它没有看到的数据上犯更多错误调用此调用数据流.

读更多

处理概念疏松的最佳做法

有几个代理度量显示特征分布是否变换训练ML模型预测确定性,特征分布变化反映数据分布变化此外,改变预测标签分布也可能是一个报警训练数据标签看到40-60分布式和模型预测标签20-80分布式时,你可能想检查模型

在某些情况下,监督力弱是可能的以聊天机为例, 系统生成几条系统消息后, 系统可查询对话是否帮助用户 。请求验证太频繁损及用户经验类似地,搜索或推荐时,点击接受结果可反馈系统系统可在线再培训

检测模型质量退化后 下一步是恢复性能 通过对新数据再培训但在再培训前有一些考量

频繁复习模型取决于数据移位频率记住再培训成本相关联 特别是当再培训大模型

是否只再培训深学习模型最后几层或全模型多少旧数据 和多少新数据你应该使用

这些选择主要取决于您的用例

并读

如何跟踪机器学习模型测量
机器学习模型最后评选指南

偏偏公平

现代深学习模型黑盒我们不知道他们到底学了什么模型通常更加重视特征,使其最小损耗问题产生时,模型给予某些词或特征更多显亮度,诱发系统偏差。

算字2vec, 可能是少数著名早期语言模型词向量可表示简单向量代数语言语义例举 :

King-man+We

同一模型还显示这种关系

计算机程序员-man+We

发现偏差了吗

前段时间 Google图像搜索结果

另一臭名昭著的例子就是亚马逊ML招聘系统亚马逊设计算法排出前5CV发现系统偏向女性申请人并比男性申请人更频繁地拒绝她们。

这样的系统为公司制造不良名声并造成重大财政损失银行使用ML接受或拒绝贷款申请时,模型可能对某些种族有系统偏差这显然意味着银行失去潜在客户以及它创造的收入

比亚斯处理策略

机器学习可用消除机器学习模型偏差这种方法分两类 — — 使用ML消除偏差信号并使用ML包括信号减少数据集偏差ML模型据说偏向附加变量复元内含复元数据集改变模型预测

算法设计检测ML模型偏差包像IBMAI公平360提供开源实现算法此外,LIME和SHAP等可解释方法也有助于理解ML模型的决策过程

另一包调用FairML简单思想对黑盒模型有效模型取向量或特征矩阵并预测结果FairML评估输入特征相对重要性以检测输入数据偏差写包者表示

...FairML模型压缩四级输入算法量化模型相对预测依赖输入量

最近,深入学习反偏差模式变得受人欢迎一种方法消除分类器从敏感变量偏差复元中请求模型预测任务标签y和变量复元.反向剖析期间渐变复元反效果代之以梯度复元来减少损失 模型现在学习少依赖复元.

菲律宾凯时国际官网开户问题有解决之道,你应该研究它们 以确保模型公平

结论

简言之,为企业使用案例开发ML解决方案是一个多变问题

文章中我们讨论的是冰山一角项目挑战因问题解决而异花点时间思考你的要求 然后执行预规划一开始似乎耗时,但将来会省更多时间

引用

  1. BiasML
  2. 亚马逊招聘系统

文章有用吗

感谢回馈