國內免費GPU資源哪裡找,最新算力薅羊毛方法在此

  • 2019 年 10 月 6 日
  • 筆記

機器之心發佈

作者:吳昕

之前我在知乎介紹了兩款練習人工智能算法的應用,都是谷歌的,當時有網友在評論區提到了國內有百度的 AI Studio,於是產生了興趣,恰好在那評論出現後幾個星期,又看到了 AI Studio 最近推出了算力卡計劃的新聞,供學習者免費申請使用。貧窮的我決定薅一薅。然而直到現在,網上關於 AI Studio 使用或者測評的文章還聲色未開,看來百度的動作還是小了點。於是決定自己薅點羊毛並測評,分享心得給朋友們。

1. AI Studio 和飛槳(PaddlePaddle)

1.1 AI Studio 和飛槳算是後起之秀,包括我在內的很多人還不是很熟悉這一整套方案,在開薅之前,所以先簡單介紹一下

AI Studio 是百度提供的一個針對 AI 學習者的在線一體化開發實訓平台(https://aistudio.baidu.com/?fr=jq)。平台集合了 AI 教程, 深度學習樣例工程, 各領域的經典數據集, 雲端的運算及存儲資源, 以及比賽平台和社區。[1] 你可以把 AI Studio 看成國產版的 Kaggle。和 Kaggle 類似,AI Studio 也提供了 GPU 支持,但百度 AI Studio 有一個很明顯的優勢:它的 GPU 型號是 Tesla V100。Kaggle 的是 Tesla K80-下表對比兩款單精度浮點運算性能,就能看出 v100 的優勢了。

明顯在單精度浮點運算上,AI Studio 提供的運行環境在計算性能上還是很有優勢的。理論上訓練速度可以提高近 3 倍左右。

雖然性能上好很多,但目前還是可以免費薅到,AI Studio 提供了免費申請和運行項目獎勵這兩種獲得算力卡的方式,最後一章我會帶領大家去薅。

即使算力卡用完了(目前送得太多,根本用不完),AI Studio 的 CPU 也是很有競爭力的。親自用腳本測試過,AI Studio 的 CPU 是 Intel(R) Xeon(R) Gold 6148 CPU,可以說在配置上,AI Studio 是很有競爭力的。

1.2 飛槳

根據官網介紹,飛槳是百度推出的「源於產業實踐的開源深度學習平台」,致力於讓深度學習技術的創新與應用更簡單。

Paddle 直譯就是槳, 其實是 Parallel Distributed Deep LEarning 的縮寫。和 TensorFlow,Pytorch 等框架一樣,飛槳給開發者提供了很多常用的模型,也可以直接在包里直接加載常用的數據庫,對於學習者來說,還是很方便的。

飛槳(PaddlePaddle)還是有點國產的意思,去 Github 可以搜到 PaddlePaddle 的項目,除了英文文檔,還提供了中文文檔,有時候還是挺方便的。雖然現在 star 比起 TensorFlow 的還是差不少,但是感覺進展得如火如荼。

1.3 AI Studio 與飛槳的生態

下圖是飛槳的全景圖:

飛槳生態其實設計得很好,可能 Tensorflow 先發得太早吧,感覺飛槳追趕得很吃力。但從百度最近推廣飛槳的力度來看,我猜飛槳很有可能兩三年左右進入主流深度學習框架之列。

2. AI Studio 實例測評:以數字識別項目為例

2.1 AI Studio GPU 和 CPU 性能對比

為了測試 AI Studio 的性能,我用最經典的 MNIST 數據集,在 LeNet 5 模型上進行運損,對比在 GPU 和 CPU 下在 AI Studio 的的性能,飛槳用的 MNIST 數據集是 60000 個訓練數據,10000 個測試數據。

項目地址在此:

https://aiStudio.baidu.com/aiStudio/projectdetail/45293

以下是 AI Studio 的 CPU 和 GPU 測試性能對比

GPU 提升效果為 11 倍,因為訓練過程有驗證測試,而且 CPU 配置也太高了,所以並未達到理論上的 47x 的加速,但這速度還不錯,況且 AI Studio 本來 CPU 是至強金牌處理器,就很高配了,所以理論上 47x 的加速可能還得打個折。

2.2 AI Studio 和 Kaggle 對比測試

測試環境:

1. Kaggle Kernel

測試 kernel https://www.kaggle.com/orange90/mnist-with-lenet-5-test-run-time.

Batch_size=50, 訓練 5000 輪, 使用框架 TensorFlow,CNN 架構是 LeNet-5

2. AI Studio

測試項目 https://aiStudio.baidu.com/aiStudio/projectdetail/45293

Batch_size=64,訓練 5000 輪, 使用框架飛槳,CNN 架構是 LeNet-5

AI Studio 的測試結果在 2.1 展示了,就不再贅述了,以下是 Kaggle 的性能測試對比

GPU 相比 CPU 來說提升效果為 8 倍,因為訓練過程有驗證測試,所以並未達到理論上的 12.5x 的加速。

由於架構的超參不一樣,直接對比運行時間不太嚴謹,但從 GPU 提升速度的倍數上來說,AI Studio 略勝一籌。

2.3 AWS

也在 AWS 開了個 instance 來測試,選的是這一款配置里的 p2.xlarge

直接把 2.2 里用到的 kaggle 的內核導進去了,測試結果如下:

性能上比前兩者都差一點。

順便一提,這個測試做得我腦殼痛,前期開 instance,配置環境的就花了一個多小時。對於 AWS 新手來說,可能折騰一天,薅了十幾美刀,還是沒能把代碼跑通。真的強烈不推薦在 AWS 來練習自己 deep learning 技能。

2.4. 測試總結

下表總結在不同環境下的測試效果及成本

在使用體驗上,和 Kaggle Kernel 或者 Jupyter Notebook 很接近,雖然外觀稍有不同,但快捷鍵基本一樣,沒有太大的不適應。除此之外,AI Studio 由於在國內,頁面響應比 Kaggle 更快,比 Kaggle 網絡更穩定,斷線重連幾率要更低,畢竟斷線重連要重跑還是挺蛋疼的。

不過需要提醒的是,AI Studio 目前還是按運行環境啟動時間來計費,是在無 GPU 環境下把代碼寫好,再開啟 GPU 去跑。雖然 AI Studio 的算力卡也是送的,但也要趕緊薅起來,囤點算力資源,萬一哪天百度沒錢了,不送了呢?

3. 羊毛來了,薅起來

現在的算力卡還是很好拿的,沒什麼門檻,自己申請一下就拿到了,而且每天運行一次項目,又送 12 個小時算力,連續運行 5 天再加送 48 小時。值得注意的是,申請的算力卡到手就是 48 小時,裂變之後能湊 120 小時,而且有效期比日常運行獲取的 12 小時這種要長很多。我尋思每天免費讓你 12 小時 NVIDIA V100 GPU 這種事情,真的是天上掉餡餅吧。此外,AI Studio 官方也有比賽,有獎金,如果你的實力在 kaggle 里離拿獎金只是一步之遙,那麼趁 AI Studio 還沒火起來之前,去 AI Studio 比賽應該是很好拿獎的。

3.1 自己申請

訪問以下鏈接:https://aistudio.baidu.com/aistudio/questionnaire?activityid=539

接着填寫個人信息

提交後,會出現下圖

然後就靜候佳音。通過運營人員核驗後,用戶的郵箱將收到運營人員發送的算力邀請碼:一串 32 位數字。

通過上面鏈接能申請到 48 小時的算力卡(有效期 1 個月),並且可以分裂,送給別人(稍後送上我的分裂算力卡)

使用算力卡的方法很簡單,在運行項目時選上 GPU,就會開始使用了,如下圖。

3.2 跑項目賺算力卡

這個簡直了,你不僅可以運行自己的深度學習代碼,測試自己的項目,而且同時還會得到算力卡。每天跑一次就可以得到 12 小時算力卡(有效期 2 天),另外算力充電計劃,就是連續 5 天有使用算力卡,就會額外送 48 小時 (有效期 7 天)。但預感這麼高成本的事情應該不會持續太久,建議早薅。下面是我的算力卡獎勵歷史,感覺只要你用,AI Studio 就送你算力,不擔心算力不夠。

3.3 算力卡分裂

AI Studio 的算力卡有分裂功能,你申請到算力卡會有三個邀請碼,你可以分享給你的朋友。我申請的算力卡有三個分裂,我每天會在評論區放一個算力卡,對羊毛貪得無厭,或者懶得申請又想馬上使用的,那可要盯緊評論區了。後續我再薅到新的算力卡就會評論區更新,先到先得,希望各位多多關注本文。

3.4 比賽薅羊毛

另外額外告訴大家一個可能能行的薅羊毛的方法,需要一定的實力。AI Studio 也有一些常規比賽,相對於 Kaggle,可能競爭會小點,如果你在 Kaggle 能 top10% 以上,來 AI Studio 薅類似的比賽,就很大幾率拿得到獎金了。

羊毛不是天天有,該出手時就出手!

Reference:

【1】https://ai.baidu.com/docs#/AIStudio_Tutorial/top?fr=jq

【2】http://www.PaddlePaddle.org/?fr=jq

【3】https://ai.baidu.com/forum/topic/show/943419/?fr=jq

本文為機器之心發佈,轉載請聯繫本公眾號獲得授權。