Altifigence Academy

1 / 24 · 概念

推論與訓練

若只有輸出通道從三增加到六,MAC 次數與儲存的偏置數量如何變化?

先定義運算,再設計資料路徑

推論會在前向傳遞中,將固定且事先選定的權重套用至輸入。訓練還會計算損失、傳播梯度並更新權重。因此,執行前向卷積的電路展示的是推論操作;它本身並不代表訓練。本課程建立小型整數推論路徑。梯度硬體、最佳化器、分類準確率與自動模型匯入,不在練習範圍內。

為批次 N、輸入通道 C、空間尺寸 H 與 W、輸出通道 M,以及 R 乘 S 的核心訂定契約。我們使用 NCHW 順序。一般輸出元素累加 C×R×S 個乘積。形狀為 N×M×Ho×Wo 的輸出,計入 N×M×Ho×Wo×C×R×S 次 MAC。此處一次 MAC 代表一次乘法並累加。浮點運算報告可能分別計算乘法與加法,因此比較報告之前應先說明計數規則。

計算範例

取 N=1、C=2、H=W=5、M=3,以及 3×3 核心,步幅為一且沒有填補。空間輸出為 3×3。共有 27 個輸出元素,每個累加 18 個乘積,總共 486 次 MAC。偏置向量包含三個儲存數值,每個輸出通道一個,但偏置會加在 27 個輸出位置上。應分別回報這些加法,而非悄悄改變 MAC 定義。

順序也是正確性的一部分。若以通道優先讀取輸入,卻以空間優先解讀權重,即使每個數值都合法,仍會配對錯誤的運算元。參考輸出應同時標示通道與空間座標。先從單一批次開始,指定各張量檔案,待基本契約穩定後再延伸批次維度。

記錄接受的形狀、步幅、填補與數值範圍。明確拒絕不支援的請求。彈性的軟體陣列,並不能證明 RTL 實作支援所有尺寸。同樣地,參考輸出無法量測頻率、功耗或模型準確率。後續練習會區分精確值,以及附有假設的週期估計。關於訓練的前向、反向與更新階段,請參閱 PyTorch 官方教學。

自己試試看

若只有輸出通道從三增加到六,MAC 次數與儲存的偏置數量如何變化?

查看解說

共有 54 個輸出,以及 54×18=972 次 MAC。儲存六個偏置。輸入尺寸保持相同;權重儲存量加倍。

此選擇適用於本瀏覽器,隨時可從頁尾變更。