当前位置: 首页 > article >正文

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction

  • ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器
  • 摘要
  • 1.引言
  • 2.预备知识
    • 2.1传统CTR预测
    • 2.2基于PLM的CTR预测
  • 3.方法
    • 3.1概述
    • 3.2模态转换
    • 3.3Prompt生成
    • 3.4Prompt融合
    • 3.5学习策略
      • 3.5.1提示增强掩码语言建模
      • 3.5.2使用PLM进行微调
      • 3.5.3不使用PLM进行微调
  • 4.实验
    • 4.1实验设置
    • 4.2性能试验
    • 4.3模型兼容性
    • 4.4消融实验
      • 4.4.1提示策略
      • 4.4.2协作和语义知识融合策略
    • 4.5长尾分析
  • 5.总结

ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器

论文下载链接: ClickPrompt
代码: ClickPrompt

摘要

传统的CTR模型通过one-hot编码将多领域分类数据转换为ID特征,存在语义信息丢失的问题。另一个研究方向将输入数据转换为文本句子,尽管保留了语义信息,但无法捕获协作信息,而且推理开销大。

本文提出了一种新颖的模型无关框架ClickPrompt,结合CTR模型生成与交互相关的软提示供PLMs使用。同时设计了一种提示增强的掩码语言建模预训练任务PA-MLM,其中PLM根据上下文信息以及CTR模型生成的软提示恢复被掩码的标记。然后,选择将CTR模型与PLM一起调优以获得更好的性能,或者单独调优CTR模型而不使用PLM以提高推理效率。

1.引言

本文旨在捕捉语义知识和协作知识以实现准确的CTR预测,同时解决推理效率问题。通过设计prompt增强的掩码语言模型PA-MLM,模型首先掩码ID特征的文本,然后PLM利用ID生成的软提示和文本上下文恢复被掩码的信息。这种双向信息流动允许ID的协作信息传递给PLM,同时保持文本的语义信息回流至CTR模型。

如图1所示,通过软提示,基于ID的协作知识将通过前向传播传递给PLM,而基于文本的语义知识将通过反向传播流回CTR模型。预训练后,本文提出两种不同的微调策略用于CTR预测:使用PLM微调和不使用PLM微调。
在这里插入图片描述
本文主要贡献:

  • 提出了一个新颖的框架ClickPrompt,其中CTR模型充当PLM的软提示生成器。PA-MLM通过软提示对协作知识和语义知识之间的交互和显式对齐进行建模,从而显著提高CTR性能。

  • ClickPrompt与模型无关,并且与各种CTR模型和PLM兼容。此外,通过单独对CTR模型进行微调,ClickPrompt可以提高预测准确性,而无需改变CTR模型结构或增加额外的推理成本。

2.预备知识

2.1传统CTR预测

大多数传统CTR模型的结构分为三层:嵌入层、特征交互层和预测层。嵌入层将稀疏独热编码转化为低维嵌入向量,特征交互层捕获高阶特征交互从而生成相应的特征表示,预测层根据特征交互层的特征表示计算用户的点击概率。预测层之后,CTR模型使用二元交叉熵损失进行训练。

2.2基于PLM的CTR预测

与传统模型不同,基于PLM的CTR模型通过硬提示模版将输入转换为文本。根据任务类型和真实标签表述,基于PLM的CTR模型可以分为两类。

第一类将CTR预测视为二进制文本分类任务,其中真实标签仍然与传统设置相同,为0或1。第二类将CTR预测视为序列到序列任务,其中真实标签被转换为二进制关键词,即是或否。这类方法利用编码器解码器或仅解码器的PLM来遵循指令并回答附加在文本输入后面的二进制问题(例如,用户会喜欢该项目吗?)。本文主要关注第一类。

3.方法

3.1概述

在这里插入图片描述

如图2所示,ClickPrompt的模型架构设计主要分为三个阶段:模态转换、提示生成和提示融合。首先,模态转换层将输入数据 x i x_i xi 转换为独热ID特征 x i I D ​ x_i^{ID}​ xiID 和文本特征 x i t e x t ​ x_i^{text}​ xitext。其次,ID特征 x i I D ​ x_i^{ID}​ xiID被输入到CTR模型中,随后经过提示生成层以产生独立的软提示向量。最后,在提示融合阶段,软提示作为PLM每个变换层的前缀隐藏状态,使得协作知识和语义知识之间能够实现显式对齐。

关于学习策略,ClickPrompt采用常见的预训练-微调方案。本文首先设计了一个提示增强的掩码语言建模任务PA-MLM用于预训练,其中PLM需要根据文本上下文和由CTR模型生成的软提示来恢复被掩码的标记。预训练之后,进行有监督的微调,既可以与PLM一起,也可以单独进行。前者实现了协作信息和语义信息之间的显式互动,从而提升性能,而后者则解决了推理效率问题。

3.2模态转换

将输入 x i x_i xi 转换为两种不同的模态:ID特征 x i I D ​ x_i^{ID}​ xiID 和文本特征 x i t e x t ​ x_i^{text}​ xitext,ID特征使用one-hot编码获得:
在这里插入图片描述

表格数据的复杂模板可能会误导模型,使其无法掌握文本中的关键信息。因此,本文采用“什么是什么”的硬提示模板:
在这里插入图片描述
其中 f j n a m e ​ f_j^{name}​ fjname 是第 j j j 个字段的字段名称, f i , j f_{i,j} fi,j 是第 i i i 个数据实例中第 j j j 个字段的特征值, [ ⋅ ] [ \cdot ] [] 表示连接操作符,用于将列表中的元素用空格“ ”连接起来。

3.3Prompt生成

通过CTR模型的嵌入和特征交互层FI获得特征表示:
在这里插入图片描述
然后,维护一组并行投影网络 { g l , k ( ⋅ ) } \{g_{l,k}(\cdot)\} {gl,k()} 用于软提示生成:
在这里插入图片描述
其中 p i , l , k p_{i,l,k} pi,l,k 是PLM第 l l l 层的第 k k k 个提示向量。 L L L 是PLM的层数, K K K 是每层的软提示数量。每个投影网络 g l , k ( ⋅ ) g_{l,k}(\cdot) gl,k() 是一个多层感知机MLP,用于维度一致性和空间转换。

3.4Prompt融合

如图2所示,获得的软提示将作为PLM每个转换器层的前缀隐藏状态。具体来说,文本特征 x i t e x t ​ x_i^{text}​ xitext 被分词为 Z Z Z 个单词标记,PLM 的第 l l l 层可以表示为:
在这里插入图片描述
其中 [ h i , l , z ] z = 1 Z ​ [h_{i,l,z}]_{z=1}^{Z}​ [hi,l,z]z=1Z 是第 l l l 层的标记隐藏状态。通过每一层的自注意力机制,来自CTR模型的协作信号可以通过提示接口与文本侧的语义知识显式对齐和融合。

最后,在经过 L L L 层传播后,在PLM的输出状态上应用池化和预测层:
在这里插入图片描述
输出维度以及激活和损失函数取决于采用的任务和学习策略。

3.5学习策略

如图2所示,ClickPrompt采用常见的预训练-微调方案作为学习策略。具体而言,将提示增强的掩码语言建模PA-MLM作为预训练任务,通过软提示的链接交融协作知识和语义知识,从而改善参数初始化。然后,选择与PLM进行有监督的微调,以获得更好的CTR性能,或者仅微调CTR模型而不使用PLM,以保持改进的预测准确性和推理效率。

3.5.1提示增强掩码语言建模

如图2所示,对文本特征进行标记掩码处理,以获得损坏的文本输入 x ^ i t e x t ​ \hat{x}_i^{text}​ x^itext,同时保留原始的ID特征。然后,PLM根据语言上下文以及从完整的ID特征生成的软提示来恢复被掩码的标记。

因此,公式8中的池化和预测层被设计为语言模型的经典解码器模块,然后是softmax函数和交叉熵损失。参考以往的工作,本文对每个输入 x i t e x t ​ x_i^{text}​ xitext 均匀采样15%的标记,并以8:1:1的比例执行三种不同的操作,即:(1) [MASK] 替换,(2) 随机单词替换,(3) 保持不变。

为了完成对被掩码标记的填空任务,PLM必须提取并整合嵌入在软提示中的相应“正确答案”,从而在CTR模型和PLM之间实现对同一输入 x i x_i xi 的对齐。

3.5.2使用PLM进行微调

集成CTR模型和PLM的预测,同时与软提示向量显式交互:
在这里插入图片描述

其中 α α α 是一个可学习的参数,用于平衡预测的权重, σ ( ⋅ ) σ(⋅) σ() 是sigmoid函数。通过这种方式,来自两个模态的协作知识和语义知识在微调过程充分融合,从而提升了性能。

3.5.3不使用PLM进行微调

为进一步解决推理效率问题,可以仅微调CTR模型而不使用PLM。在PA-MLM预训练过程中,通过反向传播将PLM中的语义知识注入到CTR模型中。因此,这种语义感知的参数初始化将能够实现协作知识和语义知识之间的隐式交互,从而提升CTR性能,而无需更改CTR模型结构或增加额外的推理成本:
在这里插入图片描述

对于这两种微调策略,在估计点击概率时应用二元交叉熵损失。

4.实验

4.1实验设置

数据集:MovieLens-1M、BookCrossing、Amazon-Toys 和 GoodReads

评估指标:AUC和Log Loss

基线:

  • 传统的CTR模型:FM、DNN、DeepFM、xDeepFM、PNN、DCN、AutoInt、FiGNN、FGCNN和 DCNv2。

  • 基于PLM的CTR模型:CTR-BERT、P5、PTab和CTRL。

实现细节:选择DCNv2作为CTR模型,RoBERTa-base作为预训练语言模型。

4.2性能试验

在这里插入图片描述
结论:

  1. 传统CTR模型的性能显著优于基于PLM的CTR模型,除了CTRL。这表明特征交叉模式中嵌入的协作信息对CTR预测至关重要。

  2. CTRL在所有基线模型中表现最佳。CTRL采用基于CLIP的框架,并通过对比预训练将PLM中的语义知识提炼到CTR模型中。

  3. ClickPrompt_with PLM在所有基线模型中实现了显著的性能提升,验证了协作知识和语义知识之间的显式对齐和交互的有效性。

  4. ClickPrompt_w/o PLM性能仅次于ClickPrompt_with PLM,提高了预测准确性,同时没有增加推理延迟。

4.3模型兼容性

为了研究模型兼容性,本文在CTR模型和PLM方面的不同主干上应用了ClickPrompt框架。对于CTR模型,选择DCNv2、AutoInt和DNN。对于PLM,选择TinyBERT (14.5M)、RoBERTa-base(125M)和 RoBERTa-large(335M)。
在这里插入图片描述
结论:

  1. ClickPrompt在所有基础模型上相对于原始CTR模型实现了显著提升,这验证了其在CTR模型和PLM之间的优越模型兼容性。

  2. 随着PLM模型规模的增加,ClickPrompt对原始CTR模型的性能提升逐渐增加。因为较大的PLM拥有更广泛的开放世界知识,有助于语义信号与协作信号之间的融合和对齐。

  3. 更大规模的PLM并不一定会导致CTR预测性能的成比例改善。因此,考虑训练开销,建议使用RoBERTa-base作为ClickPrompt的更合适和经济的选择。

4.4消融实验

本节主要分析提示策略以及协作与语义知识融合策略的影响。选择DCNv2、AutoInt和DNN作为基础CTR模型,并选择RoBERTa-base作为PLM基础。

4.4.1提示策略

在这里插入图片描述
本文比较了图3所示的两种不同的提示策略,结果如表3。
在这里插入图片描述
结论:

逐层提示策略的表现优于不使用逐层提示的策略。如果提示向量仅放置在浅层输入层,模型的协作知识可能在PLM的前向传播过程中被淹没,从而导致与语义知识的不平衡交互,最终造成性能下降。

4.4.2协作和语义知识融合策略

协作知识和语义知识之间的交互和对齐有两个关键技术点:

(1)从模型架构的角度来看,分层软提示是CTR模型和PLM之间显式交互的桥梁。

(2)从学习策略的角度来看,PA-MLM预训练任务中,PLM提取并合并嵌入提示向量中的有用协作信息,从而产生细粒度的对齐。

三个变体:

  1. 没有提示

  2. 没有预训练

  3. 两者都没有

在这里插入图片描述

结论:

删除提示或预训练后,性能下降。这表明协作知识和语义知识之间的显式交互和细粒度对齐可以更好地从两种输入模式中提取和融合信息,从而提高点击率预测性能。

4.5长尾分析

根据用户和项目在训练集中出现的频率排序。频率排在后10%的被归类为长尾低频用户和项目。
在这里插入图片描述
结论:

  1. 长尾低频用户或项目可能会导致传统的CTR 模型性能显著下降。

  2. 在长尾问题更严重的情况下(例如,用户和项目都是长尾的子集),ClickPrompt 可以比主干 CTR 模型带来显着更大的改进。这证实了ClickPrompt在解决推荐的冷启动或长尾问题方面是有效的。

5.总结

本文提出了一种新颖的模型无关框架ClickPrompt,其中CTR模型充当PLM的软提示生成器。设计了一种预训练-微调方案,以实现来自独热ID模态的协作知识与来自文本模态的语义知识之间的显式互动和对齐,从而显著提高CTR预测性能。此外,提供了另一种轻量级的微调策略,仅训练CTR模型以用于下游任务,而不使用PLM,从而有效解决推理效率问题。对四个真实世界数据集的广泛实验验证了ClickPrompt相较于基线模型的优越预测性能和模型兼容性。


http://www.kler.cn/a/418528.html

相关文章:

  • Git命令大全(超详细)
  • Unity3D模型场景等测量长度和角度功能demo开发
  • unity中添加预制体及其基本设置
  • RAT:融合RAG和CoT的高效多步推理任务策略
  • 【QNX+Android虚拟化方案】127 - QNX侧 uart 读写程序分析
  • Android内容提供者
  • qt QStyle详解
  • 网络安全(三):网路安全协议
  • 单片机学习笔记 13. 定时/计数器_计数
  • 无法找到“M_PI”,文件夹树目录实现拖拽打开文件
  • 企业级日志中心(ELK)
  • 对于部署 React 应用,我推荐以下方案(20241127使用方案1Nginx+PM2):
  • 打字指法和键盘按键功能简介
  • 【51单片机】程序实验910.直流电机-步进电机
  • 探索嵌入式硬件设计:揭秘智能设备的心脏
  • 地级市单要素能源利用效率及能源消耗总量(2000-2022年)
  • openjdk17 jvm堆空间分配
  • 关于VNC连接时自动断联的问题
  • 【前端入门】行内元素和块级元素
  • 【0x0001】HCI_Set_Event_Mask详解
  • Qt之样式表设置总结。。。持续更新
  • qt QToolButton详解
  • 【树莓派5】移动热点获取树莓派IP并初次登录SSH
  • Linux Shell 脚本题目集(2)
  • LuaForWindows_v5.1.5-52.exe
  • JS的魔法三角:constructor、prototype与__proto__