开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):机器学习 PAI-DSW 基础】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19257
机器学习 PAI-DSW 基础
内容介绍:
一、机器学习 PAI-DSW 概述
二、功能特性与应用场景
一、机器学习 PAI-DSW 概述
1.PAI-DSW 的定义
PAI-DSW(Data Science Workshop)
一套环境:PAI 平台为算法开发者打造的云端深度学习开发环境,
交互建模:提供 Notebook 交互建模方法
性能优化: 提供阿里巴巴深度优化的TensorFlow 框架,并通过编译优化提升训练性能
DSW 是 data science workshop 的缩写数据科学,workshop 可以理解为工作坊。首先 PAI-DSW 是一套环境,PAI 平台为算法开发者打造的云端深度学习开发环境,登录上去然后远程环境就在里面,这套环境是一个交互建模的环境,提供 notebook 的交互建模方法,PAI-DSW 打开如上图,能看到 Notebook,可以用 Python 语言进行开发、性能优化,在 PAI-DSW 提供TensorFlow 框架,是阿里巴巴经过深度优化的TensorFlow 框架,并且通过边优化来提升训练性能,打开 PAI-DSW 的界面如图所示。
2.PAI-DSW 组件
云端交互式开发平台
直接选择镜像获得开发环境;
支持交互式建模,支持 CPU 和 GPU 资源
DSW 是一个云端的交互式开发平台,用起来非常方便,找远程用随便一台电脑登录上之后就可以打开环境,环境集成是集成的 jupyter,打开之后用 python 开发的用户可能都会很熟悉这个环境,可以在这个环境里面直接用 python 写代码,非常友好的界面。另外还有terminal 是常规的操作,打开终端控制台面对的就是 linux 的服务器,用命令行去交互,tax file 文本文件还有 markdown file 有标记的文本都是很方便的去新建,因为内置了阿里云优化 TensorFlow 所以也集成了一个 Tensorboard,TensorFlow 的可视化工具。
建环境可以直接选择镜像获得开发环境,官方是已经预置了一些镜像,打开下拉框的时候可以看到官方镜像下面有一些已经预制好的,从里面选择一个就可以,一般都是 TensorFlow 相关的镜像还有 pytorch 等等,镜像是在不断更新的过程中,里面有一些稍微版本比较低的也会保留,因为有一些实验需要不同版本的并行环境,除了乌班图之外也有别的系统可以选,官方镜像已经能满足大部分的需求,用起来非常方便,搭一个 UDPU、Coda 然后再搭一个 Python、pytorch 或者 TensorFlow 的环境要很长的时间,同时很多环境要去测试很麻烦,有镜像之后可以快速的进到需要的环境,节约了大量的时间,如果里面预知的镜像不满足还可以用自己定义的镜像,使用自己镜像的时候在选项里面选镜像 URL,放自己建好的镜像地址,在平台里面打开自己的镜像,环境里面还可以支持 CPU 跟 GPU 的资源,可以去选比如当前的环境是用 CPU 还是用 DPU,如果用 GPU 是什么样的显卡,英伟达、特斯拉、geforce 等等有很多选项,CPU 还可以去选是几何,用云端的交互式开发平台,平台的硬件有CPU、GPU 资源和平台的软件,装到操作系统已经预安装的一些人工智能框架,环境都可以选,选择之后动态的去生成,非常的方便。
3.PAI-DSW 的前置知识
01.对深度学习神经网络、卷积神经网络、循环神经网络等知识有一定了解。
02.对 Python 开发有一定了解。
首先要对深度学习的神经网络,卷积神经网络,循环神经网络有一定的了解,因为做开发要自己去做网络的模型,DSW 里面已经预置覆盖了很多版本的主流计算框架,像 TensorFlow、pytorch,但是这里面的神经网络要自己会去搭,因为是代码交互,所以要会写代码才可以,要对 Python 开发有一定的了解,要知道 Python 的语法,notebook 环境的使用方法,Python 的包管理的方法和 Python 的程序、执行的方法等等,对 Python 的开发有一定的了解,因为环境主要是 linux 有很多都是乌版图的环境,所以对操作系统 linux 最好也有一定的了解。
4.PAI-DSW 的优势
01支持的神经网络
DNN,CNN,RNN 等常见网络
02网络模型开发
交互式代码开发
03调参
平台支持自动调参
04运行环境
云端实例,可配置 CPU 和 GPU
05支持多种开发模式
支持 Jupyter、VS Code、Terminal 等多种开发模式
首先支持的神经网络比较多,支持 DNN,CNN,RNN 等常见网络,另外 PAI-DSW 还预装了常用的大数据开发算法包,而且很好的一点是开放的管理员权限 Sudo 权限,所以用 DSW 的时候可以自己去安装第三方的库,可以理解成为只要有神经网络都可以支持。
第二个是网络模型开发用的是交互式的代码开发,如果用过 notebook 会发现开发的方式非常的方便,因为是交互的方式,所以可以实时的去看结果,执行起来也非常的方便。
开发完网络模型之后经常做的事情是调参,DSW 是支持自动调参的,DSW 已经内置了调参的工具 OTOML 是 auto machine learning,在很多的情况下自动的调餐比人工的调参可能效果要好。
第四个方面是运行环境,DSW 使用的是云端实例背靠着阿里云的平台,可以去配置 CPU 和 GPU,运行环境的资源是可以用 PAI-DLC 的公共资源组来创建实例,在这种环境下 CPU 的数量可以到32个,内存最大可以到 128G,带宽可以到时区的带宽,GPU 主要是用的英伟达100,最多的时候可以扩展到八块,这种算力对大部分的应用场景已经足够。
第五个优势是 PAI-DSW 支持多种开发模式,能够支持 Jupyter、VS Code、Terminal 等等,可以满足不同开发软件的需求。
二、功能特性与应用场景
1.PAI-DSW 的功能特性
01支持资源实时监控,算法开发时,可以显示 CPU 或 GPU 的使用情况。
02支持多源数据接入,包括 MaxCompute、OSS 及 NAS。
MaxCompute 是阿里企业级的大数据计算服务,能够提供 PV 级的数据仓库解决方案,oss 是阿里云的对象存储 object storage service,NAS 是网络存储的数据源。
03支持编写和运行 SQL 语句。
对于关系数据库的数据获取非常方便。
04支持多种资源类型,公共资源组及 DLC 专有资源组。
05支持灵活切换各类资源,有效降低使用成本。
云端弹性带来的优势。
06预置常用大数据开发包和算法库,且支持自定义安装第三方库。
2.PAI-DSW 的应用场景
做深度学习算法开发的时候,繁琐的环境配置很麻烦,要考虑硬件的环境用什么样的算力、CPU、GPU,多大的现存够支撑开发,然后数据需要多少存储都很麻烦,用什么样的操作系统、GPU,用 GPU 的要去装很多东西,像 CODE,不同的版本对应的框架不一样,对应的 CODE 的版本又要去装相应的框架版本,在开发的过程中还不止用到一个框架,在用一些框架的时候可能用到很多其他的包,就会导致要花大量的时间在环境配置上面,环境的一些变动也会带来很多的问题,使用的 PAI-DSW 不再需要繁琐的环境配置,用容器的技术打开现成的环境马上就可以用,只要几秒钟启动一下环境就可以。
第二个是随时随地的编写算法代码,使用 PAI-DSW 对终端的设备要求非常低,只要有一个浏览器就可以打开甚至不用浏览器,远程上来就可以,不用自己随身去带着 GPU 很好的一个本子去做算力,然后耗度高,这样方便随时随地的打开,可以写算法的代码,使用 PAI-DSW 工作的方式应该是未来的趋势, PAI-DSW 还可以辅助教育从业者来实现在线的教学演示和科研项目的开放,教育从业者常会遇到需要在不同的环境之间切换的情况,不同的案例用到不同的环境,PAI-DSW 非常容易的解决了这个问题,在教学演示的过程中使用它非常方便,很多学习、学生或者是进行 AI 学习的人在进行练习的时候也是这样的,也可以使用PAI-DSW 很方便的去完成一些项目的实践,科研项目的开发也是类似的。
3.本节回顾
通过本节的学习,我们学到了:
机器学习 PAI-DSW 概述
机器学习 PAI-DSW 是 PAI 平台为算法开发者打造的云端深度学习开发环境,提供 Notebook 交互建模方法,提供阿里巴巴深度优化的 TensorFlow 框架,并通过编译优化提升训练性能
功能特性与应用场景
机器学习 PAI-DSW 的功能特性主要包括支持资源实时监控、多源数据接入、编写运行 SQL 语句、多种资源类型、灵活切换各类资源、预置常用大数据开发包和算法库
机器学习 PAI-DSW 的应用场景涵盖深度学习算法开发