這篇名為《面向通用人工智能的混合天機芯片架構》(Towards artificial general intelligence with hybrid Tianjic chip architecture)的論文展示了一輛由新型人工智能芯片驅動的自動駕駛自行車。試驗中,無人自行車不僅可以識別語音指令、自動控制平衡,還能對前方行人進行探測和跟蹤,并自動避開障礙。
鑒于目前機器學習和神經科學的進展,AGI 系統至少應該具備以下特征:首先,支持能夠表示豐富時空關系的龐大而復雜的神經網絡;第二,支持分層、多粒度和多域網絡拓撲,但不局限于特定的網絡結構;第三,支持多種模型、算法和編碼方案;第四,支持為并行處理中不同任務而設計的多個專用神經網絡之間的交叉合作。因此我們需要一個通用平臺來有效地支持統一架構中的這些特性,該架構可以實現流行的 ANN 以及神經科學啟發的模型和算法。
計算機科學+神經科學
為了支持這些特性,研究者開發了一個跨范式(cross-paradigm)計算芯片,它可以適用于計算機科學導向和神經科學導向的神經網絡(圖 1)。設計一個兼容多種神經模型和算法的通用平臺是一項基本的挑戰,特別是對不同的 ANN 和生物啟發的基元(如 SNN)而言。通常情況下,ANN 和 SNN 在信息表征、計算哲學和記憶組織方面具有不同的建模范式(圖 2a)。其中,最大的差異是 ANN 以精確的多位值(multibit value)處理信息,而 SNN 使用的是二進制脈沖序列。為了在一個平臺上實現這兩種模型,脈沖需要表征為數字序列(1 或 0),以便它們與數位的 ANN 編碼格式兼容。
其他幾個關鍵點也需要仔細考慮。首先,SNN 是在時空域上運行的,它需要在特定的時間內記憶歷史膜電位和脈沖模式,而 ANN 則是在中間累積加權激活,并在每個周期更新信息;其次,SNN 的計算包括膜電位集成、閾值交叉和電位重置,這些都是由脈沖事件驅動的。與之相反,ANN 主要與密集的乘法累加(MAC)運算和激活轉換有關;第三,SNN 中脈沖模式的處理需要可編程位存儲器和高精度存儲器來存儲膜電位、觸發閾值和不應期,而 ANN 只需要字節級存儲器用于激活存儲和轉換即可。
在軸突塊中,研究者部署了一個小的緩沖存儲器來存儲 SNN 模式下的歷史脈沖模式。這個緩沖區內存支持可重構的脈沖收集持續時間和通過移位操作實現的位級訪問。在 ANN 模式下,相同的內存可以被重組為雙向數據塊(ping-pong chunk),以緩沖輸入和輸出數據;這就為并行處理解耦了計算和數據傳輸。在這里,突觸權重和神經元參數被固定在芯片上的內存中,并通過最小化處理單元與內存之間的數據傳送來實現本地化的高通量計算。在樹突塊中,SNN 模式下的膜電位集成與 ANN 模式下的 MAC 共享相同的計算器,同時在處理過程中重新統一了 SNN 和 ANN 的高級別抽象。
結合軸突、突觸、樹突和胞體,研究者設計出了一個統一的功能核(FCore);為了實現深度融合,幾乎整個 FCore 都是可重構的,從而可以在不同的模式下獲得較高的利用率。樹突和胞體在操作過程中被分成多個組,每個組中的計算都是并行的 (在每個時鐘周期下每個樹突使用 16 個 MAC),而組間執行是串行的。FCore 能夠涵蓋大多數 ANN 和 SNN 所使用的線性集成和非線性轉換操作。此外,為了在神經元之間傳遞信息,研究者還建立了一個神經路由器來接收和發送消息。由于消息可以根據配置以 ANN 或 SNN 格式進行編碼,所以研究者為路由包設計了統一輸出格式。路由包通常包含控制、地址和數據段,其中數據段既可以是 ANN 模式下的多位激活值,也可以是 SNN 模式下的空值,因為路由包本身充當了一個脈沖事件。根據需要,前胞體(pre-soma)可以根據胞體配置將輸出打包成 SNN 或 ANN 格式,后軸突(post-axon)可以根據軸突配置將路由包解析為 SNN 或 ANN 格式。
由于軸突(輸入)和胞體(輸出)完全獨立的可配置性,以及共享的樹突(計算),FCore 通過適當地連接多個核心,為構建同構或異構網絡提供了極大的靈活性。如果將所有部件以相同的模式配置,一個 SNN 或 ANN 網絡基元的同構范式可以支持許多單一范式模型,包括 SNN 和 ANN(如多層感知器、卷積神經網絡、循環神經網絡和基于速率的生物啟發神經網絡)。此外,FCore 允許構建異構網絡來探索混合建模。通過對軸突和胞體在不同模式下的獨立配置,可以輕松地實現一個「以 ANN 為輸入、以 SNN 為輸出」或「以 SNN 為輸入、以 ANN 為輸出」的混合網絡基元(圖 2e)。換句話說,FCore 可以充當 ANN/SNN 轉換器。這種跨范式方案為設計創新的混合模型提供了可能,并為跨模型探索提供了一個有效的平臺。 圖 2:天機芯片的設計。
a.ANN 或者生物啟發神經元(例如 SNN)的計算模型。w_0、w_1、w_2 是突觸權重;x_0, x_1, x_2 是輸入激活;Σ是樹突整合;f 是激活函數;b 是偏差。b 圖是 ANN 或者 SNN 神經元的實現圖解。V(t) 是 t 時間步的神經膜電位,V_th 是發放閾值。藍色框中的數值是輸入激活/spike 和權重值樣本。SNN 通道中暗紫色相乘符號表明樹突或許可以不做乘法運算(例如,時間窗長度等于 1 時)。c 圖是混合線圈的圖解,表示融合了 ANN 和 SNN 組件的一種跨范式神經元。d 圖是統一的功能核(FCore)圖解。每個 FCore 包括軸突、突觸、樹突、胞體和神經路由器構建單元。e 圖是 FCore 的靈活建模配置和拓撲結構。編碼方式可在 ANN 和 SNN 模式之間自由轉換,使得異相神經網絡成為可能。這種方式也能滿足實現任意網絡拓撲結構的靈活連接。f 圖展示了核與芯片級別 2D 網絡架構的層級,證明了該技術的擴展能力。