DeepMind“反向”搭建Transformer方法火了!项目已开源

d5c5a57c04db5e99dca4d8f495e9fab3.jpeg

文|萧箫

源|量子位

先搭个模型,效果好就试着解释它,是我们常见的AI设计套路。

但,有人已经受够了这样“莫名其妙”的流程——

既然人类总是试图解释AI模型,那为什么不能反过来,直接用看得懂的程序来设计AI模型权重呢?

这样做出来的模型,既提升了它的可解释性,又降低了设计架构的复杂度。

97194e26e6c4e0f9c5e7ae461d2e6bca.png

这是DeepMind针对Transformer模型设计的最新工具,被po到网上后爆火:

63135d06391578487a7200a5660813a2.png

有网友惊讶表示:

这真有意思。它或许是第一个能将代码(软件1.0)变模型(软件2.0)的系统。

736c6699e1b725cfdbcf8249d0616758.png所以它究竟是如何实现的?

将可读代码转变成AI权重的“编译器”

这个将可读性较高的代码“翻译”成Transformer模型的工具,名叫Tracr

具体来说,它有点像是一个“编译器”,懂得将一种名叫RASP(Restricted Access Sequence Processing Language)的编程语言转换成Transformer模型权重。

RASP,是此前在ICLR 2021一篇论文中提出的“编程语言”,专门根据Transformer架构(编解码器-注意力机制等)设计。

Tracr则在此基础上更进一步,不仅简单优化了原有的RASP语言,而且能将基于RASP编写的程序很好地转换为Transformer模型的权重。

具体来说,Tracr会先将“编程语言”RASP转换成“汇编语言”craft,后者表示向量空间以及其间的对应操作,再进一步地,将craft转变成“机器码”模型权重。

b4271ddaeb7bbba108f6c72574943e22.png

具体实现过程如下,一共分为5步:

1a4af0f34e8e8b18e5ee53982985c406.png

基于它,作者们创建了一系列人工编写程序的基准Transformer,包括计算token频率、排序以及Dyck-n括号识别等。

c57a4669a395820e575f09b9f91fa106.png

据一作介绍,Tracr最大的亮点在于,可以“从0开始搭建你自己的Transformer模型”。

还提出了配套压缩方法

不过,基于Tracr打造的模型可能效率很低,因此作者们又提出了一种配套的“压缩”方法。

基于案例来看,这种方法不仅能让Tracr模型更高效,而且允许将D维特征压缩到小于D维的特征空间中。

例如这是基于RASP语言编写的程序示例:

9e6635adb2f6a852ab067f32e1581dde.png

在对模型进行压缩后,同样能很好地完成原来的任务,且效果相差不大:

84657f994daeab01799747a3b2c19208.png

同时作者们还观察到,在对模型进行压缩后,它甚至保留了更重要的特征,学会自动筛掉一些不重要的特征:442b6018e46dbc3515fb9d88f3c2ae60.png

与此同时也能保证一个不错的精度:c82929c90a9caefa56856362bd1c911e.png目前对应的Tracr模型已经开源,感兴趣的小伙伴们可以去查看一波~

作者介绍

论文作者们分别来自DeepMind和苏黎世联邦理工学院。75d622193eba8bce4162e3050ad7c588.png

一作David Lindner,苏黎世联邦理工学院在读博士生,这份工作是他在DeepMind实习期间完成,目前感兴趣的研究方向是AI鲁棒性、强化学习等。

ea19424df5c1510ead5a38c423bdb7a0.png

你想好用它设计一个怎样的Transformer模型了吗?

论文地址:
https://arxiv.org/abs/2301.05062 

项目地址:
https://github.com/deepmind/tracr

bec9a228d4ec3e1798d3a31b50dd55b8.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值