2022 年 1 月,循环智能的联合创始人杨植麟博士在做客机器之心「2021-2022 年度 AI 技术趋势洞察」的「模型专场」直播间时,为我们带来了主题为「大规模预训练模型的新思考:效率和泛化」的学习分享。
杨植麟主要从两个方面:效率和泛化来跟我们分享预训练大模型的一些思考和初步尝试。首先杨植麟从 Scaling Law 导入,他认为 Scaling Low 在领域的研究可能会分成两部分,一部分是会存在于还没有饱和的区域,这部分区域在于提升方法的效率,即用更少的 flops 达到一样的效果或者等价 flops 得到更好的 performance,而在不饱和区域在于学习范式进一步的提升来泛化更多的场景应用。因此效率和泛化是比较重要的两点。
Efficiency
上图可以看到,小模型如 RoBERTa-Large 的训练就用了 1000 个 GPU,GPT-3 的 flops 是 RoBERTa-Large 的 50 多倍。
这造成的问题就是世界上大部分的研究者只能是去研究怎么样去提升 fine-tuning。从整体的基数来说,可能 95% 的人是没有这个算力能够去研究预训练这个事情,然而实际的效果和性能的上限是取决于预训练的过程。因此,对于长期的领域发展来说,这是非常不利的。
那么如何民主化 AI ,降低 AI 发展的门槛和壁垒,杨植麟这里介绍了一种解决方法,完全不需要预训练语言模型的高效学习框架 TLM (Task-driven Language Modeling)。
TLM 相比传统模式能够很大程度上提升 efficiency,同时对特定任务的 performance 不会有损失。
TLM 和 PLMs 的对比
TLM 只需要用到通用语料中非常小的一个子集,从很大程度上将原本普通从业者难以承受的算力要求降低到相对来说可以接受的一个程度。
杨植麟提到,TLM 是通过牺牲通用性的方式去取得了一个单个 task 效率的一个极致提升,但未来完全有可能通过与新范式结合达到效率和通用性的一致性。
结果表明,TLM 在提升了近两个数量级的情况下,其效果仍然比基于 pre-training 的方式更好。因此说明 TLM 可以大幅度的节省训练的代价,且同时不会产生对结果负面的影响。
虽然没有用到完整的通用语料,但是随着通用语料的变大,TLM 仍然会变得更好,而且变好的幅度实际上是跟传统的预训练模型的幅度是可以进行 scale 的。
Generalization
杨植麟在这部分提到,目前有这样一个趋势,不管是通用的方法还是 task specific 的方法其实很大程度上都是在形成一个统一的生成的框架。
当统一了很多任务之后,其实就存在一个新的机会,可以基于 prompt-based 的训练和推理方式去进行 零样本(Zero-Shot)学习。
杨植麟认为,大规模的多任务的基于 prompt 的预训练的过程其实很重要的一个因素是预训练的过程中的任务数量,因此他们第一次尝试在此范式下的预训练的任务的数量扩展超过了 1000。
结果表明,当训练任务非常非常多的时候,模型大小在这里面仅起到一个非常次要的作用。甚至模型达到一定程度后,将不会有明显的区别。
因此,当我们在训练任务这个维度去进行 scale 的时候,我们可以极大程度节省其他维度的量,比如大规模节省 training flops 的数量、节省 model size。
同时,在把所有的测试集都设定为一个新的类别的情况下,仍然可以得到非常相似的 task scaling 的现象。
在最后,杨植麟也总结了目前存在的挑战和未来的工作,包括如何研究出一个通用的 TLM 以及如何真正去理解和提升零样本学习的泛化等。
参考资料:
[1] NLP From Scratch Without Large-Scale Pretraining: A Simple and Efficient Framework. X Yao, Y Zheng, X Yang, Z Yang.
[2] ZeroPrompt: Scaling Prompt-Based Pretraining to 1,000 Tasks Improves Zero-Shot Generalization. H Xu, Y Chen, Y Du, N Shao, Y Wang, H Li, Z Yang