91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

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

WpOh_rgznai100 ? 來源:yxw ? 2019-06-10 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

提供免費的GPU

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

旨在促進機器學(xué)習(xí)的協(xié)作

都是谷歌的產(chǎn)品

不是十全十美,但是在多數(shù)場景下都適用,尤其是在入門深度學(xué)習(xí)的時候

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

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

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

什么是GPU?

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

Nvidia P100 GPU

為什么要使用GPU?

使用大顯存的GPU來訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò),比單純用CPU來訓(xùn)練要快得多。想象一下,使用GPU能夠在十幾分鐘或者幾個小時內(nèi),獲得所訓(xùn)練網(wǎng)絡(luò)的反饋信息,而使用CPU則要花費數(shù)天或者數(shù)周的時間,GPU簡直是棒呆了。

硬件規(guī)格

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

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

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

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

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

Mouseover in Colab

Kaggle Sidebar

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

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

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

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

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

接下來就要進入本文的重點了:訓(xùn)練一個深度學(xué)習(xí)網(wǎng)絡(luò),到底會花費多少時間。

計算機視覺任務(wù)下的速度比較

本文用一個圖像分類的任務(wù)來比較Kaggle和Colab的計算性能。該任務(wù)的目標(biāo)是構(gòu)建一個深度學(xué)習(xí)模型,對貓狗的圖像進行分類。數(shù)據(jù)集包含25000張圖像,貓和狗的樣本數(shù)是均衡的。將數(shù)據(jù)集分為兩部分,其中23000張圖像用于訓(xùn)練,另外2000張用于驗證。

Cat and dog images from the dataset

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

代碼分別在Kaggle和Colab上的實施。Batch size 設(shè)為16,F(xiàn)astAI的版本是1.0.48。使用FastAI的內(nèi)置分析器,統(tǒng)計訓(xùn)練和測試的總時間,兩平臺所用的時間如下。

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

Batch Size

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

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

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

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

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

混合精度訓(xùn)練

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

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

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

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

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

前文提到的硬件差異,似乎并不是導(dǎo)致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的深度學(xué)習(xí)原型庫。根據(jù)Nvidia的這篇文章,Kaggle的軟件應(yīng)該可以提高P100的速度。但是,正如cuDNN更改說明(https://docs.nvidia.com/deeplearning/sdk/cudnn-release-notes/rel_750.html#rel_750)中所示,阻止加速的bug是定期排查和修復(fù)的,那么kaggle在混合精度訓(xùn)練上表現(xiàn)不佳,可能是因為bug修復(fù)不及時所導(dǎo)致的吧。

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

優(yōu)缺點對比

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

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

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

Colab

優(yōu)點

能夠在Google Drive上保存notebook

可以在notebook中添加注釋

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

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

缺點

部分用戶在Colab中的共享內(nèi)存較小。

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

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

Kaggle

優(yōu)點

Kaggle社區(qū)有利于學(xué)習(xí)和展示你的技能

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

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

Kaggle有很多免費數(shù)據(jù)集

缺點

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

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

Kaggle內(nèi)核通??雌饋碛行┻t鈍。

結(jié)論

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6254

    瀏覽量

    111518
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5204

    瀏覽量

    135553
  • 計算機視覺
    +關(guān)注

    關(guān)注

    9

    文章

    1715

    瀏覽量

    47648

原文標(biāo)題:免費GPU哪家強?谷歌Kaggle vs. Colab

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    豪言自家芯片比英偉達GPU10倍,這家AI公司再獲融資

    電子發(fā)燒友網(wǎng)報道(文 / 吳子鵬)在 AI 算力需求呈指數(shù)級增長的今天,英偉達憑借其 GPU 和 CUDA 生態(tài)構(gòu)筑的 “護城河” 似乎堅不可摧。然而,一股由前谷歌 TPU 核心工程師組成
    的頭像 發(fā)表于 03-01 06:41 ?1.1w次閱讀

    如何在 VisionFive v2 上使用外部 GPU?

    如果舊的 amd gpu 在 VisionFive V2 上運行,我想使用帶有開源 amd 驅(qū)動程序的 amd gpu。我需要什么以及如何將 GPU 連接到 VisionFive v2?
    發(fā)表于 03-13 06:38

    Visionfive 2 缺少文件img-gpu-powervr-bin-1.17.6210866.tar.gz怎么解決?

    -powervr/img-gpu-powervr-bin-1.17.6210866.tar.gz 我檢查了 buildroot,目錄和文件不存在。 我已經(jīng)在網(wǎng)上掃描了它,但谷歌找不到它。 有誰知道從哪里可以得到這個副本?
    發(fā)表于 03-11 07:08

    GPU固件無法使用重新編譯的內(nèi)核加載怎么解決?

    我在 VF2 上使用 2.11.5 固件、uboot 和 sbi 進行了全新安裝,我使用的是 SD 映像debian.starfivetech.com(谷歌云端硬盤)并使用/靴子在 SD 上,但我
    發(fā)表于 02-24 07:23

    主流變頻器廠商,大量用哪家的芯片元器件?

    主流變頻器廠商,大量用哪家的芯片元器件?
    的頭像 發(fā)表于 01-16 17:26 ?2372次閱讀
    主流變頻器廠商,大量用<b class='flag-5'>哪家</b>的芯片元器件?

    谷歌評論卡,碰一碰即可完成谷歌評論 #谷歌評論卡 #NFC標(biāo)簽 #nfc卡

    谷歌
    深圳市融智興科技有限公司
    發(fā)布于 :2026年01月15日 17:02:00

    目前專業(yè)的音頻振動采集卡哪家?NI,SonoDAQ,APX,HBK哪個好點?

    目前專業(yè)的音頻振動采集卡哪家?NI,SonoDAQ,APX,HBK哪個好點?
    發(fā)表于 11-19 11:16

    如何在VS code中配置Zephyr集成開發(fā)環(huán)境

    上一篇文章介紹了如何在VS code中使用瑞薩官方插件為RA芯片創(chuàng)建項目與項目調(diào)試,相信大家對RA在VS code中的開發(fā)有了基礎(chǔ)的了解。
    的頭像 發(fā)表于 11-05 14:46 ?1536次閱讀
    如何在<b class='flag-5'>VS</b> code中配置Zephyr集成開發(fā)環(huán)境

    適應(yīng)邊緣AI全新時代的GPU架構(gòu)

    電子發(fā)燒友網(wǎng)站提供《適應(yīng)邊緣AI全新時代的GPU架構(gòu).pdf》資料免費下載
    發(fā)表于 09-15 16:42 ?47次下載

    aicube的n卡gpu索引該如何添加?

    請問有人知道aicube怎樣才能讀取n卡的gpu索引呢,我已經(jīng)安裝了cuda和cudnn,在全局的py里添加了torch,能夠調(diào)用gpu,當(dāng)還是只能看到默認的gpu0,顯示不了gpu1
    發(fā)表于 07-25 08:18

    保證UI流暢運行,我們需要多GPU性能?

    。例如,手機傾斜時的視覺變化,或點擊按鈕時的動畫反饋,都是GPU處理的成果。如果你希望為用戶提供豐富且響應(yīng)迅速的圖形界面,就必須為系統(tǒng)選配合適的GPU。本文將幫助你
    的頭像 發(fā)表于 06-17 08:31 ?798次閱讀
    保證UI流暢運行,我們需要多<b class='flag-5'>強</b>的<b class='flag-5'>GPU</b>性能?

    當(dāng)我問DeepSeek國內(nèi)壓力傳感器哪家,它這樣回答

    特意問DeepSeek國內(nèi)壓力傳感器發(fā)展現(xiàn)狀,以及國內(nèi)壓力傳感器到底哪家,DeepSeek這樣回復(fù)我——壓力傳感器在工業(yè)自動化、汽車電子和醫(yī)療設(shè)備領(lǐng)域有著廣泛應(yīng)
    的頭像 發(fā)表于 05-28 14:48 ?1545次閱讀
    當(dāng)我問DeepSeek國內(nèi)壓力傳感器<b class='flag-5'>哪家</b><b class='flag-5'>強</b>,它這樣回答

    iTOP-3588S開發(fā)板四核心架構(gòu)GPU內(nèi)置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能 iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新一代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達2.4GHZ
    發(fā)表于 05-15 10:36

    可以手動構(gòu)建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 我需要
    發(fā)表于 03-28 06:35