一、 AdaTT [2023]

《AdaTT: Adaptive Task-to-Task Fusion Network for Multitask Learning in Recommendations》

  1. 多任务学习(multi-task learning: MTL)旨在通过同时训练多个任务来提升机器学习模型的性能和效率。然而,MTL 研究面临两大挑战:

    • 1):如何有效地建模任务间的关系以实现知识共享(knowledge sharing)。

    • 2):如何联合学习 task-specific knowledgeshared knowledge

    本文提出了一种 Adaptive Task-to-Task Fusion Network: AdaTT 的新型模型来应对这两个挑战。AdaTT 是一个深度融合网络(deep fusion network),由 multiple levelstask-specific and optional shared fusion units 构成。通过利用残差机制(residual mechanism)和门控机制(gating mechanism)进行 task-to-task fusion,这些 units 能够自适应地学习 shared knowledgetask-specific knowledge。为了评估 AdaTT 的性能,我们使用不同的任务组在公开 benchmark 数据集和工业推荐数据集上进行了实验。结果表明,AdaTT 的性能显著优于现有的 SOTA baselines 。此外,我们的端到端实验表明,该模型相比其他模型也表现出更优的性能。

    这些 fusion units 其实就是 experts

    所谓的残差机制就是:首先对task-specific experts 进行线性组合,门控机制学习的是这个线性组合的残差。

  2. 在线推荐系统旨在为用户生成个性化的高质量推荐内容。这类系统的有效性通常取决于它准确学习用户偏好的能力,而这往往需要同时优化多个目标(multiple objectives )。例如,短视频推荐系统既需考虑用户观看视频的可能性,也需关注用户点赞视频的可能性。多任务学习(multi-task learning: MTL)是应对此类场景的典型解决方案。通过在单一框架内联合训练多个任务,多任务学习具有多项优势:

    • 首先,它能提升计算效率,这对于大规模在线推荐系统至关重要。

    • 其次,它通过跨任务正则化(cross-task regularization)和知识共享(knowledge sharing),可增强模型性能。

    然而,多任务学习也面临独特的挑战。其中核心挑战之一是建模任务间的关系。由于每个任务与其他任务的相关程度可能存在差异,仅对所有任务的通用共性(general commonalities)进行建模是不够的。且随着任务数量的增加,该问题的复杂性会进一步加剧。有效的任务关系建模(task relationship modeling)是实现高效的任务自适应知识共享(task-adaptive knowledge sharing)的关键。例如,“分享视频” ("sharing a video")任务的共享知识可重点向“点赞视频”("liking a video")等相似任务倾斜,同时从“观看视频” ("watching a video")等样本丰富的任务中汲取不同方面(different aspects)的知识。而对于高度不相关的任务,则应最小化其共享学习(shared learning)的程度。

    • 以往的研究(《Multitask learning》《End-to-end multi-task learning with attention》)通常采用 static shared representations

    • 其他方法如交叉缝合网络(Cross-stitch Networks)(《Cross-stitch networks for multi-task learning》)(如 Figure 2(c) 所示),通过学习矩阵来建模多个子网络间的关系,但这些权重对所有样本均保持固定,且子网络仅在一定程度上是 task-specific 的。

    • 近年来的方法如多门混合专家模型(MMoE)(《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》)(如 Figure 2(b) 所示)和 PLE《Progressive layered extraction (ple): A novel multi-task learning (mtl) model for personalized recommendations》)(如 Figure 2(e) 所示),采用专门的门控网络(gating networks)动态组合 shared sub-modules 以实现灵活共享,但这些方法所建模的任务间关系较为模糊且是间接的。

    shared learning 外,task-specific learning 也是多任务学习中不可或缺的部分。在两者之间取得恰当的平衡,对于解决任务冲突(task conflicts )和实现跨任务正则化(cross-task regularization)至关重要。

    • 一方面,多任务学习可能会遭遇负向迁移问题(negative transfer)——即对某一任务的优化会对另一任务的性能产生负面影响,尤其是在任务目标(task objectives )相互冲突的情况下。在此类场景中,多任务学习模型应自适应地侧重 task-specific learning

    • 另一方面,过度的 task-specific learning 和不足的 shared learning 可能导致过拟合,从而削弱跨任务正则化(cross-task regularization)的优势。

    每个任务的 training data 的数量及其分布也会影响学习的侧重点:

    • 数据量较多的任务可更多地依赖自身的 specific learning

    • 而数据量较少或分布高度倾斜的任务则可更多地专注于 shared learning

    考虑样本间的差异,则能让两者的权衡更具动态性。因此,自动地 learn to balance 这两种学习的类型具有重要意义。许多 soft parameter sharing 模型能够实现这一点,无需繁琐的人工调优(《Multitask learning》 ),也无需在简化假设下为所有样本学习 static structures《Beyond shared hierarchies: Deep multitask learning through soft layer ordering》《Adashare: Learning what to share for efficient deep multi-task learning》《Branched multi-task networks: deciding what layers to share》)。然而,如何建模 shared learningtask-specific learning 之间的交互以提升性能,仍需进一步研究。

    为同时应对这些挑战,我们提出一种新型多任务学习模型—— Adaptive Task-to-Task Fusion Network: AdaTT

    • 为提升 shared learning 效果和模型可解释性,我们引入 task-specific expertsshared expertsgating modules ,以同时在 task-pair levelsall-task levels 显式地建模 task-to-task interaction

    • 为实现 task-specific learningshared learning 的协同作用,我们在独立的 fusion modules 中对二者进行区分和建模,并在每个 fusion module 中采用不同的 experts 和融合策略。fused results 随后通过残差机制(residual mechanism)进行组合。此外,我们采用 multiple levels of fusion ,每个 level 专注于不同的功能,以提升学习性能。

      所谓的残差机制就是:首先对task-specific experts 进行线性组合,门控机制学习的是这个线性组合的残差。

    为评估 AdaTT 的性能,我们在真实世界的短视频推荐系统上进行了实验。通过设置不同的实验组,检验其对不同 task relationships 的适应性(adaptability)。同时,我们利用公共基准数据集进一步验证其泛化能力。在所有实验中,AdaTT 在不同数据集和 task groups 上均一致地优于 baseline 模型。

    为评估 AdaTT 的大规模性能,我们对其超参数(重点关注 fusion levels 数量、experts 数量)展开了研究。此外,我们设计了消融实验和可视化分析,以深入探究 AdaTT 的内部机制。消融实验验证了残差设计(residual design)以及独立建模的融合模块(fusion modules )在实现互补的 task-specific learningshared learning 方面的有效性。通过对 deep fusion levelsshallow fusion levelsexpert weights 进行可视化,我们更深入地理解了不同 fusion levels, tasks, and task groups 所学到的独特且有意义的共享模式(sharing patterns)。

    fusion levels 就是网络层数。

    总之,本文的贡献如下:

    • 提出一种新型多任务学习模型——Adaptive Task-to-Task Fusion Network: AdaTT,该模型能够同时实现自适应的 task-to-task knowledge sharing 和稳健的 task-specific learning

    • 通过在真实世界 benchmark 数据和大规模视频推荐系统上进行全面实验,评估了 AdaTT 相较于多种 baselines 的有效性。

    • 通过对各个 fusion modules 进行消融实验,并研究其 fusion unitsshallow and deep knowledge 的处理中的运作机制,验证了模型的可解释性。

    AdaTT 就是 PLE 的变体。

1.1 相关工作

  1. 多任务学习在计算机视觉、自然语言处理、语音识别、机器人技术、以及推荐系统等多个领域具有广泛应用。众多研究致力于开发创新的多任务学习架构,这些模型可分为硬参数共享(hard parameter sharing)和软参数共享(soft parameter sharing)两大类。

    • hard parameter sharinghard parameter sharing 采用预定义的模型架构,其中某些层(certain layers)为所有任务所共享,而其他层(other layers)则为单个任务所专用。

      • 共享底部模型(shared-bottom model)(《Multitask learning》)是 hard parameter 方法中应用最广泛的模型之一,该模型利用 shared lower layers 来进行 representation learning ,并在底层之上设置 task-specific layers

      • 多线性关系网络(Multilinear Relationship Networks)(《Learning multiple tasks with multilinear relationship networks》)通过在 task specific layers 的参数上施加张量正态先验(tensor normal priors ),对该结构进行了改进。

      • 另一个例子是 UberNet《Ubernet: Training a universal convolutional neural network for low-, mid-, and high-level vision using diverse datasets and limited memory》),它采用图像金字塔(image pyramid )方法,联合解决多种 low-, mid-, and high-level 视觉任务。 UberNet 通过 task-specific layersshared layers 来处理金字塔中的每个分辨率(resolution )。

      hard parameter sharing 模型通常结构紧凑,但需要大量人工工作来确定共享内容,且缺乏适应性(adaptability )。此外,在不相关的或冲突的任务(irrelevant or conflicting tasks )之间过度共享可能导致负向迁移(negative transfer ),从而对模型性能产生负面影响。

    • soft parameter sharing:为更好地应对这些挑战,研究人员提出了多种 soft parameter sharing 多任务学习模型。

      交叉缝合网络(Cross-stitch network)(《Cross-stitch networks for multi-task learning》)和水闸网络(Sluice network)(《Latent multi-task architecture learning》)利用 trainable parameters 对各层的输出进行线性组合。然而,它们所采用的线性组合是固定的,无法充分反映单个样本上任务关系的差异性(task relationship distinction)。

      其他研究提出利用基于 inputsattention modules 或门控模块(gating modules ),为每个任务动态地组合或提取知识。例如:

      • MTAN《End-to-end multi-task learning with attention》)采用 attention modules 生成 elementwise masks,从一个 shared representation 中提取task-specific knowledge

      • 多门混合专家模型(MMoE )(《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》)引入 a mixture of experts,并利用门控网络(gating networks)为每个任务动态地融合这些 experts

      • 最近提出的 PLE《Progressive layered extraction (ple): A novel multi-task learning (mtl) model for personalized recommendations》)进一步增强了 knowledge sharing 的灵活性。PLE 模型显式地引入 task-specific expertsshared experts ,并提出带有门控模块的渐进分离路由(progressive separation routing)策略,以选择性地、动态地融合知识。

      在这类工作中,PLE 与本文提出的模型最为相关。不同之处在于:

      • 本文引入了两种互补的 fusion modules ,分别对 task-specific learningshared learning 进行建模。

      • 此外,除了显式地引入 shared modules 从而用于学习所有任务的共性之外,我们还基于 inputs 进行直接的 task-pair fusion,以最大化 knowledge sharing 的灵活性。

  2. 神经架构搜索(Neural Architecture Search: NAS):NAS 方法已被应用于多任务学习,以自动学习模型结构。

    • 分支多任务网络(Branched Multi-Task Networks)(《Branched multi-task networks: deciding what layers to share》)通过基于 affinity scores 对任务进行聚类,生成树状结构(tree structure),并将不相似的任务分配到不同的分支(branches)。

    • 《Learning to branch for multi-task learning》 利用 Gumbel-Softmax sampling 进行分支(branching)操作,而非预先计算的 affinity scores,从而支持端到端训练。

    • 软层排序技术(Soft Layer Ordering)(《Beyond shared hierarchies: Deep multitask learning through soft layer ordering》)指出了传统 fixed-order sharing 方法在多任务学习模型中的局限性,并提出学习 task-specific scaling parameters,从而实现针对每个任务的 a flexible ordering of shared layers

    • AdaShare《Adashare: Learning what to share for efficient deep multi-task learning》)提出一个 task-specific policy ,为每个特定任务选择要执行的 layers

    • 子网络路由(Sub-Network Routing: SNR)(《Snr: Sub-network routing for flexible parameter sharing in multi-task learning》)将 shared layers 划分为 sub-networks,并通过 latent variables 学习它们之间的连接。

    NAS 方法减少了大量人工工作,并提高了多任务学习模型中 sharing patterns 的灵活性。然而,由于穷尽搜索所有可能的 model configurations 在组合上具有复杂性,这些方法通常依赖于简化假设来限制搜索空间,如 branchingBranched Multi-Task Networks《Learning to branch for multi-task learning》)、routingSub-Network Routing)、layer orderingSoft Layer Ordering)、layer selectingAdaShare)等等。此外,generated structures 无法根据单个样本进行调整。

  3. 除了专注于多任务学习的架构设计(architecture design)的研究外,另一类研究旨在改进多任务学习的优化过程(optimization)。

    • 基于不确定性的加权方法(uncertainty-based weighting)(《Multi-task learning using uncertainty to weigh losses for scene geometry and semantics》)根据任务的不确定性来学习每个任务的权重。

    • GradNorm《Gradient normalization for adaptive loss balancing in deep multitask networks》)通过控制不同任务的梯度幅度(gradient magnitudes)来平衡它们的训练速度。

    • GradDrop《Just pick a sign: Optimizing deep multitask models with gradient sign dropout》)通过概率性的方式选择 a sign,并移除相反符号(opposite sign)的梯度。

    • 梯度手术(PCGrad)(《Gradient surgery for multi-task learning》)将 conflicting task gradients 投影到彼此的法平面上。

    • RotoGrad《RotoGrad: Gradient Homogenization in Multitask Learning》)通过操纵任务梯度(task gradients )的幅值和方向来缓解冲突。

    • 《Multi-task learning as multi-objective optimization》将多任务学习视为一个 multi-objective optimization 问题,旨在寻找一个帕累托最优解(Pareto optimal solution )。

    • 《Can Small Heads Help? Understanding and Improving Multi-Task Generalization》 引入 under-parameterized small towers 的自辅助损失(self-auxiliary losses ),以平衡帕累托效率(Pareto efficiency)和跨任务泛化能力。

    尽管这些方法能够带来性能提升,但仅依靠它们而缺乏强大的模型架构,可能会限制模型性能的上限。

1.2 模型架构

  1. 为联合学习 adaptive shared representations 并增强 task-specific learning ,我们提出一种新型模型—— Adaptive Task-to-Task Fusion Network: AdaTTAdaTT 利用门控机制(gating mechanism)和残差机制(residual mechanism),在多个 fusion levels 中自适应地融合 experts

    考虑包含两个 prediction tasks 的多任务学习场景,我们通过 Figure 1 展示了具有两个 fusion levelsAdaTT 架构。AdaTT 由一个 multi-level fusion network 和多个 task towers 来组成:

    • fusion networkstask-specific units 和可选的 shared fusion units 构成。

      这些 units 其实就是 experts

    • task towers 构建在 fusion network 之上,并与 final fusion leveltask-specific units 相连。

    我们的框架具有通用性,支持灵活地选择 expert modulestask tower networksgating modules ,并可配置 experts 数量和 fusion levels 数量。在以下章节中:

    • 我们首先介绍 AdaTT 的一个特例(名为 AdaTT-sp),该特例仅使用 task-specific fusion units(如 Figure 1(a) 所示)。

      这个模型没有 shared fusion units

    • 随后,我们将描述通用的 AdaTT 设计(如 Figure 1(b) 所示)。

    模型的整体思想非常类似于 PLE,仅仅只有少量的改动(如何融合 experts )。

1.2.1 AdaTT-sp

  1. AdaTT-sp 的详细设计如下:给定 T 个任务的输入 x,任务 tt=1,2,,T)的预测公式为:

    yt=ht(ftL(x))

    其中:

    • Lfusion levels 数量。

    • ht() 代表任务 ttask tower

    • ftL() 表示函数:该函数给出任务 t 在第 Lfusion levelfusion unit 的输出。此处,ftL() 通过从下至上应用 fusion layer(s)

      f10(x)=f20(x)==fT0(x)=xftl(x)=FUtl(f1l1(x),f2l1(x),,fTl1(x)),l=1,2,,L

      其中,FU() 代表一个 fusion unit

      一个 fusion unit 就是一个 layer,并且上一层的输出作为下一层的输入。

a. Fusion Unit
  1. 下面详细介绍 FUtl() 的构造。对于任务 t,在接收来自前一个 fusion level 的所有输出 {f1l1(x),f2l1(x),,fTl1(x)}后,我们首先利用函数 et,il()input ftl1(x) 为该任务构建 mt 个原生专家(记为 Et,il),i=1,,mt 。即:

    Et,il=et,il(ftl1(x))R1×dl,i=1,2,,mt

    其中:dlexpert representation 的维度。

    l 层的每个 expert network 都会生成一个长度为 dl 的向量。为简化表示,在第 l 层中,我们分别使用 EtlEl 表示任务 texperts 的垂直拼接、以及所有任务的 experts 的垂直拼接,具体而言:

    Etl=[Et,1l,Et,2l,,Et,mtl]Rmt×dlEl=[E1l,E2l,,ETl]R(m1+m2+.+mT)×dl

    其中:[,] 操作表示将向量或子矩阵垂直堆叠为更大矩阵的操作。

  2. 由于一个任务与其他任务可能具有不同的相关程度(degrees of correlation ), FUtl() 通过一个门控模块(gating moduleAllExpertGFtl() 直接建模 task-to-task knowledge fusion,该模块组合所有任务的 experts El。此外,我们利用轻量级线性组合 NativeExpertLFtl() 融合任务 tnative experts Etl

    从概念上讲,门控模块用于建模 shared learning ,而 native experts 的线性组合用于建模 task-specific learning。具体而言,任务 t 在第 l 层的 specific unit 的输出公式为:

    ftl(x)=FUtl(f1l1(x),f2l1(x),,fTl1(x))=AllExpertGFtl(El,Gtl)+NativeExpertLFtl(Etl)

    其中:GtlR(m1+m2++mT)×1gate weights,用于组合 El

    注意:El 依赖于所有 {f1l1(x),f2l1(x),,fTl1(x)},而 GtlEtl 仅依赖于 ftl1(x)

    本质上:线性组合 task-specific experts ,再叠加 selected all experts 。由于每一层都有线性组合,因此这相当于线性组合了不同 levelexperts

  3. 具体而言,experts 的融合方式如下:

    AllExpertGFtl(El,Gtl)=(Gtl)ElNativeExpertLFtl(Etl)=(vtl)Etl

    其中:

    • AllExpertGFtl() 中,El 与由函数 gtl() 生成的门控 Gtl 相乘。gtl() 有多种设计选择,常用的一种是采用带有 softmax 激活函数的单层 MLP

      gtl(ftl1(x))=softmax(Wtlftl1(x))

      其中:WtlR(m1+m2++mT)×dl1 为待学习的权重矩阵。

    • 而在 NativeExpertLFtl() 中,Etl 通过待学习的向量 vtlRmt×1 进行简单组合。

  4. m1=m2==mT=1(即所有 fusion units 仅包含一个 expert )时,为简化起见,NativeExpertLFtl(Etl) 退化为 Etl,并为 native expert 分配单位权重。

b. 简化
  1. 为提高实现效率,我们实际上可以用零填充 (vtl),使其与 (Gtl) 的尺寸匹配;然后将权重相加,并通过一次乘法组合所有experts。因此,ftl(x) 可以化简为:

    ftl(x)=(pad((vtl))+(Gtl))El

    可见,线性融合模块(linear fusion module)的引入仅导致计算量的微小增加。

1.2.2 General AdaTT

  1. 在通用形式中(如 Figure 1(b) 所示),AdaTT 采用可选的 shared fusion units 。从概念上讲,task-specific module pairs之间的 fusion 用于建模细粒度共享(fine-grained sharing),而 task-specific modulesshared modules 之间的 fusion 用于迁移适用于所有任务的广泛知识,从而实现高效且灵活的 task-to-task knowledge sharinggeneral AdaTT 的计算过程与 AdaTT-sp 类似,但在 final fusion level 中,shared fusion units 不执行任何融合操作,仅生成 expert outputs 从而供 task-specific fusion units 来处理。

    这相当于在每一层都增加一组 shared-experts,并逐层提取 shared information,类似于 PLE

  2. 总之,AdaTT 显式地学习 task specific knowledge ,并将其与 shared knowledge 进行自适应地融合。这种融合具有任务适应性(task-adaptive),原因如下:

    • 1):门控模块(gating modules )学习相对于任务的 native experts 的残差(residual )。

    • 2):每个 task-specific unit 融合 experts ,利用基于 inputspecialized gating module (从第二个 fusion level 开始,inputunique 的)。

    通过允许每个任务直接且灵活地从其他任务中学习 shared knowledgeAdaTT 相较于仅依赖 shared expert(s) 作为媒介的 PLE 具有更高的灵活性。此外,AdaTT 可选择仅使用 task-specific experts 。与 PLE(在单个门控模块中处理所有 selected experts )不同,AdaTT 在每个 fusion unit 内的不同线性融合模块(linear fusion module)中分别融合 native experts 。这种设计增强了每个 level of fusiontask-specific learning 的稳健性。尽管结构简洁,但实验结果表明,AdaTT 优于 PLE——PLE 在不同 fusion units 中对 experts 进行选择,并通过不同的路由路径(routing paths)区分这些 experts

    • AdaTT 考虑了 task-specific experts 的线性组合,而 PLE 没有这一项。

    • AdaTTtask-specific gates 考虑所有的 experts,而 PLE 仅考虑 shared experts 和当前任务的 experts

    • AdaTT 可以剔除 shared experts,而 PLE 必须包含 shared experts

1.3 实验

  1. 在本节中,我们呈现全面的实验结果,以突显所提出的 AdaTT 模型的有效性,并提供对该模型的更深入理解。

    本节分为四个部分:

    • 首先,我们简要描述 baseline 模型。

    • 其次,通过在真实世界的工业级数据集和公共数据集上进行实验,评估 AdaTT 相较于 SOTA 的多任务学习模型的有效性。对于工业级数据集,我们使用三组不同的 prediction tasks,以检验这些多任务学习模型在各种场景下的性能。

    • 接下来,我们进行单个组件的研究:通过消融 NativeExpertLF() 模块,验证 AdaTT 中包含 residual design 的重要性,其中 residual design 用于组合独立的模块来融合不同的 experts 。同时,可视化每个 task-specific unit 中学到的 expert weights,以展示 AdaTT 如何学习任务间的适当交互(这对于有效的 knowledge sharing 至关重要)。

    • 最后,我们对 AdaTT 的超参数进行研究,以理解 fusion levels 数量和 experts 数量与 AdaTT 性能之间的关系。

1.3.1 Baseline Models

  1. 我们采用 Shared-bottomMMoEMulti-level MMoE(原始 single-level MMoE 的扩展)、PLE 、以及 Cross-stitch Networks 作为基线模型。在这些模型中,MMoEPLECross-stitch Networks 均采用 soft-parameter sharing 技术。

    • MMoE:该模型为每个任务学习专用的门控模块,以融合多个 shared experts。给定 nexpert 模块 e1(),e2(),,en()、任务 ttask tower 模块 ht() 和门控模块 gt(),任务 t 的预测公式为:

      ft(x)=gt(x)[e1(x),e2(x),,en(x)]yt=ht(ft(x))

      其中:[,] 表示将向量垂直堆叠为矩阵。

    • Multi-level MMoE (ML-MMoE):该模型通过引入多个 levels of fusion ,扩展了原始的 single-level MMoE 。在 ML-MMoE 中,higher level expertslower level experts 作为输入,其中 lower level experts 由不同门控模块融合而来。与原始 MMoE 类似,所有门控模块均基于相同的原始 input

    • Cross-Stitch:该模型引入 cross-stitch units ,通过学到的权重对不同任务的 hidden layers 进行线性组合。

    • PLE:该模型显式地引入 task specific expertsshared experts,并采用渐进分离路由(progressive separation routing)策略。门控模块用于融合 task-specific and shared units 中选定的 experts 。在 PLE 中,shared units 可融合同一 level 的所有 experts,而 task-specific units 仅融合 shared experts 以及该任务的 native experts 。该模型与 AdaTT 最为接近。

    上述所有模型的对比如 Figure 2 所示。

1.3.2 Evaluation on Large-scale Short Video Recommendation

  1. 在本节中,我们呈现短视频推荐系统上的实验结果。该系统展示推荐视频列表,这些视频基于多个任务的分数进行排序。这些任务大致可分为两类:

    • engagement 任务:考虑用户的显式反馈,如评论视频。

    • consumption 任务:反映用户的隐式反馈,如观看视频。

  2. Task groups:我们创建三组任务,以全面评估这些模型在不同任务关系下的性能:

    • 第一组包含一个 engagement 任务和一个 consumption 任务,预计它们的任务相关性(task correlation)相对较低。

    • 第二组由两个相关性较高的 consumption 任务组成:

      • 第一个 consumption 任务与第一组中的 consumption 任务相同。

      • 第二个 consumption 任务选择为与第一组中的 engagement 任务具有相近的正例率。

      第一组和第二组均仅包含二分类任务。

    • 第三组增加任务数量至五个,并选择高度多样化的任务:其中三个为 consumption 任务,两个为 engagement 任务。

      • 一个 consumption 任务为回归任务,其余四个任务为二分类任务。

      • 在用户情感方面,包含一个负向任务(反映用户不喜欢)、以及四个正向任务。

      • 其中一个正例极为稀疏的 engagement 任务用作辅助任务。

        辅助任务参与训练,但是不参与评估。

    在报告所有 task groups 的结果时,我们首先呈现回归任务(若存在),随后按正例率从高到低的顺序呈现二分类任务。

  3. 实验设置:

    • 我们收集了约 70 billion 个样本的数据集用于训练模型,并在约 10 billion 个样本的测试集上测试其性能。

    • 在特征处理中,我们将所有 sparse features 转换为 dense embeddings,并与 dense features 拼接起来。

    • 所有任务使用相同的输入。

    • 所有模型在相同的框架下进行训练和测试,采用相同的 optimization settings (如 optimizerlearning ratebatch size )。

    • 训练时,二分类任务使用 Cross Entropy loss ,回归任务使用 MSE loss;所有任务的 loss 相加,并以相等权重进行优化。测试时,二分类任务使用归一化熵(Normalized Entropy: NE),回归任务使用 MSE

      归一化交叉熵:

      • 首先定义背景正例率为样本集合的经验正例率 p¯ ,它的熵被定义为背景熵:Hbg=p¯logp¯(1p¯)log(1p¯)

      • 其次,用所有样本的平均损失函数除以背景熵,即可得到归一化熵。

  4. 模型超参数:在实验中,所有模型均具有 3 hidden layers,激活函数为 ReLU。对于每组实验,我们进行两组对比:

    • 第一组将 MMoEPLEAdaTTshared-bottom 模型进行对比。为保证公平性:

      • PLEML-MMoEAdaTT 均设置 2 levels of fusion ,这 2 levels of fusion 分别使用 single-layer MLP experts ,第一层hidden dimensions256、 第二层为 128

      • MMoE 采用 hidden dimensions = [256,128]2-layer MLP experts

      此外:

      • 同时,我们对每个 level of fusionexperts 总数进行限制。

      • 这些模型中的所有门控模块均采用带有 softmax 激活函数的 1-layer MLP。值得注意的是,与 expert 模块相比,门控模块所需的计算量显著更小——尽管两类模块的 input 维度相同,但门控模块的总 output 维度几乎小两个数量级。

      • 所有模型的 task towers 均为 a single hidden layer of 64 units

      在该设置下,所有模型的计算量具有可比性( task towersexpert 模块主导计算过程)。在实验中,我们调优 PLEAdaTTtask-specific experts 数量和 shared experts 数量,同时调优 MMoEexperts 总数。

    • 第二组将 AdaTTcross-stitch modelshared-bottom 模型进行对比。

      • 为与cross-stitch model 具有可比性,AdaTT 采用与前一组实验类似的超参数,但每个任务仅使用 1 expert,且不使用 shared expert

      • cross-stitch model 具有 2 cross-stitch units,且 hidden layersAdaTT 相同。

  5. task group of engagement and consumption 的实验:对于该 task group,我们呈现了每个模型在训练 10 billion30 billion70 billion 个样本后,相对于 hared-bottom modelNE 差异,以及测试结果。Table 1Table 2 分别展示了 consumption 任务和 engagement 任务的结果。结果表明:

    • AdaTT 在两个任务中均优于所有其他模型,不仅收敛速度更快,而且性能质量更高。训练 10 billion 个样本后,两个 AdaTT 模型已在两个任务中展现出显著的 NE 提升。

    • 对于基线模型,PLEconsumption 任务上的收敛速度明显较慢;而 cross-stitch model 则大幅落后于 AdaTT,这表明 adaptive fusion 在任务关系建模中至关重要。

    • 值得注意的是,相较于consumption 任务,PLEAdaTT 在正例较少的 engagement 任务上的提升更为显著——但这种趋势在 MMoEML-MMoE 中并不明显,这突显了 task-specific learning 的重要性。

    • 有趣的是,尽管 ML-MMoE 通过额外的 fusion 操作具有更高的灵活性,但在两个任务中均表现不如 MMoE,表明其在 expert fusion 方面的性能较差。这可能是由于 ML-MMoE 的设计缺乏区分性(distinction )且存在先验知识(prior knowledge)约束:shared experts 具有高度对称性,均被每个门控模块使用,且没有显式建模的 task specific experts;此外,所有门控模块均接收相同的原始 inputfusion levels 的增加导致路由(routes)增多,使得 ML-MMoE 更难学习到用于预测每个特定任务的不同 weight combinations

    注意,对于 PLE 模型:

    • 首先,PLE 并不能在所有任务中超越 MMOE,这违背了 PLE 论文的结论(PLE 在每个任务中都大幅超越 MMOE)。

    • 其次,PLE 收敛速度较慢,在训练早期的性能太差。这也带来了一个疑问:实验结论是否是在每个模型都收敛的情况下进行比较的?

    • 最后,这里没有比较 AUC。读者猜测,实验结论跟评估指标强烈相关。如果切换到 AUC 指标,可能结论会有不同。

  6. task group of two consumption tasks 的实验:由于多任务学习模型的性能可能对任务相关性(task correlations)敏感,我们设计了一组实验,评估这些模型在两个相关的 consumption 任务上的性能(与 task group 1 中的低相关性任务形成对比)。Table 3 所示的结果表明:

    • 与基线模型相比,该组中所有模型在两个任务上的提升更为相似。这一结果并不令人意外——当任务相关性较高时,负向迁移的影响较小,两个任务均能从 higher level of shared knowledge 中获益。

    • 即使是具有较简单共享机制的多任务学习模型也能取得良好性能,导致 NE 差异不太显著。

    • 然而,AdaTT 在所有多任务学习模型中仍表现最佳。

  7. five diverse tasks 的实验:在该 task group 中,我们利用 5 个高度多样化的任务,评估模型处理复杂的 cross-task relationships 的能力。我们针对 4 main tasks 调优模型,并在 Table 4 中呈现结果(由于正例稀疏的 auxiliary task 噪声较大且性能不稳定,未将其纳入)。

    结果表明,AdaTT 在所有 main tasks 中均显著优于所有 baseline 模型,彰显了其在处理复杂任务关系方面的优越性。

    auxiliary task 效果差就剔除,感觉有点说不过去。

1.3.3 Evaluation on a Public Dataset

  1. 数据集:我们使用来自 1994 年和 1995 年当前人口调查的人口普查收入数据集(Census Income dataset)。该数据集包含 40 个特征和 299,285 个样本,其中训练样本 199,523 个,测试样本 99,762 个。我们将测试样本随机等分为验证集和测试集。任务包括:

    • 1):预测收入是否超过 50K

    • 2):预测婚姻状况是否为从未结婚。

    • 3):预测教育程度是否至少为大学水平。

  2. 模型超参数:

    • 本实验采用基于 《Heterogeneous Multi-task Learning with Expert Diversity》的框架,训练和测试 ML-MMoEPLEAdaTT

    • 模型结构与 Evaluation on Large-scale Short Video Recommendation 章节类似,但调整了 hidden dimensionsexperts 数量。

    • 实验分为两组,每个 fusion level 分别设置 6 experts9 experts 。调优 PLEAdaTTshared experts 数量 mstask-specific experts 数量计算为 6ms9ms

    • 为保证公平性,所有其他超参数在各模型间保持一致。

    • 调优 ms 后,每个模型在不同初始化条件下训练 100 次,并报告测试集上的平均 AUC

  3. Table 5 所示的结果表明,AdaTT 在所有任务中均优于基线模型。

    PLE 效果不如 ML-MMOE,违背了 PLE 论文的结论。

1.3.4 NativeExpertLF 模块的消融实验

  1. 在本节中,我们研究 fusion units 中带有 NativeExpertLF() 模块的残差机制(residual mechanism)的效果。我们通过消融 NativeExpertLF() 模块,仅利用 AllExpertGF() 模块组合每个 fusion unit 中所有 experts 的输出。

    我们采用与 Evaluation on a Public Dataset 章节类似的模型结构,每个任务固定设置 3 experts,且不使用 shared expert。两个模型均在 70 billion 个样本上进行训练,并在 10 billion 个样本上进行测试,结果如 Table 6 所示。

    尽管 AllExpertGF() 模块理论上能够学习灵活的 expert combinations ,但实验结果表明:单独组合 native experts 并将 AllExpertGF() 的输出作为 residual 来添加,这是至关重要的。具体而言,消融NativeExpertLF() 项会导致所有任务的性能下降:二分类任务的 NE 增加 0.107%-0.222%,回归任务的 MSE 增加 0.158%

1.3.5 gating module expert weight distribution 的可视化

  1. Figure 3 中,我们可视化了 NativeExpertLF() 模块和 AllExpertGF() 模块的权重相加后的专家权重分布(distribution of expert weights),以探究 AdaTT 的内部融合机制。

    NativeExpertLF() 模块给出了 task-specific experts 的线性权重;AllExpertGF() 模块给出了 all experts 的非线性权重。

    为评估专家利用率(expert utilization),我们选择了三个任务:两个consumption 任务和一个 engagement 任务。具体而言,在consumption 任务中选择一个回归任务,在 engagement 任务和 consumption 任务中选择两个正例率最高的二分类任务。我们设置 two levels of fusion,每个任务仅使用 one expert,且不使用 shared experttwo fusion levelsexperts 分别为hidden dimensions256128single-layer MLP 。模型训练完成后,将其应用于测试数据集,计算所有测试样本的平均权重,并为每个 fusion level 可视化 3x3 的权重矩阵。观察结果如下:

    • 首先,在 lower level of fusionlevel 0),模型能够区分任务间的关系:consumption 任务组和 engagement 任务组之间存在明显界限。

      此外,两个 consumption 任务之间存在非对称的共享模式(sharing pattern): consumption 二分类任务主要使用 expert 2 ,而 consumption 回归任务大致同等使用 expert 1expert 2

    • higher level of fusionlevel 1),由于更接近监督信号且捕获了丰富的语义信息,模型通过跨任务的 shared pattern 展现出 soft-parameter sharing 的优势:尽管 native expertstasks-pecific learning中发挥重要作用,但所有 experts 均被灵活利用,为 shared learning 做出贡献。在该 level

      • consumption 二分类任务通过利用 engagement 二分类任务特定的 expert 3、以及 consumption 回归任务特定的 expert 1,实现学习的多样化。

      • 同时,正例信号较少的 engagement 任务从两个consumption 任务中获益于知识迁移。

      • 相比之下,consumption 回归任务主要依赖其 native expert 1 和另一个 consumption 任务特定的 expert

      • 在所有 experts 中,expert 1(从 level 0expert 1expert 2mixture 中获得了最多样化的学习)在所有任务中均被赋予较高权重。

    总体而言,我们可以观察到明显的专业化(specialization):在每个任务、task groupinglevel of fusion,模型均学到独特的权重分布模式。

1.3.6 超参数研究

  1. 我们进行超参数研究,以探究 experts 数量和 fusion levels 数量的影响。两项研究均使用与 Evaluation on Large-scale Short Video Recommendation 章节类似的 5 prediction tasks,训练样本 70 billion个,测试样本 10 billion 个,模型采用 AdaTT-sp

  2. task-specific experts 数量的影响:为探究 task-specific experts 数量的影响,为简化起见,我们保持所有任务的 task-specific experts 数量一致,并在 1 ~ 4 之间变化。这些 experts 通过两个 fusion levelsone-layer MLPs 来构建,hidden dimensions 分别为 256128。分析结果如 Table 7 所示:

    • 随着 experts 数量的增加,所有任务的性能均有所提升。

    • 然而,提升并不均衡——在本研究中,当 experts 数量增加到 2 时,engagement 任务的 NE 提升相较于 consumption 任务更为微弱;但当 experts 数量进一步增加到 34 时,趋势发生逆转,engagement 任务的指标提升更为显著。

  3. fusion levels 的影响:我们还通过每个任务仅使用 1 expert ,探究了不同 fusion levels 配置的效果。逐步增加 fusion levels 数量,每个 level 采用 single-layer MLP。训练四个模型,不同 fusion levelsMLP experthidden dimensions 分别为 [256,128][512,256,128][1024,512,256,128][2048,1024,512,256,128]。所有模型的 task towers 均采用 hidden dimension = 64single-layer MLPs

    这种 hidden dimensions 是个梯形,导致 fusion levels 越大而模型参数扩张的更多,因此很难说是因为模型参数导致的性能提升,还是因为模型更深导致的性能提升。

    Table 8 所示的结果表明,正如预期的那样,增加 fusion levels 数量能够带来更大的性能提升。即使将 fusion levels 数量增加到 5,所有任务仍能观察到显著的性能改进。

1.4 结论

  1. 在本研究中,我们提出一种新型多任务学习模型——Adaptive Task-to-Task Fusion Network: AdaTT。通过利用其 adaptive fusion 机制,AdaTT 能够有效建模复杂的 task relationships ,并促进 task-specific knowledgetask-specific knowledge 的联合学习。

    通过在公共数据集、以及具有 diverse task groups 的真实世界工业级数据集上进行全面评估,我们验证了 AdaTT 的有效性和泛化能力。结果表明,AdaTT 显著优于 SOTA 的多任务学习模型。我们期望本研究能够惠及多任务学习之外的更广泛应用场景,在这些场景中,不同的 relevant specialized modules 能够协同学习。