1. 缘起
近日和公司同学分享了推荐系统的构建、策略、算法等相关内容。由于课程长度缘故,来不及和大家实践一下,如何实现一个简单推荐系统的CTR预估模型。于是,课后想分享一个基于Jupyter Notebook的demo,发现居然一时间找不到国内可以用于分享、协作、运行的机器学习平台。通过google找到了几个一站式的机器学习平台,它们的特点都是基于Jupyter Notebook 构建的,都能够在上面开发、调试、训练、运行、分享机器学习相关的代码集和数据集。
1.1 Jupyter NoteBook
首先回顾介绍Jupyter Notebook,根据官网的介绍,Jupyter是一种可以允许用户创建、分享代码、公式、可视化等富文本的web 应用。用户通常在上面做数据清洗、数据转换、数值计算、统计建模、机器学习等等。可以说Jupyter是数据科学家最常用、最好用的工具之一,可以快速的对数据处理、可视化、建模,可以说是数据科学的事实标准编辑器了。
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左右。
floyhub 价格方案
paperspace
如下图所示,paperspace使用的内核和内存方案类似于floyhub,但是有一定GPU并发,以及notebook的限制。
paperspace 价格方案当然,你还可以购买一台GPU Server 部署直接的Jupyter notebook。amazon,google,azure都有自己方案,那么价格就远贵于AI as service的供应商服务啦。
2.Google Colab
google colab 是以上介绍平台中,最适合个人开发者的。它不仅仅是提供切实可用的计算、存储资源,它的文件是默认存储在google drive中,也能够集成GitHub做版本控制。同时还可以安装第三方python包,读写第三方的数据源,还能很轻松分享notebook文件。
打开首个google colab notebook,如下图所示:
google colab可以通过修改设置,选择你的代码运行环境,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~
网友评论