# 基于 LLM 的广告预算分配方案

> **合规声明（生成式 AI 服务）**：前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营，具体信息以中国区域官网为准。
> 
> **完整资料：如果想了解更多内容可以访问:https://events.amazoncloud.cn/china-summit-on-demand/
> 
> **免责声明**：本摘要仅为便于您了解峰会内容而提供，我们不对其完整性及准确性作出任何保证，且不构成任何建议或结论。相关内容仅供参考，实际内容以峰会回放视频为准。

## 一、基础信息

- **会议类型**：专题演讲
- **Persona**：模型实践者
- **时间信息**：6月23日 | 14:00 - 14:30
- **标题**：基于 LLM 的广告预算分配方案
- **PDF 资料**：无
- **视频回放**：有

## 演讲人信息

### 会议信息
- **地点**：上海世博中心（2026 亚马逊云科技中国峰会）
- **日期**：2026年6月23日（Day 1）
- **时间**：14:00 - 14:30
- **会议类型**：专题演讲
- **面向 Persona**：模型实践者

### 亚马逊云科技演讲人
- **蔡天勤**：应用科学家

## 二、会议资料 PDF 转录内容

（本场次无 PDF 资料）

## 三、会议回放视频转录内容

大家好，在正式开始之前，我先给大家介绍一下我们的业务的场景是怎么样的
我们假设我们其实是一个广告预算的运营的同学
我们手上可能会有很多的预算，然后我们也有很多的广告的渠道
那这些渠道具体怎么去分配我们的钱，是我们今天要去讨论的这样一个内容
所以这里面其实会有几个痛点，首先就是怎么去精细化运营我们的一个人工，就是我们的广告投放的预算
应该在什么渠道，怎么比例，什么样的客户场景，什么样的地区地域来去做精细的投放，这是我们要去做的这个事情
那在这里面，大家可能会想到，我们是不是可以用 AI 来去做，那些传统来说，我们会有传统的那些小的模型来去做这种预算
但是模型的结果往往是没有办法归因的，所以我们其实也不太敢去用
那究竟它为什么会推出来这样一个结果，对吧
还有另外一个部分就是，那这个投放的广告的效果究竟是怎么样的，它也是需要有一个反馈的过程
然后另外就是有一些全新的渠道，它其实是没有原来的一些数据来去做支撑
那我们其实就需要有一些冷启动的一个过程，那这种冷启动的这个广告资源，我们在最开始的时候应该怎么去投放，这其实也是一个比较大的一个难题
所以针对这几个方向，其实我们亚马逊云科技也有一些解决的方案
那包括其实我们的 Amazon Bedrock 是我们的这样一个大模型的聚合的平台
那在上面我们其实很轻松的可以用到各家的一个大模型的这些语言，而且它有它的整体的完整的一个思维链的过程
所以我们就知道大模型究竟怎么去推理，怎么能找到它的一个归因的一个理由的，这就会给我们的人工判断，会带来一些有据可循的一些根据
另一方面就是大模型大家都知道调用起来很贵，对吧，那其实我们也有办法，就是我们可以通过对大模型进行蒸馏
然后用一些小的模型来去取代它，来去实现我们线上来去做模型的推荐，也是能起到一个比较好的一个效果
那第三部分就是我们的 S3 和，那我们可以通过数据的反馈，然后我们及时的计算，我们就可以又反馈到我们的数据计算里面来去更好的去推断我们的一些服务
那最后就是我们的 EC2 服务，我们的 GPU 实例，我们可以在上面去跑我们刚才所在 SageMaker 上面去生成的这些小的模型来去更好的去进行这种实时的推荐
那接下来我们有请我们的应用科学家天勤老师给大家详细的做一个介绍
好的，感谢汤老师，我们这边其实服务过很多这样的做广告的一些客户，包括眼貌币，包括安克，然后包括 Movisa
接下来我会结合我们之前的这几个客户，然后他们在做广告预算分配的时候，真实遇到的问题是什么，然后我们是怎么去做的
然后来给大家讲一下我们整个这个故事，我们更多的会以结合 Movisa 这个客户，然后来去讲一下我们这次的这样一个方案
接下来我们主要会讲一下7点，首先是我们这个广告预算分配是什么，我们这几个客户他们遇到的预算分配的场景，他们怎么定义这个问题的
然后我们会说一下为什么这次我们想用大模型来去做这个事情，对比传统的这样像是树模型、规则，还有这些方案，还有什么样的优势
然后我们会重点讲一下我们本次的一个方案设计，我们是怎么做模型训练的，怎么去评测这个模型的一个效果的
最后我们会展示一下实际在客户场景下得到的一个真实的一个效果，然后做一下整体一个总结
OK，那广告预算分配是什么，这个问题我们先来定义一下
像我们刚才提到这几个客户，他们在这个数字广告投放场景，现在其实已经遇到了一些新的挑战
那在以往的话，大家其实做的是相对比较粗粒度的这样一个预算规划
可能说我们整个项目分配一个大概的预算，说就是这个项目我们今天决定要投一万块钱
具体怎么去分呢，就是依赖于这个人工经验，那整个这套体系呢，之前也可以 work
但是呢，就是它整个转起来的时候，你发现得很难迭代
大量依赖这个人工经验，一旦你发生了一些人员流失，或者是这个项目有了一些重大的效性的一些变化的时候
这个人工经验可能追不上，然后它也没办法保存下来
然后呢，就是说我们这个广告的整个场景可能会变得很复杂
单个 Campaign，也就是单个的这种广告项目下面，可能会有上百上千个这样的 AD Group
人工的话已经难以去逐组做调优了
然后就是我们这一套不管是树模型也好，还是人工去做调优的方式
它对于冷启动的场景做的其实是非常差的
因为这个冷启动的场景，广告组需要一些历史数据，然后才来去看现在这个广告组接下来会发生什么样的一个变化
但这个时候呢，我们的树模型很容易发生过拟合
人工经验的话，它也难以预测说，接下来这个广告在冷启动场景下会变成什么样子
然后呢，就是首先我们这个问题它是非常重要的
这广告预算分配，以及说关键词竞价，这两个事情，是广告组这边最关心的两个事情
它会直接影响到广告组的 ROI 和 ROAS
所以我们这个事情在这几个广告组上面都是非常重要的，他们也愿意投大力气去做的
那在我们 Movisa 这个项目里面，我们是怎么定义这个事情的呢？
是从这个 Campaign 到 AD Group，在这个客户上是这样去定义的
这个 Campaign 的意思呢，就是说我们有一个整体的项目
然后对于这个整体的项目，我们有一个大的预算
这个预算往往是，粒度是聚焦到每一天的
那就是说每一天我们整个这个项目可能有1000块钱
那投给其中的每一个 AD Group，它大概是分多少钱
然后最后能得到一个更合理的整个这个项目上的一个 ROAS
所以我们会按这个整个 Campaign 先去聚合样本
然后我们会以转化为主要的优化目标
而后面的话，其实转化之后还会有一些后续的点击
后续的什么 A2C，然后这个购物车里面有没有购买
购物车里面有没有发生下一步的一些转化目标
那这些的话，我们会作为后续的数据作为一个辅助
那我们整体是以这个转化为作为优化目标的
我们最后呢，其实会为每个 AD Group 输出一个分层
就是它是属于最关键的，就是最核心的 Tier 1
还是说它是属于中间的这个可以拿到更大头预算的这样的 Tier 2
相对比较稳定的这层，还是说它是属于相对长尾的
可以分配一点，然后看一下它接下来的这个变化的 Tier 3
我们会给出一个分层的这样的一个报价
然后加上最后的一个每层之间，每个广告组
它的这样一个预算的数值
这里还有一点就是说，有的这个客户呢
它没有办法提供一个每日真实的一个预算
这个时候我们有一个做法
就是说我们可以用过去7天平均的一个 Spend
因为这个 Spend 是系统上会拿到的
我们可以拿过去7天平均的一个 Spend 去模拟一个当日预算
但是呢，这个方法是比较趋近结果的
它实际效果没有拿到一个当日预算的时候，效果那么好
更多时候我们会去找客户商量说能不能从系统的日志里面
拉到这个当日的一个真实预算
这样的话，整个模型跑出来效果会要好很多
前面说的可能还是比较抽象
我们这里可以实际看一下它这个预算分配大概是一个什么样子
左边这个饼状图是一个，这种就是宏观的介绍吧
说我们一个项目今天有120块钱
我们昨天的分配是上面这个饼状图这样
我们给第一个广告组分配了46% 的预算
给第二个分配了25%
这个时候我们说我们为了在第二天实现更好的一个 ROI
实现更好的一个整体的转化
我们怎么去做一个新的预算分配的一个调整
我们结合这几个广告组过去几天
它的这样一个表现以及我们大模型对它未来趋势的预测
我们决定说 OK，给第一个广告组降一些预算
把它从46% 降到29%
这个降掉的预算我们去加到第二个广告组上
从25% 拉到37%
同样的第三个第四个广告组也做一些相应的变化
通过这样的一个变化之后
我们按第二天这样的一个分配
其实我们能够得到一个更好的整个项的一个转化
右边的话是我们整个大模型
最后会给到客户的一些这样的结果的一个大概的一个展示
我们会告诉它说 OK，有这样的一些 AD Group
它每一个 AD Group 的 ID 是什么
我们决定第二天分配的预算大概是什么样子的
然后我们会给它讲一下分配逻辑是什么
这个东西是很关键的
就是待会其实也会讲到
这个是大模型对比树模型还有人工方案最有优势的一点
就是它会告诉你它整个思维过程是什么样子
它为什么要做这样一个决策
像我们做广告预算分配的时候
一般来讲客户那边会有一个算法组
或者说是这个技术组
还有一边是这个广告的运营的同学
他们是这个业务组
运营的同学其实就是真的去做广告预算分配的调整的
在我们以往用这个树模型的时候
他们拿到这个算法侧给到的结果
就是说有一个数
告诉你应该做什么样一个调整
他们其实是不信任这个结果的
他们说你应该做一个调整
你得给我一个解释
这个时候大模型可以给到一个分配逻辑
就告诉你说我做了这样一个预算分配
我的逻辑是什么
那边运营的同学就会知道说
OK 他做这个分配的逻辑是这样子的
他这个逻辑可能是对的
我可以选择相信他直接用到这个预算
他也可能是这个错的
我们觉得说 OK 这个大模型说的是没有道理的
这个时候我们的算法侧和运营侧
就有了更好的一个交互
其实刚才也提到说
为什么要使用大模型了
那我们先看一下客户那边之前
用的是什么样的一个方法
以及他们这些方法有的一些瓶颈
在最早的时候
像我们 Movisa 这样的客户
他其实还是在使用人工调整
经验规则的这样一套
他们更多是使用运营的同学
有一个运营的广告的投放师
他们这样的一些角色
去大量的投放广告
堆计划
用这样的方式去做
这些人数毕竟是有限制的
然后也大量的依赖
这样的一些人工经验
客户跟我们这边反馈说
这种投放组的人其实没有办法
快速地应对一个市场波动
而且他们遇到说
投放组的人有的时候会出现一些人员流失
比如说同学转到另外的组了
他们的这个经验
其实很难通过像这种文档
或者口口相传的方式
完全转化到下一个投放师上
所以这里面就会出现
下一个投放师他做的这个分配逻辑
跟上一个人就是有很大的区别
然后他们有尝试过
用树模型来去做
这个也是我们跟之前的客户
经常使用的一个方式
就是像 XGBoost
还有 CatBoost 这样的一些树模型
它比较简单
我们用这种广告主这边能拿到的一些
比较少量的特征和相对比较少量的数据
可以快速训一个树模型出来
去预测接下来一个广告预算分配
但是这个树模型就有一个很大的问题
它在这种特征数比较少
然后基数比较少的时候
是非常容易发生过拟合的
它对于这种冷启动的广告组效果比较差
而且它其实
对我们每一个广告组都需要
训练一个专门的模型
维护起来会比较困难
所以慢慢得很多客户都不愿意再使用
这样的一套方式
他们想追寻有一种大模型
能够去跨项目复用
能够给提供这种
可解释性的这样的一个输出
对于这种冷启动的效果也要相对更好一些
所以这个时候
我们就引出
用使用大模型的方式来解决
前面说到这样一些痛点
通过我们的调研我们发现
首先大模型擅长多因素的复杂推理
它对于这种代码类的
然后复杂的数学推理这类的
就有天然的优势
它在这个广告预算分配的
权衡决策上其实也有自己天然的优势
在不做模型训练
直接用 zero shot 的时候去调用 DeepSeek V4
这种千问的模型的时候
发现它已经具有一定的基础能力了
它是可以
去面对这样的场景
做出一定的符合广告行业的预算分配的
这个里面就发现
它其实是有这样的一些底子
然后大模型适合输出
带有 CoT 的这样的因果关系的
这样的结果
这个 CoT 可以去给出
具体的你分配的理由
这个能让运营可读可信
能增强一些运营对我们这个模型分配
结果的一个信赖感
会出现说我们算法做了很多的事情
后期这个运营不采纳
这样的一些结果
然后我们这个大模型的话
它的通用能力比较强
我们可以在一些广告的项目组上去训练
然后在另外一些上去做推理
这个我们后面也有验证
它对于冷启动的广告组具有更强的一个语义先验
它能够比较好的处理广告的
这个冷启动的项目组
让它去经过这个冷启动的阶段
然后达到后期的正常的迭代
然后收集到更多的一些可用的样本
这个模型的话
它是可跨项目迁移的
这样的话我们用一个模型就可以去维护多个项目
可以降低整个的一个维护的成本
对，然后我们在对比
整体的对比一下说
用表格的形式对比一下
常见的几种方式
首先就是人工规则
这个是最简单容易理解的
你如果想知道说
我们这个为什么要做这样的一套预算分配
我们直接拉来这个运营的同学问一下
你为什么要做这样一个分配就好
这个方案的效果有限
是大量依赖这个人自己的一个认知的
然后是很受到这个人员流动的影响
它不太可持续
然后就是以前常用的这个树模型
它的优势是这个结构清晰
训练非常的快
你可能一分钟之内就训练出来
两三个这样的一个树模型
但是它的劣势就是很容易过拟合
冷启动的话基本没法处理
而且的话也不具备可解释性
然后其实是我们这一次
没有给客户推的一个强化学习
然后其实我自己本人也比较喜欢
它理论上可以去优化长期的收益
是我们认为
如果你做好一个就是对于
整个奖励函数的一个设计的话
是上限最高的
但是它有一定的劣势
首先就是训练比较复杂
解释性的话这个其实还好
但是它有一个最大的劣势就是需要你客户
取得这个线上的真实结果的这样一个反馈的信号
比如我们说
它得到什么样的一个预算分配
然后和线上的一个预算的实际的结果
就具有一个什么样的相似度
然后我们得到一个真实的奖励
这个奖励你能不能拿得到
这个很依赖于客户你的一个工程能力
我们这边合作的几个客户
其实没有跟我们一起合作
完成这样的一个 A/B 测试的一个框架
所以说这一套的话
其实不是那么容易完成的
那最后的就是我们这一套大模型加上 CoT 的方案
就是我们这一次的方案
那它的优势就是说我们的解释性很强
可以应对这种复杂推理
多因果的这样的链条的推理
这种冷启动能力是很强的
它的劣势是什么呢
就是它的推理成本相对是比较高的
因为我们引入了大模型的这样一个概念
然后我们在其中要推理出来这个思维链
这个思维链可能会是比较长的
所以我们整个模型的推理时间
我们需要用的这个推理的算力
这个方向上就是会消费更多的一些资源
这里面可能就涉及到客户需要做一个权衡吧
你是愿意牺牲更多的一些时间成本
金钱成本去换取一个更好的结果
我们需要就是简单快速的来去做这样一个方案
那我们的客户最终选择了大模型
加上 CoT 的这样一套方案
行，然后我们来说一下这次的一个方案设计
我们整体其实通俗的讲是一个
教师学生蒸馏的这样一个方案
教师模型的话我们
像刚才讲到我们有这个 Bedrock 模型
在线上可以调到非常强力的
像这个 DeepSeek V4 这样满血版 DeepSeek
还有满血的千问这样的一些模型
我们这次的话使用的是 DeepSeek V4
然后对历史的广告数据去生成一个思维链
那这里面我们是通过一些 Prompt 的设计
让这个 DeepSeek V4 去根据过去的一些表现的结果
过去的一些特征的设计
去推理说你是怎么得到今天的这样一个广告预算分配的
你把中间的这个逻辑链条详细的给我说出来
然后我们会把整个的这一套生成的思维链
加上第二天真实的结果
去蒸馏到一个学生模型里面
这里面我们主推是这个 Qwen-3 8B 的模型
在后面的话可以给大家看一下
这个模型整体上表现性价比是最高的
这个我们会把整个的这一套
就是得到的整个思维链的过程
然后加上第二天的结果作为一个蒸馏的数据
作为一个 SFT 的全参微调
让这个小模型也就是 Qwen-3 8B 的模型
去对齐一个分配的策略
然后这个模型的话是客户能够接受的
线上推理的资源开销
然后推理的速度
它能够接受的这样的一个模型的尺寸
然后学生模型呢
需要去输出符合我们要求的这种
JSON 格式的一个预算分配的结果
这个 JSON 格式的结果比较方便解析
然后我们可以直接把它换成
这个就是广告投放师那边
可以比较容易理解的这样的一套结果
然后这个是我们这边的一个架构图
我们会一开始先整理一下数据
获取这个历史的广告预算分配是什么样的
然后当日的真实的广告预算分配是什么样的
中间会做一些特征工程
一些特征加工
然后输给线上的 DeepSeek 模型
然后获取这个 CoT 的数据
然后呢我们会把数据整理成
这个历史的广告数据
是作为输入
然后这个 CoT 和当日的广告预算分配
作为一个结果的这样一个形式
那这个就是我们刚才说到的一个蒸馏数据
这个蒸馏数据我们拿来之后
我们会训练到一些模型基座
包括像刚才说的这个 DeepSeek
刚才说的千问 3 8B 的模型
还有一些其他的我们尝试过的 DeepSeek 模型
然后还有其他的这样的一些基座模型里面去
然后我们会调用 SageMaker
去做一个模型训练
最后得到一个客户那边
想要拿到的广告专用的一个模型
然后部署在 SageMaker 上
对
然后前面是我们这个方案的一个
宏观的设计
然后后面我们大概讲一下
里面细节上的一些挑战
首先就是数据这一块
数据这一块其实在我们做
各个客户的这个广告预算分配的项目的时候
都是问题最大的
我们可能比如说合作四周的时间
可能会有两周多甚至三周的时间
都是集中在跟客户处理数据
这个里面会遇到各种各样的问题
我这里面大概列几个
首先比如说数据稀疏
我们是以广告的这个转化为目标信号的
我们看到客户的这个数据里面
原始的 conversion 等于零的这些天
占比达到了77%
也就是说有大量的数据
你其实是去学了他当时给了什么样的预算
但是他最后是没有发生转化的
这个的话就是说
我们能拿到的真正的有效信号是比较少的
然后我们去观察一下
说全程零转化的这些 AD Group
占比是达到27.5%
这个是由于我们的这个客户 Movisa
他去做了大量的这种堆计划样本
这样的一个事情
这个如果我们有做广告主的
有做广告投放的
我们可能有了解
有的时候他就是某一个类型的广告
他想让他上
但是他又不知道他会不会过冷启动
他就会大量的对一些计划
一些相似的广告
然后去投
他就想去尝试
这个时候会有很多的一些广告
其实就失效
他在整个的开始投放
然后到最后下架的7天
或者是30天的过程当中
全程都是零转化的
这些占比达到了27.5%
然后我们还观察到有数据的连续性缺失
比如说有些 AD Group
它有35.6% 的比例
中间日期是有缺失的
这个如果是相对比较少的话
还可以接受
但是因为我们构造样本的时候
我们需要大量用到过去3天
过去7天的这样的时间窗口
去衡量这个广告组
它过去的一个趋势的变化
如果你有大量的
比如说前面5天里面
有3天的数据都是缺失的
我们其实很难衡量出这个变化的趋势
这部分数据的话就要作废
这里面的话
我们就是以广告转化为主要目标
去重点让模型学会去识别
什么样是一个 Active 的广告
如果说它有大量的趋势
如果说它是全程零转化的
如果说它其实
我们认为它最后根本就不会发生转化
只是一个作为投放尝试的这样的广告的话
我们就要把它去筛选掉
所以说在前面拿到客户数据的话
我们有很多这种数据清理的工作要去做
那数据清理完了之后
我们要做的事情就是特征工程
首先的话就是填充预算
刚才我们也讲到最好的话
你能拿到第二天的一个真实的预算
如果不能的话
你需要通过一定的方式去模拟这个预算
像我刚才提到
有的时候我们拿不到客户预算的话
我们要拿过去7天或者过去15天的一个平均的 Spend
去填充这个预算值
然后客户一般自己不会去给到
像 CTR CVR 这些业务指标
但是这些指标对于我们这种广告的
预算分配的模型其实是非常重要的
所以我们自己要把这些业务指标
给构建出来
作为一些特征加入的模型里面去
然后就是我们刚才说的
我们是根据过去的这个广告组的表现
去预测它明天的一个预算的分配
所以这个滑窗类的特征其实是很重要的
我们观察到一般在客户的
这种一年以内的数据量上
我们构造这个3天-30天的这些滑窗
往往是能得到一些比较有意义的特征
然后
因为我们的客户给到的数据
往往会是比较稀疏的
所以我们需要构造这个转化
然后还有包括购物车里面的
Add to Cart 这些的零值比例
就构造一个稳定性特征
这个意思就是说
你过去的比如说30天之内
完全是零转化的比例大概是多高
比如说是99.5
我们过去30天或者过去10天
我们有99% 的情况都是零转化的
这样的广告我们认为它是不 active 的
我们就尽量少去看它
然后还有少量的一些零值
我们需要做一个补齐和清理
这样的话
我们完成了一个初步的特征工程
特征工程之后
我们可能会得到这个上百个特征
这个特征量对于我们大语言模型来讲
是有点过多的
这个全量塞进大语言模型里面
会造成 Prompt 过长
然后加上会带来很多的一些冗余信息
对于这个我们会先拿一个树模型
做一个特征筛选
前面有说到我们直接拿这个树模型
去预测第二天的广告预算分配的时候
它其实是有各种各样的问题的
但是如果我们拿它
去做一个特征筛选的话
其实它是很有效的
我们这时候以一个树模型
专门去预测明天
是否会发生转化是或者不是
然后这个时候
我们看到这个树模型整体的 AUC
是能够达到75% 的
它其实是一个相对还可以的这样一个模型
所以它其实可以用来判断
或者辅助去筛选特征
可以完成这样一个工作
我们大概筛选出来
排名前20 或者前25 的这样一个特征
在右边这张图里面
我们可以看到
红框圈出来的是前25 的特征
它们的特征重要度是排名比较高的
后面去掉的这些特征
其实对于我们最终的结果
贡献相对比较小
我们自己后面也做了一些消融实验
我们发现加或者不加这些特征
对于最后的一个结果影响
也不是特别的大
这样的话
我们是可以把一个 Prompt
控制在大概7K 左右的一个 token
我们认为我们现在大模型去学的话
我们一条 Prompt
大概在20Ktoken 以下
整个学习的效率是比较高的
然后训练的效率也是比较高的
所以对于这样一个5Ktoken
或者是7Ktoken 这样的一个样本
我们认为是比较健康的
然后整个思维链的获取
我们实现的时候是做了一个串行的推理
总共13K 的样本
我们在 Bedrock 上调 DeepSeek V4
大概花了25小时的时间
这个其实我们也跟客户说了
这个是一个最长的时间消耗
如果我们可以去提高在 Bedrock 上的一个 RPS
然后我们可以增加一个并行度
这个时候推理的耗时会降低很多
但是我们要看到整个这套方法
其实耗时最长的一步
都是在思维链的获取这里
所以我们通过思维链的获取
调用 DeepSeek V4 的模型
可以得到对于每个 AD Group 的分组
加上预算
一个相应得到的一个理由
最后融在一个5K token 的一个 Prompt 里面
然后我们去把这个 Prompt
和一个真实的结果
融到训练的 Prompt 里面去
这个时候我们得到的一个训练样本
因为要融到第二天的真实结果
合起来大概是7K 到 8K
所以我们的训练的一个 Sequence Length
可以给到一个8192
这个是真实情况而定
如果太长的话
也可以选择16000 这样的一个长度
我们这里要注意的是
我们需要按照时间先后的顺序
去划分训练集和测试集
你不能按照一些
其他的方式或者随机划分
要不然会容易出现
特征穿越的问题
你的结果可能会偏高的
这里面我们选择15% 的样本作测试
要求输出的结果是符合一个 JSON 格式的
我们这里面以8B 的一个模型基座
去做一个 SFT 的效果验证
我们可以看到这个模型的 Loss 曲线
从最开始的1.21 稳定的收敛到0.19
甚至在4个 Epoch 结束的时候
它还是保持一个稳定收敛的趋势
这里面我们去看到
首先8B 模型是可以很好的学习这个事情
Loss 曲线是非常健康的
然后其次是说
结合后面我们要说一些事情
它不是说你一直收敛
就可以一直训练下去
其实到3个 Epoch 左右的时候
它这个推理能力就已经达到一个最大
再往后训练
其实会出现一些过拟合的一个现象
然后评测指标
就是我们可能会比较关心的
首先我们刚才也说到
去建立一个线上的 A/B 测试的体系
肯定是最有效的
但是如果我们不能
去做一个线上 A/B 测试的时候
我们怎么用一些离线指标
先做一个衡量
这里面我们给出这样几个指标
首先是 AD Group 粒度的一个准确率
我们这里面去衡量说
比如说做昨天的预算分配
是30块钱
今天的预算是33块钱
我们认为它涨了10%
我们模型给到的结果是
预测它涨12%
这样的时候
我们认为它分配的是一个准确的
我们跟客户有定义的两种粒度
这个准确度
我们认为方向一致
然后整个幅度变化
不超过10% 的时候
我们认为模型分配的结果是准确的
通过这样的方式
我们可以定义一系列的准确率
来去衡量模型的一个
给到的一个数值的一个能力
然后
我们可以用 Recall at K
还有 NDCG at K
去衡量一下这个分配
是否像真实投放的结果
比如说你
第二天的预算
真正给到的前5名
我们的模型预算里面
是不是给它筛选出来了
然后用 NDCG 去衡量说
我们这个排序
是不是跟第二天真实的排序是一致
对 我们还可以用
向量的这个余弦相似度
来去衡量分配的向量
和真实的分配向量是否一致
然后后面的话
我们来看一下真实的一个效果
这里面主要有三点要讲
首先是这个数据量
这个其实是蛮关键的
因为很多客户
给不出来太大量的一个数据
如果数据量太小的时候
我们训练这个模型
效果其实相对比较一般的
因为它这个大语言模型
8B 左右的模型
它其实是比较吃数据的
我们经过一些一系列实验发现
这个训练量
大概在10K 以上的时候
才能保持稳定
在3K 5K 的时候波动比较大
效果会比较差一些
然后就是训练
多少个 epoch
这里面的话
我们发现训练
三个 epoch 的时候效果是最优的
如果过多的话
我们会出现一些灾难性遗忘
后面的效果会大幅下降
然后是模型效果方面
这里面就是这个表格上
我们其实也可以看到
像这个 Qwen-3 32B 的模型
对比8B
它的这个 accuracy
只涨了两个百分点
然后 Recall
涨了一个百分点
我们发现32B 模型
较8B 模型
在预测分配上
其实没有明显的优势的
然后它的推理性能
其实相对比较差
我们认为8B 模型
是最具性价比的
然后
我们其实还研究了一下
这个模型跨项目复用的一个能力
前面也说到
我们这个模型在冷启动上
是更具优势的
我们这里面做了很多的验证
我们有验证说
用一系列的项目去做训练
然后在一些没有见过的项目上
直接去做推理
这个时候我们发现
它的整个 Recall
还是能达到71%
如果做了训练的话
是能达到95% 左右
但是不做训练
直接在新的项目上
去测能达到71%
它对比完全冷启动的模型
50% 几%其实还是有很大的提升
我们验证了说
一个模型它其实可以去覆盖多个项目
而且能够支持冷启动
然后整体上
我们其实还去训练了
80B 左右的 Qwen 模型和 DeepSeek 模型
我们发现肯定是模型越大越好
但是更大的模型没有好太多
然后它的推理成本是陡增的
所以我们最后给客户推的
都是8B 左右的这样一个模型
然后这个是一个前驱的指标
上面两行是
Qwen 32B 和 8B
没有训练的时候
一个模型的基座
可以看到它整个连 JSON 的解析能力
都不是很好
只有64.6% 的输出的结果
可以被解析成 JSON
然后它整个预测的准确率
大概只有55% 左右
那经过训练之后
可以把解析率提升到100%
准确率提升到81% 左右的
这样一个范畴
最后大概说一下
这个部署优化这块
就是部署的时候
我们其实使用 vLLM 加上 Dynamic Batch
然后在 Amazon EC2 的 GPU 实例上推理
其实可以快1.6倍
然后整个吞吐可以快7.8倍
然后我们研究了一下投机解码
投机解码这个事情
其实我是极力推荐大家去做的
它在8B 的模型上可以提速34%
32B 上可以提升31%
而且效果基本是无损的
整个我们去衡量的 JSON 的解析率
包括广告预算分配的
准确率和 NDCG 这些结果
基本都持平
也就是说它可以在
Qwen-3 8B 左右的模型上
免费得到一个30% 左右的效果提升
最后做一个总结
我看时间也到了
我们整个这一套方案
研究了一套
基于 CoT 的教师到小模型蒸馏的
一套范式
我们验证了在多个客户上
在广告预算分配的场景上
完全能够跑通
而且效果非常的好
它可以既兼顾整个预算分配的效果
一个具有可解释性的
在冷启动上效果比较好的
可以跨项目复用的这样一套方案
单次整个流程大概是
81.77 兆
训练一个 Qwen-3 8B 的模型
然后我们发现
8B 左右的模型在效果和成本上
可以得到一个理想的平衡
推理的时候
我们建议大家使用 vLLM
加上投机解码的方式
能够去满足客户要的
一个线上的吞吐
谢谢大家