跳转至

10 系统构建(二):AI系统的冲锋队——在线系统

你好,我是Tyler。

经过我们上节课的努力,在课程最后一起完成了一个基于向量召回的小型内容推荐系统,做到了使用用户向量来推荐空间距离相近的物品。然而,我想提醒你,基于空间关系的向量召回,不足以支撑工业级AIRC系统的需求,为什么这么说呢?

使用基于空间距离的匹配方式,就好比让机器评估“你和一个人的关系好不好”,它只能告诉你这是一个整体的关系,无法回答哪些方面好,哪些方面不好这个问题。因此,大多公司为了追求最大化商业利益,通常会根据自身场景的特点设计更加个性化的排序算法。

这节课,我们就来好好聊聊怎么设计算法,才能帮助公司赚更多钱。毕竟这最能直观体现技术的价值。

排序服务

首先,我们可以通过在线排序模块,实现更精细化的排序。这里的核心内容是第5节课中提到的指标建模。这节课,我将带你更深入地理解指标建模背后的意义。

指标排序

指标建模看起来是一个排序打分的过程。但它的本质是通过控制排序因子,影响产品业务表现。之前提到过,电商平台为了最大化商品总交易额(GMV),会使用后面的打分方式排序。

这样便可以最大化电商平台最重要的财务指标GMV。但在很多时候,除了收入,我们还有很多重要的业务指标需要兼顾。比如真正让老牌电商平台头疼的并不是拼多多的营收,而是它高速增长的每日日活用户。

如果老板给了你一个目标,要求通过算法提高产品日活,这时你该怎么办?

你可以通过调整排序分来实现这个目标,这个得分的本质是系统的目标函数,你可以通过各类因子控制指标的消长

比如你分析数据发现,大部分用户在购买劣质商品后,就不再回到你的平台。这时,你就可以把质量分作为新因子,加入排序分的计算当中。比如使用预测的好评率和退货率来代表质量分,影响排序结果。

根据业务需求,你还可以添加更多的因子。其实,指标因子就是你系统的指挥棒,负责控制产品中的各个业务指标的消长

控制因子

当然,排序分除了能控制你的业务指标之外,它还可以做更多的事情。你甚至可以用它来实现上节课所提到的流量控制的能力。

上节课我们学习了直接通过 PID 的反馈,随机剔除超投的内容的方法,来实现控制流量的效果。实际上你还有一个更好的办法,就是将 PID 的输出作为控制因子加入排序分,来控制超投。

这么做的好处有两个。首先,你可以使用排序分来统一控制所有逻辑,这样更灵活。同时,这种处理方式也更温和,因为它允许一定的超投弹性

这样只要内容创作者的内容足够优质,就能获得更多的流量,不会受限于一个冰冷的限流数字,影响创作者的积极性。

这里你可以看到,几乎每个因子背后都使用了一个甚至多个模型来满足打分的需求,比如上面的排序分中涉及到了“XX率”预测模型和控制因子用到的PID控制器方法。

所以这本质上是一个混合专家系统(Mixture of Experts, MoE),该系统通过不同的专家模型解决各个领域的任务,共同实现业务目标。AI大模型技术如 GPT-4 也普遍依赖这种方法。

现在我们一起看看下面这张图,在线系统需要离线系统提供的各类存储索引和在线模型服务作为弹药,供给各种数据和模型,帮助在线系统完成目标。

到这里,你已经学会如何使用在线 AIRC 系统来达成业务目标了。

多方博弈

刚刚我们学习的,还都是单系统应用,下面我们来进一步探索多智能体系统的一些典型应用场景。

实时竞价问题

不过。这里我们需要先了解一些背景知识做铺垫。互联网广告你一定再熟悉不过了,广告是互联网行业三大收入来源之一,因此优质的广告流量,比如抖音的开屏广告背后有无数的广告主参与竞争,这也催生出了 RTB(RealTime Bidding)实时流量竞价的流量拍卖方式。

如下图,这是一种暗拍游戏,参与者完全不知道其他人的出价,他们只能报出自己心理价位的最高报价,才能提高成交机会。在这个游戏中,各个参与的智能体会根据自己的身份采取不同的博弈策略,你要熟悉智能体这个说法,你的人工智能系统本质上就是一个智能体。

比如买方,也就是竞拍方智能体的目的是赚取更多的“差价”,比如它花了10块钱从媒体方买到一次抖音的开屏广告展示机会,再以20元卖给广告主,那么这次竞拍的收益就是 20 - 10 = 10 元。

不过真实的场景稍微复杂一些,广告主一般不会直接给出“展示”一次广告的价格,而是通常给出“点击”一次广告的价格,比如一次广告点击就支付 5 美元。

所以,你为了从广告主那里赚到更多的钱,还需要考虑点击率的问题,通常的做法是通过点击率预测,将广告点击价格转换成广告展示价格,

具体的换算方法就是用“点击价格”乘以“点击率”来代表“展示价格,这在本质上是该次展示收益的数学期望。我举个例子,比如点击率是 5%,点击价格是 5 美元的广告,那么这次展示的收益期望就是它们的乘积,也就是0.25 美元。

当然如果你直接将这个预估的的展示收益作为竞拍价格,发送拍卖平台(Ad Exchange)竞价的话,即使你赢得了竞价,广告主成功也投放了广告,你也不过只是把广告主的钱转交给了提供流量的媒体,做了一个流量的搬运工,白忙活了一番。

所以,你在报价时一定要留出利润空间,不能全盘照单报价。这里你可以通过在报价策略中引入盈利系数,来确保固定的“抽成”比例,比如使用 80% 的出价系数,那你则能在每单成交中抽取 20% 的“佣金”,这也是经典 DSP 的商业模式。

很好,现在你的系统已经能赚一些钱了。不过,不久后你发现,在很多的竞拍中,你会因为设置盈利系数,导致出价降低,失去了许多本来可以竞得的流量。即便这些流量的“抽成空间”小一些,但怎么说还是有一些赚头的。

在线竞价算法

所以,为了这部分流量,你需要一个动态的盈利系数,它既能竞得更多的流量,也能确保每次竞价“抽成”的收益最大。所以你需要知己知彼,预测竞争对手的报价,进而在有利润空间的前提下,用比他稍高一点点的报价来赢得流量。

刚刚我们是从流量买家的视角,来分析这个智能体该如何设计博弈策略。

接下来,我们来到流量卖家的视角,也就是媒体的视角,来看看如何设计多智能体博弈策略。

流量卖家为了获得最大化的收益,不会让他们有机会“消极比赛”,你虽然想只比竞争对手高一点点,可是流量方想让你拿出最多的利润分享给他们,所以他会干扰购买方的策略,比如采取“动态起拍底价”和“智能轮空”的策略来搅浑市场,让竞拍参与者几乎无法“捡漏”。他需要使用的方法主要是拍卖理论和市场竞价预估(Bid Landscape Forecasting)的算法。

多智能体博弈问题

现在你已经掌握了广告系统中,多智能体间博弈的主要博弈策略了,你可能会问,我学这个有什么用呢?

这是一个很好的问题,这项技术在AI大模型系统中有广泛的应用空间,比如你在ChatGPT上提问如果要去旅游,预算是5000元,该如何为制定一个性价比较高的方案。

这时,所有集成到ChatGPT上的应用都是参与博弈的智能体,所有生态应用都会想尽办法让ChatGPT选它,所以它们会给出自己的“最优方案”,这意味着各个应用需要考虑其他应用的行为,才能在激烈的竞争中占据上风。但即便是这样的竞争环境,在围墙之外没有智能博弈能力的应用,也会争相发展相关技术,集成到这个平台,参与利益的争夺。

后面在大型系统的章节,我还会详细为你讲解具体的多智能体算法,这里你有个印象就行。除此之外,在未来,你甚至可以让智能体(Agent)代替你完成包括你的工作安排、家庭生活和学习娱乐等在内的几乎所有任务。关于具体的多智能体算法,我们后面课程里还会继续讨论。

这里为你准备了一张图,它展示了斯坦福提出的AI智能体社会实验,他们用 25 个 ChatGPT 的大语言模型实例,分别扮演虚构城镇中不同的角色,完成了一场有趣的社会实验。学有余力的同学可以先看一下这篇文章。关于具体的多智能体算法,我们后面课程里还会继续讨论。

小结

好,这节课就到这里。现在我们来做个总结吧。在架构基础篇,我们学习了人工智能系统中最关键的几个内容,包括特征处理、模型工程、数据算法、离线系统和在线系统。

学完这些内容,你已经掌握了经典的 AI 系统架构该如何实现,你可以参考后面这张示意图来巩固记忆。

还记得我在上节课开头说的那句话么?“这个架构既可以满足搜索、广告和推荐等经典内容分发场景的需求。也同样能兼容内容生成系统,也就是AIGC的需求。”

其实我在那时就想抛出我的一个重要观点——本质上,内容分发系统和内容生成系统都是在为用户交付内容。不过为了让你明白这个观点的“推导过程”,所以我忍到现在才说出来。

你可以比较一下,AIGC大模型系统架构图和之前经典人工智能系统图有什么区别?

答案就是没太大区别。

你可能会问这是为什么呢?实际上,上一代的人工智能系统主要服务于内容分发领域(搜索、广告推荐等)。而现在的AIGC系统则是在生成式人工智能大模型的支持下,将“内容分发”升级为“内容生成”。

因此,人们也正在使用互联网内容分发的发展规律(从门户网站到搜索引擎,再到头条资讯和短视频平台),预测下一代的流量高地将出现在大模型平台中。那么,各大模型平台又如何才能在这个竞争中赢得先机呢?下一章的课程将为你一一揭晓。

思考题

想一想,内容分发系统和现在的生成式 AI 系统的共性是什么?

我们知道 Bard 是支持给出多个草稿并展示最优结果的,如果让你为 ChatGPT 对同一问题生成的几个不同答案排序,你会怎么做?

恭喜你完成我们第10次打卡学习,期待你在留言区和我交流互动。也欢迎你把这节课分享给身边朋友,和 TA 一起学习进步。

精选留言(4)
  • peter 👍(2) 💬(1)

    市面上有多个大模型,比如chatGPT、Bard等,国内也有一些,这些模型的主要区别在什么地方?

    2023-09-02

  • 顾琪瑶 👍(2) 💬(1)

    1. 都需要由大量的数据做储备进行特征处理, 才能完成目标 2. 影响了产品的使用及设计方式

    2023-09-01

  • 周晓英 👍(10) 💬(0)

    内容分发系统(Content Delivery System)和生成式AI系统(Generative AI System)在某些方面确实存在共性,尽管它们的主要目的和实现方式可能有所不同。以下是一些共性和相应的解释: 1. 数据驱动: 两者都是数据驱动的系统。内容分发系统依赖于大量的内容数据,而生成式AI系统依赖于训练数据来学习生成新内容。 2. 个性化推荐: 两者都可以实现个性化推荐。内容分发系统通过分析用户的行为和偏好来推送相关内容,而生成式AI系统可以通过理解用户的输入和上下文来生成个性化的回应。 3. 实时交互: 两者都可以提供实时交互。内容分发系统可以实时推送新内容,而生成式AI系统可以实时生成回应。 4. 优化和学习: 两者都具有优化和学习的能力。内容分发系统可以通过分析用户反馈来优化推荐算法,而生成式AI系统可以通过机器学习方法来优化生成模型。 5. 动态内容生成或推送: 两者都可以动态生成或推送内容。内容分发系统可以根据用户的行为和偏好动态推送内容,而生成式AI系统可以动态生成符合用户需求的内容。 6. 依赖于算法和技术: 两者都依赖于先进的算法和技术。内容分发系统依赖于推荐算法和分析工具,而生成式AI系统依赖于自然语言处理和机器学习算法。 7. 目的: 尽管它们的主要目的可能不同(内容分发系统主要是为了推送现有内容,而生成式AI系统是为了生成新内容),但它们的最终目的都是为了满足用户的需求和提供高质量的内容或服务。 通过上述分析,我们可以看到内容分发系统和生成式AI系统在个性化服务、实时交互、数据驱动和持续优化等方面具有共性。

    2023-10-02

  • Seachal 👍(0) 💬(0)

    课程讲了AI在线系统那点事儿,说了排序模块怎么影响业务,控制因子怎么帮忙达成目标。排序分不光能管业务指标,还能控制流量,加了PID输出更灵活了。还聊了多方博弈,比如实时竞价,智能体怎么竞争,怎么赚钱。最后从流量卖家角度看,媒体方怎么干扰买家,还有拍卖理论和市场竞价预估的算法。总的来说,就是讲了讲AI在线系统怎么建怎么用

    2024-11-23