關閉

亞德分享:人工智慧、機器學習、深度學習相關(from EETimes Taiwan)

  人工智慧(AI)公司通常都以更高的TOPS(每秒一兆次操作)作為評斷運算力的標準。但晶片製造商在推銷他們的TOPS指標時,都不會真正提供準確的指引。在大多數情況下,他們大肆宣傳的數字並不是實際的TOPS,而是峰值TOPS。換句話說,你認為能在板卡中獲得的TOPS運算力,實際上是晶片在不可能存在的理想世界中的最佳表現。

  本文將論述業界因錯誤標記性能指標而導致的問題,並闡述用戶該如何獨立評估真實環境中的TOPS。

真假TOPS

  AI應用開發人員通常以衡量晶片製造商發佈的TOPS性能資料是否足以支援他們的專案來開始進行審查。假設要在U-Net神經網路上以10fps (每秒影格數)的速度重新製作全高畫質影像。由於U-Net處理每個影像需要3TOPS運算力,簡單的數學計算顯示,共需要30TOPS才能依所需的FPS完成項目。在購買晶片時,你可能認為,那些聲稱可執行50、40甚至32TOPS的板卡對你的專案來說應該足夠了。在理想世界中,的確是這樣;但很快就會發現,這些板卡很少能達到所宣稱的運算力。而且我們談論的不僅僅是幾個TOPS的下降,其運算效率可低至供應商所宣稱的10%。

當然,調整神經網路可以從板卡中「榨出」更v多的性能,但永遠不可能接近供應商給出的峰值TOPS。即使試圖獲得60%或70%的運算效率,也將耗費巨大的時間成本。如果神經網路發生任何變化,將不得不返回原點以再次最佳化所有內容——而且,它甚至可能根本不適用於你的應用。這個問題在小規模樣本處理中尤為明顯;幸運的話,也許能夠獲得峰值TOPS 15%的運算力。

計算效率

現在,你也許很想知道該如何計算真實的TOPS?這其實很簡單!

要瞭解一個板卡的實際TOPS是多少,首先需要確定板卡的運算效率。理想情況下,這在目標板卡上運作需要的神經網路就可以完成,不過有可能此時你還沒有板卡,但透過查看更多來自供應商的行銷數字細節,仍然可以進行估算。通常,ResNet50或類似神經網路的性能資料是可以取得的,假設這是一個典型的ResNet50實現,則可以透過GOPS (每秒十億次操作),而不是TOPS,來計算單個影像的運算力。然後,只需將其乘以供應商宣傳的每秒影像數量(IPS),瞧!這樣獲得的TOPS將更實際,或者說更真實。

而效率也只是真實值除以峰值TOPS所得的比例,即:

峰值TOPS × 運算效率 = 真實TOPS

該公式讓使用者能夠在購買晶片之前,對板卡執行神經網路時的真實效率進行比較。可以重複使用該效率計算需要的TOPS,看看它是否符合需求。雖然功率和樣本大小等因素也會影響結果,但如果知道板卡的效率,利用該公式將可以很好地估算其在實際用例中的真實性能。當然,供應商發佈的神經網路IPS也令人存疑,但相對於在實際需要的TOPS和板卡峰值TOPS之間進行比較,這種估算方法已經非常有效。

還有一點也值得注意,這不僅僅是GPU的問題。大多數專用ASIC的實際效率也非常低,其宣傳的效率明顯誇大其詞。但用IPS、已知的網路GOPS和一個簡單的乘法,就可以得到一個較實際的數字。

高效替代品

GPU和ASIC在效率和性能方面都存在問題,但有一種替代方案不涉及這兩種晶片中的任何一種。

2020年10月的MLPerf結果表示,結合了推理加速的FPGA比其他方案更高效,可以更接近其他晶片製造商宣傳的峰值TOPS資料。

 

TOPS:深度學習謊言背後的真相

《根據已發佈的每個TOPS資料,比較不同架構下的FPS。》
(來源:Mipsology)

  FPGA的高效不僅顯現在運算上,還體現在其用於運算時的矽利用率上。從本質上講,這些板卡可以實現「事半功倍」,以極低的成本獲得更佳的神經網路性能。

  再次提醒:不要落入TOPS的行銷陷阱。這是大多數神經網路在現實條件下永遠達不到的誇大的性能資料。相反,請利用這個公式:

峰值TOPS × 運算效率 = 真實TOPS

  這將幫助你快速、輕鬆、準確地比較性能需求和實際晶片性能,而不會被任何誇大的供應商聲明所誤導。

(參考原文:TOPS: The Truth Behind a Deep Learning Lie,by Ludovic Larzul)

本文轉載自電子工程專輯:TOPS:深度學習謊言背後的真相
本文同步刊登於《電子工程專輯》雜誌2021年9月號

關閉