机器之心从word2vec开始,说下GPT庞大的家族系谱( 八 )


这是 XLNet(AR)的:
机器之心从word2vec开始,说下GPT庞大的家族系谱
本文插图
这是 BERT(AE)的:
机器之心从word2vec开始,说下GPT庞大的家族系谱
本文插图
这两个公式的具体意思我这里就不详细讲了 , 感兴趣的可以去看原论文 , 我之所以贴出这两个目标函数 , 重点在于 XLNet 的 “=” 和 BERT 的 “≈” 。 而这个“≈” , 就是抛弃自回归特性带来的代价 。 至于具体原理 , 由于输入中预测的 token 是被 mask 的 , 因此 BERT 无法像自回归语言建模那样使用乘积法则(product rule)对联合概率进行建模 , 他只能假设那些被 mask 的 token 是独立的 , 而这个“≈” 就是来自于这个假设 。 同时 , 因为模型微调时的真实数据缺少 BERT 在预训练期间使用的 [MASK] 等人工符号 , 也就是在输入中加入了部分噪音 , 这会导致预训练和微调之间出现差异 。 而 AR 模型不需要在输入中加入这些噪音 , 也就不会出现这种问题了 。
他的哥哥们之所以选择 AR 模型 , 是因为 AR 模型在生成任务中表现得更好 , 因为生成任务一般都是单向且正向的 , 而且 GPT 的招牌中就明确写出了他们的主要工作是 Gnereative pretraining 。 因此 AR 和 AE , 具体来说就是选择 encoder 还是 decoder , 其实最本质还是一种权衡利弊 , 最适合自己的就是最好的 。
【外传】Transformer 的私生子们
私生子们因为不受到重视 , 反而就会格外努力去遵循父亲的指导 , 尽心尽力去改进父亲的不足 。 Transformer 的其中一个私生子 , transformer XL[17](XL 的意思是 extra long) , 表现很出色(主要是他的儿子 XLNet[16]出色) , 让 transformer 回归了 AR 的本性 , 也让 Transformer 可以处理的序列更长了 , 前面也说过 AR 模型的优势 。 但是 AR 模型之所以没有这些缺陷是因为他们没有使用 Masked LM 方法 , 而 Masked LM 的提出正是为了解决 AR 模型的限制之一——AR 语言模型仅被训练用于编码单向语境(前向或后向) , 而下游语言理解任务通常需要双向语境信息 。 可见 AR 阵营本身有自己的优势 , 但如果想要获得更大的胜利 , 就必须找到一个比 Masked LM 更好的办法来解决双向语境问题 。
可是他究其一生也没能完成这个任务 , 他的儿子 XLNet 弥补了它的遗憾 , 解决了双向语境问题 , 大概的方案就是
机器之心从word2vec开始,说下GPT庞大的家族系谱
本文插图
图 16:XLNet 提出的双向语境方案(图源:[16])
一开始 AR 模式不是只能单向工作吗?那就把输入乱序 , 找到所有的排列组合 , 并按照这些排列组合进行因式分解 。 当然这样计算量很大 , XLNet 也想到了很好的方式来解决 , 具体怎么解决的这里就不说了 , 可以去原论文看一下 , 但是 XLNet 确实在当时也引起了不小的波澜 , 也算是私生子们一场不小的胜利了 。
【现代】GPT2 & 3 —— 大即正义 (Bigger than bigger)
最后回到当下 , 也是现在的 GPT2 和 GPT3 , 读到这里 , 其实 GPT2 和 GPT3 就没什么技术细节可以讲了 , 他们发现父辈们已经开创了一个时代 , 比如 BERT 打破了自然语言处理领域模型在各项任务中的记录 , 而且在描述模型的论文发布后不久 , 该团队还开源了该模型的代码 , 并提供了已经在大量数据集上进行了预训练的模型 。 这是一项重要的发展 , 因为它使任何构建涉及语言处理的机器学习模型的人都可以使用此强大的功能作为随时可用的组件 , 从而节省了从训练语言处理模型上来的时间 , 精力 , 知识和资源(如图 17 所示) 。
机器之心从word2vec开始,说下GPT庞大的家族系谱