开始使用
通过函数工作流完成ModelArts与SFS Turbo的相应配置
- 在华为云控制台打开函数工作流 functiongraph,打开对应函数。
图1 打开对应函数
- 配置测试事件。单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可。
图2 配置测试事件
图3 配置测试事件成功后自动生成事件名称 - 运行函数,完成相关配置,函数运行过程约2分钟。
图4 运行函数
函数运行时间较长,出现如下回显为正常情况。可在日志中查看函数运行结果。
图5 函数回显
图6 查看函数运行结果
函数运行成功后,modelarts网络关联SFS Turbo,SFS Turbo绑定OBS。
图7 modelarts关联SFS Turbo成功
图8 SFS Turbo关联OBS成功
创建专属资源池
- 购买服务器。
图9 创建弹性集群
图10 按需选择服务器规格
- 等待弹性集群创建成功后,即可开始开发、训练、推理作业。
图11 弹性集群创建中
图12 弹性集群创建成功
创建训练作业
- 准备数据集并上传到方案创建的OBS桶中。可在AI Gallery社区内下载数据集,以波士顿数据集为例。
图13 选择数据集
图14 下载数据集
图15 选择目标位置
图16 单击新建文件夹,创建名称为input和output的文件夹
图17 选择input文件夹作为下载路径
- 准备自己需要训练的算法。可在AI Gallery社区内订阅算法,以线性回归-LinearRegression为例。
图18 订阅算法
- 等待数据集下载完成后,即可创建训练作业。
图19 创建训练作业
图20 选择订阅的自动学习算法-预测分析
图21 设置数据输入输出位置为方案创建的OBS桶内的input和output文件夹
按照数据集内结构填写超参。本案例中,input_features_str填写内容为crim,zn,indus,chas,nox,rm,age,dis,rad,tax,ptratio,black,lstat;label_col填写内容为medv;tol参数修改默认值为0.0000000001。
图22 填写超参
图23 选择专属资源与挂载SFS Turbo
图24 等待训练作业执行
图25 训练作业已完成
使用开发环境
- 创建Notebook。
图26 创建Notebook
配置Notebook时,如果需要在Notebook内直接查看SFS Turbo内文件,请不要填写”存储配置-子目录挂载”一栏。
图27 配置Notebook
- 打开notebook即可管理开发环境。
图28 打开Notebook
实现数据预热和数据异步留存功能
- 实现数据预热功能。每次训练前需要读取OBS中的数据时,可以使用该功能将要用的数据提前上传到SFS Turbo中。
打开函数工作流functiongraph,打开带有preload-data前缀的函数。图29 打开对应函数
配置空白测试事件,运行函数即可触发预热功能。图30 配置空白测试事件,单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可
图31 运行函数成功
如果函数出现下面异常回显,原因是委托暂未生效,请重试。
图32 函数运行异常
数据预热完成后,可在Notebook上查看预热到SFS Turbo上的数据。
图33 查看预热数据
- 实现数据异步留存功能。当SFS Turbo内产生新文件后,可以使用该功能将新文件存到OBS中。每次训练完成后都可以用该功能存储模型,降低存储成本。
在notebook中可以在SFS Turbo内创建文件,以test文件夹中的文件为例。图34 SFS Turbo内的数据
- 打开函数工作流functiongraph,打开带有export-data前缀的函数。
图35 打开对应函数
本函数中默认留存的文件夹名称为output,需要改变数据留存的文件夹可以在环境变量中修改相应的值(本示例中将该值改成了test)。
图36 需要修改的环境变量
配置空白测试事件,单击”测试”运行函数即可触发数据异步留存功能。图37 配置空白测试事件,单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可
图38 单击测试按钮运行函数函数运行成功后,可以成功将数据留存在OBS桶内。
图39 查看异步留存数据
- 如需要定时触发异步留存功能,可在函数内创建定时触发器实现。
图40 查看异步留存数据
触发器的触发频率可按照训练模型的周期设定,示例中为一小时。
配置SFS Turbo数据淘汰策略
- 等待SFSTurbo关联OBS成功后,进入SFS Turbo控制台,选择方案生成的SFS Turbo,配置SFS Turbo数据淘汰策略,填写数据淘汰的时间即可。
图41 选择SFS Turbo
图42 配置策略
- 触发数据淘汰策略需要将该数据留存到OBS中,可用数据异步留存功能实现。
- 如果未访问某数据达到设定时间后,SFS Turbo会自动释放设定时间内没有访问过的文件数据内容,仅保留文件元数据,数据内容释放后不占用SFS Turbo文件系统上的存储空间。
#该功能可在SFS目录下用命令创建大文件验证 truncate -s 1G test.txt #查看SFS Turbo占用空间 df -h
图43 经过设定时间后不再占用SFS Turbo空间
再次访问该文件时,将重新从OBS中加载文件数据内容。
图44 重新加载文件