簡體   English   中英

如何計算機器學習訓練計算時間,參考值是多少?

[英]How to compute machine learning training computation time and what are reference values?

在互聯網上的許多論壇和文檔中,我們聽到機器學習算法的“短”和“長”學習和預測計算時間。 例如,與神經網絡相比,決策樹算法的計算時間較短。 但從來沒有提到的是什么是“短”,什么是“長”。

您能否說明您將使用哪個單位來衡量計算時間? 也許“每個樣本的秒數”? 什么是參考值,以便我可以預測需要 1 小時、1 天還是 1 周?

謝謝 親切的問候 G

首先,任何基准數據都嚴重依賴於您忽略提供的信息:您所在的領域、使用的拓撲、輸入大小和輸出復雜性。 培訓時間的長短取決於所有這些因素、實施框架以及您所在的平台。

例如,我可以完全訓練

model class: 4-node linear neural network 
model: AND gate
framework: none; Python / SciKit
platform: 32-node Intel Broadwell(tm) box

在三個迭代中,遠遠不到一秒鍾。

然而,鑒於

model class: CNN 
model: ResNet-50
framework: TensorFlow
platform: Single-card, 4-core Intel Haswell(tm) box

培訓將持續數天。

我們表示速度的單位是那些對域的觀眾來說方便的單位。 對於處理靜止圖像,我們通常以圖像/秒(有時稱為“赫茲”)為單位指定圖像大小和報告。 對於音頻輸入,它通常是平均剪輯長度和剪輯/秒——但如果輸入時間的處理為O(n) ,則它通常作為標量給出。 機器翻譯以每秒的單詞或句子(典型長度)表示。

對於數據中心經理來說,培訓也是在電力方面進行的:培訓一個特定的模型需要多少千瓦時?


您要求提供參考值:再次閱讀發布指南。 標准(即流行和穩定)模型的參考值在線發布; 您應該在發布之前研究這些,以幫助您集中問題。 一旦您充分了解您的應用程序以根據您自己的環境調整這些數字(為客戶優化),它們就會很有用。

例如,假設您正在嘗試在 100 類 ImageNet 數據庫上訓練 ResNet-20。 但是,您所能找到的只是您擁有的硬件上的 ResNet-50 數據。 幸運的是,ResNet 在按深度縮放方面大致呈線性:您可以使用可比的 ResNet-50 訓練時間並乘以 20/50 以獲得您的估計值。 我的經驗表明,您的訓練時間應該是 ResNet-50 時間的 40-50%。

同樣,如果您找到的數字僅適用於 1000 類 ImageNet,則乘以 100/1000 即可獲得預期的訓練時間。


但是,總的來說,您的一般問題沒有真正的答案,除了開始進行研究,運行您的單個模型,並了解它如何運行、如何擴展、如何響應硬件架構、輸入大小、模型拓撲的變化,集中訓練等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM