手把手教你在Tempo中搭建模型灰度发布流程
2022/08/26
下面对话展示的情况,相信每一位算法模型开发人员都似曾相识:
数据算法模型开发训练不易,每次发布更新也不是一件简单的事情。尤其是在一些组织架构和业务规模较为复杂庞大的企业,每次对算法模型进行优化更新都像是在打仗:
我们发现,传统的模型更新方式不仅无法快速实现业务侧的分析需求,也给技术侧人员制造了巨大的工作负担。那该如何打破这种僵局呢?来试试灰度服务吧!
什么是灰度服务?
对应到数据算法模型中,则是指在发布更新算法模型时,先通过少量的试点测试确认新模型没有执行问题,确保无误后再全部推广应用的方式。
通过创建灰度服务,算法模型开发人员就可以只根据发布策略做同步服务的转发,并根据运行情况灵活变更绑定的同步服务。这个过程就像是素描作画时在黑与白之间使用灰色让画面能够平滑过度的方法,所以又叫灰度发布/服务。
这种发布方式的最大优势在于可以做到不中断正常服务的情况下进行升级。
如何做到模型迭代兼顾稳定数据服务?
对于已经有一定数字化运营基础的企业来说,他们的数据分析服务已经在各个部门中得到了深度应用,算法模型的应用发布往往牵扯到很多具体业务环节的执行,涉及的数据量也非常庞大。在传统算法模型更新的过程中,他们往往最担心的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灰度服务配置流程
在发布区“灰度服务”模块下,查看该空间中当前用户拥有权限的灰度服务。点击灰度服务名称,左侧展示该灰度服务绑定的同步服务信息,右侧展示该灰度服务的创建人、创建日期、所属空间等基础信息,可以对灰度服务进行服务配置、服务监控、服务审计、分享成果、发布或取消发布等操作。
服务配置
在服务配置中,可配置灰度的服务信息,可查看灰度服务的授权信息、流程参数、请求参数说明和返回参数说明。在服务信息处,该灰度服务信息进行配置,可编辑服务名称、服务别名、绑定的同步服务和对应的发布策略。点击“保持”按钮,完成服务信息的配置变更。
在授权信息处,可查看授权信息,若同步服务未授权,需要在原生服务中添加证书进行服务授权。
在流程参数处,可查看流程参数。若同步服务的流程参数需要修改,需要在原生服务中进行操作。
启用和测试按钮分别可以启动灰度服务和打开灰度服务测试界面对灰度服务进行测试。测试成功后,即说明灰度服务构建成功。同时,灰度服务也可通过第三方系统以API的方式进行调用。
服务监控
点击发布区的“服务监控”,可查看该服务的调用情况和运行情况。
服务审计
点击发布区的“服务审计”,可查看该服务的具体操作时间、操作人员和操作内容。
如何规避执行风险,是企业日常生产运营必须要考虑的问题,在企业数据治理和分析的过程中,我们也同样需要注意风险控制和资源合理配置的问题。而灰度服务模块正是我们基于多年的企业大数据分析项目实际经验和客户反馈,专门帮助企业用户,尤其是不懂编码技术的普通业务人员顺畅完成算法模型迭代的小工具。下次更新模型时,不妨尝试一下这个小功能哟~