先这样答
MMOE 和 PLE 都是多任务模型。MMOE 让多个任务共享若干专家网络。每个任务都有自己的门控网络。门控网络会对专家输出加权,再组合成该任务的表示。这样,多个任务可以复用专家能力,也可以根据任务需要选择不同的专家组合。
MMOE 的问题是任务之间可能存在冲突。多个任务共同使用专家时,参数会同时受到不同任务目标的影响。冲突任务会让参数互相拉扯,进而产生负迁移。PLE 针对这个问题,把专家分成任务独占专家和共享专家。每个任务使用自己的独占专家,也使用共享专家。这样既保留任务之间的信息共享,也减少任务之间直接争用同一组参数。
两者的核心区别是专家是否分离。MMOE 主要通过任务门控来完成专家组合,但专家本身由任务共同使用。PLE 在专家结构上进一步做了任务独占和共享的分离,并采用渐进式分离路由。回答多任务模型演进时,可以说路线是 ESMM 到 MMOE,再到 PLE,之后出现 OneRec 类生成式推荐。
面试官会怎么追问
-
「MMOE 为什么会出现负迁移?」 MMOE 的多个任务共同使用专家网络。冲突任务会把共享参数往不同方向调整,导致一个任务的优化影响另一个任务。
-
「PLE 相比 MMOE 具体改了什么?」 PLE 把任务独占专家和共享专家分开。任务可以使用自己的专家,也可以使用共享专家。它通过渐进式分离路由减少任务冲突。
-
「多任务模型大致经历了哪些演进?」 可以按 ESMM、MMOE、PLE、OneRec 类生成式推荐来回答。前面的方法逐步处理多任务共享和任务冲突问题,后面出现了生成式推荐方向。
回答的坑
-
不要把 PLE 说成完全不共享参数,它仍然保留了共享专家。
-
不要只说 MMOE 有多个专家,还要说明每个任务通过自己的门控网络加权组合专家输出。
同系列的题
这家公司的面经实录