世界是由一块块“积木”拼装起来的。这首先反映在人类对游戏世界的无限畅想中。

作为二十一世纪人类最有名的游戏IP之一,Minecraft构建了这样一个用积木造就的开放世界;其中所有的物体都是由一个个拥有不同材质不同功能的立方体组成。不同立方体虽然性质单一,但能够通过多样化的排列组合,合成新的材料或者工具。这样的世界观给予了玩家极大的自由度和游玩方式,成为了游戏史上一个重要的里程碑。

尽管游戏离我们的生活还很遥远,但现实中的通过将一个大的系统拆分为单元模块的设计方式已经深入我们生活的方方面面。科学家统称为这样的方法论为模块化设计

当你随手拿起你的手机或电脑,当你打开你新买的汽车,当你搬家来到你的新房,你就可以看各式各样由零件拼装而来的人造产物。这些“积木”,可以是一颗颗螺丝,可以是精密的芯片,也可以是一块最不起眼的砖头。他们通过拼接组装的方式,自下而上的构建起人类社会的方方面面。

 

AI模型也是可以拼装的吗?

随着通用AI模型的逐步增大,人们也逐渐发现这些方法存在的巨大问题。

首先,大模型意味着巨量的训练成本和推理开销。另一方面,庞大的体量也极大地妨碍了模型的扩展性。例如,假设有一项从未在训练集中出现的任务或样本,我们不得不针对新任务,重新对模型进行全局的增量训练。这使得模型的迭代成本极为高昂,很难快速适应新任务或在用户提出的新需求。除此之外,通用大模型大模型也对AI的可信度提出了新的挑战。因为在训练过程中多个任务的特征提取是交织在一起的,通常的可解释性算法难以在巨大的网络架构中精准定位对预测至关重要的特征或网络参数。这使得大模型的预测更难以被人类理解。

针对上述的诸多问题,一个可能的解决方法在于把一个大模型拆分为一系列子模型。例如,彩票假设(The Lottery Ticket Hypothesis)认为一个大模型中可以找到一个足够强的子网络。另一个有名的例子是由Google提出的PathWay模型,它认为可以将一个多任务大模型看成是一系列专家的组合(Mixture of Experts)。针对每次推理,我们只需要运行大模型中一个稀疏连接的子模型即可。然而,上述方法虽然开始考虑了大模型的模块化设计,但仍然处在初步的构思阶段

建构在这样的思路之上,来自NUS的研究者设计了一种算法,希望把一个大模型看作是一系列原子能力的叠加,并分解成为得到多个小模型。其中每一个小模型拥有大模型的部分能力,处理单一任务,参数量极小。针对不同的任务,我们可以通过对原子网络的组合来实现能力的组合。这不但极大拓展了模型的扩展性,也能保证了任务之间的可解释性。

 

该研究已被ECCV2022接受,文章题目为《Factorizing Knowledge in Neural Networks》

Arxiv: https://arxiv.org/abs/2207.03337

Code: https://github.com/Adamdad/KnowledgeFactor