近年来,大规模预训练语言模型(PLM)已经显著提升了各种 NLP 任务的性能。从 BERT 和 GPT-2 开始,自监督预训练 + 监督式微调的范式取得了巨大的成功,刷新了语义相似度、机器阅读理解、常识推理和文本摘要等很多 NLP 领域的 SOTA 结果。此外,中等规模的 PLM 实现了广泛和快速的模型微调和调整。
但是,在很多实际尤其是新颖的 NLP 场景中,受限于预算或者时间,用于有效微调的标注数据极其有限。这种情况刺激了零样本和小样本 NLP 模型的发展。从 GPT-3 开始,当仅给出任务描述以及可能的一些手动示例时,超级大规模 PLM(SL-PLM)在一般 NLP 任务上显示出了更强的性能。这种能力在以往的中等规模 PLM 中没有观察到。然而,SL-PLM 的前所未有的规模在很大程度上也限制了它们的广泛应用。小的科技公司和研究人员很难获得加载这些模型所需要的足够的计算资源,更不用说高效的部署和可能的微调了。
近日,微软认知服务研究小组(Cognitive Services Research,CSR)的两位研究者在其新论文《Impossible Triangle: What’s Next for Pre-trained Language Models?》中对未来的预训练语言模型进行了展望。
论文一作朱晨光(Chenguang Zhu)本科毕业于清华姚班,2016 年博士毕业于斯坦福大学。之后,他进入微软工作,现任 CSR 首席研究经理。
论文地址:https://arxiv.org/pdf/2204.06130.pdf
他们首先根据不可能三角(Impossible Triangle)的概念详细阐述当前使用 PLM 模型的难点,这里的不可能三角包括中等模型大小、SOTA 小样本学习能力和 SOTA 微调能力。研究者认为,所有现有的 PLM 模型都缺少不可能三角中的一个或多个属性。为了弥补 PLM 缺失的这些属性,人们提出了各种技术,例如知识蒸馏、数据增强和提示学习,这些不可避免地对 PLM 在真实场景中的应用带来了额外的工作。
针对这些情况,研究者对未来 PLM 的研究方向提出了自己的见解以实现不可能三角,并将任务分解成了三个关键阶段。
不可能三角
该研究用「不可能三角」这个经济学理论来形容 PLM 研究当前遇到的障碍,如图 1 所示。这个三角描述了高效使用 PLM 三个关键属性:P1 表示模型尺寸,P2 表示 SOTA 小样本学习能力,P3 表示 SOTA 自监督学习能力。这三个要素对应 PLM 在实际应用中的三个需求:P1 用于使用合理数量的计算资源进行高效部署;P2 用于标记数据为零或很少的场景;P3 针对标注数据比较丰富的场景。
不可能三角存在的一个潜在原因是,在当前阶段,只有当 PLM 规模足够大、容量足够高,小样本学习能力才会出现。虽然有研究设计出了中等规模的 PLM(例如 iPET),以实现比 GPT-3 更好的小样本学习能力,但该模型被后来的 SL-PLM 超越,之后随着模型的不断扩展,零样本或小样本学习性能不断得到提高。例如,与具有 8B 和 62B 参数的模型变体相比,具有 540B 参数的 PaLM 在许多任务上的准确率都有了大幅提升。因此,在保持卓越的监督学习能力的同时,开发具有 SOTA 零 / 小样本学习性能的中等规模模型仍然是一个巨大的挑战。
尽管没有 PLM 实现不可能三角中的所有三个属性,但它们中的许多已经获得了其中的一两个功能:
中等规模 PLM(P1 + P3):这些语言模型具有中等规模,参数小于 10 亿,能够有效地进行调优和部署。这类模型在一般的 NLP 任务中(例如 GLUE 基准、文本摘要、open-domain 问答、尝试推理)可以达到 SOTA 性能。然而,这类模型通常具有相对较弱的零 / 小样本学习能力,这意味着使用这些模型取决于目标域中足够的标记数据。
超大规模 PLM(P2):这些语言模型具有超大规模,参数 1 到 10000 亿,并且在大规模数据上进行了预训练。例如,具有 5400 亿参数的 PaLM 在具有 7800 亿个 token 的不同文本语料库上进行了预训练。当具有 prompt 任务描述和一些少量的输入 - 输出样本对时,这类模型在一般的零 / 小样本 NLP 任务上实现了 SOTA 性能。然而,一般而言,SL-PLM 的零 / 小样本性能低于有监督训练模型的性能;在微调之后,许多 SL-PLM 的性能仍然低于最佳微调的中等规模的 PLM,可能是由于这类模型尺寸巨大难以微调。
当前都有哪些弥补方法
由于不可能三角关系的存在,研究者采取不同措施来解决。可总结如下:
巨大的模型规模(缺少 P1)。当 SL-PLM 显示出极好的小样本学习能力以及微调后性能强大,就会发生这种情况。为了获得性能与 SL-PLM 相似的中等大小的模型,一种常见的做法是知识蒸馏 (KD)。在 KD 中,较大的模型充当教师,较小的模型是学生,学生从教师的预测分布或参数中学习。知识蒸馏在创建更有效的模型方面非常有效,但性能却略有降低。然而,知识蒸馏仍然存在两个问题:首先,学生模型很难达到与老师模型相同的性能;其次,SL-PLM 大尺寸阻碍了推理,使其作为教师模型不方便使用。
较差的零 / 小样本性能(缺少 P2):这对于中等规模的 PLM 最常见,它们在微调后可以实现 SOTA 性能,但具有相对较低的零 / 小样本学习能力。当缺少足够的标记数据时,部署这样的模型是比较好的。数据增强是一种常用方法,通过从其他模型或噪声注入生成伪标签和伪数据实例,该模型可以利用这些额外数据进行有效的监督训练。然而,伪数据质量的变化和不同任务中数据类型的多样性对普遍适用的解决方案提出了挑战。
监督训练性能较差(缺少 P3):这在微调 SL-PLM 时很典型,在这种情况下,计算资源有限或训练数据的数量不足以调整一个超大型模型。一个典型的解决方案是 prompt 学习。可以利用 hard prompt(即离散文本模板)或 soft prompt(即连续模板),以便在微调期间仅更新 hard prompt 词或 soft prompt 参数。这已被证明对于提高给定标记数据的 SL-PLM 的性能非常有效。但是,但这种方式对 prompt 的设计非常敏感,同时效果不如有监督学习的中等规模 PLM。
三个关键阶段
虽然目前 NLP 模型存在不可能三角,研究者认为它可以通过以下三个阶段来解决。
阶段 1:PLM 的开发目标是实现三角中的一些期望属性,同时对其他缺失的属性进行改进。例如,具备 SOTA 监督学习能力的中等规模的模型可以提升其小样本学习性能;或者具备小样本学习能力的 SL-PLM 被压缩成具有更强监督学习性能的更小模型。
阶段 2:开发在少数 NLP 任务之一(如 NER 或文本摘要)上实现所有三种期望属性的 PLM。为此,我们可以利用目标任务的独特属性,例如性能对训练数据规模的依赖更少、零 / 小样本和监督学习性能之间的差距更小等。
阶段 3:在阶段 1 和阶段 2 进展的基础上,开发在一般 NLP 任务上实现所有三种期望属性的 PLM。潜在的方法包括使用更大的数据预训练中等规模的模型、开发更好的知识蒸馏、泛化数据增强方法等。
一旦 PLM 模型在一般 NLP 任务上具备了不可能三角的所有三种属性,它将改变 NLP 研究和应用的整个局面,促进快速、高效和高质量的模型开发和部署。