AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

云原生时代,推荐引擎架构有哪些挑战

  • 2021-09-11
  • 本文字数:1458 字

    阅读完需:约 5 分钟

云原生时代,推荐引擎架构有哪些挑战

在策划 AICon 人工智能与机器学习大会(2021.11.6-7 北京)的时候,首先想到的是推荐广告技术,不管是在工程技术还是在架构方面,也更符合 AI 技术的应用预期。在策划专题之初,我们去拜访了阿里巴巴智能引擎事业部算法平台负责人,阿里妈妈工程技术负责人 张迪(乐迪)老师,一起探讨了关于推荐和搜索的话题。

推荐引擎的核心技术和挑战


这几年整个推荐引擎的演变非常快,推荐引擎里面其实有三个核心的技术,一是召回技术,二是排序技术,三是机制技术,尤其是广告领域,它的机制属性是非常强的。


这三个技术对应到算法和架构上,就涉及到了召回技术,召回技术这几年变化非常多,最早的召回技术无论是搜索还是推荐,它本质上都是基于关键词的召回。搜索则是通过 search 关键词,Query 改写来进行召回。


之后兴起了各种各样的向量召回,更加丰富的把模型信息引入进来,向量化召回的本质是用模型在做匹配,但这个模型计算有很复杂的在线规则,因为在线无法完成大量的模型匹配,所以在线部分只留了一个比较经典的双塔结构,把下面所有的模型计算部分放到离线处理。但这也存在弊端,就是在线计算过于简单,很多个性化的东西会丢失,这也催生出新兴的技术,把越来越多的计算处理在线化,后来又出现像全库检索这样的技术,所以整个在线召回架构变化非常大。


在线 Ranking,这是在线里面最核心的一部分,随着模型的发展,计算量越来越大,如何支撑这种越来越大规模的在线 Ranking 计算,也是一个非常大的挑战。


而前面提到的机制,也正在往模型化的方向发展。以强化学习为例,推荐结构中推荐引擎的发展,和算法是一致的,算法越来越复杂的同时,给在线架构和计算量带来了非常多的挑战,对应衍生出了非常多的技术。

推荐引擎 & 云原生


关于推荐引擎,在整个容量管理和自动化偏向云原生,云原生其实是一个大的概念,但整体上它代表着更好的、越来越 Serverless 化,越来越多的业务的开发,和底层的分布式架构解藕带来了研发效率的提升,随着容量自动扩容,这个技术的影响力也越来越广泛。


另外,AI 算力的演化,召回的算力越来越强,Ranking 的算力越来越强,带来了整个架构上的挑战。举个例子,前几年兴起的超大规模模型的 server 问题,TB 级模型 server 问题,规模大意味着网络宽,而往深了探索,就要在单个芯片上把挖掘和编译优化做的越来越好,在离线都面临这样的问题。


分布式模型训练这个方向,仍然是非常重要的问题,如何把模型训练的更高效?除了把 SQL 做的越来越好之外,还有一个方向就是这几年百度、阿里、英伟达也在做的事情,就是用类似于 GPU pod 或者 AI 芯片 pod 来训练推荐模型,还是非常创新的,这是整个 Training 方向。在 Training 之上,其实有很多有意思的训练方式,就是训练的创新模型,比较经典的是前几年的 Graph Learning,还有联邦学习、双曲空间、Online Learning 都有很广的应用。


关于搜索引擎,整体上的趋势是越来越推荐化,搜索最大的特点是有个关键词,它基于关键词约束去做 Query,这是它最大的不同,但是现在越来越多的是把推荐的技术放进去,逐渐用算法的形式,然后不在关键词的约束下,在一个基本的相关性约束下去做推荐。

活动推荐:


除了上面聊到的一些技术演变之外,我们还讨论了在 AICon 会议上该如何将异构计算、推荐算法、沉浸事推荐多阶段排序技术结合业务场景来展示给听众,目前这些话题已经上线至官网了,感兴趣的可以移步至官网了解。


此外,AICon 还将围绕人工智能、通用机器学习、计算机视觉、智能金融技术、AI 团队建设、自动驾驶技术、NLP 技术、大规模机器学习等多个话题展开讨论,精彩内容持续上线中。

2021-09-11 13:001640

评论

发布
暂无评论
发现更多内容

字节跳动是如何落地微前端的

字节跳动终端技术

字节跳动 大前端 Web应用开发

看山聊 Java:检查日期字符串是否合法

看山

Java 10月月更

最长回文子串 -- 三种解答

秦怀杂货店

数据结构 算法 最长回文子串

强化学习RL AWS 自动驾驶DeepRacer ROS 架构 易筋 ARTS 打卡 Week 71

John(易筋)

ARTS 打卡计划

【Flutter 专题】34 图解自定义 View 之 Canvas (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

私有云部署系列之动态获取IP(程序执行)

稻草鸟人

Python

Golang语言HTTP客户端实践

FunTester

golang 性能测试 HTTP 接口测试 FunTester

重置不良的编程陋习

devpoint

编码习惯 10月月更

以太坊的黄金时代:模块化的区块链范式的开端

CECBC

linux之iftop命令

入门小站

Linux

设计微博系统中"微博评论"的高性能高可用计算架构

Rabbit

架构实战课程 模块6作业

Frank

BPM软件是什么?BPM软件跟BPA有关联吗?

低代码小观

企业管理 业务流程管理 信息管理

【LeetCode】无重复字符的最长子串Java题解

Albert

算法 LeetCode 10月月更

Pandas教程:数据类型操作

Peter

Python pandas

Pandas教程:数据处理基石-数据探索

Peter

Python pandas

这些行业用ERP系统会有很大帮助

低代码小观

企业管理 ERP

【优化技术专题】「线程间的高性能消息框架」再次细节领略Disruptor的底层原理和优势分析

码界西柚

Disruptor 异步高性能 高并发处理 性能提升 10月月更

使用 Ansible 部署 Elasticsearch 集群

Se7en

“区块链+农业”推动产业“提档升级”

CECBC

私有分布式账本技术还是公共区块链?

CECBC

在线2-36任意进制转换工具

入门小站

工具

架构实战课程 模块5作业

Frank

新一代容器平台ACK Anywhere,来了

阿里巴巴云原生

阿里云 云原生 ACK Anywhere

虚拟化管理软件比较(Eucalyptus, OpenNebula, OpenStack, OpenQRM,XenServer, Oracle VM, CloudStack,ConVirt)

hanaper

MyBatis 批量插入数据的 3 种方法!

王磊

Java mybatis springboot

【Vuex 源码学习】第九篇 - Vuex 响应式数据和缓存的实现

Brave

源码 vuex 10月月更

[ Golang 中的 DDD 实践] 值对象

baiyutang

golang 设计模式 领域驱动设计 DDD 10月月更

100台机器上海量IP如何查找出现频率 Top 100?

秦怀杂货店

IP 海量数据 top

架构实战营模块九作业 - 毕业设计

王晓宇

架构实战营

VNC服务安装配置与使用

耳东@Erdong

vnc 10月月更

云原生时代,推荐引擎架构有哪些挑战_架构_Xue Liang_InfoQ精选文章