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