章节 01
导读 / 主楼:Uni-CTR:基于大语言模型的多领域CTR预测统一框架
Uni-CTR是ACM TOIS(CCF-A)录用的研究工作,提出了一种利用大语言模型进行多领域点击率预测的创新框架,实现了跨领域知识共享和零样本新领域预测。
正文
Uni-CTR是ACM TOIS(CCF-A)录用的研究工作,提出了一种利用大语言模型进行多领域点击率预测的创新框架,实现了跨领域知识共享和零样本新领域预测。
章节 01
Uni-CTR是ACM TOIS(CCF-A)录用的研究工作,提出了一种利用大语言模型进行多领域点击率预测的创新框架,实现了跨领域知识共享和零样本新领域预测。
章节 02
CTR预测旨在预估用户点击某个物品(商品、广告、内容)的概率。在实际业务中,推荐系统往往需要同时服务多个场景:
这些场景既有共通的用户行为模式,又有各自独特的特征分布。传统方法面临两难:
单领域建模:为每个场景单独训练模型,无法利用跨领域数据,且维护成本高。
简单联合训练:将所有数据混合训练一个模型,不同领域的特征分布差异可能导致"负迁移",反而降低效果。
多任务学习:如MMoE、PLE等方法虽然有所改进,但仍难以充分挖掘跨领域的深层语义关联。
章节 03
Uni-CTR的核心洞察是:大语言模型在海量文本上预训练获得的语义理解能力,可以帮助识别和建模跨领域的共通性和差异性。其框架包含三个关键组件:
章节 04
Uni-CTR首先利用大语言模型处理输入文本特征。LLM的强大表征能力使其能够:
论文实验中采用了Llama-2-7b作为主干模型,充分利用其24层Transformer结构提取多尺度特征。
章节 05
LLM提供的表征被输入到领域特定的网络中,学习各领域的独特模式。Uni-CTR设计了灵活的"阶梯式"(Ladder)结构:
这种设计允许根据领域间相似度灵活选择适配策略。
章节 06
这是Uni-CTR最具创新性的设计。框架同时训练一个通用网络,学习所有已知领域的共享表征。当遇到全新的、训练时未见过的领域时,通用网络可以直接进行预测,实现真正的零样本迁移。
章节 07
Uni-CTR的完整架构体现了模块化设计理念:
├── configs/ # 模型配置
│ ├── config.py # Uni-CTR主配置
│ ├── config_multi_domain.py # 多领域基线配置
│ └── config_single_domain.py # 单领域基线配置
├── layers/ # 网络层实现
│ ├── core.py # 核心网络(含阶梯结构)
│ ├── interaction.py # 特征交互模块
│ └── sequence.py # 序列处理
├── models/ # 基线模型实现
│ ├── mmoe.py # MMoE多任务模型
│ ├── ple.py # PLE渐进式分层抽取
│ ├── star.py # STAR多领域模型
│ └── ... # 其他经典模型
├── preprocessing/ # 数据预处理
│ └── amazon_review_data/ # Amazon数据集处理
└── training/ # 训练脚本
├── main.py # Uni-CTR训练
├── main_multi_domain.py
└── main_single_domain.py
章节 08
针对Amazon Review Data(2018)数据集的推荐配置:
| 参数 | 配置 |
|---|---|
| 主干模型 | Llama-2-7b-hf |
| LLM层数 | 24层 |
| 文本嵌入维度 | 2048 |
| 最大序列长度 | 4096 |
| 阶梯频率 | 每4层提取一次表征 |
| LoRA秩 | 4 |
| 注意力头数 | 2 |
| 学习率 | 8e-5(初始),最大5e-4 |
| 批次大小 | 3 × GPU数量 |
| 训练轮数 | 10 |
| 混合精度 | 启用 |