当前位置: 首页 > news >正文

模型训练:优化人工智能和机器学习,完善DevOps工具的使用

作者: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任务。任何开发人员都会喜欢这样的环境。

相关文章:

模型训练:优化人工智能和机器学习,完善DevOps工具的使用

作者:JFrog大中华区总经理董任远 据说法餐的秘诀在于黄油、黄油、更多的黄油。同样,对于DevOps而言,成功的三大秘诀是自动化、自动化、更高程度的自动化,而这一切归根结底都在于构建能够更快速地不断发布新版软件的流程。 尽管人…...

WorldCoin 运营数据,业务安全分析

WorldCoin 运营数据,业务安全分析 Worldcoin 的白皮书中声明,Worldcoin 旨在构建一个连接全球人类的新型数字经济系统,由 OpenAI 创始人 Sam Altman 于 2020 年发起。通过区块链技术在 Web3 世界中实现更加公平、开放和包容的经济体系&#…...

Java之Calender类的详细解析

Calendar类 3.1 概述 java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,我们可以使用它的子类:java.util.GregorianCalendar类。 有两种方式可以获取GregorianCalendar对象: …...

uniapp 微信小程序 锚点跳转

uniapp文档 以下是我遇到的业务场景,是点击商品分类的某一类 然后页面滚动至目标分类, 首先第一步是设置锚点跳转的目的地,在目标的dom上面添加id属性 然后给每个分类每一项添加点击事件,分类这里的item数据里面有一字段是和上…...

主成分分析笔记

主成分分析是指在尽量减少失真的前提下,将高维数据压缩成低微的方式。 减少失真是指最大化压缩后数据的方差。 记 P P P矩阵为 n m n\times m nm( n n n行 m m m列)的矩阵,表示一共有 m m m组数据,每组数据有 n n n…...

android studio 的 adb配置

首先在 Android Studio 中 打开 File -> Settings: 下载 “Google USB Driver” 这个插件 (真机调试的时候要用到), 并且记一下上面的SDK路径: 右键桌面上的 “我的电脑”, 点击 “高级系统设置”, 配置计算机的高级属性, 有两步: 添加一个新的环境变量 ANDROID_HOME, 变量…...

【HTML5高级第一篇】Web存储 - cookie、localStorage、sessionStorage

文章目录 一、数据存储1.1 cookie1.1.1 概念介绍1.1.2 存储与获取1.1.3 方法的封装1.1.4 总结 1.2 localstorage 与 sessionstorage1.2.1 概述1.2.2 操作数据的属性或方法1.2.3 案例-提交问卷1.2.4 Web Storage带来的好处 附录:1. HTML5提供的数据持久化技术&#x…...

Flink---1、概述、快速上手

1、Flink概述 1.1 Flink是什么 Flink的官网主页地址:https://flink.apache.org/ Flink的核心目标是“数据流上有状态的计算”(Stateful Computations over Data Streams)。 具体说明:Apache Flink是一个“框架和分布式处理引擎”,用于对无界…...

QT实现TCP通信(服务器与客户端搭建)

一、TCP通信框架 二、QT中的服务器操作 创建一个QTcpServer类对象,该类对象就是一个服务器调用listen函数将该对象设置为被动监听状态,监听时,可以监听指定的ip地址,也可以监听所有主机地址,可以通过指定端口号&#x…...

云备份项目

云备份项目 1. 云备份认识 自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中。并且能够随时通过浏览器进行查看并且下载,其中下载过程支持断点续传功能,而服务器也会对上传文件进行热点管理,将非热点文件进行压缩存储&…...

基础算法(一)

目录 一.排序 快速排序: 归并排序: 二.二分法 整数二分模板: 浮点二分: 一.排序 快速排序: 从数列中挑出一个元素,称为 "基准"重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面&#…...

Consider defining a bean of type问题解决

Consider defining a bean of type问题解决 Consider defining a bean of type问题解决 包之后,发现项目直接报错Consider defining a bean of type。 会有一些包你明明Autowired 但是还是找不到什么bean 导致你项目启动不了 解决方法一: 这个问题主要是因为项目拆包…...

Android 1.2.1 使用Eclipse + ADT + SDK开发Android APP

1.2.1 使用Eclipse ADT SDK开发Android APP 1.前言 这里我们有两条路可以选,直接使用封装好的用于开发Android的ADT Bundle,或者自己进行配置 因为谷歌已经放弃了ADT的更新,官网上也取消的下载链接,这里提供谷歌放弃更新前最新…...

Llama-7b-hf和vicuna-7b-delta-v0合并成vicuna-7b-v0

最近使用pandagpt需要vicuna-7b-v0,重新过了一遍,前段时间部署了vicuna-7b-v3,还是有不少差别的,transforms和fastchat版本更新导致许多地方不匹配,出现很多错误,记录一下。 更多相关内容可见Fastchat实战…...

Centos、OpenEuler系统安装mysql

要在CentOS上安装MySQL并设置开机自启和root密码,请按照以下步骤进行操作: 确保您的CentOS系统已连接到Internet,并且具有管理员权限(root或sudo访问权限)。打开终端或SSH会话,使用以下命令安装MySQL&…...

如何在Win10系统上安装WSL(适用于 Linux 的 Windows 子系统)

诸神缄默不语-个人CSDN博文目录 本文介绍的方法不是唯一的安装方案,但在我的系统上可用。 文章目录 1. 视频版2. 文字版和代码3. 本文撰写过程中使用到的其他网络参考资料 1. 视频版 B站版:在Windows上安装Linux (WSL, 适用于 Linux 的 Windows 子系统…...

单片机通用学习-​什么是寄存器?​

什么是寄存器? 寄存器是一种特殊的存储器,主要用于存储和检查微机的状态。CPU寄存器用于存储和检查CPU的状态,具体包括计算中途数据、程序因中断或子程序分支时的返回地址、计算结果为零时的负值、计算结果为零时的信息、进位值等。 由于CP…...

【C语言】文件操作详解

文章目录 前言一、文件是什么二、文件具体介绍1.文件名2.文件类型3.文件缓冲区4.文件指针5.文件的打开和关闭 三、文件的顺序读写1.字符输入函数(fgetc)2.字符输出函数(fputc)3.文本行输入函数(fgets)4.文本…...

栈(Stack)的详解

目录 1.栈的概念 2.栈的模拟实现 1.栈的方法 2.模拟栈用(整型)数组的形式呈现 2.1栈的创建 2.2压栈 2.3栈是否为空 2.4出栈 2.5获取栈中有效元素个数 2.6获取栈顶元素 2.7完整代码实现 1.栈的概念 从上图中可以看到, Stack 继承了…...

深入了解GCC编译过程

关于Linux的编译过程,其实只需要使用gcc这个功能,gcc并非一个编译器,是一个驱动程序。其编译过程也很熟悉:预处理–编译–汇编–链接。在接触底层开发甚至操作系统开发时,我们都需要了解这么一个知识点,如何…...

leetcode 594.最长和谐子序列(滑动窗口)

⭐️ 题目描述 🌟 leetcode链接:最长和谐子序列 思路: 第一步先将数组排序,在使用滑动窗口(同向双指针),定义 left right 下标,比如这一组数 {1,3,2,2,5,2,3,7} 排序后 {1,2,2,2,3,…...

深入剖析云计算与云服务器ECS:从基础到实践

云计算已经在不断改变着我们的计算方式和业务模式,而云服务器ECS(Elastic Compute Service)作为云计算的核心组件之一,为我们提供了灵活、可扩展的计算资源。在本篇长文中,我们将从基础开始,深入探讨云计算…...

苍穹外卖技术栈

重难点详解 1、定义全局异常 2、ThreadLocal ThreadLocal 并不是一个Thread,而是Thread的一个局部变量ThreadLocal 为每一个线程提供独立的存储空间,具有线程隔离的效果,只有在线程内才能取到值,线程外则不能访问 public void …...

重新开始 杂类:C++基础

目录 1.输入输出 2 . i 与 i 3.结构体 4.二进制 1.输入输出 #include<cstdio>//cin>>,cout #include<iostream>//printf,scanf &#xff08;1&#xff09; cin , cout输入输出流可直接用于数字&#xff0c;字符 &#xff08;2&#xff09;scanf(&quo…...

自用的markdown与latex特殊符号

\triangleq \approx \xlongequal[y\arctan x]{x\tan y} \sum_{\substack{j1 \\ j\neq i}} \iiint\limits_\Omega \overset{\circ}{\vec{r}} \varphi \checkmark \stackrel{\cdot\cdot\cdot}{x}≜ ≈ y arctan ⁡ x x tan ⁡ y ∑ j 1 j ≠ i ∭ Ω r ⃗ ∘ φ ✓ x ⋅ ⋅ ⋅…...

【20期】说一说Java引用类型原理

Java中一共有4种引用类型(其实还有一些其他的引用类型比如FinalReference)&#xff1a;强引用、软引用、弱引用、虚引用。 其中强引用就是我们经常使用的Object a new Object(); 这样的形式&#xff0c;在Java中并没有对应的Reference类。 本篇文章主要是分析软引用、弱引用、…...

无锡布里渊——厘米级分布式光纤-锅炉安全监测解决方案

无锡布里渊——厘米级分布式光纤-锅炉安全监测解决方案 厘米级分布式光纤-锅炉安全监测解决方案 1、方案背景与产品简介&#xff1a; 1.1&#xff1a;背景简介&#xff1a; 锅炉作为一种把煤、石油或天燃气等化石燃料所储藏的化学能转换成水或水蒸气的热能的重要设备&#xff…...

GREASELM: GRAPH REASONING ENHANCED LANGUAGE MODELS FOR QUESTION ANSWERING

本文是LLM系列文章&#xff0c;针对《GREASELM: GRAPH REASONING ENHANCED LANGUAGE MODELS FOR QUESTION ANSWERING》的翻译。 GREASELM&#xff1a;图推理增强的问答语言模型 摘要1 引言2 相关工作3 提出的方法&#xff1a;GREASELM4 实验设置5 实验结果6 结论 摘要 回答关…...

QT C++ 实现网络聊天室

一、基本原理及流程 1&#xff09;知识回顾&#xff08;C语言中的TCP流程&#xff09; 2&#xff09;QT中的服务器端/客户端的操作流程 二、代码实现 1&#xff09;服务器 .ui .pro 在pro文件中添加network库 .h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>…...

每日一道面试题之什么是上下文切换?

上下文切换是指在计算机操作系统中&#xff0c;当多个进程或线程同时运行时&#xff0c;系统需要将当前运行进程或线程的状态&#xff08;包括程序计数器、寄存器值、内存映像等&#xff09;保存起来&#xff0c;然后切换到另一个进程或线程继续执行的过程。上下文切换通常由操…...