乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Kaggle競賽硬件如何選擇?不差錢、追求速度,那就上TPU吧

       板橋胡同37號 2020-03-01

      選自towardsdatascience

      作者:Paul Mooney

      機器之心編譯

      在每種機器學習算法背后,都是以數(shù)千兆赫頻率運算的硬件提供支持。你可能已經(jīng)注意到,在設置 Kaggle Notebooks 計算環(huán)境時,有幾種處理器可供選擇,但究竟哪種才是最適合你的呢?本文分別比較了在訓練由 tf.keras 編寫的機器學習模型過程中,使用 CPU(英特爾至強處理器)、GPU(英偉達 Tesla P100 顯卡)和 TPU(谷歌 TPU v3)的優(yōu)劣勢。希望本文可以為 Kaggle 競賽準備者理解和選擇處理器提供幫助。

      圖 1:在 Kaggle Notebook 中可以免費使用 CPU、GPU 和 TPU。
      如何準備測試?

      為了比較 CPU、GPU 和 TPU 完成常見數(shù)據(jù)科學任務時的性能,我們使用 tf_flowers 數(shù)據(jù)集訓練了一個卷積神經(jīng)網(wǎng)絡,然后用三種不同的后端(GPU 是英偉達 Tesla P100+2GHz、雙核的英特至強 CPU,13 GB RAM;TPU 是谷歌 8 核的 TPUv3+2GHz、四核的英特爾至強 CPU,16 GB RAM)將相同的代碼運行了三遍。所附的 Kaggle 教程筆記(tutorial notebook)顯示,在一些情況下,TPU 性能最好。
      例如:
      1. 用分片文檔數(shù)據(jù)集(例如 TFRecord);

      2. 用 tf.data API 將訓練數(shù)據(jù)傳到 TPU;

      3. batch size 較大時(如 batch_size=128)。


      在工作流程中加入這些步驟,可以避免常見的 I/O 瓶頸,否則這樣的 I/O 瓶頸會妨礙 TPU 發(fā)揮全部功能。用戶可以訪問 Kaggle TPU 官方文檔,了解其他一些在 TPU 上運行代碼的優(yōu)化技巧。
      官網(wǎng)鏈接:https://www./docs/tpu
      硬件性能如何

      這三種硬件之間最明顯的區(qū)別在于使用 tf.keras 訓練模型的速度。tf.keras 庫是最流行的機器學習框架之一,因為 tf.keras 可以更快、更方便地實驗新想法。如果寫代碼的時間短,則就可以撥出更多時間進行計算。如果等代碼跑完的時間短,也就可以有更多時間評估新想法了。在機器學習比賽中,tf.keras 和 TPU 是一對很強大的組合!

      圖 2:tf.keras 概貌。(A)tf.keras 是最流行的實現(xiàn)深度學習模型的框架之一;(B) 在設計深度學習模型時,tf.keras 可以快速進行實驗和迭代。

      在下圖 3 第一個實驗中,我們在三種硬件上運行了相同的代碼(官方教程筆記中的改進版),并且為了避免 CPU 和 GPU 出現(xiàn)內存不足的問題,batch size 也設置得很?。ㄔO為 16)。在這種情況下可以看出,訓練 Xception 模型時,TPU 比 CPU 快了約 100 倍,比 GPU 快了約 3.5 倍,這是因為 TPU 處理批大小很大的數(shù)據(jù)時效率更高。我們也試著將 batch size 增加到 128,結果發(fā)現(xiàn) TPU 速度快了 2 倍,GPU 和 CPU 均出現(xiàn)了內存不足的問題。所以,與之前的實驗相比,TPU 訓練 Xception 模型的速度比 GPU 快 7 倍。
      官方教程筆記:https://www./mgornergoogle/five-flowers-with-keras-and-xception-on-tpu

      圖 3:用 CPU、GPU 和 TPU 訓練 Xception 模型(12 個 epoch)所需時間對比。
      如下圖 4 所示,模型訓練的加速情況也與模型類別有關,Xception 和 Vgg16 就比 ResNet50 表現(xiàn)更好。在這種邊界很大的情況下,模型訓練速度是 TPU 唯一超過 GPU 的地方。例如,當預測少量樣本時,TPU 比 CPU 快了約 3 倍,但又比 GPU 慢了約 3 倍(在某些情況,比如在 batch size 很大的情況下做預測,TPU 表現(xiàn)出色,但本實驗中不存在這樣的情況)。

      圖 4:模型類型和任務類型不同,加速情況也不同。(A) 與 ResNet50 相比,Xception 和 Vgg16 的提速更為明顯。(B) 在諸如少量樣本預測等特定任務中,GPU 的表現(xiàn)比 TPU 好。
      為了使結果更為充分,我們注意到 Yu Emma Wang 等人 [1] 開發(fā)了一個叫做 ParaDnn 的嚴格基準,這一基準可以用來比較不同硬件訓練機器學習模型時的性能。利用 Yu Emma Wang 等人 [1] 的方法,可以總結出:用 TPU 代替 GPU 時,參數(shù)化模型性能可以提升 1 到 10 倍,使用模型的性能也可以提升 3 到 6.8 倍(下圖 5)。分片數(shù)據(jù)、很大的數(shù)據(jù)批和大模型結合在一起時,TPU 是最佳選擇。

      圖 5:Wang[1] 論文中的重要發(fā)現(xiàn)。當 batch size 和 CNN 模型都較大時,TPU 的性能最好。你可以在 Kumar[2] 和 Jouppi[3] 的論文中,找到其他基準實驗。
      [1] https:///abs/1907.10701
      訓練模型時的價格考量

      雖然平等地比較了硬件,但它們在價格上有相當大的差異。TPU(谷歌 TPU v3 每小時 8.00 美元,GCP 上可以按需選擇的 TPU v2 每小時 4.50 美元)比 GPU(英偉達 Tesla P100 每小時 1.46 美元)貴了大概五倍。雖然如此,如果你想優(yōu)化成本,那還是應該選擇 TPU,因為在訓練相同模型的情況下,TPU 的訓練速度至少快了 5 倍。
      當數(shù)據(jù)以分片格式儲存在 GCS bucket,然后以大 batch size 傳遞到 TPU 時,模型訓練會提速約 5 倍,因此建議熟悉 tf.data API 的用戶使用 TPU。
      有些機器學習實踐者優(yōu)先考慮模型訓練時間,而不是模型訓練成本。因此,對于想盡快完成模型訓練的人來說,TPU 是最佳選擇。在訓練模型上花更少的時間,就可以花更多時間考慮新想法。但請不要一味聽信本文內容——你可以通過 Kaggle Notebooks 在 CPU、GPU 和 TPU 上免費運行代碼并評估結果。Kaggle 用戶們已經(jīng)成功在 TPU 上運行了文本數(shù)據(jù),并從中獲得了許多樂趣。
      下面這篇文章的作者描述了是如何用 TPU 訓練 BERT 模型,并在最近的 Kaggle 競賽中贏得了 8000 美元獎金(二等獎)的。
      文章鏈接:https://www./c/tensorflow2-question-answering/discussion/127333
      該選哪種硬件呢?

      總之,如果有通用性和大內存需求的話,我們建議你使用 CPU。當你想加快各種數(shù)據(jù)科學流程時,GPU 是很好的替代品。如果想要盡可能快地完成模型訓練的話,TPU 則是最佳選擇。
      針對所用硬件來優(yōu)化代碼,可以得到更好的結果。我們認為,對分別針對 GPU 代碼和 TPU 代碼的運行時(runtime)進行比較也很有意思。例如,用像 RAPIDS.ai 這樣的 GPU 加速庫訓練梯度提升模型,再用像 tf.keras 這樣的 TPU 加速庫訓練深度學習模型,比較二者的訓練時間,這也是很有意思的。
      那么,訓練準確的機器學習模型最少需要多長時間?一天內可以評價多少不同的想法?結合 tf.keras,TPU 讓機器學習從業(yè)人員寫代碼的時間變短了,等代碼跑完的時間也變短了,這樣就可以留出更多時間評估新想法,并在 Kaggle 大賽中提升自己作品的性能。
      原文鏈接:https:///when-to-use-cpus-vs-gpus-vs-tpus-in-a-kaggle-competition-9af708a8c3eb
      本文為機器之心編譯,轉載請聯(lián)系本公眾號獲得授權。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多