0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

百度搜索智能化算力调控分配技术分析

OSC开源社区 来源:OSC开源社区 2023-11-20 15:29 次阅读

作者 |泰来

随着近年深度学习技术的发展,搜索算法复杂度不断上升,算力供给需求出现了爆发式的增长。伴随着AI技术逐步走到深水区,算法红利在逐步消失,边际效应日益显著,算力效能的提升尤为重要,同时随着宏观经济影响,大规模的算力需求供给也遭遇到了瓶颈。同时随着流量、时间或系统故障时带来的容量变化,总算力约束也在时刻改变,周期性的出现波峰、波谷,以及会因为流量突增、网络抖动等原因导致系统出现稳定性问题。 在此背景下,需要一种更加智能化、个性化的算力调控分配方法,不断提高系统的自适应性,使得在给定资源上限的情况下,最大化资源投入的性价,同时在故障时刻发生时自适应的调整算力分配,降低系统负载。

01

问题与挑战

互联网行业十余年的蓬勃发展及硬件性能的持续攀升,使得 Ranking相关算法进入到了深度学习时代,模型、技术创新层出不穷。但随着技术逐步进入到深水区,在同样的算力需求下对效果的增长边际已经非常明显。

同时伴随当前宏观经济影响,大规模算力的需求供给也持续遭遇瓶颈,如何在有限的算力资源内不断创造出更大的效果价值是一项非常有挑战性的工作。

aae35de8-85e7-11ee-939d-92fbcf53809c.png

为此我们不断探索根据流量价值及系统状态自适应的进行算力分配,使得总体投入产出比不断提升。

aaede33a-85e7-11ee-939d-92fbcf53809c.png

GEEK TALK

02

整体思路

目前搜索系统流转过程中调控手段彼此相互之间是独立的,调控的算子的输入输出没有全局视角,调控算子彼此割裂、联动和管理是比较困难的,且调控手段大多基于静态阈值配置。但我们认为系统中请求经过每层的调控算子是有状态的,理想的级联系统中每种调控算子应该是全局可见的,需要从全局的视角更好的审视业务系统,站在更高的维度去看算力调控分配这项工作。

我们在微观和宏观两方案开展了相关调控工作:

1.微观:忽略系统容量状态,在当前时刻下根据流量产生的价值来动态的分配算力,使得在给定算力总约束下获得全局最优。

aafdb4f4-85e7-11ee-939d-92fbcf53809c.png

2.宏观:随着流量、时间或系统故障时带来的容量变化,总算力约束在不断改变,需要在给定的资源及响应时间限制下,计算出在当前限制条件下的最优分配方式。动态的调整系统核心阶段的计算强度,合理调控峰值算力。并基于搜索系统的实时状态反馈,自动的调节系统的安全状态。使搜索系统能够在速度、资源、效果、稳定性等多个维度上进行自适应的调控。

ab088a6e-85e7-11ee-939d-92fbcf53809c.png

2.1问题建模

变量说明:

第i条流量。

流量i在阶段j的具体信息,例如队列长度,模型选型等,可以用表示,其中的alpha beta gamma都可以根据经验进行设定并用实验来验证。

流量在第j阶段的折扣因子。

第i条流量的价值

ab167d86-85e7-11ee-939d-92fbcf53809c.png

目标:通过调控流量在各个阶段的信息例如队列长度、模型选型等,从而调节折扣因子,最终实现流量价值最大化,假设M条流量经过N个阶段表达如下:

ab281c58-85e7-11ee-939d-92fbcf53809c.png

C1 成本约束,对于任意一个阶段,都必须小于等于其成本;

C2 时间约束,对于任意一个请求流量,在N个阶段的耗时综合都必须小于等于规定的耗时;

C3 辅助约束,对于任意一个请求任意一个阶段都必须有大于等于0的值。

对于一个实时的搜索系统来说,在线进行上述的优化并不太实际也会带来比较多的困难。为了简化分析和提高系统的鲁棒性,我们将上述N个阶段拆封成N个子问题,这样方便对各个阶段进行监控和可靠的干预,提高系统的鲁棒性,例如当系统出现巨大的变化时,可以随时动态调整各个阶段的参数。简化问题求解,将C1、C2约束进行一定的拆分。

ab39581a-85e7-11ee-939d-92fbcf53809c.png

具体来说,对于阶段j,流量的价值最大化,我们可以看作是上述的一个子问题。

ab4e35e6-85e7-11ee-939d-92fbcf53809c.png

假设是单调递增的,但其对的导数是单调递减的,也就是其价值会随着配置资源的增加而越来越缓慢的增加。

2.2 示例说明

示例:用相关性精排阶段的弹性候选集进行举例

假设将流量i细化成第i条Query,j阶段则为具体筛选阶段,增加一个维度k表示URL级别的参数和特征信息。在正排候选集筛选阶段k信息表示为多个特征的分数信息,authority_feature【权威性特征】、click_feature【点击特征】...correlation_feature【相关性特征】。

则在正排候选集筛选阶段请求i的第k条url的信息可以表示为:

ab51f596-85e7-11ee-939d-92fbcf53809c.png

流量i在弹性候选集下的折扣因子,可以看作是 1 - 删掉URL数量在原本可出现在最终排序的Top40的概率,假如候选集合中完全没有删除的URL则无折扣损失,若是候选集合中删除了URL,但对最终Top40的召回无影响,也可以看作是对总价值无折扣影响。

ab602e90-85e7-11ee-939d-92fbcf53809c.png

具体来说,针对第i条query的k条url的具体信息,我们采用多个维度的特征进行考量。

ab6a0c26-85e7-11ee-939d-92fbcf53809c.png

其中

ab7a9992-85e7-11ee-939d-92fbcf53809c.png

如果是0表示丢弃,1表示留下第k条url,希腊字母表示的是采取的阈值标准,例如评分位于后x%。如果一个url的所有特征贡献度排名都处于分布的末尾,则会将该url从候选集中剔除。

ab82faec-85e7-11ee-939d-92fbcf53809c.png

GEEK TALK

03

关键技术

过去传统的调控方式下,既不知道上游阶段做过哪些调控动作,也不知道在自己的阶段上做的调控动作,下游是如何反馈的,只能追求自己的局部最优。而我们认为在搜索这种分层的级联系统下,越往下流转看到的特征和信号越多,调控动作应该随着流转过程发生状态转变,不应该是静态的。我们创新的采用弹性级联调控框架将调控手段进行组合,追求全局的最优解,从全链路上提升算力投入产出的性价比。

ab98f9c8-85e7-11ee-939d-92fbcf53809c.png

具体做法,我们构建的弹性级联框架包含四个部分:

1、调控算子集合,将调控动作按照Query级别、URL级别、Feature级别进行划分,调控算子拥有相同基类,接口规范统一;

2、计算中心,负责实时计算各种调控动作所需的各类信号、以及流量价值的判断、容量信号的获取等;

3、参数集合,经过计算中心产出的特征和信号,固化超参数,使得模块内超参数全局可见,跨模块之间按照规定协议统一进行交互;

4、调控决策器,主要负责根据参数集合,确定各个阶段的调控档位设置并调用算子集合里的算子进行执行,每个调控阶段包含控制流(Control Level)和反馈流(FeedbackLevel),控制流能结合当前阶段看到的特征和信号给出它下游其他阶段的调控档位,反馈流是当前阶段参考其他阶段给出的调控档位建议和当前阶段看到的特征和信号确定实际执行的调控档位。通过这种方式,每个调控阶段既能看到到其他阶段实际执行的调控状态,同时也能根据它们对当前阶段的指导建议进行综合判断,最终在全链路上获取全局最优解。

aba3ba48-85e7-11ee-939d-92fbcf53809c.png

如上图左侧可以看到整个弹性级联框架的组成部分,右侧是举例正排阶段的弹性候选集的实际计算过程,将各种维度的特征通过计算中心生成价值参数,用于调控决策器进行决策,然后给出实际的正排计算集合。我们不仅建立控制反馈流级联自适应调控系统,而且还提供了一个全局视角的弹性算力分配控制中心。弹性算力系统主要通过对集群各种维度指标的获取、策略分析及周期性执行最适合当前机器负载状态的策略组合参数来实现其核心弹性算力分配决策。

根据当前搜索系统,当前智能弹性调参把系统定义和描述为下面4种状态:系统异常状态,负载峰值状态,弹性过渡状态,负载低谷状态,根据不同的系统状态,执行当前状态的策略集合,从而使资源使用率及业务收益效果最优。具体方案见下图:

abb219e4-85e7-11ee-939d-92fbcf53809c.png

主要包含流程如下:

信息采集:自动化的周期性采集业务日志(流量pv,流量分类,流量质量)和机器状态(CPU/MEM使用率)等信息。对于这些信息进行深入挖掘分析,主要从以下几个时间维度进行采集:

1、峰值时间段模块状态信号;

2、前n个采集周期模块状态信号;

3、前一天同时刻前n个采集周期模块状态信号;

4、前一周同时刻前n个采集周期模块状态信号。

系统状态预估:对各种维度信息采集,之后通过人工规则,在线策略,离线预估等手段评估系统当前状态,把目前系统划分为系统异常状态,系统负载峰值状态,系统负载低谷状态,系统负载过渡状态。下面是系统状态定义规则,及状态转移图:

系统异常状态:系统发生故障,例如系统可用性SLA,CPU负载率,结果空值率等不符合预期。

系统负载峰值状态:系统请求数,CPU负载率等系统容量指标大于指定阈值。

系统负载低谷状态:系统请求数,CPU负载率等系统容量指标小于指定阈值。

系统负载过渡状态:负载峰值和低谷之间的过渡状态。

abcfac70-85e7-11ee-939d-92fbcf53809c.png

档位判断:根据系统状态抽象成便于系统决策的系统档位,及每个档位内需要关注的系统问题。

1、异常档位:如何快速服务降级,保证保证系统质量。

2、峰值档位:需要关注系统的稳定性和响应时间,以确保系统在高负载下依然能够稳定运行。

3、低谷档位:可以考虑优化系统资源的分配,提升资源的投入产出比。在探测到系统出现异常故障状态时。

4、过渡档位:一种中间状态,它的主要作用是在系统从低负载状态过渡到高负载状态,或从高负载状态过渡到低负载状态时,提供一个缓冲阶段,以避免系统状态的突然跳变。过渡档位不进行策略的调整,而是保持系统在一个相对稳定的状态。这样做的目的是为了避免频繁的策略调整带来的系统震动,保证系统的稳定性。

方案决策执行:

降级档位主要应对系统异常或重大风险,其对应的策略包括关闭被动触发流量,以及降低召回集合,降低复杂模型计算等策,通过这种方式降低系统的负载,保证核心业务的正常运行。低谷档位对应的是弹性策略集,这些策略主要目的是在低谷期加强复杂策略的计算,提升搜索效果。而在峰值档位,我们主要采用削峰策略,包括减少被动触发流量,以确保系统在高负载下依然能够稳定运行。

示例:视频搜索弹性扩触发:

在系统资源容量低谷阶段,根据指标采集数据计算当前系统容量资源冗余情况,基于冗余资源进行扩触发比例计算,通过弹性算力决策模块下发触发信号,利用闲时资源扩大流量的触发面。

GEEK TALK

04

总结与展望

通过基于弹性级联框架的调控方式,提升了分层系统的效益比,对于每个用户请求实施精细化、差异化的调控组合,在算力效能提升上取得了不错的成绩。

算力分配是架构研究的核心问题之一,未来会在以下两个方面持续开展系统性工作:

1、结合AI大模型的推理能力在调控组合上可以做到更加精细化,在算力效能的提升上会带来更大的挖掘空间; 2、通过自适应的宏观调控给系统稳定性带来了柔性降级能力,后续会在这个方向上持续深耕,不断提升系统自动化的处置能力。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10873

    浏览量

    212098
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4744

    浏览量

    129020
  • 深度学习
    +关注

    关注

    73

    文章

    5506

    浏览量

    121259
  • 算力
    +关注

    关注

    1

    文章

    987

    浏览量

    14855

原文标题:百度搜索智能化算力调控分配方法

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    百度搜索、文库等全新升级!以智能体为支点,撬动时代红利

    个体的时代机遇。 百度移动生态是大模型应用生长的热土,也是智能体浪潮的潮头。无论用户、客户,还是生态伙伴,都能享受到低门槛、多场景、高价值的智能体生态机遇。 百度搜索、文心一言APP、
    的头像 发表于 05-31 09:02 2840次阅读
    <b class='flag-5'>百度搜索</b>、文库等全新升级!以<b class='flag-5'>智能</b>体为支点,撬动时代红利

    发现百度搜索页的网站前加了图标

    `发现百度搜索页的网站前加了图标今天在搜索内容时,发现很多知名网站都在网站名前加了ICO图标。如下图:再看了一下我们的bbs.elecfans.com,发现并没有此图标,看来这个得研究一下。感觉百度
    发表于 01-05 23:16

    下载百度到桌面_把百度下载到桌面

    。 安全浏览模式融合了沙箱技术和IE保护模式的优点,将您与病毒木马完全隔离,还您“无菌的上网环境”。依托百度搜索亿万级数据,给您提供最贴心建议、为您打造最智能的地址栏。 下载地址:百度
    发表于 10-26 17:16

    百度总裁:百度在人工智能领域已有重大突破

      随着阿法狗大战李世石,人工智能引发越来越多的关注。百度总裁张亚勤28日表示,百度长期坚持技术创新,2015年研发投入超过100亿元,目前在人工
    发表于 07-01 15:22

    百度回应否认搜索漏洞 却私下悄悄更正

    百度是国内用户网上搜索的第一入口,近日,《证券日报》记者发现,百度搜索新闻结果极不稳定。 对此,百度方面作出回应称,经过技术排查定位,
    发表于 08-24 10:05 553次阅读

    百度王海峰:百度大脑带动各行业智能化升级!

    速途网11月1日消息(报道:吴佳馨)今日,2018百度世界大会召开。百度高级副总裁、AI技术平台体系(AIG)总负责人王海峰在百度大脑论坛上表示,“
    发表于 11-03 09:17 462次阅读

    如何消灭百度搜索的广告

    最近学了不少消灭百度广告和家号的小tips,可以安利给你们。 先说个简单的,小伙伴们上网肯定经常遇到这种家号内容:
    的头像 发表于 01-29 10:46 4300次阅读

    百度、英伟达联合举办搜索创新大赛 搜索引擎变革 搜索+AI

    近日,百度文心一言宣布向全社会开放,首日,百度搜索就有超3亿次需求由生成式智能引擎解决;百度搜索“AI伙伴”当日访问用户数突破400万。 在这样的背景下,9月7日,以“新
    的头像 发表于 09-07 19:32 1033次阅读

    百度携手 NVIDIA 举办“第二届百度搜索创新大赛”火热进行中,五大赛道等你挑战!

    百度搜索携手 NVIDIA 共同发起的第二届百度搜索创新大赛,今年以「新搜索 · 新奇点」为主题,正火热进行中! 作为一项全国性的科技竞赛,百度搜索创新大赛被誉为
    的头像 发表于 09-28 18:25 769次阅读
    <b class='flag-5'>百度</b>携手 NVIDIA 举办“第二届<b class='flag-5'>百度搜索</b>创新大赛”火热进行中,五大赛道等你挑战!

    百度搜索exgraph图执行引擎设计与实践分享

    百度搜索exgraph图执行引擎设计重点分成三个部分:图描述语言、图执行引擎、对接扩展。
    的头像 发表于 01-16 10:27 573次阅读
    <b class='flag-5'>百度搜索</b>exgraph图执行引擎设计与实践分享

    百度搜索推出AI拜年新能力 AI春节仪式感拉满

    春节AI拜年新体验,百度搜索春节期间推出AI拜年大礼包!
    的头像 发表于 02-05 10:38 2.2w次阅读

    百度搜索推出AI拜年新能力

    随着人工智能技术的迅猛发展,百度搜索始终站在技术前沿,致力于为用户提供更加智能化、便捷的服务。百度搜索重磅推出了AI拜年新能力,在春节期间,
    的头像 发表于 02-05 10:54 6128次阅读

    百度搜索重磅推出AI图片助手

    近日,百度搜索全新上线了一款名为“百度AI图片助手”的智能工具,该工具赋予了用户一键处理图片的强大能力。无论是搜索中的图片还是用户自主上传的图片,均可轻松实现涂抹消除、去水印以及画质修
    的头像 发表于 05-06 10:20 1503次阅读

    2024百度移动生态万象大会:百度搜索11%内容已AI生成

    万象大会上百度集团资深副总裁、百度移动生态事业群组(MEG)总经理何俊杰公布了一项统计数据:百度搜索已有11%的搜索内容是由AI生成的。同
    发表于 05-30 18:58 421次阅读

    百度搜索AI生成内容占比达11%

    在2024年举办的百度移动生态万象大会上,百度集团资深副总裁、百度移动生态事业群组总经理何俊杰分享了一系列令人瞩目的数据。他透露,百度搜索
    的头像 发表于 05-31 09:24 761次阅读