APP下载

【先用AI研发云创新,再靠MLaaS将AI嵌入业务系统】玉山2大AI关键平台大解密

消息来源:baojiabao.com 作者: 发布时间:2024-10-07

报价宝综合消息【先用AI研发云创新,再靠MLaaS将AI嵌入业务系统】玉山2大AI关键平台大解密

MLaaS平台是Machine Learning as a Service的简称,玉山又称其为机器学习服务平台。对玉山来说,它是将AI嵌入业务系统的桥梁。(图片来源/玉山金控)

玉山内部执行的AI专案超过半百,维持玉山AI力源源不绝的关键,除了人力,还有玉山银行智能金融处(后简称玉山智金处)打造的两大技术平台——AI研发云和MLaaS。玉山用它们来尝试各种新点子,也用来测试新模型,更用来将成熟稳定的AI模型,介接到实际金融业务场景,赋予系统内建的AI能力。

资料是企业最重要的资产,若要把资料变成可运用的资产,需有一套整体性的运用体系,才能让AI源源不断地发挥资料的价值。传统大数据分析常见的作法是,数据团队产出各种分析报表,提供给业务单位来取用。但玉山认为,只做到这样还不够,更关键的是,AI必须整合到业务中,这正是他们打造两大技术平台的理由。

当玉山在2018年定调全力发展AI后,就展开多项与AI相关的重大系统开发,AI研发云就是提供给资料科学团队的开发环境,而MLaaS就是让这些开发成果可以嵌入业务流程的平台。

AI研发云:犹如创新沙盒,供开发者尝试各种新点子

玉山金控科技长张智星指出:“AI研发云的定位很清楚,服务对象是人,”这朵云由将近20台机器组成了一套运算丛集,底层架构则采世界主流的开源容器管理框架Kubernetes(简称K8s),能根据使用者需求自动调度资源,降低系统管理负担,也能更有效运用资源。不只如此,平台中还准备了多种常用的机器学习开发框架或函式库,让使用者在这个平台上进行资料处理、建模、模型测试或是分享资料,“就像沙盒一样,开发者可以创新、尝试新点子,”张智星说。

在ML开发环境上,AI研发云则采用Jupyter Notebook,可供ML开发人员使用热门的程式语言Python及相关套件,来进行各种运算。界面采取自助式网页设计,ML开发人员登入平台后,可以自行选择所需的运算资源,比如,这次运算需要4核CPU、16Gb内存和1张GPU,底层K8s会根据这些需求,将所需的Docker容器环境部署到合适的机器上,再提供给这些开发者。使用完毕后,AI研发云会回收资源,重新安排给下一位使用者使用。

AI研发云可供资料科学家尽情探索,“就像游乐园一样。”张智星强调,正因为有这样的环境,才有办法尝试新技术,“这些新技术在当下可能还没很成熟,但有应用潜力,这种尝试非常重要!”

这朵云不只是创新实验,更是玉山AI的主力开发环境,孕育出不少成熟稳定的AI模型。这些模型开发完成后,下一个去处就是打包部署到玉山另一个重磅AI平台——MLaaS。

MLaaS平台:连接成熟AI模型和业务系统的桥梁

MLaaS平台是Machine Learning as a Service的简称,玉山又称其为机器学习服务平台。对玉山来说,它是将AI嵌入业务系统的桥梁。

“MLaaS的服务对象是系统,所以必须快、准,”张智星说。

快,指的是AI推论速度必须快,比如玉山信用卡盗刷侦测模型,得在刷卡资料输入的0.1秒内回传模型推论结果,来决定这笔交易是否正常,并由业务系统进一步处置,如疑似异常时得电话通知等。为求快速,MLaaS平台甚至将特定模型推论时所需的资料预载到内存中,来加速运算。

快,还有另一个含义,也就是长期下来,模型能快速更新,甚至更换模型时,也不对业务系统造成影响。由于MLaaS平台采API形式来提供服务,当业务系统需要AI判读时,靠API呼叫就能串接所需的MLaaS模型。这个设计,可让前端业务系统与后端MLaaS系统的边界非常清楚,当后端模型更新时,只需牵动资料和算法程式即可,不会牵动到API呼叫机制和前端业务系统。

设计理念:把AI当作外挂机制,让现有系统呼叫使用

但玉山为何如此设计MLaaS平台?

负责打造这个平台的玉山智金处指出,设计之初考量过2种作法,一种是打造成AI函式库的形式,资讯系统可以像内部函式库一样直接呼叫来使用。好处是,反应速度更快、更省资源,也能根据不同需求,来客制化开发AI模型。但采取这种方法,就得面临一个问题,可能得改写或修改现行系统所用的函式库。

这对玉山智金处而言,是个不可能的挑战,因为光是银行系统历年累积的程式码量就十分庞大,更不用说还需要不同程式语言的版本,包括Java、C#和COBOL等。若要重整这些程式码,太耗费时间和人力。

因此,为了快速上手AI,玉山智金处采取另一种设计方法,将AI视为一种外挂机制,当前端业务系统需要某一项AI功能时,直接用API呼叫这项AI功能的MLaaS服务,再由API回传AI模型推论的结果。这个作法,等于是将AI嵌入现有系统中,让系统具备内建的AI能力。

如此一来,玉山就能快速开发AI应用,也能在短期内看到AI带来的效益。

MLaaS 1.0:整合AI推论、模型训练和ETL功能

决定了运作架构后,玉山银行智金处在2018年第一季,开始建置第一代MLaaS平台,来提供AI推论、模型训练、资料ETL等三大类服务。特别的是,MLaaS采取了无状态(Stateless)API的设计方式,前端系统将推论所需的所有参数资料,透过API传递给MLaaS,但让业务逻辑仍保留在前端系统中,而不在MLaaS平台上纪录任何业务判断。

举例来说,MLaaS平台有一支用来分析单笔交易信用卡盗刷概率的API,前端系统呼叫这个API,透过参数传递推论所需资料给MLaaS平台,运算完成后,同样透过API回传推论后的概率数值给业务系统,再由前端系统的业务逻辑程式来决定是否要终止或放行这笔交易。对MLaaS信用卡盗刷判断API而言,每一笔都是独立的一次推论,在MLaaS系统上不需要记录这笔刷卡交易的结果。

因为采取了无状态API的设计,MLaaS 1.0的技术架构相对简单,采取了Web 1.0时期的简单架构,将同一套程式码复制到多台主机的作法,使用4台搭载GPU的主机,前端再搭配负载平衡机制来分流。

如此一来,任何一台机器当机,都能改由其他机器接手,提供API呼叫服务。这个做法也让维运工作可以简化,像是遇到模型改版时,只需将程式码重新部署一次,再同步到所有机器上即可,不论是除错、维运,每一台机器的作法都一样。

玉山智金处选择这个架构的动机,是要用最简单的方法,将维运压力最小化,让团队快速累积AI开发经验。也因此,他们很清楚,MLaaS 1.0上线后,势必会遇到扩充性问题。

尤其是,MLaaS 1.0平台底层部署在裸机架构上,无法根据服务量大小自动调度主机资源,也因为每一台都是相同的复制版本,遇到用量少的API,还是会部署到所有机器上,无法有效利用主机的运算资源。再来,在1.0架构下,程式码开发完成后的持续整合、持续部署等CI/CD流程,仍须人力介入。

2019年第二季,MLaaS 1.0上线,玉山智金处也开始思考如何设计2.0版,来提高扩充性。

MLaaS 2.0改用K8s改善扩充性,更有效运用资源

MLaaS 2.0设计时就订出两大目标:系统资源运用更有效率、系统自动化程度要更高。这一次,玉山看上开源的容器丛集管理平台K8s,来解决这些问题。张智星指出,K8s的高弹性,可实现上述两个目标,举例来说,K8s可进行系统资源排程,根据服务量需求来调配资源,某项服务只需要两台主机,K8s可从原有10台机器中,自动选择2台最合适的机器来部署服务。

此外,团队也能运用K8s建立多项自动化作业,比如,让开发者在K8s上自订专属的CI/CD工作流程,再整合工作流程管理平台Airflow建立的ETL流程。当ETL执行完毕后,就可以通知CI/CD流程,自动触发下一个动作,像是模型重新训练、部署,或是服务上、下架等。这些优点,都是智金处看好K8s的原因。

K8s对玉山智金处的吸引力,不只是技术考量,在经验引进与人才培养上也相对容易。因为,K8s是世界主流的容器管理框架,已有许多业界最佳示范可参考,这些经验可以很容易转换为适合玉山的作法,团队也不必从零开始闭门造车。

再者,先前采用裸机架构时,MLaaS所用的是玉山自家环境,玉山智金处得自行培训维运人员,从头开始熟悉环境和架构,但改用K8s后,他们评估,不必耗费心思训练人才来理解底层架构,而可以直接聚焦于上层应用逻辑即可。

于是,2020年初,他们决定采用K8s来打造MLaaS 2.0,同时成立专案小组研究如何用K8s改善1.0版的不足。

数月研究K8s,2020年下半年动工打造MLaaS 2.0

不过,张智星坦言,K8s进入门槛不低。玉山银行智金处花了几个月的时间研究、打基础,还进行两个PoC专案,来验证K8s的可行性。

这么花时间的原因是,这套开源K8s的弹性非常高,提供了大量功能,从CPU资源排程、内存排程、网络拓扑、储存配置等,都有丰富的API。甚至可以说,只要是企业想要的功能,K8s几乎都能实现,但前提是,企业得先知道如何使用它。MLaaS 2.0系统设计人员的经验是,先从K8s设计理念开始熟悉,例如K8s网络架构、不同储存类型的设计初衷等,比较容易上手。

2020年下半年,智金处确定技术架构后,便着手开始发展MLaaS 2.0。第二版的功能不变,依然锁定AI推论、模型训练、资料ETL,只不过,底层框架改用K8s来自动调度资源。

在这段期间,MLaaS也已提供不少AI模型供业务系统呼叫,2019年上线的信用卡盗刷侦测模型就是其一。这个模型,是用来判断信用卡交易的正当性,每当信用卡交易主机接到交易讯息时,就会呼叫MLaaS盗刷侦测模型API,由模型判断盗刷概率,并在0.1秒内将结果回传到业务系统。

光是这个侦测模型API,玉山银行每天平均使用超过66万次,一年下来,更阻挡了上亿元的信用卡盗刷损失金额。

上线后挑战才开始,用资料分布监控模型表现

然而,模型部署上线后,挑战才真正开始。

传统应用程序完成开发后,上线后的执行环境固定,所用的资料也大都是静态资料,但AI模型上线后,得面对不断流动的资料。动态资料如何流进模型,再提供正确的讯息输出,就是玉山智金处所面对的课题。

他们要提供的,不是静止的产品,而是活着的服务。因此,AI模型准确度的维持,就是MLaaS服务的关键。比如,信用卡盗刷侦测模型API,得在与业务部门约定的0.1秒内回传结果,并时时达到银行要求的判断准确度。准确度一旦下降,势必影响前端业务系统的判断,严重时甚至会导致对外服务的中断。

这个讲求准确度的特性,一如张智星那句“MLaaS的服务对象是系统,所以必须快、准”的“准”字。玉山智金处就像是玉山内部的AI供应商,对于所提供的MLaaS服务,也必须设计一套模型效度的监控系统,来确保这些AI服务品质的持续。

那,这套监控系统如何设计呢?

玉山银行智金处有一套独到的作法。由于MLaaS平台采无状态API设计,呼叫一次API所传递的参数,就涵盖了一次推论所需的各种输入值,将这些参数资料累积一段时间后,来计算资料分布(Data distribution),可以作为模型准确度的衡量指标。

举例来说,每当业务系统呼叫信用卡盗刷侦测模型API时,在请求中传递的参数,包括如刷卡地点、刷卡金额、刷卡时间等参数,来让MLaaS的AI模型计算盗刷概率。

将这些参数的输入值累积一段时间后,可以用来观察资料分布状态。比如,过去一个月,呼叫这支模型API的参数中,若多数刷卡时间发生在下午3点,但隔了一个月,却发现多数刷卡时间转变为早上9点,这就会触发一个资料分布异常的通知,MLaaS的监控系统会侦测到资料分布的变化,触发下一个动作,发送警示通知给资料科学家。

玉山解释,因为资料不断流动,当输入值的资料分布改变了,可能意味着使用者的习惯改变了,以过去使用者资料所训练出来的AI模型,可能也得跟着调整才行。透过这套监控系统,来揪出这些可能影响模型准确度的迹象,就能自动触发后续措施,来重新训练模型,或是发送警示通知,让资料科学家进一步评估模型。

不只是MLaaS平台API参数的资料分布,玉山银行智金处也会收集其他类型的资料,比如每个月的模型回应平均值、模型每个阶段的Log日志,来设计更多监控指标,制定后续维运措施的触发参考。

时机成熟力推MLOps,要跨出金融界的一大步

监控系统只是玉山AI维运的起手式,今年,他们有一个更远大目标,要实践MLOps作法,希望能建立一套机器学习模型的自动化维运管理方式。

让AI深入业务,一直是玉山银行智金处的目标,AI研发云提供了AI模型开发环境,MLaaS平台把这些AI模型变成了容易嵌入到业务系统的API服务,下一步,就是要让各事业单位更容易串接、运用这些AI服务。这就考验MLaaS平台的服务水准(SLA)。

对玉山智金处来说,一套系统必须稳定和可靠,才能让众人使用。智金处今年的目标是,让AI与各种业务结合,要让各单位有信心、愿意使用。为了做出稳定又可靠的AI服务,MLOps成为智金处关注的焦点。

所以,玉山智金处计划建立一套MLOps流程,来强化、提升原有的AI模型产制过程。进一步来说,AI模型在AI研发云中训练完成后,要打包成API,经过CI/CD流程才会上架到MLaaS上,成为一项正式上线的API服务。玉山希望在CI/CD上,提供更多不同用途的流程机制,并纳入更多相应的Log机制,可用于上线、除错使用。

另一方面,他们还要建立更多监测模型效能的指标,不只是先前提到的API参数的输入或输出资料,甚至连建模时的中继过程,例如产制模型真正特征前的预处理步骤,也需要留下检核因子。

尤其,使用者行为会不断改变,模型更换成了一种常态,不论是为了解决问题,还是为了优化模型。为此,玉山智金处已选取少数专案,运用正在开发的MLaaS 2.0平台,来以K8s来试行模型维运自动化。若能成功,他们将在年底放行更多AI模型到MLaaS 2.0上,自动监控这些模型的状态,来进行再训练或下架的动作。

不过,当要更换那些涉及业务的AI模型时,这就不只是系统议题,还需考虑更换后对制度、人员、法规等面向的影响。金融业是备受监管的单位,许多科技业能做的事,比如模型重新训练后快速再上架,但金融业不一定能直接这样做。所以,玉山银行智金处今年初也增设了企划部,要联手风控团队站在业务角度,既要让AI安全落地,也站在智金处角度,寻找法规突破口。

为了做到这一步,他们还将模型效能监控机制,串接到范围更广的CI/CD流程上。同时,玉山智金处也正建立网站可靠信工程(SRE)制度,要进一步将模型维运纳入整体软件维运工作中,合而为一。

MLOps人机协作也是资料治理的利器

玉山今年要推动MLOps还有另一个原因。“模型更新后的表现要如何定义?怎样算不够好?不够好要在何时更新?”张智星以信用卡盗刷侦测模型为例,假设系统察觉100笔交易中,有10笔异常,银行人员就能立即打电话向客户询问、获得回馈,即时核对模型预测准确率。

但一些模型没察觉出的盗刷行为,反而要在一个月后(即客户收到账单后),才能获得回馈。由于资料回馈存在时间差,如何同步这些资料来更新模型,就是玉山AI维运的重要课题。

随着资料治理逐渐到位,MLOps的加入能协助使用者掌管模型生命周期,包括资料撷取、模型训练、测试,以及模型部署上线后的表现监控等环节。张智星点出,监控最大的好处,是能让使用者立即回馈资料至AI系统,及时校正模型表现。

不过,MLOps虽强调全自动化,但张智星认为,人机协作还是必然。因为,模型表现牵涉到“模型出错成本。”比如,票据手写辨识模型将10万元辨识为100万元,就会造成极大损失,因此模型不容出错,得仰赖人工再核对一次。“这就像A I人机协作,电脑做一部分,人同时要复核,少部分抽验,来确保不出错,”他表示,人员的抽验资料也得回馈到系统作业流程,如此才能优化整体系统,实现资料治理。

“这是玉山今年的大事,”张智星说。虽然实践MLOps看来是一小步,但玉山能实现它,就会是金融业运用AI的一大步。因为这代表,玉山能将资料作为燃料,用来驱动整个业务流程,自动化执行。这一步,正是玉山今年最重要的AI战略,让AI更融入业务单位中。

 玉山两大AI关键平台分工 

 AI研发云 

服务对象是人(资料科学家),供资料科学家尽情探索,尝试新技术。可自助式提供AI模型开发环境,来进行资料处理、模型训练、模型测试等。底层采用K8自动建立Docker环境作为开发之用,上层则提供Jupyter Notebook的Python网页开发环境。

 机器学习服务(MLaaS)平台 

服务对象是系统(各部门业务系统),将AI嵌入业务系统的桥梁,讲究快和准。采取无状态API设计,来提供AI推论、模型训练、资料ETL等三大类服务。ML模型在AI研发云开发完成后,会打包成API,部署到MLaaS平台上,再提供给各业务系统呼叫使用。底层采K8s,可依据服务量需求,自动配置运算资源来执行各个API服务。

资料来源:玉山金控,iThome整理,2021年8月

 玉山AI维运3箭:系统、制度、人 

摄影/洪政伟

当AI内化到一定程度,企业就会出现模型维运需求,玉山也不例外。作为玉山AI发电厂、负责打造玉山各种AI应用系统的玉山银行智能金融处(即智金处),锁定三个层面着手维运管理:系统、制度、人。

第一项系统是指,打造一套可以掌握模型表现的监控系统。智金处收集MLaaS平台上的API参数,来比对不同时期的资料分布(Data distribution),并结合其他指标,根据这些资料来设计后续模型调整措施。不只如此,他们也计划在今年大力推广MLOps,要更自动化管理各机器学习生命周期任务、维护资料品质,还要掌握模型上线后的效能监测。

在制度方面,玉山则有两套做法。首先是分工认定,比如在AI专案成立时,就先决定系统是否需要专属维运,若采用构造简单的模型,就交由业管单位的IT团队负责。若采用MLaaS平台模型,则是由智金处负责AI相关维运。

另一个制度化的作法,是每月进行专属月会,来追踪模型成效。智金处每月针对重要专案举办会议,这是因为,玉山虽有不少系统监测模型、发送警示,但他们的经验是,金融模型非常容易受景气影响。景气变动,模型没变动,不代表模型没问题,因此需要定期检视。

有了系统和制度的支持,还需要“人”来接续维运。负责推动AI的智金处,要求旗下服务部的每位职员,至少都得负责一个维运工作,来累积模型维运的知识。对玉山来说,这三个层面是练就AI维运实战经验的关键。

 新方向:转核后下一步,打造资料中台加速AI创新 

去年8月,玉山完成为期4年的第一次核心系统转换工程,不只把原本绑在大型主机上的核心系统服务API化,更将老旧的COBOL程式语言汰换为热门的新程式语言。他们的目标,是要用微服务架构和开放式平台,来推动玉山第三个十年的发展目标:科技的玉山。

不过,早在他们启动核心系统转换前,就已缜密地布局科技化蓝图了。玉山先是研究主流技术,如区块链、行销科技(MarTech)、监理科技(RegTech)、AR/VR和AI,最后锁定AI,并重整所有资源,全投注在AI上。

也正是那年,2016年,玉山在全力发展AI的战略下,开始规划、设计新核心系统,并在去年8月正式上线。玉山金控科技长张智星指出,新系统的特色是“小核心、大周边”,能弹性拆卸核心周边应用,更快速打造新应用。

“我们蹲了很久,4年后的现在终于跳起来,”他形容,转核后的平台不只更有弹性、更有效率,资料分享也更容易,“这对AI发展相当重要。”他更透露,玉山转核下一步是要建立资料中台,来破除老旧系统叠层架屋的技术债,加速资料分享和AI发展。

这是因为,过去以来,玉山先是采用大型主机,作为所有核心系统开发、储存和执行的环境。随着技术演进,玉山陆续采用新软件开发服务、建置数据库。

这一点一滴,累积出叠层架屋的技术债问题。张智星举例,在不同平台间搬迁资料时,会遇到储存问题、数据库问题和计算能力问题,比如,将A平台的资料搬迁到B平台分析时,会遇到B平台容量太小的问题,但资料绕道改搬迁到容量大的C平台,可能会遇上C平台有速度慢、存取慢的缺点,“欠缺了一个统一的平台来解决问题。”

玉山转核后的新平台,解决大部分技术债问题,更进一步,玉山还要打造资料中台,来统整各类资料和开发工具,甚至是AI模型,作为创新应用的中继站。

2021-08-17 10:45:00

相关文章