DataLearner 标志

多模态预训练模型来临——DeepMind最新的可以完成多种任务的单一预训练模型发布

289 阅读

使用一个单一的模型处理不同领域的多种任务是一个非常诱人的工作。因为为每一个领域单独设计训练一个模型需要很多算法工程师投入很多精力。同时,transformers的模型如果使用多种不同的输入数据(只要数据可以被序列化成flat sequence,都可以被transformers摄入),可以增加输入数据的多样性以及数量级。因此,在不同的领域,可以处理多种任务的多模态的单一模型的性能都一直在提高。并且,从历史上看,善于利用计算的通用模型最终也都会超过特定领域的专业模型。

而预训练模型这几年也被证明在各个领域都取得了很好的成绩。因此,DeepMind开始结合二者的优势,即使用一个模型,在不同的数据集下训练,使之可以使用一个网络架构,一套权重但是可以处理多种任务的模型,即这篇论文所提出的Gato。Gato,其实例化为一个单一的、大型的transformers序列模型。通过一组权重,Gato可以参与对话、字幕图像、用真实的机器人手臂堆叠块、在玩Atari游戏方面优于人类、在模拟3D环境中导航、遵循指示等等。


在Gato的训练阶段,来自不同任务和模式的数据被序列化为一个扁平的标记序列,分批进行,并由一个类似于大型语言模型的转化器神经网络处理。由于mask了损失,因此Gato只预测动作和文本目标。

在部署Gato时,例如demonstration,被标记化,形成初始序列。接下来,环境会产生第一个观察结果,这个观察结果也会被标记化并附加到序列中。Gato对动作向量进行自回归采样,一次一个标记。

一旦构成动作向量的所有标记被采样(由环境的动作规范决定),动作被解码并被发送到环境中,环境会采取措施并产生一个新的观察。然后,该程序重复进行。该模型总是在其1024个标记的上下文窗口中看到所有以前的观察和行动。


Gato的提出非常有意思,如果单一模型可以处理多种任务,又是预训练模型的话,那么它的性价比就很高了。不过DeepMind并没有开源,但是业界有位童鞋自己做了一个非官方的实现:https://github.com/OrigamiDream/gato 大家可以尝试。

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码