作者:JFrog大中华区总经理董任远
据说法餐的秘诀在于黄油、黄油、更多的黄油。同样,对于DevOps而言,成功的三大秘诀是自动化、自动化、更高程度的自动化,而这一切归根结底都在于构建能够更快速地不断发布新版软件的流程。
尽管人们认为在人工智能(AI)和机器学习(ML)方面,包括特征工程和参数调整,仍然涉及大量的手动工作。但自动化在这些领域至关重要,而MLOps即机器学习运营已被证明对于各类企业来说都是一项出色的业务决策。其最终的目标是实现模型构建与研究的自动化,从而在整个开发流程中进一步实现协作和版本控制。
然而,由于生产中模型的动态性质,这并不总是那么容易实现。部署模型可能会改变反馈闭环和数据,因此需要不断地重新训练和更新。要想在不进行过多人工干预的情况下安全地反复重新部署模型,自动化就至关重要。
采用机器学习来优化使用
在DevOps环境中预测使用模式包括以下两种基本现实场景:
第一种情况,根据DevOps成熟度对企业进行分类,以确定其成熟度以及产品使用中存在的差距。例如,如果订购的工具级别较低,但却有更高级的需求和要求,升级到更高级别就可能会有所帮助。DevOps决策者需要根据团队的使用模式来生成个性化建议,以优化效率。
第二种情况,重点更多在于预测使用模式和检测异常,以识别异常情况的发生时间,并提前一到三个月提出使用见解。这有助于评估DevOps工作流程的健康状况,识别积极或消极的趋势,并更轻松地处理任何突发异常情况。持续的分析以及部署和监控工作可确保高质量的模型投产。
这两种场景类似于销售代表在Salesforce中使用模型的方式。他们会收到有关客户成熟度评级、反馈和可解释性的信息。可解释性的部分会深入地提供有关模型将客户分为高、中或低成熟度的原因。造成这种分类的因素有许多,包括客户体验、培训、技术使用和联系人数量。这些信息使销售代表能够与客户进行更有效的对话,并提出适当的升级或改进建议。
此类分类模型可以使用CatBoost等工具来构建。CatBoost是一款强大的Python机器学习包。这些工具可以处理标签和缺失值,从而简化建模过程。可对各种输入进行考量,包括网站访问、活动出席、自由文本分析、位置、使用模式和第三方数据,以确定企业的DevOps成熟度。即使数据集不完整,通过将这些因素纳入考量,仍能产出有价值的见解。
利用时间序列数据来优化使用
时间序列数据模型也可用于预测使用模式。时间序列模型旨在预测给定月份剩余时间以及未来几个月的使用情况,以此分析历史使用数据,并识别趋势和异常情况。
时间序列数据工具使团队能够以图表的形式实现历史使用数据的可视化,显示周末的使用率较低,而工作日的使用率较高。通过分析这些数据,模型可以预测未来趋势,并提供有关企业健康状况的见解。如果预测使用率下降,可视化结果可能会显示出负面趋势,企业便可采取积极措施来解决这一问题。相反,如果预测使用率增加,企业就可以与供应商合作采取措施,确保能够有效地利用工具。
通过将预测的使用情况与图表上呈现的实际使用情况进行比较,便可识别异常情况。预测数据与实际数据之间的巨大差距表明存在异常,异常情况可能有多重含义,如使用量增加或产品使用不当。及时识别并解决异常对于确保运营效率非常重要。
总之,时间序列模型可以让企业预测使用情况,追踪趋势,识别异常,并采取适当的措施以提高产品利用率。
LSTM模型的长与短
事实证明,长短期记忆(LSTM)模型是优化使用的绝佳方法。为此,模型的输入通常包括三个主要部分:历史每日使用数据、节假日信息以及工作日/周末指标。利用这些输入,模型就能生成非常准确的预测。
LSTM模型可以生成时间点快照,包括创建不同时间段的数据集,以测试模型在多种配置下的性能。Alation等创建SQL查询的工具可用于管理这些数据集,且便于与内部团队成员共享。
团队还需要实施验证和测试流程以确保模型的可靠性。特征重要性对此过程至关重要,且不随时间发生变化。特征重要性的变化可表明数据或模型本身存在问题,因此对这些变化的追踪和监控有助于识别潜在问题。
此外,还需要考虑对输入数据(分类型和数值型)进行测试。对于分类数据,数量和类别的一致性很重要。同时,对数值数据的平均值和标准差等指标进行监控,有助于检测可能需要注意的显著变化。
数据验证、监控和测试对于确保模型的准确性和可靠性至关重要。
通过评估与验证来比较配置
在比较不同配置(尤其是LSTM模型)时,Valohai等工具使团队能够对不同时间范围的多个参数和数据快照执行网格搜索。提供准确率、召回率和精确率等衡量标准,帮助确定模型的最佳配置。
现代ML工具的价值在于存档、共享、以及对执行和结果进行审查的能力。它们还允许对模型性能指标进行调整,而无需全部重新运行。当业务需求发生变化时,这将有助于选择符合新目标的不同配置。
在部署方面,模型通常是按照计划的时间运行批处理,每天在策略时间执行两次。这可确保企业在一日之初即拥有最新数据,且全天能接收更新。应定期对模型进行再训练,以纳入新数据。
应密切监控与预期措施的偏差以及在范围上的重大变化,并触发自动警报,以便及时采取行动。此外,日常用户的反馈在评估模型性能方面起着至关重要的作用,因为这些反馈往往超越了召回率和精确率等传统指标。关闭反馈闭环可确保根据实时用户体验和反馈进行持续改进。
推动价值与效率的提升
创建经过验证且安全的数据科学和模型训练是许多现代企业面临的挑战。通过应用经过验证且有效的DevOps实践,实现从构思到生产和部署的AI和ML流程自动化,对于希望优化在整体技术堆栈中工具使用的企业能够提供巨大的价值。
归根结底,这种做法极具商业意义。它能够避免闲置工具或功能方面的额外支出,从而提高利润。也许更重要的是,它能鼓舞团队士气、提高生产力、留住人才,因为团队成员不会被迫执行重复、乏味且耗时的DevOps任务。任何开发人员都会喜欢这样的环境。