人工智能是新一轮科技革命和产业变革的重要驱动力量,正在加速与各行各业深入结合。融会贯通人工智能理论和方法,并善于与应用场景融合创新的复合型人才是将新技术产业化落地应用的关键推动力量。 深度学习技术及应用国家工程实验室副主任 01 AI 架构师的道与术 AI 架构师将成为新一轮科技和产业变革的引路人AI 架构师的修炼法门企业该如何引入 AI 架构师020609 02 跳出工程思维,发现 AI 之美 目录CONTENTS 未来一定是 AI 的时代工程架构与 AI 业务应用的关系懂 AI 才能发现 AI 的美121314 03 从 fancy 到 work,算法工程师的蜕变 AI 落地是在约束条件下实现业务目标构建一个商用 AI 平台的挑战AI 算法工程师的转型镜鉴161719 04 见贤思齐,转型 AI 架构师是一个不断试错的过程 深度学习的技术红利推动了 AI 产业化传统行业的 AI 应用落地传统工程师转型 AI 架构师的挑战222325 05 长期拥抱开源是 AI 架构师的一剂良药 AI 算法是对数据的重新组织借助时代红利转型 AI 架构师从架构角度谈 AI 平台的三个问题从预测部署入手、长期拥抱开源业务问题大于建模和优化关于分布式训练与迭代周期282829303132 06 首席 AI 架构师培养计划,预见 AI 产业落地前瞻变量 AI架构师的道与术 当前我们正身处以 AI 为重要驱动力量的新一轮科技革命和产业革命浪潮之中,AI 正将人类社会带入智能时代。人工智能技术发展和应用落地持续突破,不仅为未来城市建设与管理引进了新思路,也在持续强化智能经济的核心引擎。 AI 架构师将成为新一轮科技和产业变革的引路人 AI 架构师的修炼法门 企业该如何引入 AI 架构师 AI 架构师将成为新一轮科技和产业变革的引路人 人工智能成为国家重要战略,也是我国供给侧改革的创新引擎,已连续三年被写入政府工作报告。近年来,国务院、国家发展改革委、工业和信息化部等多次颁布《新一代人工智能发展规划》《促进新一代人工智能产业发展三年行动计划 (2018-2020)》等战略性和指导性文件共同推动人工智能的发展。2021 年 3 月 13 日,新华社公布了《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》,全文共十九篇六十五章,“智能”、“智慧”相关表述达到 57 处。这表明在当前我国经济从高速增长向高质量发展的重要阶段中,以人工智能为代表的新一代信息技术,将成为我国“十四五 " 期间推动经济高质量发展、建设创新型国家,实现新型工业化、信息化、城镇化和农业现代化的重要技术保障和核心驱动力之一。 企业方面,IDC 预测,到 2022 年,75% 的企业将把智能自动化嵌入到技术和流程开发中,使用基于人工智能的软件来指导创新。据相关媒体报道,人力资源和社会保障部发布的新职业⸺人工智能工程技术人员就业景气现状分析报告显示,目前我国人工智能人才缺口超过 500 万,国内的供求比例为 1:10,供需比例严重失衡。 AI 架构师的定义 “AI 架构师”是以深度学习为代表的第三次 AI 热潮所催生的新型复合型人才,它的产生最本质的驱动因素是 AI 产业化落地应用的蓬勃发展对人才的需求,深度学习突出的工程属性也特别需要复合型人才来驾驭。 从字面来看,AI 架构师的“AI”对应算法技术,而“架构师”则涉及工程架构和业务把握。AI 架构师应该具备把 AI 技术高效落地业务应用的能力,具体而言,对应三个基本能力:第一,AI 架构师要对 AI 技术和开发应用流程有整体掌握能力;第二,AI 架构师要对上层业务有充分的理解,有很好的技术抽象能力和技术判断力;第三,AI 架构师要能设计并实现高效合理的 AI落地方案。此外,AI 架构师还要具备综合素质,即对技术团队有很强的 AI 技术影响力,能整体上构建以 AI为核心的技术体系,来充分发挥 AI 技术对业务的助力作用。 AI 算法 “AI 架 构 师”是以深度学习为代表的第三次 AI 热潮所催生的新型复合型人才 首席 AI 架构师培养计划 简言之,AI 架构师以工程架构为桥梁实现 AI 技术和业务应用的对接。整个过程由业务驱动,通过工程架构进行任务分解后由 AI 算法落地和实现。这三个方面既是 AI 架构师的定义,也是 AI 架构师的要求或特征。 成为 AI 架构师的三大核心能力 AI 架构师不同于传统的 AI 算法科研人员,算法科研人员针对的任务往往都是抽象后的、环境变量相对固定的问题,基于这些问题做模型算法层面的研究;AI 架构师也不同于一般的架构师,一般的架构人员通常直接按业务需求设计工程实现,没有 AI 算法这一层从而对技术要求和思考角度有较大不同。AI 架构师对 AI 算法、业务理解和工程实现都有比较高的综合性要求。 掌握 AI 技术及相关应用、开发流程 AI 架构师要对 AI 技术以及 AI 开发应用有递进式的理解。如果只是看了具体任务的几篇技术文章、拿来开源代码然后照示例来运行,好像看起来是很高效的上手了。这样做小的项目可能没什么问题,但对于更复杂的项目或者新的任务场景,很可能还是手足无措。所以,对于 AI 架构师而言,他必须对 AI 的基础技术和开发应用流程有更本质的理解和系统化的掌握,可以递进式的拆解为如下几个层面: 首先,要熟悉机器学习的基本原理、特性,包括其局限性。例如要知道机器学习整体的工作机制,数据、特征、模型之间的关系,训练集、验证集、测试集的作用,模型训练的概要原理,效果怎么评估,拟合、泛化以及正则化等基本概念。 第二,要掌握深度学习技术栈。由于现在 AI 实践多以深度学习为主,AI 架构师需要掌握深度学习的基本原理和特性,了解诸如神经网络的基本构造、反向传播和梯度优化等基本训练方法,还要掌握深度学习相关的开发框架、开源工具的使用。 第三,要了解主流的模型算法和网络结构。不要求对每个算法领域都非常精通,但 AI 架构师要整体了解当前最常用的模型算法大概有哪些、各自有什么特点、分别适合解决什么类型的问题,对主流的模型特色和网络结构有较好的把握,也就是说对常用 AI 算法广度上的要求。 第四,要对 AI 开发应用部署的流程熟悉。前面三点主要聚焦在 AI 知识层面,而部署流程则是实操层面。在机器学习一般任务中,要对数据处理、特征设计、效果调优、性能优化、部署上线等环节得有比较全面的理解和实操经验,AI 技术并不只是静态的算法。 此外,最好还需要对 AI 软硬件协同有一定了解。AI 讲究的是效率,而计算特性的发挥需要硬件支持。比如什么任务什么时候运行在 CPU 上合适、什么时候运行在 GPU 上合适,要不要分布式训练或推理,分布式时资源怎么做负载均衡和弹性调度等。 以上是对 AI 技术本身而言,尚未涉及业务。就像超级英雄电影里的情节一样,我们先要拥有某种超能力或者黑科技,这是拯救世界的先决条件。这一层面强调的是目的不是要成为 AI 技术专家,而是要做到对 AI 技术有比较宏观和本质的理解把握。需要注意的是,这层能力的掌握需要一个渐进的过程,不能期望一蹴而就,或者说设想先学成 AI 技术专家再去做业务,最好是结合项目实践不断迭代深入,先宏观再细节,先整体再局部,先黑盒再白盒。 对业务的理解和抽象能力 这里的关键点是要“理解”业务。作为 AI 架构师,尤其需要重视理解业务的诉求和逻辑,只有抓住业务问题的关键点,才能够做出正确的抽象设计和技术选型,切忌不要只从 AI 技术出发只是想当然。 首先,要把握业务的关键问题和核心逻辑。 比如说要做推荐或者是信息流的产品,核心逻辑是推荐符合用户兴趣的内容,怎么匹配用户的兴趣是解决这个问题的关键;做搜索产品的核心逻辑肯定是排序,排序的关键是语义匹配。这个过程可以称之为横面的抽象⸺首先就抓住了业务的重点、痛点。通常横面抽象可以用传统的方法来解决,但如果开局这一步没有做好,就相当于一个问题要解决的方向不准,后面无论采取什么 AI 策略都难以发挥效果,对产品或业务而言就成了缘木求鱼。 第二,机器学习技术层面的抽象以及对应的技术匹配。 机器学习的基本任务类型包括分类、回归和排序等,我们要看业务关键问题可以抽象为一个什么机器学习问题。有些任务场景虽然复杂但已经有了现成的答案,比如语音识别、人脸识别的问题,可以套用成熟的方案。当然这些方案当初也都经历了对应的机器学习技术抽象的过程。现在看来非常简单的中文分词问题,也是因为首先把它变成一个分类问题后才在机器学习技术下取得了突破。但一些新场景的问题就需要 AI 架构师去做这一层的抽象,比如前面提到的用户兴趣匹配和语义匹配问题,需要我们进一步的技术抽象,映射成对应的机器学习技术问题。 第三,做完技术匹配再往下要做具体的模型选型。 同样是分类的问题这个场景适合选择什么模型或者网络结构?是直接套用某个成熟模型,还是要针对任务特点组装一个新模型?基础网络结构是选择 MLP、CNN、LSTM 还是选 transformer ?我们要根据实际任务特性构建模型的结构,比如输入是离散高级特征还是原始信号特征,是序列还是非序列等等,以及应用场景对计算代价的要求等因素也需要考虑。再往后就涉及模型的具体细节、训练的策略、参数的设置等层面了。 以上环节里,需要指出的是,对解决问题效果的影响,越往前面(对业务的理解)越重要,越往后(技术实现方式)影响力越小。如果业务关键问题的把握和大的技术选型不对,具体模型算法的调优只能事倍功半。 同时需要注意到,业务的理解和抽象的一个重点是创造性。对 AI 的业务落地来说,很多情况下不是说需求已经很明确、直接按照需求做软件就可以了;而是需要根据业务场景构造对 AI 技术的需求,然后再映射到架构上去⸺创新才是 AI 能发挥最大效力的关键。另外,有些复杂的问题可能不是一个 AI 技术能解决的,需要多个 AI 技术模块协同或者与一些非 AI 的技术协作才能完成。这时需要我们具备整体的架构能力,而不是简单的生搬硬套。至此,我们确定了要解决的具体问题是什么,基本上做到了兵法里的“知己(AI 技术)知彼(业务痛点)”,接下来该如何摆兵布阵了。 对 AI 的业务落地来说,很多情况下不是说需求已经很明确、直接按照需求做软件就可以了;而是需要根据业务场景构造对 AI 技术的需求,然后再映射到架构上去⸺创新才是 AI 能发挥最大效力的关键。 首席 AI 架构师培养计划 高效可落地的工程能力 在工程实践过程中的着眼点要求不但可落地,还要高效。如前所述,解决一个复杂业务问题可能需要不止一个AI 技术,我们需要根据业务的实际场景合理选择工具和资源,去进行组合、组装、串联以达到工程实践的要求。此外,由于业务时间要求、成本限制、质量要求等等,我们不可能在最理想态下、不计成本地解决问题。这时我们就要做折中的选择,并尽可能提高技术方案的可扩展性,使之能随着业务的变化而不断演进。对于真正的AI 产业应用,这一环节尤为重要。而深度学习对应的“大模型、大数据、大算力”的要求,对工程落地提出了更多的挑战。近年来不止产业界,学术界也开始更多关注 AI 系统构建的相关技术设计和工程实现问题。 在方案落地的时候,一定会较多地涉及系统构建和部署的问题,AI 架构师要对系统的整体设计、部署和硬件环境相关的问题进行深思熟虑,到底硬件资源该怎么选、部署怎么实现、系统怎么运行,等等。最后,要有迭代的意识。常有人用“开着高速换轮胎”来形容快速迭代,一个系统在上线过程中肯定会遇到各种意想不到的问题,例如实际效果低于预期、运行效率不高等等,这时如果没有快速迭代能力,项目便很难继续推进下去。 AI 架构师的修炼法门 至此,我们已经比较清晰地了解了 AI 架构师的能力要求,那么如何才能成为成为一名合格的 AI 架构师以及进一步成为首席 AI 架构师?其实,包括百度在内 AI 技术公司的的很多 AI 架构师都是由之前做算法策略或者是做传统架构的