一站式机器学习平台资源介绍

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左右。


一站式机器学习平台资源介绍_第1张图片
floyhub 价格方案

paperspace

如下图所示,paperspace使用的内核和内存方案类似于floyhub,但是有一定GPU并发,以及notebook的限制。

一站式机器学习平台资源介绍_第2张图片
paperspace 价格方案

当然,你还可以购买一台GPU Server 部署直接的Jupyter notebook。amazon,google,azure都有自己方案,那么价格就远贵于AI as service的供应商服务啦。

2.Google Colab

google colab 是以上介绍平台中,最适合个人开发者的。它不仅仅是提供切实可用的计算、存储资源,它的文件是默认存储在google drive中,也能够集成GitHub做版本控制。同时还可以安装第三方python包,读写第三方的数据源,还能很轻松分享notebook文件。

打开首个google colab notebook,如下图所示:

一站式机器学习平台资源介绍_第3张图片
google colab

可以通过修改设置,选择你的代码运行环境,google支持py2和py3,硬件加速支持CPU、GPU、TPU。

一站式机器学习平台资源介绍_第4张图片
修改运行时
一站式机器学习平台资源介绍_第5张图片
选择后端引擎

可以通过代码查看底层所分配的硬件资源。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()
一站式机器学习平台资源介绍_第6张图片
硬件资源

可以通过 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)
一站式机器学习平台资源介绍_第7张图片
上传文件

简而言之,google colab是很好的一站式机器学习平台,值得信赖、使用。google colab拥有的能力远超文章所列举,只待各位good coding~

你可能感兴趣的:(一站式机器学习平台资源介绍)