规避发布风险,破解算法模型更新难题,Tempo灰度服务了解一下
2022-04-29 10:30:54
次
面对话展示的情况,相信每一位算法模型开发人员都似曾相识:
A:不就是调整几个参数吗?怎么新模型发布那么慢?
B:哪怕只是调整几个参数,我们也需要停止整个模型服务进行更新,这影响的业务就太广泛了。
B:而且新模型需要反复测试,如果贸然上线出问题,老的历史模型又不可用了,说不定这次服务又要停好久….
数据算法模型开发不易,发布更新也不是一件简单的事情。尤其是在一些组织架构复杂、业务规模庞大的企业,每次算法模型优化更新都像是在打仗,例如:
● 模型调试工作反反复复,测试速度总是赶不上提需求的速度…
● 为了最大限度降低对日常数据分析平台服务的影响,必须在三更半夜无人在意的时间段才能发布...
● 小心再小心,也少有进入实际生产环境后完全没有bug出现的算法模型,而一旦更新模型出现问题,就往往会造成不可挽回的损失。
我们发现,传统的模型更新方式不仅无法快速实现业务侧的分析需求,也给技术侧人员制造了巨大的工作负担。那该如何打破这种僵局呢?来试试灰度服务吧!
一、什么是灰度服务?
首先,我们先需要科普一下什么是灰度服务:
灰度服务:又称金丝雀发布,这一术语源于过去欧洲煤矿工人把笼养的金丝雀带入矿井的传统。矿工通过金丝雀来了解矿井中一氧化碳的浓度,如果一氧化碳的浓度过高,金丝雀就会中毒,从而使矿工知道应该立刻撤离。
对应到数据算法模型开发工作中,则是指在发布更新算法模型时,先通过少量的试点测试确认新模型没有执行问题,确保无误后再全部推广应用的方式。
通过创建灰度服务,算法模型开发人员就可以只根据发布策略做同步服务的转发,并根据运行情况灵活变更绑定的同步服务。这个过程就像是素描作画时在黑与白之间使用灰色让画面能够平滑过度的方法,所以又叫灰度发布/服务。
这种发布方式的最大优势在于可以做到在不中断正常服务的情况下进行升级。因此通过采用灰度服务,可以帮助企业有效规避以下两类问题;
二、如何做到模型迭代兼顾稳定数据服务?
对于已经有一定数字化运营基础的企业来说,他们的数据分析服务已经在各个部门中得到了深度应用,算法模型的应用发布往往牵扯到很多具体业务环节的执行,涉及的数据量也非常庞大。在传统算法模型更新的过程中,他们往往最担心2个问题:
1、模型迭代不顺畅,反复修改拖慢整体进度
测试环境和真实的生产环境有着很大区别,很多问题在测试环境中无法发现,而正式发布之后再调整又会打乱整体的开发计划。
2、发布问题导致经济损失
模型一旦发布之后就无法回退到历史版本,模型错误导致服务中断之后,日常业务运营也会因此受到影响,很有可能造成不可挽回的经济损失。
而采取灰度服务之后,我们就可以在模型更新的过程中避免上述问题,实现:
1、模型平滑迭代
通过小流量验证方式,直接在灰度阶段就能发现、调整并优化模型在真实生产环境中运行会出现的问题,保证正式上线模型万无一失 。
2、降低发布风险
规避一定的发布风险,降低模型迭代升级所影响的范围,避免造成其它更多不必要的经济损失。
采取灰度服务之后,开发团队就可以在不对日常业务运行造成影响的前提下灵活调整模型更新节奏,将新模型逐步替代旧模型,使得服务稳定和模型迭代两不误,将运营损失降到最低。
三、如何使用Tempo AI快速配置灰度服务
当然,灰度服务虽好,在真实的生产环境中,一样也需要复杂的设计流程和一定的人力投入才能实现,甚至其实现难度要比传统的发布方式更高:
灰度服务的难点:
1、灰度服务需要更严谨的方案设计,灰度的业务范围,如何分析并运用分析结果,这都需要精于业务流程的人去精心设计,而非纯IT人员能够完成的。
2、灰度服务测试覆盖方式必须多样且能满足灰度方案的需求
3、灰度发布之后的数据必须得到妥善的记录和监控,方便后续调整。
基于灰度服务的搭建难点,我们特别在Tempo AI中设计了更加便捷的灰度服务模块,摆脱传统搭建流程中复杂的编码工作,只需几步点选,即可快速完成灰度服务的配置,通过降低操作门槛,让灰度服务可以更加方便地结合实际业务流程进行。
►Tempo AI新建灰度服务流程
进入任意空间中的发布区,点击灰度服务的【+】按钮,新建灰度服务。在“灰度服务”弹框中配置灰度服务的基础信息,包括:服务名称、服务地址、选择同步服务以及对应的发布策略。如下图:
之后用户就可以进行发布策略的设置,一般分为2种情况:
1、只绑定同步服务:
用户不需要选择发布策略,默认发布策略为指定服务;
2、绑定两个同步服务:
用户可选择发布策略包括:流量切分或指定服务,默认发布策略为流量切分(同步服务1权重占80,同步服务2权重占20)。
灰度服务的配置信息填写完成后,点击“确定”按钮,完成“灰度服务”的创建。
简单的操作流程,可以让业务人员也直接参与到模型调试、发布的工作中,有效降低沟通成本。另外,Tempo AI的服务监控借助了数据可视化分析手段,让监控结果展示更加直观、清晰。下面小T简单为大家分解一下Tempo AI灰度服务配置的步骤;
►Tempo AI灰度服务配置流程
在发布区“灰度服务”模块下,查看该空间中当前用户拥有权限的灰度服务。点击灰度服务名称,左侧展示该灰度服务绑定的同步服务信息,右侧展示该灰度服务的创建人、创建日期、所属空间等基础信息,可以对灰度服务进行服务配置、服务监控、服务审计、分享成果、发布或取消发布等操作。
a、服务配置
在服务配置中,可配置灰度的服务信息,可查看灰度服务的授权信息、流程参数、请求参数说明和返回参数说明。在服务信息处,该灰度服务信息进行配置,可编辑服务名称、服务别名、绑定的同步服务和对应的发布策略。点击“保持”按钮,完成服务信息的配置变更。
在授权信息处,可查看授权信息,若同步服务未授权,需要在原生服务中添加证书进行服务授权。
在流程参数处,可查看流程参数。若同步服务的流程参数需要修改,需要在原生服务中进行操作。
启用和测试按钮分别可以启动灰度服务和打开灰度服务测试界面对灰度服务进行测试。测试成功后,即说明灰度服务构建成功。同时,灰度服务也可通过第三方系统以API的方式进行调用。
b、服务监控
点击发布区的“服务监控”,可查看该服务的调用情况和运行情况。
c、服务审计
点击发布区的“服务审计”,可查看该服务的具体操作时间、操作人员和操作内容。
如何规避执行风险,是企业日常生产运营必须要考虑的问题,在企业数据治理和分析的过程中,我们也同样需要注意风险控制和资源合理配置的问题。
而灰度服务模块正是我们基于多年的企业大数据分析项目实际经验和客户反馈,专门帮助企业用户,尤其是不懂编码技术的普通业务人员在规避业务运营风险的同时,低成本高效顺畅完成算法模型迭代的小工具。下次更新模型时,不妨尝试一下这个小功能哟~