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