在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

免費GPU哪家強?谷歌Kaggle vs和Colab

WpOh_rgznai100 ? 來源:yxw ? 2019-06-10 10:59 ? 次閱讀

谷歌有兩個平臺提供免費的云端GPU:Colab和Kaggle, 如果你想深入學習人工智能深度學習技術,那么這兩款GPU將帶給你很棒學習的體驗。那么問題來了,我們該選擇哪個平臺進行學習和工作呢?接下來,本文將介紹如何比較硬件規格和探索優缺點的差異;本文還將基于一個計算機視覺任務,比較在不同平臺下,使用遷移學習、混合精度訓練、學習率模擬退火以及測試時間增廣等操作時,所需的訓練時間。基于上述內容,你將對這兩個平臺的GPU性能,有一個更加全面和清楚的了解。

Kaggle 和 Colab 是兩個非常相似的產品,它們都具有如下特性:

提供免費的GPU

在瀏覽器中使用Jupyter進行交互——但是它們都有自己獨特的風格

旨在促進機器學習的協作

都是谷歌的產品

不是十全十美,但是在多數場景下都適用,尤其是在入門深度學習的時候

官方文檔對硬件規格的描述較為簡略

最后一項是本文研究的重點,但不幸的是,Kaggle和Colab都不提供對使用環境的詳細描述,而且官方文檔(https://www.kaggle.com/docs/kernels#technical-specifications)往往很過時,跟不上平臺硬件更新的速度。除此之外,平臺IDE的小控件雖然提供了一些信息,但是這往往不是我們真正想要的。接下來,本文展示常用的profiler命令,該命令可以查看平臺環境的信息。

在正式開始之前,我們得先了解一些GPU的背景知識。

什么是GPU?

GPU是圖形處理單元的簡稱,最初GPU是為加速視頻游戲的圖形所開發的專用芯片,它們能夠快速的完成大量的矩陣運算。該特性也使得GPU在深度學習領域嶄露頭角,有趣的是,出于相同的原因,GPU也是挖掘加密貨幣的首選工具。

Nvidia P100 GPU

為什么要使用GPU?

使用大顯存的GPU來訓練深度學習網絡,比單純用CPU來訓練要快得多。想象一下,使用GPU能夠在十幾分鐘或者幾個小時內,獲得所訓練網絡的反饋信息,而使用CPU則要花費數天或者數周的時間,GPU簡直是棒呆了。

硬件規格

2019年三月初,kaggle將它的GPU芯片從Nvidia Tesla K80升級到了Nvida Tesla P100,然而Colab還在用K80。有關Nvidia 芯片類型的討論,可以參見這篇文章(https://towardsdatascience.com/maximize-your-gpu-dollars-a9133f4e546a)。

有很多不同方法可以查看硬件的信息,兩個比較常用的命令是!nvidia-smi和 !cat/proc/cpuinfo,分別用于查看GPU和CPU的信息。即使你想用GPU來訓練模型,CPU也是不必可少的,因此了解CPU的信息是必不可少的。

下圖所示為Kaggle和Colab的硬件配置信息,更多內容可以參考谷歌官方文檔(https://docs.google.com/spreadsheets/d/1YBNlI9QxQTiPBOhsSyNg6EOO9LH2M3zF7ar88SeFQRk/edit?usp=sharing)。

兩個平臺上的內存大小和磁盤空間,可能會存在一些令人疑惑的地方。一旦在Kaggle或者Colab上安裝軟件并開始進程,它的內存和磁盤可用量就會發生變化了。我們可以用!cat/proc/meminfo 命令來測試這種容量變化,如下圖所示。

Total表示總內存容量,Available表示啟動后,沒有任何其他進程運行的情況下,實際觀察到的內存容量。從上圖可以看到,我們自己測量的值和Colab或Kaggle的IDE控件面板中顯示的很相似,但是并不完全匹配,如下圖所示。

Mouseover in Colab

Kaggle Sidebar

上圖顯示的是Kaggle的內核和Colab Notebook中的硬件規格信息,請注意,在開始前一定要確保開啟了GPU的功能。

還有一點值得注意,使用命令行查看GPU的硬件規格時,系統返回值的單位是Mebibytes,該單位和Megabytes(兆字節)相似但并不等同。通過谷歌搜索相應信息,可以將Mebibytes轉化為Megabytes。

Kaggle 的widget(小部件)顯示,實際使用的磁盤空間比前文調研的要小得多,這是因為,無論理論上的磁盤總量是多少,Kaggle都會限制實際能夠使用的磁盤空間。

在官方文檔中Kaggle聲明,用戶擁有9個小時的使用時間,然而,對于每個會話,內核環境最多只會在窗口上顯示6個小時。值得注意的是,重新啟動內核會重新啟動時鐘。此外,如果用戶在60分鐘內沒有任何操作,Kaggle會將會話重啟。

Colab為用戶提供12小時的執行時間,但是如果閑置時間超過90分鐘,Colab就會將你踢掉。

接下來就要進入本文的重點了:訓練一個深度學習網絡,到底會花費多少時間。

計算機視覺任務下的速度比較

本文用一個圖像分類的任務來比較Kaggle和Colab的計算性能。該任務的目標是構建一個深度學習模型,對貓狗的圖像進行分類。數據集包含25000張圖像,貓和狗的樣本數是均衡的。將數據集分為兩部分,其中23000張圖像用于訓練,另外2000張用于驗證。

Cat and dog images from the dataset

本文用FastAI庫構建了一個卷積神經網絡,并以ResNet30為基礎運用遷移學習訓練該模型。模型的訓練使用了以下幾個技巧,分別是數據增廣和學習率退火。在模型的測試階段,本文使用測試時間增廣技術來構建測試集。本節的代碼改編自FastAI的示例(https://github.com/fastai/fastai/blob/master/examples/dogs_cats.ipynb)。

代碼分別在Kaggle和Colab上的實施。Batch size 設為16,FastAI的版本是1.0.48。使用FastAI的內置分析器,統計訓練和測試的總時間,兩平臺所用的時間如下。

在兩個平臺中,模型的驗證精度都超過了99%,三次迭代的時間在Kaggle中是11:17分鐘,而Colab中為19:54分鐘。Kaggle的運行環境性能,從速度上看,比Colab要快40%。

Batch Size

在Kaggle中,我們需要將batch size從64降低到16,才能使模型成功進行訓練。如果batch size過大,會導致運行錯誤,該錯誤似乎是由于Docker容器中的共享內存設置得太低才引起的。有趣的是,作者在2018年底向Colab提出了這個問題(https://github.com/googlecolab/colabtools/issues/329),Colab在一周內便修復了這個問題。然而,截止2019年3月中旬,Kaggle依然存在該問題。

接下來,我們將Colab中的batch size改為256,對模型進行兩次迭代訓練。上述的改變導致平均運行時間變成了18:38分鐘。將batch size改為64,同樣進行兩次迭代訓練,此時得到的平均運行時間為18:14分鐘。這表示,當batch size大于16的時候,Colab能夠縮減運行的時間。

盡管如此,對于本節中的任務而言,較小的batch size并不是一個值得深究的大問題,有關參數設置的討論,可以參見這篇文章(https://arxiv.org/abs/1804.07612)。

當我將Colab上的batch size設為256,然后開始訓練模型時,Colab拋出了一個警告,其中寫道:我正在使用的GPU具有11.17GB的顯存。具體如下圖所示。

這個警告非常棒,但是基于前文的分析,我們已經了解了Gibibytes和Gigabytes(https://www.gbmb.org/gib-to-gb)之間的區別。前文中講到,Colab有11.17 Gibibytes(12 GB)的顯存,這顯然和警告中說的11.17GB矛盾。盡管如此,如果Colab提示你超出內存了,那就是超出內存了。因此batch size設為256,可能就是該任務下Colab的極限了。

混合精度訓練

接下來,我們使用了混合精度訓練,該訓練方式能夠有效地降低訓練時間。混合精度訓練在某些可能的情況下,會使用16位精度的數值代替32位的數值,來進行計算。Nvidia聲稱使用16位精度,可以使P100的吞吐量翻倍。

有關混合精度FastAI模型的介紹可以參見這篇文章(https://docs.fast.ai/callbacks.fp16.html)。請注意,在使用測試時間增廣進行預測之前,我們需要將FastAI學習器對象設置為32位模式,這是因為torch.stack暫時不支持半精度。

通過在Colab上使用混合精度進行訓練,在batch size 為16的情況下,平均運行時間為16:37分鐘。顯然,我們成功的縮減了運行時間。

然而,在Kaggle上實施混合精度訓練,總的運行時間卻增加了一分半,達到了12:47分鐘。我們并沒有改變硬件規格,而且得到的驗證精度都達到了99%以上,這就很有趣了。

通過調查發現,Kaggle的默認包中的torch和torchvision的版本都很老,將它們的版本更新到和Colab上的一樣后,Kaggle的運行時間并沒有改變。但是這一個發現表明,Colab上默認包的版本比Kaggle更新的要快。

前文提到的硬件差異,似乎并不是導致Kaggle混合精度性能不佳的原因。那么軟件差異似乎是答案,我們觀察到,兩平臺唯一的軟件差異就是,Kaggle使用CUDA 9.2.148 和 cuDNN 7.4.1,而Colab 使用CUDA 10.0.130 和 cuDNN 7.5.0。

CUDA是Nvidia的API,可以直接訪問GPU的虛擬指令集。cuDNN是Nvidia基于CUDA的深度學習原型庫。根據Nvidia的這篇文章,Kaggle的軟件應該可以提高P100的速度。但是,正如cuDNN更改說明(https://docs.nvidia.com/deeplearning/sdk/cudnn-release-notes/rel_750.html#rel_750)中所示,阻止加速的bug是定期排查和修復的,那么kaggle在混合精度訓練上表現不佳,可能是因為bug修復不及時所導致的吧。

既然如此,我們只好等待Kaggle升級CUDA和cuDNN,看看混合精度訓練是否會變得更快。如果使用Kaggle,還是推薦你采用混合精度訓練(雖然速度并不會得到提升)。如果使用Colab,當然采用混合精度訓練更佳,但是要注意batch size不要設置得太大。

優缺點對比

谷歌是一家希望您支付GPU費用的公司,天下沒有免費的午餐。

Colab和Kaggle當然會有一些令人沮喪的問題。例如,兩個平臺運行時斷開連接的頻率太高,這令我們非常沮喪,因為我們不得不重啟會話。

在過去,這些平臺并不能總保證你有GPU可以用,但是現在卻可以了。接下來讓我們一起看看,Colab和Kaggle的各自的優缺點吧。

Colab

優點

能夠在Google Drive上保存notebook

可以在notebook中添加注釋

和GIthub的集成較好——可以直接把notebook保存到Github倉庫中

具有免費的TPU。TPU和GPU類似,但是比GPU更快。TPU是谷歌自行開發的一款芯片,但不幸的是,盡管Colab意在整合PyTotch和TPU,但TPU對PyTorch的支持仍不太友好。如果使用TensorFlow進行編程,而不是使用FastAI/Pytorch編程,那么在Colab上使用TPU可要比在Kaggle上使用GPU快多了。

缺點

部分用戶在Colab中的共享內存較小。

谷歌云盤的使用較為麻煩。每個會話都需要進行身份驗證,而且在谷歌云盤中解壓文件較為麻煩。

鍵盤快捷鍵和Jupyter Notebook中不太一樣。具體對比可以參見這里。

Kaggle

優點

Kaggle社區有利于學習和展示你的技能

在Kaggle上發布你的工作,能夠記錄一段美好的歷史

Kaggle和Jupyter notebook的鍵盤快捷鍵基本相同

Kaggle有很多免費數據集

缺點

Kaggle一般會自動保存你的工作,但是如果你沒有提交工作,然后重新加載你的頁面,你的工作很有可能丟失。

就像前面提到的,在Kaggle中,Docker容器中的PyTorch共享內存較低。在本次圖像分類任務中,如果設置batch size的大小超過16,那么系統就會報錯: RuntimeError: DataLoader worker (pid 41) is killed by signal: Bus error。

Kaggle內核通常看起來有些遲鈍。

結論

Colab和Kaggle都是開展云端深度學習的重要資源。我們可以同時使用兩者,例如在Kaggle和Colab之間相互下載和上傳notebook。

Colab和Kaggle會不斷更新硬件資源,我們可以通過比較硬件資源的性能,以及對編程語言的支持,選擇最優的平臺部署代碼。例如,如果我們要運行一個密集的PyTorch項目,并且期望提高精度,那么在Kaggle上開發可能更加適合。

如果我們希望更加靈活的調整batch size 的大小,Colab可能更加適用。使用Colab,我們可以將模型和數據都保存在谷歌云盤里。如果你用TensorFlow編程,那么Colab的TPU將會是一個很好的資源。

如果需要更多的時間來編寫代碼,或者代碼需要更長的運行時間,那么谷歌的云平臺的性價比可能更高。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6219

    瀏覽量

    107259
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4889

    瀏覽量

    130474
  • 計算機視覺
    +關注

    關注

    9

    文章

    1705

    瀏覽量

    46501

原文標題:免費GPU哪家強?谷歌Kaggle vs. Colab

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    可以手動構建imx-gpu-viv嗎?

    使用 imx-gpu-viv-6.4.3.p4.2.aarch64.bin。 https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx-gpu-viv-6.4.3.p4.2-aarch64.bin 我需要
    發表于 03-28 06:35

    在Google Colab筆記本電腦上導入OpenVINO?工具包2021中的 IEPlugin類出現報錯,怎么解決?

    在 Google* Colab Notebook 上OpenVINO?工具包 2021 中使用了 IEPlugin 。 遇到: ImportError: cannot import name \'IEPlugin\' from \'openvino.inference_engine\'
    發表于 03-05 10:31

    OpenVINO?檢測到GPU,但網絡無法加載到GPU插件,為什么?

    OpenVINO?安裝在舊的 Windows 10 版本 Windows? 10 (RS1) 上。 已安裝 GPU 驅動程序版本 25.20.100.6373,檢測到 GPU,但網絡無法加載
    發表于 03-05 06:01

    工業網關哪家?各大廠家簡單測評

    在工業互聯網蓬勃發展的當下,工業網關作為連接工業設備與網絡的關鍵橋梁,其重要性不言而喻。市場上工業網關廠家眾多,產品琳瑯滿目,究竟哪家呢?今天就帶大家對各大廠家的工業網關進行一次簡單測評。 一
    的頭像 發表于 02-24 10:49 ?342次閱讀
    工業網關<b class='flag-5'>哪家</b><b class='flag-5'>強</b>?各大廠家簡單測評

    VS680與智慧教室解決方案

    智慧教室解決方案是一種集成了多種先進技術的教育系統,它能夠為教師和學生提供更加智能化、個性化和互動性的教學環境。VS680芯片在技術層面為智慧教室的建設提供了關鍵支持。
    的頭像 發表于 01-22 17:34 ?350次閱讀
    <b class='flag-5'>VS</b>680與智慧教室解決方案

    選擇DSP處理器的考慮因素(ADSP-2115 vs. TMS320C5x)

    電子發燒友網站提供《選擇DSP處理器的考慮因素(ADSP-2115 vs. TMS320C5x).pdf》資料免費下載
    發表于 01-13 15:55 ?0次下載
    選擇DSP處理器的考慮因素(ADSP-2115 <b class='flag-5'>vs</b>. TMS320C5x)

    《CST Studio Suite 2024 GPU加速計算指南》

    GPU Computing Guide》是由Dassault Systèmes Deutschland GmbH發布的有關CST Studio Suite 2024的GPU計算指南。涵蓋GPU計算
    發表于 12-16 14:25

    智慧路燈哪家?看完這些案例你就心里有數了

    智慧路燈哪家?看完這些案例你就心里有數了
    的頭像 發表于 11-14 18:05 ?680次閱讀
    智慧路燈<b class='flag-5'>哪家</b><b class='flag-5'>強</b>?看完這些案例你就心里有數了

    【一文看懂】大白話解釋“GPUGPU算力”

    隨著大模型的興起,“GPU算力”這個詞正頻繁出現在人工智能、游戲、圖形設計等工作場景中,什么是GPU,它與CPU的區別是什么?以及到底什么是GPU算力?本篇文章主要從以下5個角度,讓您全方位了解
    的頭像 發表于 10-29 08:05 ?2075次閱讀
    【一文看懂】大白話解釋“<b class='flag-5'>GPU</b>與<b class='flag-5'>GPU</b>算力”

    常見GPU問題及解決方法

    GPU(圖形處理單元)是計算機硬件的重要組成部分,負責處理圖形和視頻渲染任務。隨著技術的發展,GPU在深度學習、游戲、視頻編輯等領域扮演著越來越重要的角色。然而,在使用GPU的過程中,我們可能會遇到
    的頭像 發表于 10-27 14:12 ?3093次閱讀

    VS5700動態信號測試分析系統

    電子發燒友網站提供《VS5700動態信號測試分析系統.docx》資料免費下載
    發表于 10-17 13:53 ?0次下載

    TI TDA2x SoC上基于GPU的環視優化

    電子發燒友網站提供《TI TDA2x SoC上基于GPU的環視優化.pdf》資料免費下載
    發表于 10-10 09:14 ?0次下載
    TI TDA2x SoC上基于<b class='flag-5'>GPU</b>的環視優化

    暴漲預警!NVIDIA GPU供應大跳水

    gpu
    jf_02331860
    發布于 :2024年07月26日 09:41:42

    大模型發展下,國產GPU的機會和挑戰

    電子發燒友網站提供《大模型發展下,國產GPU的機會和挑戰.pdf》資料免費下載
    發表于 07-18 15:44 ?12次下載
    大模型發展下,國產<b class='flag-5'>GPU</b>的機會和挑戰

    Hugging Face提供1000萬美元免費共享GPU

    全球最大的開源AI社區Hugging Face近日宣布,將提供價值1000萬美元的免費共享GPU資源,以支持開發者創造新的AI技術。這一舉措旨在幫助小型開發者、研究人員和初創公司,對抗大型AI公司的市場壟斷,推動AI領域的公平競爭。
    的頭像 發表于 05-20 09:40 ?872次閱讀
    主站蜘蛛池模板: 免费人成网ww777kkk手机 | 日本高清网站 | 国产精品久久久久久久久 | 国产精品秒播无毒不卡 | 国产真实灌醉美女疯狂弄 | 丝袜美女被c | 伊人不卡久久大香线蕉综合影院 | 午夜视频精品 | 国产一级真人毛爱做毛片 | 精品国产免费人成高清 | 国产福利午夜自产拍视频在线 | 中文字幕不卡免费高清视频 | 在线观看黄日本高清视频 | 天堂网在线www资源网 | 污污视频在线免费看 | 午夜影院在线免费 | 天天做日日爱 | 国产在线观看午夜不卡 | 永久免费看的啪啪网站 | 黄网站色视频免费看无下截 | 毛片网在线 | 天天干天天插天天 | 一级做a爰片久久毛片美女图片 | 6080伦理久久精品亚洲 | 5566在线观看| 色www永久免费视频 色y情视频免费看 | 天堂在线资源网 | 婷婷午夜| 黄色大片日本 | 夜夜夜操 | 2018国产一级天天弄 | 在线天堂资源 | 成人国产精品一级毛片视频 | 日本永久免费 | 狠狠狠色丁香婷婷综合久久五月 | 欧美影院 | 国产精品美女自在线观看免费 | 欧美三级视频在线 | 国产成人三级视频在线观看播放 | 亚洲深夜在线 | 国产精品你懂的在线播放 |