本文为您介绍如何估算MaxCompute SQLML作业的费用。
背景信息
通常情况下,每个算法组件由多个子任务组成。因此,计算费用时,需要先计算各算法组件下的子任务费用,再累计求和。MaxCompute SQLML作业使用了MaxCompute和人工智能平台 PAI,所以计算费用包含这两个部分。
费用计算规则
MaxCompute SQLML底层的机器学习能力,是通过阿里云人工智能平台 PAI产品独立计费的,所以MaxCompute SQLML费用分为以下两部分:
SQL作业:计算费用和存储费用按照MaxCompute SQL计费规则计费,请参见计费项与计费方式概述。
机器学习模型:按照PAI Studio计费规则计费,规则如下,更多人工智能平台 PAI计费信息,请参见Designer计费说明:
机器学习模型
单价(CNY/计算时)
MaxCompute支持的地域
逻辑回归二分类
1.3
华北2(北京)
华东2(上海)
华东1(杭州)
华南1(深圳)
中国(香港)
逻辑回归多分类
线性回归
说明系统将1个小时消耗1个CPU Core和4 GB内存,折算为1个计算时。计算时数量的计算规则如下:
计算时数量=max(CPU Core数量×时长,内存×时长/4)
例如1小时消耗了2 个CPU Core和5 GB内存,则计算时数量为:
计算时数量=max(2×1,5×1/4)=2
账单金额为:
账单金额=计算时数量×单价 本例中账单金额为: 2(计算时)x1.3(单价金额) =2.6元
计费示例
基于MaxCompute SQLML费用计算规则,需要获取CPU Core和内存使用量,进而估算费用。
以快速入门中已有的预测数据集为例,估算费用的步骤如下:
使用DataWorks的临时查询功能,基于预测数据集mushroom_predict创建逻辑回归二分类模型lr_test_model_1,并获取Logview。
命令示例如下:
create model lr_test_model_1 with properties('model_type'='logisticregression_binary', 'goodValue'='p','maxIter'='1000') as select * from mushroom_predict;
返回结果如下:
基于Logview链接,获取AlgoTask作业的InstanceID。
机器学习的作业在MaxCompute中被定义为AlgoTask。作业的命名规则是
Projectname+'_'+InstanceID+"AlgoTask_x_x"
,获取InstanceID。使用DataWorks的临时查询功能,基于InstanceID获取机器学习作业的Logview。
命令示例如下:
wait 20210209031144617gcjpt62m_1dbea3a8_17de_40d5_80bf_ce19e11d****;
返回结果如下:
基于机器学习作业的Logview,在SourceXML页签获取TaskPlan的CPU Core和内存使用量信息。
其中:
CPU除以100表示使用的CPU Core数量,即该作业使用了1个CPU Core。
Memory单位为MB,即使用了3.2 GB。
重要这是一个子任务使用的CPU Core和Memory,一个作业可能会有多个子任务,具体任务数请在下一步骤中获取。
基于机器学习作业的Logview,在Job Details页签获取任务数和运行时长。
如图任务数为2,运行时长为48分钟。
综上:本例中使用CPU Core数是2x1=2,Memory为2x3.2 GB=6.4 GB,运行48分钟。
预估总费用。
计算使用的计算时数。
计算时=max(CPU Core数量×时长,内存×时长/4)=max[2×1×(48x60/3600),2×3.2×(48x60/3600)/4]≈1.6计算时
计算机器学习作业费用。
机器学习部分总费用=子任务计算时数量×单价≈1.6×1.3=2.08 CNY
即机器学习作业费用为2.08元。
计算SQL作业费用,请参见计算费用(包年包月)或计算费用(按量付费)。
机器学习作业费用与SQL作业费用相加即为MaxCompute SQLML作业费用。
查看账单信息
MaxCompute SQLML作业,在账单中体现的是大数据计算服务MaxCompute+机器学习(PAI)两个产品的费用。