搜广推模型构建及应用-AI架构师成长计划(二)|学习笔记

简介: 快速学习搜广推模型构建及应用-AI 架构师成长计划(二)。

开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:搜广推模型构建及应用-AI 架构师成长计划(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/855/detail/14133


搜广推模型构建及应用-AI 架构师成长计划(二)

 

内容介绍

一、爆发的三要素

二、深度学习

 

一、爆发的三要素

本课程将介绍如何从 AI 架构师的角度构建应用及 AI 架构师需要的技能,即将从深度学习和机器学习2个维度进行介绍。AI 的工程是处于动态的状态中,有多变性,有许多行业人员在其中做探索。 AI 的爆发由 AI 的以下三要素来决定:

image.png

(1) 数据基础算法能力

(2) 大数据能力

(3) 工程能力

有海量的数据,大规模的计算能力,推动各种各样算法的创新。从 AI 工程架构师的角度来说,如何能够快速进行算法的迭代,希望算法工程师能够聚焦于算法本身,而由工程或者AI的架构师,或者工程的平台,解决AI的制动化,能够达到较好的高可用、高性能、低成本的 AI 平台,在架构师首先需要具备以下能力:

(1)需要算法的基础,因为工程是加速 AI 算法的,有许多情况下,机器学习或深度学习的算法,并不像数据处理,是确定性的计算,是概率性的计算,因为最终希望收敛到精度好的模型,没有人定义什么样的模型才是最好的。如果有算法的理解,可以做到模型和系统联合优化,不拘泥于对算法进行加速。如果在模型上面有方法,能够在概率上收敛在同样的趋势上,如果在数学上面有方法,使得在概率上是等价的,得到的优化效果会远远大于在底层在计算上面挖掘的效果,所以要理解算法以及理解算法的原理,才能够更加以巧拨千金的优化点;

(2)大数据能力,因为 AI 的爆发是因为大数据的积累,许多算法工程师,在运行训练模型之前,先要进行数据的清理或者整理,为了能够支持算法,需要构建平台,平台上面不可或缺的就是要有大数据的能力。如何做大数据的计算,大数据清理,如何把许多的数据整合在一起,做数据预处理或清洗等是很重要的能力;

(3)工程能力,随着模型越来越大,越来越深,对于异构机器对于分布式的需求会越来越多,往往会将模型的执行计算,不论是前向还是前向和后向一起,都会描述成 DAG 图,如何较好的映射到下面的资源、硬件、存储 IO 和计算,需要很强的工程能力。

 

二、深度学习

 image.png

深度学习分两个场景,第一个场景是搜索推荐广告,另一场景一般称为感知类,例如图像语音和自然区语言处理。这两类,对于 AI 的架构师有相同的需求,但也有不一样的特点。

搜广推,一般称为搜索广告和推荐,首先是大数据,一般称为大数据的模型,因为数据很多情况下是半结构和结构化的数据,例如点击、日志,许多的稀疏的 feature 特征,这些情况下往往有很大的稀疏化的特征,在搜索中并不是每个特征都是有值的。例如对某个电影感兴趣,就会在这些电影上面有特征。其他人对这个类别的电影没有兴趣,就没有特征。稀疏性的特征对于搜广推是常见的;

有复杂的数据处理流程,因为搜广推是做点击的预估、推荐的数据称为在信息流数据流的服务中埋点,把数据做复杂的加工,把相关的数据排列在一起,工程流程上也会较为复杂,因为搜广推往往是动态性的,对实时性要求高,因为人的兴趣不是感知类的,感知类也就是当人看到一张图片之后,这个图片是一只猫,那么它就是一只猫,是一条狗,那么他就是一条狗,并不会快速的变化,但是人的兴趣是会变化的,在搜广推中,实时化、千人千面、实时学习、增量学习。是常见需要的工程,正是因为有实时学习,千人千面、增量学习,工程体系也会较为复杂,因为模型会时时刻刻在学习的状态中,也要时时刻刻的把新的模型推到线上,在该场景中,ground choose 很难确定。

如果是一段语音识别出来的结果,很容易知道结果和正确的值之间有多少的偏差,在推荐中只能代表自己。真正的模型在整个业务上面得到的效果,需要在线上的系统做许多 verification,但是要在线上的系统验证,就需要在工程体系中有许多的很复杂的流程,包括如何做实验筒、灰度、如何收集结果来评价模型的更新,对于工程体系要求会较高,同时因为是超大规模的稀疏特征的训练,首先数据很大,需要较好的分布式训练的框架,同时因为模型很大,有很大的稀疏特征,会用称为 parameter server 的训练框架的模式,模型本身不能够在一个节点全部放下,特别是个巨大的embedding,所以需要把模型在这个 embedding 层,用分布式的 ParameterServer 的存储来管理,walker server 获取要训练的模型或者参数来做训练,所以一般是 ParameterServer 的架构,同时因为很稀疏,为了提高训练加速比,会用分布式的异步的训练方式,而不是用同步的训练方式。

相反的,在语音自然语言处理感知类中,往往不是稀疏的模型,是稠密的,所以需要很高的算力,而这种模型往往具有许多很密集性的算子,例如 convolution 算子,它的训练加速比和推理优化要求很高,因为最后产生的模型深度很深,也有高密度的计算,如何提高落地,也就是在推理上面的性能,训练加速比用了许多 GPU 集群训练,如何提高训练的效果,这一类对于数据的标注是很重要的,现在的趋势也有利用半监督的学习或者自学习的方式,能够减少标注,但是对于标注的质量还是重要的。

自然语言处理,现在更多的不是自己训练 BASE MODEL,但如果有能力、有算力或有成本能够训练较大的base model,是更好的。

往往情况下,是通过别人的 BASE MODEL,在自己的垂直场景中,做迁移学习,以上是现在的 AI 架构师需要考虑的问题。在训练方面,有大量的 benchmark 做打榜,例如自己的模型能够比他人的模型在标准集上得到更好的精度。

竞争都是在研究如何能够让模型的精度高,所以大量的算法工程师,都会用同步的训练框架,因为精度能够更加保证,所以一般会基于 ALLreduce 框架来进行训练。这两个场景下都是通过深度学习框架来支撑,主要有以下两大类框架

(1) tinselflo

(2) petalch

在搜广推中,平台需要一体化,因为数据是纷杂的,需要较好的平台把数据进行较好的清理,有时候数据中还会有脏数据,因为搜广推平台往往较为实时化,较为动态的情况下,会不停的上载数据,更新服务,有时服务可能会造成BUG,会造成脏数据,所以必须要有较方便的大数据平台做数据的处理。第二个趋势就是模型的实时化,人的兴趣会变化。

对于业务的相关性很高,每个行业、每个人对于自己的业务理解不一样,往往在模型中,业务方需要掌握特征选择和模型调优的技巧,而工程师只是提供工具,提供平台,提供应用性,使得快速的进行模型调优。

最后就是工程的体系会较为复杂。基于该基础上,阿里基于 PAI 构建在线机器学习的平台,从千人千面到更加实时化

 image.png

平台中就包括大数据的引擎,实时计算以及离线计算的引擎,在计算平台中有blink,把大数据的应用性,整合到 flink 的社区中,在离线计算中,有超大规模的离线计算的引擎,把这两类的特征融合在一起,生成样本库,支持大规模,稀疏化训练的平台,有深度优化的训练引擎,持续做 Online 训练,训练中间的会不断有 delta 的 snapshot 的产生,会进行模型的验证,最后部署,以及在线的观察、做反馈等等。

image.png

以上框架只要是做搜广推都需要。这套的工程体系具有可复制性,但是对于每个行业,业务理解都不同。

对于阿里业务是电商,但业务搜索推荐和广告目标不是新零售,可能是娱乐化或其行业需要做算法,可以分享经验,但是行业和行业之间会有 GAP,例如同样是做视频直播,但软件、受众、目标人群不一样的,因为有自己的运营的策略,所以需要自己掌握算法调优的能力,但是架构师可以在工程上辅助,以上也是做推荐方案的原因。因为在搜广推中工程很复杂,架构师会把工程的流程串联起来,中间的算法及中间的调优的方式赋能给用户,用户可以在基础上为自己的业务负责。

以上图片只是将图片展开,例如用户数据如何存放?物料数据如何存放?行为数据如何存放?如何用大数据引擎将其结合起来?如何进行训练?训练的时候如何发布到召回排序模块?如何实时做服务?分统等。因为服务于阿里的搜索和推荐,阿里受众用户群体巨大。

image.png

双11的节点有很多的用户,有许多物料、商品、商家、人群,模型很大,现在搜索推荐和广告从原来的 logistic regression 慢慢往深度学习在引进。现有的框架在大规模的体量上,遇到了许多的问题瓶颈,例如分布式训练,不能够分布到上千个节点训练,又例如能够分布到上千个节点进行训练,但是训练的效率不好。由于存在这种需求所以迫使企业不断优化。

正是因为需求的推动,所以深度的优化 Tensorflow 版本,称为 PAI-Tensorflow,分别向通讯算子融合、基于通信算子如何下推?在运行框架下,因为会有上千个 walker 同时训练,PS 端压力会很大,如何提高 PS 的 skelebility、如何利用 spas 的特性做通讯、运行的 library 如何优化,做了优化,使得规模能够 scale 到上千个节点的训练,能够比开元的版本更高的加速,得到了更高的提高,以上是在去年云栖大会的时候就已经达到了的很好的数据。

 image.png

由于实时性的要求,会使得模型持续不断更新。模型的要求同时,因为时时刻刻在训练,特征不是固定不变的,要让引擎能够支持动态的特征的变化,才能够实时不断的训练,所以也会在引擎上面推出动态的 embedding 等 feature。在该领域和谷歌团队紧密合作,把大规模稀疏化的能力以及实时动态 INBED 的能力,积极推回社区,赋能给更多的用户。

直接到阿里云机器学习平台,直接使用优化好的框架,支撑超大规模稀疏换模型训练。

以上内容是搜广推中AI架构师需要考虑的问题,例如需要看业务场景和需求,在某些地方可能需要考虑的内容,下一章内容是深度学习在图像语言和自然数学等感知类,对于技能的要求是不一样的。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
【AI】从零构建深度学习框架实践
【5月更文挑战第16天】 本文介绍了从零构建一个轻量级的深度学习框架tinynn,旨在帮助读者理解深度学习的基本组件和框架设计。构建过程包括设计框架架构、实现基本功能、模型定义、反向传播算法、训练和推理过程以及性能优化。文章详细阐述了网络层、张量、损失函数、优化器等组件的抽象和实现,并给出了一个基于MNIST数据集的分类示例,与TensorFlow进行了简单对比。tinynn的源代码可在GitHub上找到,目前支持多种层、损失函数和优化器,适用于学习和实验新算法。
41 2
|
2天前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
2天前
|
Android开发
Android Jetpack架构开发组件化应用实战,字节跳动+阿里+华为+腾讯等大厂Android面试题
Android Jetpack架构开发组件化应用实战,字节跳动+阿里+华为+腾讯等大厂Android面试题
|
5天前
|
机器人 Unix C++
ROS机器人编程技术架构命令应用
ROS机器人编程技术架构命令应用
6 1
|
5天前
|
人工智能 NoSQL atlas
Atlas Vector Search:借助语义搜索和 AI 针对任何类型的数据构建智能应用
一切才刚刚开始,MongoDB 致力于提供优秀的开发者数据平台,助力开发者打造新一代 AI 赋能的应用
2529 2
|
5天前
|
人工智能 NoSQL atlas
Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用
我们欣然宣布MongoDB与 Fireworks AI 正携手合作让客户能够利用生成式人工智能 (AI)更快速、更高效、更安全地开展创新活动
2526 1
|
5天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第12天】 随着数字化转型的浪潮不断冲击传统IT架构,企业亟需灵活、高效且可扩展的技术解决方案以保持竞争力。云原生技术作为一种新兴的系统构建方式,以其独特的弹性、微服务和持续交付等特性,成为推动企业快速响应市场变化的关键因素。本文将深入探讨云原生架构的核心组件,分析其如何促进企业的敏捷性,以及在实施过程中可能遇到的挑战和解决策略,为企业采纳云原生技术提供参考。
|
5天前
|
机器学习/深度学习 人工智能 算法
构建高效AI系统:深度学习优化技术解析
【5月更文挑战第12天】 随着人工智能技术的飞速发展,深度学习已成为推动创新的核心动力。本文将深入探讨在构建高效AI系统中,如何通过优化算法、调整网络结构及使用新型硬件资源等手段显著提升模型性能。我们将剖析先进的优化策略,如自适应学习率调整、梯度累积技巧以及正则化方法,并讨论其对模型训练稳定性和效率的影响。文中不仅提供理论分析,还结合实例说明如何在实际项目中应用这些优化技术。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
构建未来:AI在持续学习系统中的创新应用
【5月更文挑战第11天】 随着人工智能(AI)技术的飞速发展,其在教育领域的应用日益增多。特别是在持续学习系统(Lifelong Learning Systems, LLS)中,AI技术正开启着个性化和适应性教学的新篇章。本文聚焦于AI在LLS中的创新应用,探讨了机器学习、自然语言处理和认知建模等关键技术如何共同作用于构建智能化的学习环境。文章旨在分析当前AI技术在持续学习领域的最新进展,并展望其对未来教育模式的影响。
|
5天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第11天】 随着数字化转型的深入,企业对技术的敏捷性、可扩展性和成本效益提出了更高的要求。云原生架构作为一种新兴的设计理念和实践方法,正逐渐成为推动企业技术革新的关键力量。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续交付(CI/CD)以及DevOps文化,并分析它们如何共同作用于企业的IT基础设施,实现灵活、高效的运营模式。同时,我们也将识别在采纳云原生技术时面临的主要挑战,并提出相应的解决策略,以帮助企业顺利过渡到云原生时代。