すべてのプロダクト
Search
ドキュメントセンター

PolarDB:モデルのワークフローと手順

最終更新日:Sep 18, 2026

PolarDB for AI には、組み込みの大規模モデルが用意されているほか、SQL 文を使用してカスタムモデルの構築や外部モデルのロードもできます。このトピックでは、モデルの作成、評価、推論などのモデル操作について説明します。

モデルの概要

カテゴリ

説明

組み込みモデル

PolarDB で SQL 文を実行することで、組み込みの大規模 AI モデルを呼び出して、複雑な分析タスクを実行できます。他の AI プラットフォームと手動でデータを同期する必要はありません。詳細については、以下をご参照ください。

カスタムモデル

組み込みの大規模 AI モデルがビジネス要件を満たさない場合は、ファインチューニングされたカスタムモデルを作成できます。さらに、PolarDB for AI はコンフィデンシャルコンテナーでのモデル実行をサポートしており、データセキュリティを強化できます。

カスタムモデルを構築するワークフローは次のとおりです。

  1. モデルの作成

  2. モデルの評価

  3. モデルの推論

モデルの作成

機械学習モデルを作成します。これは非同期プロセスであるため、モデルのステータスをクエリして完了を確認する必要があります。

構文

CREATE MODEL model_name WITH ( model_class = '', x_cols = '', y_cols='',model_parameter=()) AS (SELECT select_expr [, select_expr] ... FROM table_reference)

パラメーター

パラメーター

説明

model_name

モデル名です。

model_class

モデルのタイプ。有効な値は次のとおりです。

x_cols

入力列です。

説明

複数の列名はカンマ (,) で区切ります。

y_cols

出力列です。

model_parameter

モデルパラメーターです。

  • model_class が lightgbm の場合、model_parameter については「パラメーターの説明」をご参照ください。

  • model_class が deepfm の場合、model_parameter の値については、「パラメーターの説明」をご参照ください。

  • model_class が kmeans に設定されている場合、model_parameter の値については パラメーターの説明 をご参照ください。

  • model_class が randomforestreg の場合、model_parameter については「パラメーターの説明」をご参照ください。

  • model_class が gbrt の場合、model_parameter については「パラメーターの説明」をご参照ください。

  • model_class が linearreg に設定されている場合、model_parameter の値については、「パラメーターの説明」をご参照ください。

  • model_class の値が svr の場合、model_parameter の値については、「パラメーターの説明」をご参照ください。

  • model_class が bst の場合、model_parameter については「パラメーターの説明」をご参照ください。

select_expr

列名です。

table_reference

テーブル名です。

例

airlines_gbm モデルを作成します。

/*polar4ai*/CREATE MODEL airlines_gbm WITH (model_class='lightgbm', x_cols ='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay',model_parameter=(boosting_type='gbdt', n_estimators=100, max_depth=8, num_leaves=256)) as (SELECT * FROM db4ai.airlines_train)

出力例:

Query OK, 0 rows affected (0.79 sec)

モデルのデプロイ

アップロードされたモデルを PolarDB for AI プラットフォームにデプロイします。デプロイが成功するとモデルがオンラインになり、高速なモデル推論が可能になります。

構文

DEPLOY MODEL model_name

パラメーター

パラメーター

説明

model_name

デプロイするモデルの名前。

例

my_model という名前のモデルを PolarDB for AI プラットフォームにデプロイします。

/*polar4ai*/ DEPLOY MODEL my_model;

出力例:

Query OK, 0 rows affected (0.29 sec)

次のコマンドを実行して、モデルのステータスを確認します。

/*polar4ai*/ SHOW MODEL my_model;

出力例:

+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| modelStatus | modelPath                                                                                                                   |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| serving     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/xxxxx.pkl?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx  |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.23 sec)

modelStatus が serving の場合、デプロイが成功したことを示します。

モデルの表示

説明

表示できるのは、作成またはアップロードしたカスタムモデルと外部モデルのみです。PolarDB for AI の組み込みモデルは表示できません。

モデルの一覧表示

現在のクラスター内のすべてのカスタムモデルと外部モデルを一覧表示します。

構文

SHOW MODELS

例

/*polar4ai*/SHOW MODELS

出力例は次のとおりです。

+-----------------------+-----------------+--------------+
| model_name            | model_class     | model_status |
+-----------------------+-----------------+--------------+
| airline_rfr           | randomforestreg | saved        |
| gbrt1                 | gbrt            | saved        |
| airline_deepfm        | deepfm          | saved        |
| airlines_gbm          | lightgbm        | saved        |
| lgbm1                 | lightgbm        | saved        |
| blackfriday_linearreg | linearreg       | saved        |
+-----------------------+-----------------+--------------+
6 rows in set (0.24 sec)

モデルのステータス

モデルの現在のステータスを表示します。モデルの作成後、このコマンドでトレーニングが完了したかどうかを確認できます。モデルのステータスは、次のいずれかです。

  • training:モデルがトレーニング中であることを示します。

  • loading_data:モデルのデータをロード中であることを示します。

  • trained:モデルのトレーニングが完了したことを示します。

  • saved:モデルが保存されたことを示します。

  • serving:モデルがデプロイされ、使用可能であることを示します。

  • deleted:モデルが削除されたことを示します。

構文

SHOW MODEL model_name 

パラメーター

パラメーター

説明

model_name

モデル名です。

例

airlines_gbm モデルの現在のステータスを表示します。

/*polar4ai*/SHOW MODEL airlines_gbm;

出力例は次のとおりです。

+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| modelStatus | modelPath                                                                                                                   |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| saved       | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/xxxxx.pkl?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx  |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.23 sec)
説明

modelPath は 100 分間有効です。Expires パラメーターを modelPath で確認して、リンクがまだ有効かどうかを調べることができます。リンクにアクセスする必要がある場合は、期限切れになる前にアクセスしてください。

モデルの詳細

構文

DESCRIBE MODEL model_name

パラメーター

パラメーター

説明

model_name

モデル名です。

例

airlines_gbm モデルの詳細を表示します。

/*polar4ai*/DESCRIBE MODEL airlines_gbm;

出力例は次のとおりです。

+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| model_name        | model_description                                                                                                                                                                                                                                                                 |
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| airlines_gbm      | basic information:model_name:airlines_gbm model_class:lightgbm feature important:features,imp_gain,imp_splitAirline,0.3327,0.0376 AirportFrom,0.2178,0.1842 Time,0.1893,0.1999 AirportTo,0.1668,0.187 DayOfWeek,0.0384,0.1236 Length,0.0307,0.1269 Flight,0.0242,0.1408           |
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.65 sec)

モデルの評価

トレーニング済みモデルのパフォーマンスを評価します。

構文

SELECT select_expr [, select_expr] ... FROM EVALUATE (MODEL model_name, SELECT select_expr_for_prediction [, select_expr_for_prediction] ... FROM table_reference ) WITH (x_cols = '', y_cols='', metrics='')

パラメーター

パラメーター

説明

select_expr

モデル評価結果に表示する列です。

model_name

モデル名です。

select_expr_for_prediction

モデル評価に使用する列です。

table_reference

テーブル名です。

x_cols

モデル作成に使用される入力列です。複数の列名はカンマ (,) で区切ります。

y_cols

モデル作成に使用される出力列です。

metrics

評価メトリクス。有効な値は次のとおりです。

  • acc: 精度。このメトリックは分類タスクに適用されます。

  • r2_score:決定係数。このメトリックは回帰タスクに適用されます。

  • ks:KS 値。モデルが正例サンプルと負例サンプルをどの程度うまく分離できるかを測定するメトリックです。このメトリックは分類タスクに適用されます。

  • auc:AUC 値。受信者操作特性 (ROC) 曲線の下の領域を示します。このメトリックは分類タスクに適用されます。

  • Fscore: Fスコア。適合率と再現率の調和平均です。このメトリックは分類タスクに適用されます。

例

  1. 作成したairlines_gbmモデルを使用して、モデル評価を実行します。

    /*polar4ai*/SELECT Delay FROM evaluate(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', metrics='acc');

    出力例:

    +--------------------------------------+
    | task_id                              |
    +--------------------------------------+
    | df05244e-21f7-11ed-be66-xxxxxxxxxxxx |
    +--------------------------------------+
    1 row in set (0.95 sec)
  2. 次のコマンドでタスクのステータスを確認します。

    /*polar4ai*/SHOW TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`;

    出力例:

    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx | {"acc": 0.6694} | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    1 row in set (0.24 sec)
    説明

    filePath は 100 分間有効です。リンクがまだ有効かどうかは、filePath の Expires パラメーターで確認できます。リンクにアクセスする必要がある場合は、有効期間内にアクセスしてください。

モデルの推論

トレーニング済みモデルを使用して、オンライン推論またはオフライン推論を実行します。

構文

SELECT select_expr [, select_expr] ... FROM PREDICT (MODEL model_name, SELECT select_expr_for_prediction [, select_expr_for_prediction] ... FROM table_reference LIMIT row_count) WITH (x_cols= '', y_cols='')

パラメーター

パラメーター

説明

select_expr

モデル推論結果に表示する列を指定します。

model_name

モデルの名前を指定します。

select_expr_for_prediction

推論に使用する入力データ列を指定します。

table_reference

入力テーブルを指定します。

mode

推論モードを指定します。オフライン推論を実行するには、このパラメーターを async に設定します。このパラメーターを省略した場合、システムはオンライン推論を実行します。

row_count

推論に使用するサンプル数を指定します。

x_cols

モデルの入力列を指定します。複数の列名はカンマ (,) で区切ります。

例

  • オンライン推論

    airlines_gbm モデルを使用してオンライン推論を実行します。

    /*polar4ai*/SELECT Delay FROM PREDICT(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test LIMIT 10) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay');

    出力例は次のとおりです。

    +-------+-------------------+
    | Delay | predicted_results |
    +-------+-------------------+
    |     1 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     1 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     1 | 0                 |
    +-------+-------------------+
    10 rows in set (0.74 sec)
  • オフライン推論

    1,000 件を超えるサンプルで推論を実行すると、PolarDB for AI は次のエラーを返します。

    ERROR 9050 (HY000): Please limit the SQL selected data length to less than '1000' or convert to offline prediction

    オフラインタスクを作成するには、次のステートメントを実行します。

    /*polar4ai*/SELECT Delay FROM predict(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', mode='async');

    出力例は次のとおりです。

    +--------------------------------------+
    | task_id                              |
    +--------------------------------------+
    | bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx |
    +--------------------------------------+
    1 row in set (0.75 sec)

    クエリはタスクの task_id を返します。このタスク ID を使用して、タスクのステータスと結果のダウンロード URL を照会できます。

    /*polar4ai*/SHOW TASK `bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx`

    出力例は次のとおりです。

    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx |                 | 2022-08-22 14:57:51.355240 | 2022-08-22 14:58:18.316818 |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    1 row in set (0.24 sec)
    説明

    filePath は 100 分間有効です。リンクがまだ有効かどうかは、filePath の Expires パラメーターで確認できます。リンクにアクセスする必要がある場合は、有効期間内にアクセスしてください。

オフラインでの評価と推論

説明

オフラインタスクは、リアルタイムで結果を返さない長時間実行されるバッチ処理タスクです。オフラインタスクには、オフライン評価とオフライン推論が含まれます。

タスクの表示

現在のクラスター内のすべてのオフラインタスクを表示します。

構文

SHOW TASKS

例

現在のクラスター内のすべてのオフラインタスクを表示するには、次のコマンドを実行します。

/*polar4ai*/SHOW TASKS;

出力例は次のとおりです。

+--------------------------------------+------------+-------------+----------------------------+----------------------------+
| task_id                              | task_type  | task_status | start_timestr              | end_timestr                |
+--------------------------------------+------------+-------------+----------------------------+----------------------------+
| 2cba0c74-1f8f-11ed-934a-xxxxxxxxxxxx | prediction | finish      | 2022-08-19 15:18:51.206829 |                            |
| 77b3a186-1f94-11ed-8eaa-xxxxxxxxxxxx | evaluation | finish      | 2022-08-19 15:56:44.465594 |                            |
| 972547a4-1fa3-11ed-9c6b-xxxxxxxxxxxx | evaluation | finish      | 2022-08-19 17:44:59.790353 | 2022-08-19 17:45:23.750100 |
| bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx | prediction | finish      | 2022-08-22 14:57:51.355240 | 2022-08-22 14:58:18.316818 |
| df05244e-21f7-11ed-be66-xxxxxxxxxxxx | evaluation | finish      | 2022-08-22 16:53:20.381577 | 2022-08-22 16:53:37.189953 |
| ec956db8-21fb-11ed-8400-xxxxxxxxxxxx | evaluation | finish      | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
+--------------------------------------+------------+-------------+----------------------------+----------------------------+
9 rows in set (0.18 sec)

タスクステータスの表示

オフラインタスクのステータスは、次のいずれかです。

  • init:タスクは初期化中です。

  • running: タスクは実行中です。

  • finish: タスクは完了です。

  • fail: タスクは失敗しました。

構文

SHOW TASK `task_id` 

パラメーター

パラメーター

説明

task_id

タスク ID です。

例

次のコマンドを実行して、ID が df05244e-21f7-11ed-be66-xxxxxxxxxxxx のタスクのステータスを表示します。

/*polar4ai*/SHOW TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`

出力例は次のとおりです。

+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
| taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
| finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx | {"acc": 0.6694} | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
1 row in set (0.24 sec)
説明

filePath は 100 分間有効です。リンクがまだ有効かどうかは、filePath の Expires パラメーターで確認できます。リンクにアクセスする必要がある場合は、有効期間内にアクセスしてください。

タスクの削除

構文

DROP TASK `task_id` 

パラメーター

パラメーター

説明

task_id

タスク ID です。

例

ID df05244e-21f7-11ed-be66-xxxxxxxxxxxx のタスクを削除します。

/*polar4ai*/DROP TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`

モデルの削除

不要になったモデルは、このステートメントを使用して削除します。

構文

DROP MODEL model_name

パラメーター

パラメーター

説明

model_name

モデル名です。

例

airlines_gbm モデルを削除します。

/*polar4ai*/DROP MODEL airlines_gbm

airlines_gbm モデルの削除が成功すると、以下の出力が返されます。

Query OK, 0 rows affected (0.57 sec)

Alibaba Cloud は、基盤となるアーキテクチャと提供されるオペレーティングシステムの保守にのみ責任を負います。お客様は、インストールするアプリケーションなど、オペレーティングシステムより上位のコンポーネントに対して責任を負います。お客様がインスタンスのランタイム環境を制御します。さらに、お客様自身でオペレーティングシステムをアップグレードすると、ダウンタイムなどの悪影響が生じる可能性があります。お客様は、リスクを理解し、必要な予防措置を講じる責任があります。