神經網路都是由神經元構成的,而越後面的網路其神經元越多,網路越複雜,我想這是大家都有的共識。但越大的網路,神經元間的連結也會次方型的上漲,產生了相當龐大的運算量。大多數的運算成本來自輸入 x 權重所產生的浮點數相乘。
而想加速浮點數相乘的速度,最簡單的方式就是依靠專門運算浮點數的專家--沒錯,就是GPU。GPU由於架構上適合用於處理多並行的浮點運算,因此對於神經網路來說是絕佳的加速工具。
But,GPU是一個吃電和散熱的怪物,因此對於某些受限場景而言並不適當--比方說工業用的各種邊緣裝置,但這些裝置卻也需要AI來完成一些作業。
這時候另外一個想法就是降低神經網路的運算量了。要降低神經網路的運算量有幾個方法:
對一般使用者來說,這些操作並不是這麼容易,因此大廠嘗試提供一些工具,幫助使用者成功減低網路運算量以部署到邊緣裝置上--Intel的OpenVINO就是這麼一個工具。
OpenVINO有完整的量化和剪枝工具
巨大社群和專業團隊針對等效模型進行處理。
目前OpenVINO的量化支援已經進行到了擴散模型以及GPT-J,為沒有顯卡的電腦提供了一個新的可能性。且專精型的AI加速晶片慢慢成為主流,整合進CPU內也指日可待,屆時OpenVINO能有更好的表現。