概述
在人工智能领域存在这样的现象,很多用户有人工智能的需求,但是没有相关的技术能力。另外有一些人工智能专家空有一身武艺,但是找不到需求方。这意味着在需求和技术之间需要一种连接作为纽带。
今天PAI正式对外发布了“AI市场”以及“PAI自定义算法”两大功能,可以帮助用户5分钟将线下的spark算法或是pyspark算法发布成算法组件,并且支持组件发布到AI市场供更多用户使用。有了以上功能,算法开发者和算法需求双方可以基于PAI的开放框架和平台实现算法交易,实现生态和PAI的共融。
详细使用说明
价格说明
使用SQL、SPARK2.0、PYSPARK2.0 3种算法框架自行开发出的算法上传到PAI-STUDIO中,运行产生的费用按照PAI资源成本价收取,费用为1元/计算时。
功能详解
1.控制台说明
首先进入PAI控制台,找到Studio-可视化建模下的“算法发布”功能。
2.开发算法代码
基于本地调试文档,开发算法包。本文使用官方提供的pyspark案例介绍。
3.点击“创建自定义算法”
- 算法名称:算法组件的名字
- 算法唯一标示:算法的后台唯一标识,可以用来查询日志等信息
- 算法框架:sql、spark、pyspark
- 算法包:如果是sql算法,需要上传sql脚本。spark算法提交的是打包好的jar包。pyspark提交的是工程打包好的zip文件
- 算法种类:算法包发布到PAI-STUDIO后所在的文件夹
- 入口参数:sql组件不需要、spark需要写jar包的入口类(例:com.aliyun.odps.spark.examples.simhash.SimHashSpark)、pyspark需要写入口的py文件和入口函数(中间用.分隔)
本文使用官方提供的pyspark算法包,上传pyspark.zip文件,输入入口文件和入口函数
read_example.mainFunc
如图:
4.编辑版本
提交算法包后,在控制台可以看到算法包实例,这时候需要为算法包配置UI展示相关内容。
这里的版本指的是组件的UI展示形式,只有配置了版本的才可以发布。
点击添加版本:
点击前往配置进入组件配置界面,所有算法组件的配置可以通过拖拽的形式可视化操作。
5.组件UI编辑
组件的输入和输出桩可以在下图部分自由控制,本案例实现的是读一个表然后把其中两个字段写到另一个表里,对应代码中的inputTable1和outputTable1,如果多个输入输出桩可以在代码中定义inputTable2、inputTable3等,组件桩会自动映射。
#定义输入节点
INPUT_TABLE = arg_dict["inputTable1"]
OUTPUT_TABLE = arg_dict["outputTable1"]
ID_COL = arg_dict["idCol"]
CONTENT_COL = arg_dict["contentCol"]
本案例只使用了一个输入和一个输出,这部分不需要修改。
接下来编辑配置信息,在上述代码中除了inputTable和outputTable这两个参数,剩下的所有参数都要对应到组件的基础控件。本案例中idCol和contentCol两个参数对应的是输入表中选择的两个字段,都是单选。在左侧基础控件中找到“单字段填写控件”,因为是两个参数,所以拖两个出来。
单击第一个控件,在右侧基础信息中进行配置。
- Name(必选项):算法代码中参数的映射项,本案例应该写idCol。设置好后,说明算法代码中拿到的idCol信息就是该组件的输入
- 标签:该控件的展示名
- converter:一般不用填写
- 绑定输入/输出:组件输入输出桩的绑定,本案例选择输入#1
- 支持的数据类型:默认全部支持
分别配置两个控件的信息对应到idCol和contentCol。
6.发布组件
编辑好UI版本,记得点击下方的保存按钮。
回到控制台,刷新页面,点击“使用此版本”
这时候组件就可以发布了,
发布分两种:
- 发布到PAI-STUDIO:发布到PAI-STUDIO需要选择区域和项目,发布过去的组件只能在当前项目下使用,并且主子账号共享
- 发布到数加智能市场:生成的组件会发布到AI市场,供所有PAI用户下载使用
7.组件调用
进入组件发布的PAI-STUDIO项目,在左侧“组件”tab下找到“自定义算法”文件夹,可以找到发布的算法并使用