见贤思齐,转型AI架构师是一个不断试错的过程

804 阅读13分钟

AI的研究和创新经常聚焦在新算法、模型训练技术和应用优化上,在算力充分解放、训练数据极大丰富的前提下,一定会出现的创新型的算法。近两年的GPT-3和BERT模型便是其中的代表,二者都是预训练模型,经过少量的的调整就能够得到比 较广泛的普适应用,模型参数较大,对其应用的挑战在算力和分布式架构上。但算法模型的落地是一个细致和琐碎的过程,AI架构师需要根据业务场景和现实条件不断调试,直至找到效 率瓶颈的最优解。

深度学习的技术红利推动了AI产业化

深度学习推动了AI的第三次发展浪潮,大背景在于摩尔定律作用下的算力越来越便宜并且达到了深度神经网络可工业化应用的临界值,算力瓶颈的突破带来了应用层的井喷现象。深度学习其实并不是非常高深很难学习的学问,它是在统计学的基础之上经由机器学习中学习到复杂的神经元和复杂的网络结构而发挥作用。数据分析和深度学习都是机器学习的子集,而机器学习是人工智能(AI)的一个子集;数据分析和深度学习技术在实际应用中经常互有交叠,解决现实世界的具体问题。

最近两年关于深度学习方面的讨论热度有些下降,而关于智能系统的基础架构的讨论热度在增加,高景行认为,这是深度学习的技术在产业界大规模应用时产生的一种现象,是充分享受深度学习技术红利带来的应用挑战。深度学习或者说机器学习本质上是给整个的行业或者说是整个社会带来一次生产效率的提升,由于深度学习的普适性,加上摩尔定律作用下算力提升到了一定程度,使得复杂的深度学习算法具备了低成本和快速应用的基础。深度学习从一个更偏向于理论或者实验室的研究,演进到了可以快速应用到各行各业的爆发阶段。AI的落地过程, 是把高效的生产力迅速普及到各个行业的生产关系中,从而带来了上述现象。

图片

以百度飞桨为例,飞桨在NLP模型上积累深厚,文心(ERNIE)在多个行业都有大规模的应用,也为其搜索技 术带来了明显的算法改善。另外在推荐系统中,飞桨基于大规模分布式计算和存储的10T级别超大模型解决了大规模离散稀疏模型的并发训练效率问题,在业界具备实用领先性。

从训练到数据,AI领域的十年变迁

随着AI和云计算的发展,实现一个高可用、分布式、高效的机器学习平台成为一个基本需求。PaddlePaddle(飞桨)、PyTorch、Tensorflow等深度学习框架解决了数值计算、算法实现以及模型训练的问题,除此以外要想建设一个高效支持产业应用的AI平台仍然有很多问题需要解决,从工程的角度看,打造一个这样的AI平台有三个建设部分。

  • 第一部分,是数据系统,无论To B还是To C行业数字化过程的产出都是数据,对机器学习系统而言, 数据原料的完备性和正确性至关重要,在有些应用场景还要考虑数据的时效性和一致性等问题。虽然不少行业已经或正在进行数字化转型,表面上看起来数据的获取已经唾手可得,但采集到的原始数据通常不能直接用作训练,需要先对数据进行采集、汇聚、清洗和处理,即常说的数据ETL;进入训练模型前经常还需要基于训练目标的样本标注。这些标注数据一般会作为训练数据的样本。除 了设计合理的模型结构,如何获得足量、准确的标注数据,如何设计模型特征等问题,目前业界仍没有标准化的解决手段。另外,数据的安全性问题有时也会很棘手。这是在很多To B的产品应用中, 最关键、也是最难的一部分。
  • 第二部分,是用于机器学习建模的训练系统——这也是大家通常所说的机器学习训练框架。
  • 第三部分,是AI算法或者模型的应用系统。基于不同的真实应用场景,会有不一样的实现。此外还包括一些辅助的工具或者说是稳定性监控工具等⸺与传统应用场景下的工具区别不大。这部分的挑战通常来源于性能。

上述三个部分,十年前最难的应该是用于机器建模的训练部分,然而随着各种开源框架包括飞桨的不断完善,目前业界主流的训练系统大同小异,并且成本也变得越来越低。针对现在AI在各行各业落地的应用场景,比较难的部分已经变成数据系统和应用系统部分,对于传统的行业企业,受限于数据的获得以及处理的效率,训练和预估精确数据的获得依然是最难同时也是最重要的部分。

传统行业的AI应用落地

工程架构和AI业务的关系

传统行业的从业人员往往会对AI有一些误解,觉得业务攀上AI的枝头就会瞬间变得高大上起来。其实AI技术是伴随着信息化的进程开始的,AI技术的基础是数字化。AI并不仅仅是指Deep Learning,其实像传统的一些数据分析模块还有一些线性模型都算是AI的范畴,传统行业尤其是To B的企业,实现AI化的前题是先做到一 定程度的数字化。从这个角度来讲,对于任意一个应用场景,只要能找到明确的建模目标和建模方式,然后就能回答到底要不要用AI、什么时候用AI、用什么样的AI等一系列具体问题。

图片

在进行AI平台设计的过程中,工程架构是连接业务和模型算法的桥梁、也是业务最终得以AI化的蓝图。但所有的蓝图都不是凭空诞生的,在AI项目中,工程架构能力是从一个个具体的项目中逐渐习得。很多传统业务线在AI方向上都有巨大的潜力,通过工程架构上一步一步的实践过程,最终构成了AI业务的宏伟蓝图。站在技术的视角来看,这将会是一个不断迭代和正反馈的过程。

传统企业上AI的建议

高景行表示,以多年从事工程架构的经验来看,AI在传统行业的应用是一个建模以及解决问题的过程。任何一个新技术在工业界的应用首先就是做好建模工作。AI的应用也不例外,第一步要理解传统行业的目标是什么,以及这些目标能不能拆解成AI技术可快速解决的问题。举个例子来说,通常传统行业的一些问题是通过大量的人力来解决,将大量人力解决问题的方式或者目标变成一个可抽象、可解释、可建模的机器学习问题,最终能达到一定的准确度和精度的过程,便是AI在传统行业的落地实践。

整个过程可简单总结为,先理解传统行业的业务,并梳理业务产生的数据(对数据进行清洗、标注等),接着再抽象业务的目标是什么,再用AI的方式对业务目标中的瓶颈过程进行效率提升,最后根据业务系统运行的状况持续优化直至消除瓶颈。重要的是建模过程中必须找到效率瓶颈,然后分析效率瓶颈中有没有一些可重复、可学习的过程;将可重复的过程变成机器可习得的智能,从而实现对可重复过程的AI建模;最后将AI实现的业务目标自动化地应用到传统行业的业务场景或产品线中去,来解决效率的瓶颈问题。

衡量很多算法和模型的两个维度分别是Precision和Recall,其中Precision注重精度、Recall注重覆盖率。通常一个AI业务系统的Precision&Recall达到了百分之九十几以上,就可以在环境变化较小的工业化场景中落地。对于环境变化比较大的应用场景,需要AI业务系统具备连续学习的能力,当然连续学习的过程也需要是 自动化的,但此时AI业务系统中模型的普适性或者泛化性在环境变化较大的业务场景中会略显不足,一个折中的做法是尽可能提高AI建模过程中对业务的抽象水平⸺以此提高模型的泛化性或适用范围。也就是说,对业务的抽象能力会影响建模设计,如果模型的设计不够全面,在某些情况下AI的应用效果可能不如传统的解决方案,但在某些情况下也有可能比传统解决方案效率更高,这完全取决于建模的方式和业务的优化目标,很难一概而论。

除了解决重复性的效率瓶颈问题,机器学习带来的技术变革,使得之前很多不能尝试的新方向就在AI加速下变得可行,比如现在的自动驾驶、生物制药、智慧城市等等。从这个角度讲深度学习应用的确是一次新的工业革命。

传统工程师转型AI架构师的挑战

对于非互联网行业或者说传统行业,在开始进行数字化升级时就需要考虑AI。在数字化过程中积累经验,倘若在数字化基础不完备时硬向AI转型,第一可能不得其法,第二即便磕磕绊绊上了模型结果未必符合预期,如果经验不足、不知道怎么去优化改善,反过来会严重打击业务AI化的信心。

传统工程师转型AI方向一个难以跳过的环节是AI专业知识,这对于传统行业的工程技术人员而言很难有捷径。深度学习跟传统的计算机科学有一些不一样的地方。高景行认为作为计算机科学的分支,深度学习理论上更贴近于数学,即深度学习中很多时候需要用数学公式来证明算法的正确性;在计算机技术基础上更贴近于大数据 和高性能计算;在应用上,更偏重于经验和实践,虽然能证明算法的正确性,但没有任何一个算法是可以应用 于所有场景⸺需要根据不同的业务场景去选择和尝试不同的建模方式,最终才能逐渐逼近匹配业务场景的最优算法。也就是说,深度学习是理论与实践的结合,用好深度学习技术需要丰富的经验积累。

成功转型的几点建议

在高景行看来,应对上述挑战比较“快速”的途径首先是向AI领域的专家“取经”,由于大多数AI架构师的成长是一个长期积累的过程,他们在AI系统中浸淫了较长的时间,通常在关键问题上有画龙点睛的能力,可以在算法的适用性、技术的积累等诸多方面给予提点,使后者少走弯路;其次,传统工程师可以借助丰富的网络资源学习经典的深度学习课程教材,并结合工作中遇到的问题进行实践操作。

做到上述两点只是转型的开始,但要想成为AI架构师,还需要经常研读业内比较前沿的AI技术和应用系统、系统架构相结合的论文和文献,然后回到自己的工作中去摸索实践。对于AI的技术体系尤其是工程架构这方面的技术体系,和传统的云计算、大数据、搜索、推荐等架构其实是一脉相承的,传统的工程技术人员在转型过程中要保持持续学习的能力。最好能掌握一定的数学知识,很多模型的算法都是可以证明的。深度学习会依赖丰富的统计学、数学分析、概率论和随机过程的知识,在应用的时候最好可以按需掌握,如果能系统地学习会更好。这样在探索创新型的开放问题时,不会因为一次、两次的失败而轻言放弃,会踏实分析在建模过程中可能的逻辑和算法原理的问题,不会轻易失去下一次可能就会有所突破的有效尝试。

图片

转型过程是持续学习的过程,切忌跟风求快,一定要脚踏实地、结合应用场景选择适合的AI技术,不同的场景侧重点不同但有规律可循,以工作和学习中的实际应用场景作为切入点,逐渐的在工程实践中锻炼自己的能力。传统企业的系统一般都经历了长期的建设过程,作为工程师可以先熟悉当前的系统和业务特性是什么,然后再去和行业内的先进系统做比对,发现不足后去找新的发展方向,这通常会是一个好的起点。

最后要注意锻炼试错的能力,大部分的AI工作是一个试错的过程,重要的是会自己去分析和纠错,这需要对行业技术有深刻的理解。如果能站在其他人的角度考虑问题,多了解业务需求场景的细节,进行系统设计时就能做到更全面、更成熟。

图片