本文為您介紹如何估算MaxCompute SQLML作業的費用。
背景資訊
通常情況下,每個演算法組件由多個子任務組成。因此,計算費用時,需要先計算各演算法組件下的子任務費用,再累計求和。MaxCompute SQLML作業使用了MaxCompute和Platform for AI,所以計算費用包含這兩個部分。
費用計算規則
MaxCompute SQLML底層的機器學習能力,是通過阿里雲Platform for AI產品獨立計費的,所以MaxCompute SQLML費用分為以下兩部分:
SQL作業:計算費用和儲存費用按照MaxCompute SQL計費規則計費,請參見計費項目與計費方式概述。
機器學習模型:按照PAI Studio計費規則計費,規則如下,更多Platform for AI計費資訊,請參見Designer計費說明:
機器學習模型
單價(USD/計算時)
MaxCompute支援的地區
羅吉斯迴歸二分類
0.21
華北2(北京)
華東2(上海)
華東1(杭州)
華南1(深圳)
中國(香港)
羅吉斯迴歸多分類
線性迴歸
計費樣本
基於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×0.21=0.336 USD即機器學習作業費用為0.336 USD。
計算SQL作業費用,請參見計算費用。
機器學習作業費用與SQL作業費用相加即為MaxCompute SQLML作業費用。
查看賬單資訊
MaxCompute SQLML作業,在賬單中體現的是MaxCompute+機器學習(PAI)兩個產品的費用。