このトピックでは、MaxCompute SQLMLジョブのコストを見積もる方法について説明します。
背景情報
ほとんどの場合、各アルゴリズムコンポーネントは複数のサブタスクで構成されます。 コストを計算するには、まず各アルゴリズムコンポーネントのサブタスクのコストを計算し、すべてのコンポーネントのコストを合計する必要があります。 MaxComputeおよびMachine Learning Platform for AI (PAI) は、MaxCompute SQLMLジョブを実行するために使用されます。 したがって、MaxCompute SQLMLジョブのコストは、MaxComputeとPAIの両方で発生するコストで構成されます。
課金ルール
MaxCompute SQLMLの基盤となる機械学習機能は、PAIの課金ルールに基づいて個別に課金されます。 したがって、MaxCompute SQLMLジョブのコストは、次の部分に基づいて計算されます。
SQLジョブ: SQLジョブのコンピューティングコストとストレージコストは、MaxCompute SQLの課金ルールに基づいて計算されます。 詳細については、「概要」をご参照ください。
機械学習モデル: 機械学習モデルのコストは、Machine learning Studioの課金ルールに基づいて計算されます。 次の表にルールを示します。 PAI課金の詳細については、「Machine Learning Designerの課金」をご参照ください。
機械学習モデル
単価 (USD /計算時間)
リージョン
バイナリ分類のロジスティック回帰
0.21
中国 (北京)
中国 (上海)
中国 (杭州)
中国 (深セン)
中国 (香港)
マルチクラス分類のロジスティック回帰
線形回帰
課金の例
MaxCompute SQLMLの課金ルールに基づいてコストを見積もるには、CPUコアとメモリの使用率を取得する必要があります。
この例では、入門の既存の予測データセットを使用してコストを見積もります。
DataWorksのアドホッククエリ機能を使用し、予測データセットmushroom_predictに基づいてバイナリ分類モデルのロジスティック回帰を作成し、Logview URLを取得します。 モデルの名前はlr_test_model_1です。
例:
create model lr_test_model_1 with properties('model_type'='logisticregression_binary', 'goodValue'='p','maxIter'='1000') as select * from mushroom_predict;次の結果が返されます。

Logview URLに基づいてLogviewにログインし、LogviewでAlgoTaskジョブのインスタンスIDを取得します。
PAIジョブは、MaxComputeでAlgoTaskジョブとして定義されます。 AlgoTaskジョブの命名規則は、
Projectname + '_' + InstanceID + "AlgoTask_x_x"です。 ジョブ名からインスタンスIDを取得できます。
DataWorksのアドホッククエリ機能を使用し、インスタンスIDに基づいてPAIジョブのLogview URLを取得します。
例:
wait 20210209031144617gcjpt62m_1dbea3a8_17de_40d5_80bf_ce19e11d****;次の結果が返されます。

PAIジョブのLogview URLに基づいてLogviewにログインします。 SourceXMLタブに移動し、TaskPlanのCPUコアとメモリの使用率を照会します。
上記のルール:CPUコアの使用数は、CPUの値を100で割って計算されます。 この例では、1つのCPUコアを使用してジョブを実行します。
メモリの単位はMBです。 この例では、3315 MB (3.2 GB) のメモリを使用してジョブを実行します。
重要上記の結果は、サブタスクで使用されるCPUコアとメモリを示しています。 ジョブは、複数のサブタスクを有することができる。 ジョブのサブタスク数を計算するには、次の手順を実行します。
PAIジョブのLogview URLに基づいてLogviewにログインし、[ジョブの詳細] タブでサブタスクの数と期間を取得します。
次の図は、2つのサブタスクが存在し、各サブタスクの期間が48分であることを示しています。

この例では、使用されるCPUコアの数は2 (2x1) 、使用されるメモリサイズは6.4 GB (2x3.2 GB) 、所要時間は48分です。
総コストを見積もります。
請求可能時間数を計算します。
Number of billable hours = Max(Number of CPU cores x Duration,Used memory size x Duration/4) = Max[2 x 1x (48 x 60/3600),2 × 3.2 × (48 x 60/3600)/4] ≈ 1.6PAIジョブのコストを計算します。
Cost of a PAI job = Number of billable hours for subtasks × Unit price ≈ 1.6 × 0.21 = 0.336 USDこの例のPAIジョブのコストは0.336 USDです。
SQLジョブのコストを計算します。 詳細については、「コンピューティング料金」をご参照ください。
PAIジョブとSQLジョブのコストの合計は、MaxCompute SQLMLジョブのコストに等しくなります。
請求書の表示
請求書では、MaxCompute SQLMLジョブのコストは、MaxComputeとPAIの両方で発生したコストの合計です。