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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习搜广推模型构建及应用-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 
相关文章
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
9天前
|
机器学习/深度学习 人工智能 算法
AI在医疗领域的应用与挑战
本文探讨了人工智能(AI)在医疗领域的应用,包括其在疾病诊断、治疗方案制定、患者管理等方面的优势和潜力。同时,也分析了AI在医疗领域面临的挑战,如数据隐私、伦理问题以及技术局限性等。通过对这些内容的深入分析,旨在为读者提供一个全面了解AI在医疗领域现状和未来发展的视角。
40 10
|
9天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
9天前
|
机器学习/深度学习 人工智能 监控
探索AI在医疗领域的应用与挑战
本文深入探讨了人工智能(AI)在医疗领域中的应用现状和面临的挑战。通过分析AI技术如何助力疾病诊断、治疗方案优化、患者管理等方面的创新实践,揭示了AI技术为医疗行业带来的变革潜力。同时,文章也指出了数据隐私、算法透明度、跨学科合作等关键问题,并对未来的发展趋势进行了展望。
|
9天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
36 5
|
8天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
8天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
8天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
6天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
7天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
17 1
服务架构的演进:从单体到微服务的探索之旅

热门文章

最新文章