一站式機器學習平臺資源介紹

1. 緣起

近日和公司同學分享了推薦系統的構建、策略、算法等相關內容。由於課程長度緣故,來不及和大家實踐一下,如何實現一個簡單推薦系統的CTR預估模型。於是,課後想分享一個基於Jupyter Notebook的demo,發現居然一時間找不到國內可以用於分享、協作、運行的機器學習平臺。通過google找到了幾個一站式的機器學習平臺,它們的特點都是基於Jupyter Notebook 構建的,都能夠在上面開發、調試、訓練、運行、分享機器學習相關的代碼集和數據集。

1.1 Jupyter NoteBook

首先回顧介紹Jupyter Notebook,根據官網的介紹,Jupyter是一種可以允許用戶創建、分享代碼、公式、可視化等富文本的web 應用。用戶通常在上面做數據清洗、數據轉換、數值計算、統計建模、機器學習等等。可以說Jupyter是數據科學家最常用、最好用的工具之一,可以快速的對數據處理、可視化、建模,可以說是數據科學的事實標準編輯器了。

1.2 免費平臺資源

平臺名稱 計算核心 核心運行時 內存 存儲 支持語言
google colab CPU 2cores /GPU tesla k80s 1core/TPU 8cores 12個小時 12G 50G py2,py3
kaggle kernel CPU 4 cores/GPU 2cores 6個小時 16G/12G 1G py2,py3
Azure Notebooks 未知 未知 4GB 1G py2,py3,R,F#

一般而言,你用GPU訓練一個模型,平臺提供的內存資源會相應減少一些。在一些評測中,google的GPU比TPU性能稍微強勁些。總體而言,Google colab更加適合較爲大型的模型的訓練。

1.3 收費平臺資源

不同的平臺有不同的收費標準,基本上可以看做是函數計算的雲服務在售賣,本質上比 AI as services 底層一點,基礎收費方案,大約在一個月10刀左右。

floydhub

如下圖所示,可以看到,主力方案,基本提供100G存儲,使用的是NVIDIA的Tesla K80或者V100.但是需要注意這些資源都是搶佔式的,運行時可以長達7天,一般能用上完整的GPU,內存在60G左右。


paperspace

如下圖所示,paperspace使用的內核和內存方案類似於floyhub,但是有一定GPU併發,以及notebook的限制。

當然,你還可以購買一臺GPU Server 部署直接的Jupyter notebook。amazon,google,azure都有自己方案,那麼價格就遠貴於AI as service的供應商服務啦。

2.Google Colab

google colab 是以上介紹平臺中,最適合個人開發者的。它不僅僅是提供切實可用的計算、存儲資源,它的文件是默認存儲在google drive中,也能夠集成GitHub做版本控制。同時還可以安裝第三方python包,讀寫第三方的數據源,還能很輕鬆分享notebook文件。

打開首個google colab notebook,如下圖所示:

可以通過修改設置,選擇你的代碼運行環境,google支持py2和py3,硬件加速支持CPU、GPU、TPU。

可以通過代碼查看底層所分配的硬件資源。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

可以通過 google colab 的庫,上傳本地文件。文件會臨時存儲在content目錄下。

from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))
for name, data in uploaded.items():
  with open(name, 'wb') as f:
    f.write(data)
    print ('saved file', name)

簡而言之,google colab是很好的一站式機器學習平臺,值得信賴、使用。google colab擁有的能力遠超文章所列舉,只待各位good coding~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章