DeepMind“反向”搭建Transformer方法火了:由可解釋程序設(shè)計(jì)AI,項(xiàng)目已開源
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
先搭個(gè)模型,效果好就試著解釋它,是我們常見的AI設(shè)計(jì)套路。
但,有人已經(jīng)受夠了這樣“莫名其妙”的流程——
既然人類總是試圖解釋AI模型,那為什么不能反過來,直接用看得懂的程序來設(shè)計(jì)AI模型權(quán)重呢?
這樣做出來的模型,既提升了它的可解釋性,又降低了設(shè)計(jì)架構(gòu)的復(fù)雜度。
這是DeepMind針對(duì)Transformer模型設(shè)計(jì)的最新工具,被po到網(wǎng)上后爆火:
有網(wǎng)友驚訝表示:
這真有意思。它或許是第一個(gè)能將代碼(軟件1.0)變模型(軟件2.0)的系統(tǒng)。
所以它究竟是如何實(shí)現(xiàn)的?
將可讀代碼轉(zhuǎn)變成AI權(quán)重的“編譯器”
這個(gè)將可讀性較高的代碼“翻譯”成Transformer模型的工具,名叫Tracr。
具體來說,它有點(diǎn)像是一個(gè)“編譯器”,懂得將一種名叫RASP(Restricted Access Sequence Processing Language)的編程語言轉(zhuǎn)換成Transformer模型權(quán)重。
RASP,是此前在ICLR 2021一篇論文中提出的“編程語言”,專門根據(jù)Transformer架構(gòu)(編解碼器-注意力機(jī)制等)設(shè)計(jì)。
Tracr則在此基礎(chǔ)上更進(jìn)一步,不僅簡(jiǎn)單優(yōu)化了原有的RASP語言,而且能將基于RASP編寫的程序很好地轉(zhuǎn)換為Transformer模型的權(quán)重。
具體來說,Tracr會(huì)先將“編程語言”RASP轉(zhuǎn)換成“匯編語言”craft,后者表示向量空間以及其間的對(duì)應(yīng)操作,再進(jìn)一步地,將craft轉(zhuǎn)變成“機(jī)器碼”模型權(quán)重。
具體實(shí)現(xiàn)過程如下,一共分為5步:
基于它,作者們創(chuàng)建了一系列人工編寫程序的基準(zhǔn)Transformer,包括計(jì)算token頻率、排序以及Dyck-n括號(hào)識(shí)別等。
據(jù)一作介紹,Tracr最大的亮點(diǎn)在于,可以“從0開始搭建你自己的Transformer模型”。
還提出了配套壓縮方法
不過,基于Tracr打造的模型可能效率很低,因此作者們又提出了一種配套的“壓縮”方法。
基于案例來看,這種方法不僅能讓Tracr模型更高效,而且允許將D維特征壓縮到小于D維的特征空間中。
例如這是基于RASP語言編寫的程序示例:
在對(duì)模型進(jìn)行壓縮后,同樣能很好地完成原來的任務(wù),且效果相差不大:
同時(shí)作者們還觀察到,在對(duì)模型進(jìn)行壓縮后,它甚至保留了更重要的特征,學(xué)會(huì)自動(dòng)篩掉一些不重要的特征:
與此同時(shí)也能保證一個(gè)不錯(cuò)的精度:
目前對(duì)應(yīng)的Tracr模型已經(jīng)開源,感興趣的小伙伴們可以去查看一波~
作者介紹
論文作者們分別來自DeepMind和蘇黎世聯(lián)邦理工學(xué)院。
一作David Lindner,蘇黎世聯(lián)邦理工學(xué)院在讀博士生,這份工作是他在DeepMind實(shí)習(xí)期間完成,目前感興趣的研究方向是AI魯棒性、強(qiáng)化學(xué)習(xí)等。
你想好用它設(shè)計(jì)一個(gè)怎樣的Transformer模型了嗎?
論文地址:https://arxiv.org/abs/2301.05062
項(xiàng)目地址:
??https://github.com/deepmind/tracr??