度小满自动机器学习平台实践

首先介绍一下度小满机器学习平台的背景、发展过程以及现状。

度小满是一家金融科技公司,公司内部的业务场景主要分为三个方面:

由于业务涉及的AI技术非常多样,给AI算法落地带来了很大的挑战。

AI算法落地存在一个不可能三角:很难同时实现算法开发的高效率、低成本和高质量。

面对这些AI落地的难题,我认为唯一的解决方案是使用机器学习平台。

下面从AI算法的生产流程来理解AI算法落地过程中遇到的具体困难。

AI算法落地主要分为数据管理、模型训练、算法优化及部署发布四个部分,其中模型训练和算法优化之间是一个反复迭代的过程。

在算法开发的每一个步骤里面,对参与该步骤的人员的技术要求的差异很大:

从各个步骤需要的技术栈可以看出,很难有一个或者两三个技术人员完全掌握所有的技术,并且每一个涉及人工的步骤,都是造成生产不稳定的生产瓶颈。而使用机器学习平台可以解决这两个问题。

我们的机器学习平台ATLAS贯穿AI生产的全流程,旨在替代AI算法落地过程中的人工参与,达到高效产出、给AI算法研发提能增效的目标。

ATLAS涉及以下四个平台:

这四个平台之间也是循环迭代的关系。下面分别介绍这几个平台的设计细节及运转过程。

数据与训练部分涵盖了标注平台、数据平台和训练平台。

标注平台主要为AI算法的训练提供标注数据,自从深度学习诞生以来,模型已经具有了很高的复杂度,AI算法效果的瓶颈从模型设计上转移到了数据质量和数量上,所以数据的高效生产是在AI算法落地中至关重要的环节。

ATLAS的数据标注平台主要有两方面的能力特性:多场景覆盖和智能标注。

数据平台主要实现大规模数据治理,在治理的过程中能够兼顾灵活性,动态地匹配样本。在保存了上亿用户的5000维度以上的特征的基础上,可以做到一个在线的实时查询。动态匹配样本可以满足不同场景的样本选择和数据的选择要求。

训练平台是一个很重要的设施,分为五个层:

我们的部署采用类Serverless的架构,之所以说它是类Serverless是因为它并不是完全的Serverless的服务。因为我们的服务面向的并不是广泛通用的应用场景,只面向模型的在线服务,所以不需要考虑更多的场景兼容。

在API接口这一层提供了模型会接触到的三个部分:

下面演示在ATLAS上的两个优化迭代的场景。

例如在一个OCR模型的落地过程中,旧模型部署之后会产生一些badcase,这些badcase和已有的标注数据融合之后成为新的数据集,再通过AutoML优化流水线优化旧模型产生新模型,新模型部署之后再循环往复。通过这样的循环可以让模型保持额外的1%的准确率的提升,由于OCR的模型精度很高,一般会在95%以上,所以1%也是很大的提升。

对于简单重复的优化流程使用全流程AutoML替代,对需要专家经验参与的场景使用AutoML作为辅助优化,并且使用全流程AutoML的结果作为Baseline,选择最优的模型部署上线。在我们公司内部有60%以上的场景通过这样的优化方式获得性能提升,提升效果从1%到5%不等。

下面介绍一下我们运用了哪些AutoML的技术,以及我们所做的改进。

首先介绍一下AutoML相比传统的专家建模有哪些优势。

AutoML的优势分为三个方面:

下面来介绍一下AutoML中常用的技术。

AutoML常用的技术包括三个方面:

在实际工作过程中,会根据不同的任务场景选择不同的技术,且这些技术可以联合使用。

下面几个部分分别介绍这三方面的技术。

首先是超参优化部分。实际上在我们的自动优化流水线当中,是将整个机器学习流水线作为自动优化的目标,而不仅仅是针对超参优化。包括自动化的特征工程、模型选择、模型训练和自动集成等,这样相比单独的超参优化,降低了过拟合的可能性。

除此之外,我们自己实现了一个AutoML的框架Genesis,来兼容主流的AI算法和AutoML工具,且对扩展友好,能够把平台中不同的能力模块相互正交,使得他们之间可以自由组合,实现更加灵活的自动优化流水线。

我们的系统中也使用了元学习方法,下面介绍一下元学习方法的必要性和应用的重点场景。

在积累了大量实验数据之后,我们发现数据集在元特征空间呈现明显的聚集性,所以我们假设在元特征空间分布接近的数据集的最优解也会接近。基于这个假设,我们使用历史任务的超参指导新任务的参数优化,发现超参搜索收敛速度会更快,且在有限的预算下,算法效果可以额外提升1%。

在大数据的应用场景中,有时会需要对已有数据集进行合并,例如将数据集A和数据集B合并产生新的数据集C,如果用数据集A和数据集B的超参作为数据集C的冷启动来指导数据集C的超参优化,一方面可以锁定搜索空间,另一方面可以达到最优的参数优化结果。

在实际开发过程中有时会需要对数据集进行采样,再对采样后的数据集进行超参优化,因为采样后的数据的元特征空间分布与原始数据是接近的,所以用原始数据集的超参去指导采样数据的超参优化,就可以提高优化效率。

最后是我们针对深度学习场景所做的自动优化。分为超参优化和对NAS的探索两个方面:

最后来讨论一下我们在机器学习平台建设过程中碰到的规模和效率的问题。

更多的模型参数意味着更好的模型表现是行业的共识。而深度学习存在如下的摩尔定律:

所以高速增长的计算需求与硬件性能之间的鸿沟必须通过优化来解决。

最常用的优化方法就是并行,包括数据并行、模型并行等。其中最常用的是数据并行的技术。

ATLAS平台的数据并行技术有以下特征:

还有一些模型不能只靠数据并行解决训练效率问题,还需要引入模型并行技术。

ATLAS的模型并行主要分为两个方面:

一些网络模型的全连接层参数规模非常大,如arcFace的分类规模高达几十、上百万甚至上千万,这样的一个全连接层不可能通过一张GPU卡覆盖。这时需要引入层内并行技术,不同节点计算同一张量的不同部分。

除了可以用张量描述的线性数据以外,我们做了一些图数据并行训练的探索。

对图数据来说,不管是采样还是其他操作都需要动态跨节点,而且图数据一般规模都很大,我们内部的图数据达到了百亿的规模,这样的图数据的计算很难在单机上完成。

图数据分布式计算的瓶颈在于映射表,传统的映射表的空间复杂度为O(n),如10亿个点10亿条边的图数据占内存160GB,形成分布式训练的规模天花板。我们提出了一个空间复杂度为O(1)的方法,通过重排节点和边的ID,只保留映射边界,达到图并行训练规模可任意扩展的效果。

同时我们也做了一些训练效率方面的优化。

我们还使用了反向传播重计算技术。对于一些参数非常多的模型,在正向传播的过程中,我们并不保存所有的层的计算结果,仅保留部分节点的checkpoint,在反向传播时空白参数节点从checkpoint开始重新计算。通过这种方式可以减少50%以上的内存资源,训练效率提高35%以上。

最后谈谈在机器学习平台的建设中的经验和思考。

我们总结了如下一些经验:

因为我们AI算法落地涉及到的,技术和内容是方方面面的,我不可能要求任意任一个环节上的同学都会了解整个全局,那我们一定要有一个平台能提供这些基础的能力来帮助大家去解决这些问题。

因为只有把自动化或者AutoML的应用做得好了,才能够更有效的去解放算法专家的生产力,让算法专家可以去做一些更深入的算法,或者能力的建设来提高机器学习的上限。

展望未来:

A1:开源的AutoML框架现在用的比较多的就是Optuna,还尝试过Auto-Sklearn和AutoWeka,然后给大家推荐一个网站是automl.org,因为其实现在做这个领域的人还是比较少的,这个网站是几个在AutoML领域的专家教授建的一个网站,上面有很多的AutoML的开源学习资料,大家都可以去参考。开源框架我们比较推荐的是我们用的Optuna去做调参,因为它的算法的来说的话就不是就这种最基础的贝叶斯优化,它是一个TPE的算法,比较适合参数量非常大的一些场景,贝叶斯优化还是更适合参数比较少的一些场景,不过我的建议是说大家可能针对不同的场景尝试一些不同的方法,因为就做更多尝试之后,大家可能会对什么场景适合什么方法更有经验。

A3:这可能是一个更具体的算法优化的问题,但在我们的优化流水线里面,我们是通过采样的方法来训练的,通过这样的方式让我们的任务能够见到数据集的更多的角度,或者说方面,然后再通过把这些采样之后训练得到的top模型集成起来,来让我们的模型有更强的泛化能力,这在我们的场景里面也是非常重要的一个方法。

A5:首先这个同学提到的虚拟化GPU,应该是指资源的分割和隔离吧。我们做机器学习平台的话,虚拟化GPU应该是一个必须的能力,就是说我们一定要把资源做到虚拟化,才能做更好的资源调度和分配。然后在这个基础之上的话,我们可能还会把我们的GPU的显存和它的计算资源去做分割,然后把不同大小的资源块去分给不同任务使用,但这一点实际上我们没有在训练里面去用,因为训练的任务通常会对计算的能力有更高的要求,不会是一个更小的资源消耗的应用场景,我们在推理的场景里面是会用到的。我们在实际应用过程当中发现虚拟化技术没有很好的开源免费的方案,有部分的云服务厂商会提供一些收费的方案,所以说我们自己在部署上使用的是分时复用的方案,就是把一些计算要求高的任务和一些计算要求低的任务去做混布,来做到分时的复用,在一定程度上能达到提高容量的效果。

A6:我们是可以接近一个线性的加速比的,就是我们自己测的话,比较好的时候大概可以达到一个80到90的程度。当然,如果节点数量非常多,可能还会需要做进一步的优化,现在可能大家发论文或者看到论文里面会提到说32个或者64个节点可以达到80、90的加速比,那可能是要有一些更专门的优化。但我们在机器学习平台里面的话,有可能会要针对更广泛的场景,在实际的场景里面,大多数的训练可能是4个GPU卡、8个GPU卡,最多16个GPU卡就能够满足要求。

A8:这个问题刚才提到过,就是像Optuna,Auto-Sklearn还有AutoWeka这些都是可以参考的。然后刚才有说到那个automl.org的这个网站,上面有很多资料,大家可以去学习一下。

THE END
1.深度学习平台(SINGA)4.高性能:SINGA采用C++作为核心开发语言,并结合Python、C、CUDA等语言,以实现高效的跨平台运行能力。它利用GPU加速器优化深度学习运算,提升训练速度,同时其内存优化机制也有助于提高训练效率。 5.模型动物园:在Github和Google Colab上的SINGA仓库中提供了各种特定领域的深度学习模型,如医疗保健和科学等领域的模型,方便https://blog.csdn.net/weixin_43156294/article/details/144281329
2.使用新的开源跨学科数据集训练AI人工智能模型像科学家那样思考完整的数据集可从Flatiron研究所免费下载,并可在托管AI模型和数据集的平台Hugging Face上访问。Polymathic AI团队在两篇论文中 https://nips.cc/virtual/2024/poster/97791 提供了有关数据集的更多信息,这两篇论文已被接受在12月于加拿大温哥华举行的顶级机器学习会议NeurIPS https://neurips.cc 上发表。 https://www.thepaper.cn/newsDetail_forward_29579848
3.深度学习平台——百度AIStudio线上构建51CTO博客针对AI学习者的在线一体化学习与实训社区. 本平台集合了AI教程, 深度学习样例工程, 各领域的经典数据集, 云端的超强运算及存储资源, 以及比赛平台和社区.从而解决学习者在AI学习过程中的一系列难题, 例如教程水平不一, 教程和样例代码难以衔接, 高质量的数据集不易获得, 以及本地难以使用大体量数据集进行模型训练.https://blog.51cto.com/u_13643065/6169255
4.飞桨PaddlePaddle飞桨致力于让深度学习技术的创新与应用更简单。具有以下特点:同时支持动态图和静态图,兼顾灵活性和效率;精选应用效果最佳算法模型并提供官方支持;真正源于产业实践,提供业界最强的超大规模并行深度学习能力;推理引擎一体化设计,提供训练到多端推理的无缝对接;唯一提https://www.paddlepaddle.org.cn/hub/scene/ocr
5.金电联行Ark(方舟)平台深度学习模型训练软件免费在线试用金电联行-Ark(方舟)平台深度学习模型训练软件页面为您介绍金电联行-Ark(方舟)平台功能介绍以及产品定价、行业案例、文章点评等相关信息,便于您更快速的了解金电联行-Ark(方舟)平台深度学习模型训练软件。https://www.36dianping.com/space/5875360113
6.LintCode(802.11ax) 4×4 MU-MIMO 6GHz QCN9074 Single Band Wireless Module shell 深度学习 算法 一次遍历 大数据 lambda函数 Library Access modifiers python 《三分快3平台app推荐下载》搜狗百科 不排序 Metadata Algorithm Interview prim BZIClaw LCA 物联网 量化投资 classification 知识图谱 Modules & Packages https://www.lintcode.com/tag/
7.关于发布可解释可通用的下一代人工智能方法重大研究计划2022通过规则与学习结合的方式,建立高精度、可解释、可通用且不依赖大量标注数据的人工智能新方法。开发下一代人工智能方法需要的数据库和模型训练平台,完善下一代人工智能方法驱动的基础设施。 (三)面向科学领域的下一代人工智能方法的应用 发展新物理模型和算法,建设开源科学数据库、知识库、物理模型库和算法库,推动人工https://www.ncsti.gov.cn/kcfw/xmsb/202205/t20220518_79110.html
8.cubestudio开源云原生一站式机器学习/深度学习/大模型AI平台cube studio开源云原生一站式机器学习/深度学习/大模型AI平台,支持sso登录,多租户,大数据平台对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式训练,超参搜索,推理服务VGPU,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型微调,vlhttps://github.com/HutCat/cube-studio
9.2020届计算机科学方向毕业设计(论文)阶段性汇报复现了业界领先的基于深度学习的跨年龄人脸识别模型并在少量测试数据集上做了数值上的检验和对比。 张哲恺 图排序的硬件加速器设计 Gorder图排序算法的简单介绍,硬件加速Gorder的基本思路,模拟实验结果。 蒋泽天 多图的批量协同匹配与在线增量式匹配方法第一阶段工作汇报 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
10.货拉拉一站式云原生AI平台建设实践数据工程模型训练在线服务数据工程、模型训练、在线服务是机器学习技术实现的三驾马车,这个流程中处理的数据量大,计算量大、训练框架和版本多样、底层依赖复杂,资源算力管理,需要人工介入解决很多问题,给AI落地带来了比较困难。针对这一系列的问题,货拉拉大数据智能平台组从2020年开始就在探索提供一套完整的云原生的一站式AI解决方案,并从那时起https://juejin.cn/post/7213636024101765181
11.深度学习模型在线训练排序策略离线排序模型华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:深度学习模型 在线训练。https://support.huaweicloud.com/topic/985668-2-S
12.三维一体教育平台—三人行,必有我师学校教育、家庭协助、社会关注,最大限度共享教育资源;在线考试,试题上传,海量试题搜索;试题库拥有丰富的试题;是一个全国各种学历考试,资格认证考试的全真在线模拟考试网站,提供自动阅卷评分以及试题解析等多功能服务,是各类考生考前辅导学习的练兵必备工具https://www.ch3dedu.com/wiki/search.jsp?ct=FB15144199320FA8CE71ECBE824E261E
13.学堂在线学堂在线是清华大学于2013年10月发起建立的慕课平台,是教育部在线教育研究中心的研究交流和成果应用平台,是国家2016年首批双创示范基地项目,是中国高等教育学会产教融合研究分会副秘书长单位,也是联合国教科文组织(UNESCO)国际工程教育中心(ICEE)的在线教育平台。目http://xuetangx.com/
14.TinyMaix:超轻量级推理框架八、使用Maixhub 在线训练模型# TODO 九、怎样添加新平台的加速代码# TinyMaix 使用基础的点积函数加速卷积运算 你需要在 src 里添加 arch_xxx_yyy.h, 并添上你自己平台的点积加速函数: TM_INLINE void tm_dot_prod(mtype_t* sptr, mtype_t* kptr,uint32_t size, sumtype_t* result); Copy 十、贡http://en.wiki.sipeed.com/news/others/tinymaix_cnx/tinymaix_cnx.html
15.LLM:预训练+指令微调+对齐+融合多模态+链接外部系统为了进一步提高LLM在未见任务上的指令泛化能力,即Zero-Shot能力,需要在自然语言众包指令数据上微调预训练模型,参考论文FLAN 。微调数据集来自于通用的NLP基准集,通过指令模板改造输入输出的格式得到CoT和非CoT任务的指令数据集,见下图。微调后可以显著提高在各种模型类(PaLM、T5、U-PaLM)、各种学习样例设置(Zero-Shot、https://www.shangyexinzhi.com/article/10160427.html
16.日本最高设计奖GOODDESIGNAWARD2021百件获奖作品精彩出炉本产品对需要经验积累的手动作业进行了充分支援,并合理利用AI和深度学习提高工作流程的效率,减轻医生负担,提高治疗效果。 33、细胞冷冻保存包 CellQua series将机器人作为媒介,将咖啡馆作为平台,帮助残疾人自食其力,和消费者、企业以及社会建立真正的联系。 94、咖啡豆在线平台 TYPICA https://www.digitaling.com/articles/621312.html
17.新国人,中小学生在线学习平台新国人专注K12教育20年,积累了丰富的教学经验和名师专家资源、视频课程资源,结合教育大数据分析、人工智能核心技术,精心打造新国人在线学习平台,为全国中小学生提供学习问题诊断,制定个性化教育解决方案服务.http://www.xinguoren.cn/
18.算法服务平台算法模型服务平台是一个面向企业用户的数字化服务平台,旨在为用户提供高效、先进的算法模型。它以数据为核心,利用机器学习、深度学习等前沿技术,为用户提供行业定制化的算法模型解决方案。 应用场景 用户情感分析 使用情感分析模型,对文本进行情感分析,用于市场调研,客户服务和社交媒体监测。 https://wakedata.com/wakeAI.html
19.深度学习计算机视觉实战畅想中心数据平台在线试读 下载 注:如果您的电脑尚未安装PC客户端,请先 安装客户端 后再下载阅读!手机扫描阅读此书 支持(Android/Iphone) 简介 目录 评论 简介 本书内容可分为四个部分。第一部分包括第1-2章,主要讲解深度学习和计算机视觉基础;第二部分包括第3-6章,主要讲解图像处理知识;第三部分包括第7-11章,主要讲解计算机https://www.cxstar.com/Book/Detail?ruid=2a4ec7b2000111XXXX&packageruid=25f8e7ac012727XXXX
20.深度学习平台DeepLearningCaffe深度学习平台 Deep Learning on QingCloud 基于强劲的 GPU 计算资源,搭载多个主流深度学习框架,可极速搭建深度学习开发环境,全面提速 AI 应用开发。https://www.qingcloud.com/products/deeplearning/
21.汇量科技利用AWS打造一站式大数据机器学习平台,日均高效处理1000汇量科技利用Amazon Web Services(AWS)云服务打造的一站式大数据机器学习平台,日均高效处理1000亿次线上预测,数倍提升线上变现价值。汇量科技是全球卓越的技术平台服务商,凭借全球化网络和本地化服务的能力,为60多个国家的2000多个活跃应用开发者提供从获客到变现的全栈http://aws.amazon.com/cn/solutions/case-studies/mobvista-machine-learning/
22.《大学生创新创业》课程思政示范课程优秀案例3.4建设在线教学资源拓展平台。基于互联共享的创新创业教学实践平台设置在线学习拓展任务,配套创新创业课程案例、创新创业训练手册、历年创新创业大赛项目案例集、视频、创业计划书、项目路演PPT等资源,强化学生创新和行为互动。 3.5通过雨课堂推送每个知识点设置的训练任务,在线培养创业项目实践能力。 https://www.xjbyxy.cn/info/1159/5308.htm