CN116627392A - 一种基于交互式ide的模型开发方法及系统 - Google Patents
一种基于交互式ide的模型开发方法及系统 Download PDFInfo
- Publication number
- CN116627392A CN116627392A CN202310915111.4A CN202310915111A CN116627392A CN 116627392 A CN116627392 A CN 116627392A CN 202310915111 A CN202310915111 A CN 202310915111A CN 116627392 A CN116627392 A CN 116627392A
- Authority
- CN
- China
- Prior art keywords
- model
- interactive
- ide
- data
- engineering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 70
- 238000011161 development Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000013515 script Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000018109 developmental process Effects 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000012800 visualization Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于交互式IDE的模型开发方法及系统,包括:S1.在算法工厂中新建算法工程;S2.启动工程,并在data文件下新建csv文件,进入集成‑数据同步页面,创建同步任务;S3.数据同步完成后,新建并在脚本中进行特工工程处理生成需求预测的训练集,在交互式IDE中进行模型训练脚本开发;S4.对模型进行预测,得到推理集的结果,并将预测量输出到结果csv中;S5.将结果csv通过数据同步再同步至外部;S6.退出算法工程,新建工程作业,按数据集生成、模型训练、模型推理三个步骤配置成作业;S7.在任务开发中关联成DAG,配置对应的调度周期;S8.模型文件实时部署成API服务,在训练结果中发布模型至模型管理模块,将其进行部署,将部署的模型发布成一个实时API。
Description
技术领域
本发明涉及计算机网络及数据处理技术领域,尤其是涉及一种基于交互式IDE的模型开发方法及系统。
背景技术
交互式IDE(集成开发环境)是一种开发工具,它提供了一种便捷的方式来编写、运行和调试代码,以及进行数据分析和模型开发。与传统的代码编辑器相比,交互式IDE具有更加动态和实时的特性,允许开发人员在编写代码的同时立即查看结果,并进行交互式的数据探索和可视化。
1、交互性:交互式IDE提供了一种即时反馈的编程环境,允许用户逐行或逐块地执行代码,并立即查看结果。这种实时的交互性使得开发人员能够更加迅速地验证代码逻辑、尝试不同的数据处理方法,以及进行探索性数据分析。
2、组织性:交互式IDE以笔记本(Notebook)的形式组织代码和文档。笔记本将代码、文本说明和可视化结果整合到一个单一的界面中,使得代码的逻辑和相关说明更加清晰可见。开发人员可以通过在笔记本中插入文本块、注释和图表等方式来记录代码的目的和解释,使得代码更易于理解和共享。
3、可视化和图形化:交互式IDE通常提供丰富的可视化工具和图形化界面,用于数据探索、结果展示和模型可视化。开发人员可以使用内置的图表库、绘图工具和交互式控件来创建各种图形和可视化效果,从而更好地理解数据、调试代码,并进行模型开发和调优。
4、支持多种编程语言和技术栈:交互式IDE通常支持多种编程语言和技术栈,使得开发人员可以在同一个环境中进行多种类型的开发工作。无论是数据分析、机器学习、深度学习还是Web开发,交互式IDE都可以提供相应的工具和库,以满足不同领域和需求的开发任务。
交互式IDE更多用于探索性编辑、数据科学、机器学习、教学和学习、报告演示以及协作共享这几类场景中,目前的交互式IDE不足在于不能和线上数据良好的打通,更多的时间是在本地进行开发,所以取数和推数则成为了难题,另外没有良好的权限,以及数据安全的管控,对脚本的运行环境也难实现多环境运行。本发明实现线上数据的打通,保证数据的输入和输出都能对接外部的数据。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种基于交互式IDE的模型开发方法来实现算法工程师的交互式开发。基于交互式IDE的模型开发方法,从交互性、组织性、可视化和图形化、支持多种编程语言和技术栈四个方面来实现交互式的算法脚本开发。
为实现上述目的,本发明提供一种基于交互式IDE的模型开发方法,所述方法包括以下步骤:
S1.在算法工厂中新建算法工程,选择python工程类型并配置CPU和内存;
S2.启动工程,并在data文件下新建csv文件,进入集成-数据同步页面,创建同步任务;
S3.数据同步完成后,新建并在脚本中进行特工工程处理生成需求预测的训练集,在交互式IDE中进行模型训练脚本开发;
S4.对模型进行预测,得到推理集的结果,并将预测量输出到结果csv中;
S5.将结果csv通过数据同步再同步至外部;
S6.退出算法工程,新建工程作业,按数据集生成、模型训练、模型推理三个步骤配置成作业;
S7.在任务开发中关联成DAG,配置对应的调度周期;
S8.模型文件实时部署成API服务,在训练结果中发布模型至模型管理模块,并将其进行部署,最后将部署的模型发布成一个实时API。
进一步,步骤S2中,在数据同步中将目标数据源选择为AIresource,选择对应的算法工程和文件夹,进行数据同步,则可同步至对应的算法工厂中。
进一步,步骤S3中,在交互式IDE开发环境中进行模型训练脚本的开发,以及模型推理脚本的开发,且开发过程支持在线加载Python依赖包以及代码分段运行调试查看结果。
进一步,步骤S4中,具体包括:
S4.1.通过特征加工逻辑对未来日期的信息进行加工生成推理集;
S4.2.通过模型对推理集进行预测,得到推理集的结果,并将预测量输出到结果csv中。
进一步,步骤S4中,对预测结果在交互式界面显示模型的评估指标输出,且运行关联上文代码,并支持将数据结果文件对外同步。
进一步,在步骤S6中,将交互式IDE中的脚本的文件配置成执行脚本,并将其配置成DAG提交到运维模块。
进一步,基于调度周期来定期调度算法任务,使其产生最新的模型和数据。
进一步,将交互式IDE中model文件夹下的模型文件发布成模型,并将其进行部署操作。
进一步,将部署的模型生成为一个在线API服务,提供在线调用能力。
另一方面,本发明提供一种基于交互式IDE的模型开发系统,所述系统用于实现根据本发明所述的基于交互式IDE的模型开发方法。
其技术优势体现在以下几点:
即时反馈:交互式IDE允许开发者逐行或逐个代码块地执行代码,并立即查看结果。这种即时反馈的效果使得开发者能够快速检测和调试代码中的问题,加快开发速度。
可视化和探索数据:交互式IDE提供了内置的数据可视化功能,可以轻松地生成图表、图像和可视化结果。这使得开发者能够更好地理解和分析数据,发现数据中的模式和趋势。
分块执行和重用代码:交互式IDE通常支持将代码分成块或单元,并允许开发者逐个执行这些块。这种技术效果使得开发者可以独立运行和测试每个代码块,方便调试和探索。此外,开发者可以将这些代码块组织起来并重用它们,提高代码的可维护性和复用性。
整合文本和代码:交互式IDE将代码和文本说明整合在一个单一的文档中,使得开发者能够编写解释性的文本来记录和解释他们的代码和分析。这种技术效果方便了代码的文档化和共享,并能够生成具有可读性的报告和演示。
协作和共享:交互式IDE提供了方便的共享和协作功能,使得多个开发者可以同时使用和编辑同一个交互式环境。这种技术优势促进了团队之间的合作和知识共享,减少了代码共享和沟通的复杂性。
支持多种编程语言:交互式IDE通常支持多种编程语言,例如Python、R、Julia等,使得开发者能够在同一个环境中处理不同的数据分析和机器学习任务。这种技术优势提供了更大的灵活性和可扩展性。
除了上述交互式IDE原有优势,我们还在此基础上做了技术上的进一步优化:
数据双向打通,支持通过交互式IDE来读取和写入文件,并在界面展示。在步骤S2中有详述。
支持将交互式IDE的作业进行调度配置,除了在界面上进行IDE交互式运行,也可以将这个作业提交至运维进行周期调度,在步骤S6,S7中有详述。
支持读取交互式IDE中存放的模型文件,并将模型文件进一步注册成模型服务,在下文S8中有详述。
附图说明
图1示出了根据本发明的基于交互式IDE的模型开发方法的算法流程图;
图2示出了根据本发明实施例的新建算法工程图;
图3示出了根据本发明实施例的交互式环境数据预览图;
图4示出了根据本发明实施例的交互式环境数据处理图;
图5示出了根据本发明实施例的交互式环境模型推理图;
图6示出了根据本发明实施例的数据同步配置图;
图7示出了根据本发明实施例的工程作业配置;
图8示出了根据本发明实施例的任务开发配置界面;
图9示出了根据本发明实施例的算法模型发布界面;
图10示出了根据本发明实施例的算法模型部署界面;
图11示出了根据本发明实施例的算法API配置界面。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合附图1-图11对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明公开了一种基于交互式IDE的模型开发方法,包括以下步骤:
S1. 在算法工厂中新建算法工程作业,选择python工程类型并配置CPU和内存。
S2.启动工程,并在data文件下新建csv文件,进入集成-数据同步页面,创建同步任务。在数据同步中将目标数据源选择为AIresource,选择对应的算法工程和文件夹,进行数据同步,则可同步至对应的算法工厂中。
S3.同步完成后,进入算法工厂,再打开算法工程,可预览到刚才同步的数据,数据同步完成后,新建并在脚本中进行特工工程处理生成需求预测的训练集。完成之后在交互式IDE中进行模型训练脚本开发,并将模型输出至/model文件夹下;可在交互式IDE开发环境中进行模型训练脚本的开发,以及模型推理脚本的开发,且开发过程支持在线加载Python依赖包以及代码分段运行调试查看结果。
S4.模型准备好以后,对其进行预测,得到推理集的结果,并将预测量输出到结果文件csv中。
S5.将结果文件csv通过数据同步再同步至第三方应用系统的数据库。
S6.退出算法工程,新建工程作业,按数据集生成、模型训练、模型推理三个步骤配置成作业。支持将交互式IDE中的脚本(以ipynb为后缀)的文件配置成执行脚本,并将其配置成DAG(有向无环图)提交到运维模块。
S7.并最后在任务开发中关联成DAG,关联后需要配置对应的调度周期,目前支持天、周、月。配置完毕后将其提交至运维。
S8.其中模型文件也支持实时部署成API服务,在训练结果中发布模型至模型管理模块,并将其进行部署,最后将部署的模型发布成一个实时API。
以下对各个步骤进行详细介绍:
具体地,步骤S1中,在算法工厂中新建算法工程作业,选择python工程类型并配置CPU和内存。其中CPU(中央处理器)包括:
核心(Cores):CPU内部的处理单元,每个核心可以独立执行指令。
线程(Threads):CPU支持同时执行的线程数量,可以通过超线程技术提升多线程性能。
时钟频率(Clock Frequency):CPU的内部时钟速度,以赫兹(Hz)为单位,表示每秒执行的指令数。
缓存(Cache):CPU内部的快速存储器,用于临时存储频繁访问的数据,加快数据访问速度。
指令集(Instruction Set):CPU支持的指令集合,决定了它能够执行的操作和指令类型。
内存包括:
RAM(随机访问存储器):计算机用于临时存储数据和程序的主要内存。它以字节为单位,可以快速读写数据。
带宽(Bandwidth):内存模块与其他组件(如CPU)之间传输数据的速率,通常以字节/秒表示。
延迟(Latency):从请求数据到数据可用之间的时间延迟,通常以纳秒为单位,低延迟表示更快的访问速度。
ECC(错误检测与纠正):一种内存技术,能够自动检测和纠正内存中的错误,提高系统的可靠性。
其中对于CPU和内存的配置,通过Quota(计算资源配额,用于感知并划分底层资源池)控制CPU和内存的大小,方便用户可以进行配置。通过算法脚本在系统中容器化运行,容器化是一个轻量级的、隔离的执行单元,在不同的计算环境中进行部署和运行,实现感知资源池并做划分的动作。在此基础上本发明通过cAdvisor(Container Advisor)来实现监视和收集容器的资源使用情况,包括CPU和内存。通过与底层容器运行时进行交互,获取容器的性能数据,由此把握资源总量和脚本运行时的容器大小。
具体地,步骤S2. 启动工程,并在data文件下新建csv文件,进入集成-数据同步页面,创建同步任务。在数据同步中将目标数据源选择为AIresource,选择对应的算法工程和文件夹,进行数据同步,则可同步至对应的算法工厂中。
在这个过程中,本发明通过DataX技术来实现数据同步的打通,具体如下:
首先将交互式IDE中的脚本作为目标端的文件,而源端的数据通过DataX技术实现异构数据之间的传输;
其次本发明实现插件架构,将数据读取、数据写入和数据转换等功能模块进行解耦,每个功能模块都是一个独立的插件。这种插件化的设计使得DataX可以方便地扩展和适配各种数据源和目标。
最后使用JSON格式的配置文件进行任务的定义和管理。配置文件包括数据源配置、目标配置、数据读取插件和数据写入插件的选择和配置,以及数据转换规则的定义。通过配置文件,可以灵活地定义和管理数据传输任务。并且实现了容错机制,可以在任务失败或异常情况下进行自动重试和错误处理,以保证数据传输的可靠性和完整性。
具体地,在数据同步中新建一个数据同步任务,并将目标表配置为AIresource数据源类型,选中上一步中建好的算法工程,以及工程中事先上传好的csv文件,即可进行数据同步,将数据同步进对应的算法工程的数据文件中,且点开工程可以进行数据源预览,如图3所示。这个过程中,本发明还拓展了MySQL、Oracle、PG、SqlServer等主流的数据库均支持直接将数据对接至算法工厂中;由此实现线上数据的打通,保证数据的输入和输出都能对接外部的数据。
具体地,S3.数据同步完成之后,在src中新建对应的ipynb脚本,交互式IDE能覆盖大部分模型开发过程中的数据处理、模型训练、模型推理场景,如图4、图5所示。
其中模型训练和推理涉及的技术细节如下:
该过程分以下几步:
先通过脚本加载数据
再进行数据筛选,对订单数据做预处理订单数据预处理,筛选1月内序列,并更换id。
再做进一步处理,其中用到盖帽优化法来处理异常值。
盖帽法:是一种常用的数据预处理技术,用于处理异常值。它的原理是将数据中的极端值(异常值)替换为上下限(盖帽)。而本系统对盖帽法做了进一步优化。
盖帽优化法的详细步骤如下:
首先、计算数据的上下限:选择使用数据的均值加减几倍标准差或分位数确定上下限。通常,异常值被定义为超过上下限的值。
其次、将超过上下限的值替换为上下限:将数据中小于下限或大于上限的值替换为上下限值。这样可以确保异常值不会对模型的训练和预测产生过大的影响。
盖帽优化后的技术优势:通过将异常值替换为上下限值来保持数据的一致性和稳定性。异常值可能会对模型产生不利影响,导致模型过度拟合或预测结果不准确。通过使用盖帽优化法,可以减少异常值的影响,使得模型更加稳健。
以上完成数据的预处理。
具体地,步骤S4.数据处理完以后则开始做模型训练和推理,这其中利用了GBM模型,具体包括以下两个步骤:
S4.1.通过特征加工逻辑对未来日期的信息进行加工生成推理集;
其主要是通过刚才的处理逻辑,将要作为推理集的数据先预处理异常值,保留有效数据,使推理集数据更有价值。
S4.2.通过之前训练得到的gbm模型(gbm是一种基于梯度提升算法的快速、高效的机器学习模型。)对推理集进行预测,得到推理集的结果,并将其输出到结果文件csv中。本发明对推理的过程做了进一步优化,保证推理的过程在IDE中可视,且推理的结果文件被交互式IDE界面管理起来,并在下一步过程中被进一步引用。
具体地,步骤S5. 将结果文件csv通过数据同步再同步至第三方应用系统的数据库。完成了模型推理则将最后数据生成文件,并保存名为result的数据文件,该步骤与S2中的数据同步相同。
GBM(Gradient Boosting Machine)是一种基于梯度提升算法的快速、高效的机器学习模型。它采用基于叶子的决策树和梯度提升技术,具有较低的内存占用和快速训练速度,适用于处理大规模数据集和高维特征。它在各种机器学习任务中表现出色,包括分类、回归和排序等。
以下则是对模型训练和模型推理的名词解释
模型训练:
数据准备(Data Preparation):收集、清理和转换用于训练的数据,以使其适用于模型的输入要求。
特征工程(Feature Engineering):通过选择、转换和组合原始数据的特征,以提取对模型预测有用的信息。
模型选择(Model Selection):从可用的机器学习算法中选择最合适的模型,以解决特定的任务和问题。
模型推理:
前向传播(Forward Propagation):将输入数据通过已训练的模型,从输入层到输出层进行推理,并生成预测结果。
推理引擎(Inference Engine):执行已训练模型的推理过程的组件或软件,用于有效地处理输入数据并生成预测结果。
批量推理(Batch Inference):同时对一批输入样本进行推理,以提高推理过程的效率和吞吐量。
实时推理(Real-time Inference):对单个输入样本进行快速推理,适用于需要即时响应的应用场景。
后处理(Post-processing):对模型生成的预测结果进行处理,例如根据特定阈值进行分类决策或进行后续的数据转换和分析。
具体地,步骤S6. 退出算法工程,新建工程作业,按数据集生成、模型训练、模型推理三个步骤配置成作业;完成了模型的开发,最后的结果文件可通过数据同步再向外流转,如图4。另外需要将模型运维起来,其中Ipynb文件(即交互式IDE环境下的算法文件)支持作为执行文件在运维中执行。具体的方式则是通过图6、图7、图8中的方式,配置成工程作业。
具体地,步骤S7. 在任务开发中关联成DAG,配置对应的调度周期,并将其加入到DAG中后提交至运维模块。运维模块则是负责根据任务设置的调度策略(其中调度指的是定时执行该任务,天调度则是每天定时去启动该任务),定时执行以上配置的任务脚本。保证模型能根据每天不同的数据做定期训练帮助模型的优化。
具体地,步骤S8. 模型文件实时部署成API服务,在训练结果中发布模型至模型管理模块,并将其进行部署,最后将部署的模型发布成一个实时API。若需要实时推理场景,则是将模型存储到交互式IDE中的model文件夹下,则可在如图9所示中将model文件夹下的模型进行发布,将会发布到模型管理中,并将其进行部署,则会部署至模型部署模块,在模型部署模块启动该模型。最后将其在API模块进行发布成实时API即可。如图10、图11所示。
本发明还提供一种基于交互式IDE的模型开发系统,用于实现根据本发明的方法,根据本发明的系统,采用周期运维来定期调度的算法任务,使其产生最新的模型和数据。将交互式IDE中model文件夹下的模型文件发布成模型,并将其进行部署操作。将部署的模型生成为一个在线API服务,提供在线调用能力。
应用程序接口(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。
上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。
Claims (10)
1.一种基于交互式IDE的模型开发方法,其特征在于,所述方法包括以下步骤:
S1.在算法工厂中新建算法工程,选择python工程类型并配置CPU和内存;
S2.启动工程,并在data文件下新建csv文件,进入集成-数据同步页面,创建同步任务;
S3.数据同步完成后,新建并在脚本中进行特工工程处理生成需求预测的训练集,在交互式IDE中进行模型训练脚本开发;
S4.对模型进行预测,得到推理集的结果,并将预测量输出到结果csv中;
S5.将结果csv通过数据同步再同步至外部;
S6.退出算法工程,新建工程作业,按数据集生成、模型训练、模型推理三个步骤配置成作业;
S7.在任务开发中关联成DAG,配置对应的调度周期;
S8.模型文件实时部署成API服务,在训练结果中发布模型至模型管理模块,并将其进行部署,最后将部署的模型发布成一个实时API。
2.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,步骤S2中,在数据同步中将目标数据源选择为AIresource,选择对应的算法工程和文件夹,进行数据同步,则可同步至对应的算法工厂中。
3.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,步骤S3中,在交互式IDE开发环境中进行模型训练脚本的开发,以及模型推理脚本的开发,且开发过程支持在线加载Python依赖包以及代码分段运行调试查看结果。
4.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,步骤S4中,具体包括:
S4.1.通过特征加工逻辑对未来日期的信息进行加工生成推理集;
S4.2.通过模型对推理集进行预测,得到推理集的结果,并将预测量输出到结果csv中。
5.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,步骤S4中,对预测结果在交互式界面显示模型的评估指标输出,且运行关联上文代码,并支持将数据结果文件对外同步。
6.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,在步骤S6中,将交互式IDE中的脚本的文件配置成执行脚本,并将其配置成DAG提交到运维模块。
7.根据权利要求1所述的基于交互式IDE的模型开发方法,其特征在于,基于调度周期来定期调度算法任务,使其产生最新的模型和数据。
8.根据权利要求7所述的基于交互式IDE的模型开发方法,其特征在于,将交互式IDE中model文件夹下的模型文件发布成模型,并将其进行部署操作。
9.根据权利要求8所述的基于交互式IDE的模型开发方法,其特征在于,将部署的模型生成为一个在线API服务,提供在线调用能力。
10.一种基于交互式IDE的模型开发系统,其特征在于,所述系统用于实现根据权利要求1-9任一项所述的基于交互式IDE的模型开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915111.4A CN116627392B (zh) | 2023-07-25 | 2023-07-25 | 一种基于交互式ide的模型开发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915111.4A CN116627392B (zh) | 2023-07-25 | 2023-07-25 | 一种基于交互式ide的模型开发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116627392A true CN116627392A (zh) | 2023-08-22 |
CN116627392B CN116627392B (zh) | 2023-11-10 |
Family
ID=87597693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310915111.4A Active CN116627392B (zh) | 2023-07-25 | 2023-07-25 | 一种基于交互式ide的模型开发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627392B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN111158745A (zh) * | 2019-12-30 | 2020-05-15 | 山东浪潮商用系统有限公司 | 一种基于Docker的数据处理平台 |
US20210064346A1 (en) * | 2019-08-30 | 2021-03-04 | Bull Sas | Support system for designing an artificial intelligence application, executable on distributed computing platforms |
CN112612472A (zh) * | 2020-12-11 | 2021-04-06 | 北京旷视科技有限公司 | 一种嵌入式模型sdk开发方法和开发平台 |
US20210342725A1 (en) * | 2020-01-08 | 2021-11-04 | Subtree Inc. | Systems And Methods For Tracking And Representing Data Science Model Runs |
CN114329810A (zh) * | 2021-11-16 | 2022-04-12 | 中国水利水电科学研究院 | 基于大数据的盾构机工作姿态实时预测方法 |
CN115033266A (zh) * | 2022-08-12 | 2022-09-09 | 深圳华龙讯达信息技术股份有限公司 | 一种基于龙芯指令集的ide开发系统 |
CN115237428A (zh) * | 2021-04-24 | 2022-10-25 | 华为云计算技术有限公司 | Ai应用部署方法及相关平台、集群、介质、程序产品 |
CN115373651A (zh) * | 2022-08-23 | 2022-11-22 | 杭州比智科技有限公司 | 一种基于"crisp-dm"方法论的算法开发方法及系统 |
CN115965122A (zh) * | 2022-12-02 | 2023-04-14 | 辽宁省交通高等专科学校 | 一种基于机器学习获得商品对应国民经济制造业的方法 |
-
2023
- 2023-07-25 CN CN202310915111.4A patent/CN116627392B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
US20210064346A1 (en) * | 2019-08-30 | 2021-03-04 | Bull Sas | Support system for designing an artificial intelligence application, executable on distributed computing platforms |
CN111158745A (zh) * | 2019-12-30 | 2020-05-15 | 山东浪潮商用系统有限公司 | 一种基于Docker的数据处理平台 |
US20210342725A1 (en) * | 2020-01-08 | 2021-11-04 | Subtree Inc. | Systems And Methods For Tracking And Representing Data Science Model Runs |
CN112612472A (zh) * | 2020-12-11 | 2021-04-06 | 北京旷视科技有限公司 | 一种嵌入式模型sdk开发方法和开发平台 |
CN115237428A (zh) * | 2021-04-24 | 2022-10-25 | 华为云计算技术有限公司 | Ai应用部署方法及相关平台、集群、介质、程序产品 |
CN114329810A (zh) * | 2021-11-16 | 2022-04-12 | 中国水利水电科学研究院 | 基于大数据的盾构机工作姿态实时预测方法 |
CN115033266A (zh) * | 2022-08-12 | 2022-09-09 | 深圳华龙讯达信息技术股份有限公司 | 一种基于龙芯指令集的ide开发系统 |
CN115373651A (zh) * | 2022-08-23 | 2022-11-22 | 杭州比智科技有限公司 | 一种基于"crisp-dm"方法论的算法开发方法及系统 |
CN115965122A (zh) * | 2022-12-02 | 2023-04-14 | 辽宁省交通高等专科学校 | 一种基于机器学习获得商品对应国民经济制造业的方法 |
Non-Patent Citations (4)
Title |
---|
RIJUL SAINI: "Towards Web Collaborative Modelling for the User Requirements Notation Using Eclipse Che and Theia IDE", 《2019 IEEE/ACM 11TH INTERNATIONAL WORKSHOP ON MODELLING IN SOFTWARE ENGINEERING (MISE)》, pages 15 - 18 * |
杨海涛: "省域房产大数据热力图人工智能预测系统", 《计算机系统应用》, vol. 31, no. 2, pages 57 - 68 * |
杨立洪;白肇强;: "基于二次组合的特征工程与XGBoost模型的用户行为预测", 科学技术与工程, no. 14, pages 191 - 194 * |
王春波: "《高效使用Greenplum 入门 进阶与数据中台》", 机械工业出版社, pages: 224 - 225 * |
Also Published As
Publication number | Publication date |
---|---|
CN116627392B (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111443940B (zh) | 一种基于DevOps的完整软件生命周期管理方法及系统 | |
WO2023071075A1 (zh) | 机器学习模型自动化生产线构建方法及系统 | |
CN109189750B (zh) | 数据分析工作流的运行方法、数据分析系统及存储介质 | |
US11907107B2 (en) | Auto test generator | |
US9075544B2 (en) | Integration and user story generation and requirements management | |
US10466981B1 (en) | System and method for generative programming in an integrated development environment (IDE) | |
da Silva et al. | Workflows community summit 2022: A roadmap revolution | |
de Andrade et al. | Software deployment on heterogeneous platforms: A systematic mapping study | |
CN114528186A (zh) | 一种模型管理方法、装置及模型管理服务器 | |
Kölzsch et al. | MoveApps: a serverless no-code analysis platform for animal tracking data | |
Dumas et al. | Robotic Process Mining. | |
CN116627392B (zh) | 一种基于交互式ide的模型开发方法及系统 | |
JPH01298435A (ja) | 自動プログラミング装置 | |
WO2022134001A1 (zh) | 基于容器化技术的机器学习模型框架的开发方法与系统 | |
Lopata et al. | CASE tool component—knowledge-based subsystem. UML Diagrams Generation Process | |
US10949327B2 (en) | Manipulation of complex variables in orchestration applications | |
Henning | Scalability benchmarking of cloud-native applications applied to event-driven microservices | |
Pistofidis et al. | Modeling the semantics of failure context as a means to offer context-adaptive maintenance support | |
US11995587B2 (en) | Method and device for managing project by using data merging | |
Fan | NVIDIA Performance Testing for Emulation of the Grace CPU | |
US20220405678A1 (en) | Method and device for managing project by using data pointer | |
Rintala | Architecture design of a configuration management system | |
Mahapatra et al. | Team-based collaboration in model-based design | |
Zhang | Trace Visualization of Distributed and Centralized Applications | |
Gou et al. | Construction of a specialized integrated simulation platform for molecule screening based on scientific computing workflow engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |