PolarDB for AI には、組み込みの大規模モデルが含まれており、SQL 文を使用してカスタムモデルを構築したり、外部モデルを読み込んだりすることもできます。このトピックでは、モデルを作成、アップロード、評価し、推論に使用する方法について説明します。
モデルの概要
モデルカテゴリ | 説明 |
組み込みモデル | SQL 文を使用して組み込みの大規模言語モデル (LLM) を直接呼び出し、複雑な分析タスクを実行します。PolarDB から他の AI プラットフォームにデータを同期する必要はありません。詳細については、「Qwen LLM を用いたデータ推論と対話」をご参照ください。 |
カスタムモデル | 組み込みの LLM がすべてのビジネスニーズを満たすとは限りません。カスタムモデルを作成し、パフォーマンスを向上させるためにチューニングすることができます。さらに、PolarDB for AI では、データセキュリティを強化するために機密コンテナーでモデルを実行できます。 カスタムモデルを構築するワークフローは次のとおりです: |
外部モデル | 既存のモデルがある場合は、それをアップロードして PolarDB にデプロイし、推論に利用できます。例としては、Sklearn フレームワークに基づくモデル (LightGBM や GBDT など) や、TensorFlow や PyTorch フレームワークに基づくディープラーニングアルゴリズムなどがあります。 外部モデルを読み込むワークフローは次のとおりです: |
モデルの作成
機械学習モデルを作成します。モデルの作成は非同期プロセスです。モデルステータスをクエリして、作成が完了したかどうかを確認します。
構文
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 | モデル作成のためのパラメーター。
|
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 は、カスタム機械学習モデルのアップロードをサポートしています。オフラインで作成したモデルを PolarDB for AI にアップロードし、プラットフォームで管理できます。PolarDB for AI は、PMML、ONNX、およびチェックポイント (TensorFlow および PyTorch プラットフォーム用) のモデルフォーマットをサポートしています。
構文
UPLOAD MODEL model_name WITH (model_location = '', req_location = '') パラメーター
パラメーター | 説明 |
model_name | モデル名。 |
model_location | モデルファイルの URL。 |
req_location | モデルのランタイム依存関係を含むファイルの URL。 |
例
作成した my_model モデルを PolarDB for AI プラットフォームにアップロードします。
/*polar4ai*/UPLOAD MODEL my_model WITH (model_location='https://xxxx.oss-cn-hangzhou.aliyuncs.com/xxxx/model.pkl?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx', req_location='https://xxxx.oss-cn-hangzhou.aliyuncs.com/xxxx/requirements.txt?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx');次の結果が返されます:
Query OK, 0 rows affected (0.29 sec)次のコマンドを実行して、モデルのステータスを確認します。
/*polar4ai*/ SHOW MODEL my_model;次の結果が返されます:
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| 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)modelStatus が saved の場合、モデルはアップロードされています。
モデルのデプロイ
アップロードしたモデルを 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 URL は 100 分間有効です。modelPath URL の Expires パラメーターは有効期限を示します。URL が有効期限切れになる前にアクセスしてください。
モデル詳細の表示
構文
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 | モデル評価メトリック。有効な値:
|
例
作成した
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)次のコマンドを実行して、タスクのステータスを確認します。
/*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)説明filePathURL は 100 分間有効です。filePathURL のExpiresパラメーターは有効期限を示します。URL が有効期限切れになる前にアクセスしてください。
モデル推論の実行
作成したモデルを使用して、オンラインまたはオフラインで推論を実行します。
構文
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= '')パラメーター
パラメーター | 説明 |
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)説明filePathURL は 100 分間有効です。filePathURL のExpiresパラメーターは有効期限を示します。URL が有効期限切れになる前にアクセスしてください。
オフラインの評価タスクと推論タスク
オフラインタスクは、リアルタイムで結果を返さない長時間実行されるバッチ処理ジョブです。オフラインタスクは、評価または推論に使用できます。
オフラインタスクリストの表示
現在のクラスター内のすべてのオフラインタスクを表示します。
構文
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:タスクは失敗しました。
構文
DROP TASK `task_id` パラメーター
パラメーター | 説明 |
task_id | タスク ID。 |
例
ジョブ ID df05244e-21f7-11ed-be66-xxxxxxxxxxxx のジョブを削除します。
/*AI 用 Polar*/DROP 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 URL は 100 分間有効です。filePath URL の Expires パラメーターは有効期限を示します。URL が有効期限切れになる前にアクセスしてください。
オフラインタスクの削除
構文
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)カスタムモデルのベストプラクティス
このセクションでは、カスタムモデルを管理するためのエンドツーエンドのワークフローの例を示します。このベストプラクティスでは、オフラインでのモデル作成とオンラインでの推論について説明します。
オフラインでのモデル作成
次のスクリプトは、LightGBM アルゴリズムを使用してオフラインでモデルを作成する方法を示しています。
# coding: utf-8 from pathlib import Path import pandas as pd from sklearn.metrics import mean_squared_error import lightgbm as lgb import joblib def train_model(): print('Loading data...') # データセットを読み込むか作成します df_train = pd.read_csv('regression.train', header=None, sep='\t') df_test = pd.read_csv('regression.test', header=None, sep='\t') y_train = df_train[0] y_test = df_test[0] X_train = df_train.drop(0, axis=1) X_test = df_test.drop(0, axis=1) # lightgbm 用のデータセットを作成します lgb_train = lgb.Dataset(X_train, y_train) lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train) # 設定を dict として指定します params = { 'boosting_type': 'gbdt', 'objective': 'regression', 'metric': {'l2', 'l1'}, 'num_leaves': 31, 'learning_rate': 0.05, 'feature_fraction': 0.9, 'bagging_fraction': 0.8, 'bagging_freq': 5, 'verbose': 0 } print('Starting training...') # トレーニング gbm = lgb.train(params, lgb_train, num_boost_round=20, valid_sets=lgb_eval, callbacks=[lgb.early_stopping(stopping_rounds=5)]) print('Saving model...') # モデルをファイルに保存します # gbm.save_model('model.txt') joblib.dump(gbm, 'lgb.pkl') print('Starting predicting...') # 予測 y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration) # 評価 rmse_test = mean_squared_error(y_test, y_pred) ** 0.5 print(f'The RMSE of prediction is: {rmse_test}')モデルファイルは
.pklフォーマットでエクスポートされます。predictメソッドが呼び出され、推論結果が返されます。モデルを実行するには、Python の依存関係ファイルも提供する必要があります。以下に
requirements.txtファイルの例を示します。lightgbm==3.3.3モデルのアップロード
次のコマンドを実行して、モデルを PolarDB for AI にアップロードします。
/*polar4ai*/UPLOAD MODEL my_model WITH (model_location='https://xxxx.oss-cn-hangzhou.aliyuncs.com/xxxx/model.pkl?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx', req_location='https://xxxx.oss-cn-hangzhou.aliyuncs.com/xxxx/requirements.txt?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx')model_locationはモデルファイルの URL、req_locationはランタイム依存関係を含むファイルの URL です。これら 2 つのファイルを準備し、プライベート OSS バケットにアップロードしてから、コマンドを使用して PolarDB for AI プラットフォームにアップロードします。次の結果が返されます。
Query OK, 0 rows affected (0.29 sec)次のコマンドを実行して、モデルのステータスを確認します。
/*polar4ai*/ SHOW MODEL my_model;次の結果が返されます。
+-------------+-----------------------------------------------------------------------------------------------------------------------------+ | 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)modelStatusがsavedの場合、モデルはアップロード済みです。
モデルのデプロイ
次のコマンドを実行して、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の場合、モデルが正常にデプロイされたことを示します。
オンライン推論の実行
次のコマンドを実行して、オンラインモデルの推論タスクを実行します。
/*polar4ai*/ SELECT Y FROM PREDICT(MODEL my_model, SELECT * FROM db4ai.regression_test LIMIT 10) WITH (x_cols = 'x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28', y_cols='');次の結果が返されます。
+------+---------------------+ | Y | predicted_results | +------+---------------------+ | 1.0 | 0.6262147669037363 | | 0.0 | 0.5082804008241021 | | 0.0 | 0.37533158372209957 | | 1.0 | 0.461974928099089 | | 0.0 | 0.3777339456553666 | | 0.0 | 0.35045096227525735 | | 0.0 | 0.4178165504012342 | | 1.0 | 0.40869795422774036 | | 1.0 | 0.6826481286570045 | | 0.0 | 0.47021259543154736 | +------+---------------------+ 10 rows in set (0.95 sec)
Alibaba Cloud は、基盤となるインフラストラクチャと、サービスの技術アーキテクチャやオペレーティングシステムなど、Alibaba Cloud が提供するソフトウェアのメンテナンスを担当します。お客様がインストールするアプリケーションなど、オペレーティングシステムより上位のレイヤーは、お客様の責任範囲となります。インスタンスのランタイム環境は、お客様の管理下にあります。お客様自身でオペレーティングシステムをアップグレードした場合、ダウンタイムなどの悪影響が発生する可能性があります。リスクを認識した上で、慎重に操作してください。