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

Platform For AI:組み込みプロセッサ

最終更新日:Aug 29, 2026

プロセッサとは、オンライン予測ロジックのパッケージです。Elastic Algorithm Service (EAS) は、標準モデルのデプロイ用の組み込みプロセッサを提供するため、ご自身でこのロジックを開発する必要がなくなります。

次の表は、EAS のプロセッサ名とプロセッサコードの一覧です。EASCMD を使用してサービスをデプロイする際は、プロセッサコードを指定します。

プロセッサ名

プロセッサコード (EASCMD のみ)

参考

CPU エディション

GPU エディション

EasyRec

easyrec-2.4

easyrec-2.4

EasyRec プロセッサ

TorchEasyRec

easyrec-torch-1.0

easyrec-torch-1.0

TorchEasyRec プロセッサ

PMML

pmml

なし

PMML プロセッサ

TensorFlow 1.12

tensorflow_cpu_1.12

tensorflow_gpu_1.12

TensorFlow 1.12 プロセッサ

TensorFlow 1.14

tensorflow_cpu_1.14

tensorflow_gpu_1.14

TensorFlow 1.14 プロセッサ

TensorFlow 1.15

tensorflow_cpu_1.15

tensorflow_gpu_1.15

TensorFlow 1.15 プロセッサ (PAI-Blade agility edition 最適化エンジンを含む)

TensorFlow 2.3

tensorflow_cpu_2.3

なし

TensorFlow 2.3 プロセッサ

PyTorch 1.6

pytorch_cpu_1.6

pytorch_gpu_1.6

PyTorch 1.6 プロセッサ (PAI-Blade agility edition 最適化エンジンを含む)

Caffe

caffe_cpu

caffe_gpu

Caffe プロセッサ

パラメータサーバー

parameter_server

なし

パラメータサーバー プロセッサ

Alink

alink_pai_processor

なし

なし

xNN

xnn_cpu

なし

なし

EasyVision

easy_vision_cpu_tf1.12_torch151

easy_vision_gpu_tf1.12_torch151

EasyVision プロセッサ

EasyTransfer

easytransfer_cpu

easytransfer_gpu

EasyTransfer プロセッサ

EasyNLP

easynlp

easynlp

EasyNLP プロセッサ

EasyCV

easycv

easycv

EasyCV プロセッサ

Blade

blade_cpu

blade_cuda10.0_beta

なし

MediaFlow

なし

mediaflow

MediaFlow プロセッサ

Triton

なし

triton

Triton プロセッサ

PMML プロセッサ

EAS の PMML プロセッサ:

  • PMML モデルファイルをサービスとして読み込みます。

  • モデルサービスへのリクエストを処理します。

  • 予測結果を計算し、クライアントに返します。

PMML プロセッサは、欠損値を処理するためのデフォルトポリシーを提供します。PMML モデルファイル内の特徴列に isMissing ポリシーが指定されていない場合、システムは次のデフォルト値で補完します。

タイプ

デフォルト

BOOLEAN

false

DOUBLE

0.0

FLOAT

0.0

INT

0

STRING

""

PMML モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 パラメーターを PMML に設定します。詳細については、「コンソールを使用してモデルサービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を pmml に設定します。例:

    {
      "processor": "pmml",
      "generate_token": "true",
      "model_path": "http://xxxxx/lr.pmml",
      "name": "eas_lr_example",
      "metadata": {
        "instance": 1,
        "cpu": 1 # EAS は CPU コアあたり 4 GB のメモリを割り当てます (1 クォータ)。
      }
    }
  • データサイエンス ワークショップ (DSW)

    EASCMD クライアントを使用する場合と同様に、service.json 設定ファイルを作成します。詳細については、「EASCMD を使用してモデルサービスをデプロイする」をご参照ください。

TensorFlow 1.12 プロセッサ

EAS の TensorFlow 1.12 プロセッサは、SavedModel (推奨) または SessionBundle フォーマットの TensorFlow モデルをロードします。デプロイする前に、Keras モデルとチェックポイントモデルを SavedModel フォーマットに変換してください。詳細については、「TensorFlow よくある質問」をご参照ください。

説明

このプロセッサは、カスタムの TensorFlow オペレーションをサポートしていません。

TensorFlow モデルは、次のいずれかの方法でデプロイします。

  • コンソール

    プロセッサの種類 を [TensorFlow1.12] に設定します。詳細については、「カスタム推論サービスのデプロイ」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を tensorflow_cpu_1.12 または tensorflow_gpu_1.12 に設定します。デプロイリソースに基づいてコードを選択します。processor とリソースタイプが一致しない場合、デプロイメントに失敗します。例:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • DSW

    EASCMD クライアントを使用する場合と同様です。service.json 設定ファイルを作成します。詳細については、「EASCMD を使用したモデルサービスのデプロイ」をご参照ください。

TensorFlow 1.14 プロセッサ

EAS の TensorFlow 1.14 プロセッサは、SavedModel (推奨) または SessionBundle フォーマットの TensorFlow モデルをロードします。デプロイメントの前に、Keras モデルとチェックポイントモデルを SavedModel フォーマットに変換してください。詳細については、「TensorFlow よくある質問」をご参照ください。

説明

このプロセッサは、カスタムの TensorFlow 操作をサポートしていません。

TensorFlow モデルは、次のいずれかの方法でデプロイします。

  • コンソール

    プロセッサの種類 を [TensorFlow1.14] に設定します。詳細については、「カスタム推論サービスのデプロイ」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を tensorflow_cpu_1.14 または tensorflow_gpu_1.14 に設定します。デプロイメントリソースと一致するコードを選択してください。processor とリソースタイプが一致しない場合、デプロイメントに失敗します。例:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.14",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • DSW

    EASCMD クライアントを使用する場合と同様です。service.json 設定ファイルを作成します。詳細については、「EASCMD を使用したモデルサービスのデプロイ」をご参照ください。

TensorFlow 1.15 プロセッサ (PAI-Blade Agility Edition)

EAS TensorFlow 1.15 プロセッサは、SavedModel (推奨) または SessionBundle 形式の TensorFlow モデルを読み込みます。 デプロイする前に、Keras モデルと Checkpoint モデルを SavedModel 形式に変換します。 詳細については、「TensorFlow FAQ」をご参照ください。

説明
  • このプロセッサは、カスタム TensorFlow オペレーションをサポートしていません。

  • このプロセッサには、PAI-Blade で最適化された TensorFlow モデルをデプロイするための PAI-Blade Agility Edition 最適化エンジンが搭載されています。

TensorFlow モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を TensorFlow1.15 に設定します。詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD

    service.json 設定ファイルで、processor を tensorflow_cpu_1.15 または tensorflow_gpu_1.15 に設定します。デプロイメントリソースに一致するコードを選択してください。processor とリソースタイプが一致しない場合、デプロイメントに失敗します。例:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.15",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • DSW

    EASCMD を使用する場合と同様に、service.json 設定ファイルを作成します。 詳細については、「EASCMD を使用してモデルサービスをデプロイする」をご参照ください。 パラメーターの説明については、「サービスを作成する」をご参照ください。

TensorFlow 2.3 プロセッサ

EAS TensorFlow 2.3 プロセッサは、SavedModel (推奨) または SessionBundle 形式の TensorFlow モデルを読み込みます。 デプロイする前に、Keras および Checkpoint モデルを SavedModel 形式に変換してください。 詳細については、「TensorFlow FAQ」をご参照ください。

説明

このプロセッサは、カスタム TensorFlow 演算をサポートしていません。

TensorFlow モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を TensorFlow2.3 に設定します。 詳細については、「コンソールを使用してサービスをデプロイする」をご参照ください。

  • EASCMD

    service.json 設定ファイルで、 processor を tensorflow_cpu_2.3。例:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_2.3",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • DSW

    EASCMD を使用する場合と同様に、service.json 設定ファイルを作成します。詳細については、「EASCMD を使用してモデルサービスをデプロイする」をご参照ください。

PyTorch 1.6 プロセッサ (PAI-Blade Agility Edition)

EAS PyTorch 1.6 プロセッサは、TorchScript 形式のモデルをロードします。 詳細については、「TorchScript の公式ドキュメント」をご参照ください。

説明
  • このプロセッサは、PyTorch 拡張機能や、テンソル以外のモデル入出力をサポートしていません。

  • このプロセッサには、最適化された PyTorch モデルをデプロイするための PAI-Blade (Agility Edition) 最適化エンジンが含まれています。

TorchScript モデルは、次のいずれかの方法でデプロイします。

  • コンソール

    プロセッサの種類 を [PyTorch 1.6] に設定します。詳細については、「カスタム推論サービスのデプロイ」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を pytorch_cpu_1.6 または pytorch_gpu_1.6 に設定します。デプロイメントリソースに基づいて値を選択してください。processor とリソースタイプが不一致の場合、デプロイに失敗します。例:

    {
      "name": "pytorch_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/torchscript_model.pt",
      "processor": "pytorch_gpu_1.6",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 1,
        "cuda": "10.0",
        "memory": 2000
      }
    }
  • DSW

    EASCMD クライアントを使用する場合と同様です。service.json 設定ファイルを作成します。詳細については、「EASCMD を使用したモデルサービスのデプロイ」をご参照ください。パラメーターの説明については、「サービスの作成」をご参照ください。

Caffe プロセッサ

EAS Caffe プロセッサは、Caffe でトレーニングされたディープラーニングモデルをロードします。モデルパッケージにモデルファイル名と重みファイル名を指定します。

説明

このプロセッサは、カスタムデータレイヤーをサポートしていません。

Caffe モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を Caffe に設定します。詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、リソースタイプに基づいて processor を caffe_cpu または caffe_gpu に設定します。processor とリソースタイプが不一致の場合、デプロイメントに失敗します。例:

    {
      "name": "caffe_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/caffe_model.zip",
      "processor": "caffe_cpu",
      "model_config": {
        "model": "deploy.prototxt",
        "weight": "bvlc_reference_caffenet.caffemodel"
      },
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • DSW

    EASCMD クライアントを使用する場合と同様に、service.json 設定ファイルを作成します。詳細については、「EASCMD を使用してモデルサービスをデプロイする」をご参照ください。

PS プロセッサ

EAS PS プロセッサは、PS フォーマットのモデルをロードします。

PS モデルをデプロイし、サービスにリクエストを送信します。

  • PS モデルを、次のいずれかの方法でデプロイします。

    • コンソール

      プロセッサの種類 を PS アルゴリズム に設定します。詳細については、「カスタムデプロイメント」をご参照ください。

    • EASCMD クライアント

      service.json 設定ファイルで、processor を parameter_sever に設定します。

      {
        "name":"ps_smart",
        "model_path": "oss://examplebucket/xlab_m_pai_ps_smart_b_1058272_v0.tar.gz",
        "processor": "parameter_sever",
        "metadata": {
          "region": "beijing",
          "cpu": 1,
          "instance": 1,
          "memory": 2048
        }
      }
    • DSW

      EASCMD クライアントを使用する場合と同様に、service.json 設定ファイルを作成します。詳細については、「EASCMD クライアントを使用したモデルサービスのデプロイ」をご参照ください。

  • リクエストフォーマット

    このプロセッサは、単一予測とバッチ予測の両方をサポートしています。リクエストフォーマットは同じで、特徴オブジェクトの JSON 配列です。

    • 単一リクエストの例

      curl "http://eas.location/api/predict/ps_smart" -d "[
                  {
                      "f0": 1,
                      "f1": 0.2,
                      "f3": 0.5
                  }
      ]"
    • バッチリクエストの例

      curl "http://eas.location/api/predict/ps_smart" -d "[
              {
                  "f0": 1,
                  "f1": 0.2,
                  "f3": 0.5
              },
              {
                  "f0": 1,
                  "f1": 0.2,
                  "f3": 0.5
              }
      ]"
    • レスポンス

      レスポンスフォーマットは、単一リクエストとバッチリクエストで同じで、レスポンスオブジェクトの配列です。各レスポンスオブジェクトは、同じ位置にあるリクエストオブジェクトに対応します。

      [
        {
          "label":"xxxx",
          "score" : 0.2,
          "details" : [{"k1":0.3}, {"k2":0.5}]
        },
        {
          "label":"xxxx",
          "score" : 0.2,
          "details" : [{"k1":0.3}, {"k2":0.5}]
        }
      ]

EasyTransfer プロセッサ

EAS EasyTransfer プロセッサは、EasyTransfer でトレーニングされた TensorFlow ベースの NLP モデルをロードします。

EasyTransfer モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 パラメーターには EasyTransfer を選択します。詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、デプロイリソースに基づいて processor を easytransfer_cpu または easytransfer_gpu に設定します。 processor とリソースが一致しない場合、デプロイに失敗します。 model_config では、type をトレーニング時に使用したモデルタイプに設定します。 次の例では、テキスト分類モデルを使用します。 その他のパラメーターについては、「サービスを作成する」をご参照ください。

    • GPU デプロイメントの設定 (パブリックリソースグループを例として使用)

      {
        "name": "et_app_demo",
        "metadata": {
          "instance": 1
        },
        "cloud": {
          "computing": {
            "instance_type": "ecs.gn6i-c4g1.xlarge"
          }
        },
        "model_path": "http://xxxxx/your_model.zip",
        "processor": "easytransfer_gpu",
        "model_config": {
          "type": "text_classify_bert"
        }
      }
    • CPU デプロイメントの設定

      {
        "name": "et_app_demo",
        "model_path": "http://xxxxx/your_model.zip",
        "processor": "easytransfer_cpu",
        "model_config": {
          "type":"text_classify_bert"
        },
        "metadata": {
          "instance": 1,
          "cpu": 1,
          "memory": 4000
        }
      }

    サポートされているタスクタイプ:

    タスクタイプ

    Type

    テキストマッチング

    text_match_bert

    テキスト分類

    text_classify_bert

    シーケンスラベリング

    sequence_labeling_bert

    テキストのベクトル化

    vectorization_bert

EasyNLP プロセッサ

EAS EasyNLP プロセッサは、EasyNLP でトレーニングされた PyTorch ベースの NLP モデルをロードします。

EasyNLP モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を [EasyNLP] に設定します。 詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで processor を easynlp に設定し、model_config で type をトレーニングタスクのタイプに設定します。次の例では、単一ラベルのテキスト分類モデルを使用します。その他のパラメーターについては、「サービスを作成する」をご参照ください。

    {
      "name": "easynlp_app_demo",
      "metadata": {
        "instance": 1
      },
      "cloud": {
        "computing": {
          "instance_type": "ecs.gn6i-c4g1.xlarge"
        }
      },
      "model_config": {
        "app_name": "text_classify",
        "type": "text_classify"
      },
      "model_path": "http://xxxxx/your_model.tar.gz",
      "processor": "easynlp"
    }

    サポートされているタスクタイプ:

    タスクタイプ

    値

    単一ラベルテキスト分類

    テキスト分類

    複数ラベルテキスト分類

    text_classify_multi

    テキストマッチング

    テキスト一致

    シーケンスラベリング

    系列ラベリング

    テキストのベクトル化

    ベクトル化

    中国語テキスト要約 (GPU)

    シーケンス生成 (中国語)

    英語テキスト要約 (GPU)

    シーケンス生成 (英語)

    機械読解 (中国語)

    機械読解 (中国語)

    機械読解 (英語)

    機械読解_英語

    WUKONG_CLIP (GPU)

    wukong_clip

    CLIP (GPU)

    クリップ

デプロイ後、Elastic Algorithm Service (EAS) ページで、対象のサービスの サービス方式 列にある 呼び出し情報 をクリックしてエンドポイントとトークンを表示し、次の Python の例を使用してサービスを呼び出します。

import requests
# サービスエンドポイントに置き換えてください。
url = '<eas-service-url>'
# トークンに置き換えてください。
token = '<eas-service-token>'
# リクエストデータを準備します。次の例はテキスト分類用です。
request_body = {
    "first_sequence": "hello"
}
 
headers = {"Authorization": token}
resp = requests.post(url=url, headers=headers, json=request_body)
print(resp.content.decode())

EasyCV processor

The EAS EasyCV processor loads deep learning models trained with EasyCV.

Deploy an EasyCV model in one of the following ways:

  • Console

    Set [プロセッサの種類] to EasyCV. For more information, see Deploy a custom inference service.

  • EASCMD client

    In the service.json configuration file, set processor to easycv. In model_config, set type to the model type used during training. The following example uses an image classification model. For other parameters, see Create a service.

    {
      "name": "easycv_classification_example",
      "processor": "easycv",
      "model_path": "oss://examplebucket/epoch_10_export.pt",
      "model_config": {"type":"TorchClassifier"},
      "metadata": {
        "instance": 1
      },
      "cloud": {
        "computing": {
          "instance_type": "ecs.gn5i-c4g1.xlarge"
        }
      }
    }

    Supported job types:

    Job type

    model_config

    Image classification

    {"type":"TorchClassifier"}

    Object detection

    {"type":"DetectionPredictor"}

    Semantic segmentation

    {"type":"SegmentationPredictor"}

    YOLOX

    {"type":"YoloXPredictor"}

    Video classification

    {"type":"VideoClassificationPredictor"}

After deployment, go to the [Elastic Algorithm Service (EAS)] page. Find the service, and in the [サービス方式] column, click [呼び出し情報] to view the endpoint and token. The following Python example shows how to call the service.

import requests
import base64
import json
resp = requests.get('http://examplebucket.oss-cn-zhangjiakou.aliyuncs.com/images/000000123213.jpg')
ENCODING = 'utf-8'
datas = json.dumps( {
            "image": base64.b64encode(resp.content).decode(ENCODING)
            })
# Replace with your authentication token.
head = {
   "Authorization": "NTFmNDJlM2E4OTRjMzc3OWY0NzI3MTg5MzZmNGQ5Yj***"
}
for x in range(0,10):
  	# Replace with your service endpoint.
    resp = requests.post("http://150231884461***.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/easycv_classification_example", data=datas, headers=head)
    print(resp.text)
                            

Base64-encode the image or video data for transmission. Use the image key for image data and the video key for video data.

EasyVision プロセッサ

EAS EasyVision プロセッサは、EasyVision でトレーニングされたディープラーニングモデルをロードします。

EasyVision モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を EasyVision に設定します。 詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を easy_vision_cpu_tf1.12_torch151 または easy_vision_gpu_tf1.12_torch151 に設定します。デプロイリソースに一致するコードを選択します。processor とリソースタイプが一致しない場合、デプロイに失敗します。model_config で、type をトレーニングで使用したモデルタイプに設定します。例およびその他のパラメーターについては、「サービスを作成する」をご参照ください。

    • GPU デプロイメントの設定

      {
        "name": "ev_app_demo",
        "processor": "easy_vision_gpu_tf1.12_torch151",
        "model_path": "oss://path/to/your/model",
        "model_config": "{\"type\":\"classifier\"}",
        "metadata": {
          "resource": "your_resource_name",
          "cuda": "9.0",
          "instance": 1,
          "memory": 4000,
          "gpu": 1,
          "cpu": 4,
          "rpc.worker_threads" : 5
        }
      }
    • CPU デプロイメントの設定

      {
        "name": "ev_app_cpu_demo",
        "processor": "easy_vision_cpu_tf1.12_torch151",
        "model_path": "oss://path/to/your/model",
        "model_config": "{\"type\":\"classifier\"}",
        "metadata": {
          "resource": "your_resource_name",
          "instance": 1,
          "memory": 4000,
          "gpu": 0,
          "cpu": 4,
          "rpc.worker_threads" : 5
        }
      }

MediaFlow プロセッサ

EAS MediaFlow プロセッサは、ビデオ、オーディオ、および画像を分析および処理するオーケストレーションエンジンです。

MediaFlow モデルは、次のいずれかの方法でデプロイできます。

  • コンソール

    プロセッサの種類 を MediaFlow に設定します。詳細については、「カスタム推論サービスをデプロイする」をご参照ください。

  • EASCMD クライアント

    service.json 設定ファイルで、processor を mediaflow に設定します。このプロセッサには、追加の設定項目が必要です。その他のフィールドについては、「サービスを作成する」をご参照ください。

    • graph_pool_size: グラフプールの数

    • worker_threads: ワーカースレッドの数

    例:

    • 動画分類モデルをデプロイするための設定

      {
        "model_entry": "video_classification/video_classification_ext.js", 
        "name": "video_classification", 
        "model_path": "oss://path/to/your/model", 
        "generate_token": "true", 
        "processor": "mediaflow", 
        "model_config" : {
            "graph_pool_size":8,
            "worker_threads":16
        },
        "metadata": {
          "eas.handlers.disable_failure_handler" :true,
          "resource": "your_resource_name", 
            "rpc.worker_threads": 30,
            "rpc.enable_jemalloc": true,
          "rpc.keepalive": 500000, 
          "cpu": 4, 
          "instance": 1, 
          "cuda": "9.0", 
          "rpc.max_batch_size": 64, 
          "memory": 10000, 
          "gpu": 1 
        }
      }
    • 自動音声認識 (ASR) モデルをデプロイするための設定

      {
        "model_entry": "asr/video_asr_ext.js", 
        "name": "video_asr", 
        "model_path": "oss://path/to/your/model", 
        "generate_token": "true", 
        "processor": "mediaflow", 
        "model_config" : {
            "graph_pool_size":8,
            "worker_threads":16
        },
        "metadata": {
          "eas.handlers.disable_failure_handler" :true,
          "resource": "your_resource_name", 
            "rpc.worker_threads": 30,
            "rpc.enable_jemalloc": true,
          "rpc.keepalive": 500000, 
          "cpu": 4, 
          "instance": 1, 
          "cuda": "9.0", 
          "rpc.max_batch_size": 64, 
          "memory": 10000, 
          "gpu": 1 
        }
      }

    自動音声認識 (ASR) と動画分類の設定は、主に model_entry、name、model_path が異なります。お使いのモデルに合わせてこれらのフィールドを変更してください。

Triton プロセッサ

Triton Inference Server は、NVIDIA のオンラインサービングフレームワークです。GPU 上でモデルをデプロイおよび管理するためのインターフェイスを提供し、KFServing API 標準と互換性があります。主な特徴は次のとおりです。

  • TensorFlow、PyTorch、ONNX Runtime、TensorRT、カスタムバックエンドなど、さまざまなフレームワークのモデルをデプロイできます。

  • GPU 上で複数のモデルを同時に実行して、使用率を向上させます。

  • HTTP/gRPC プロトコルとバイナリ形式の拡張をサポートして、リクエストサイズを削減します。

  • 動的バッチをサポートして、サービススループットを向上させます。

Triton Inference Server は、EAS 上で組み込み Triton プロセッサとして利用できます。

説明
  • 中国 (上海) リージョンでのみパブリックプレビューで利用できます。

  • すべてのモデルは OSS に保存する必要があります。まず OSS をアクティベートして、モデルファイルを OSS バケットにアップロードします。詳細については、「シンプルアップロード」をご参照ください。

Triton プロセッササービスをデプロイして呼び出します。

  • Triton プロセッサを使用したデプロイ

    Triton モデルサービスは、EASCMD を使用してのみデプロイできます。詳細については、「サービスの作成」をご参照ください。service.json 設定ファイルで、processor を triton に設定します。Triton は OSS からモデルを取得するため、必要な OSS パラメーターを設定します。以下に service.json の例を示します。

    {
      "name": "triton_test",                          
      "processor": "triton",
      "processor_params": [
        "--model-repository=oss://triton-model-repo/models", 
        "--allow-http=true", 
      ],
      "metadata": {
        "instance": 1,
        "cpu": 4,
        "gpu": 1,
        "memory": 10000,
        "resource":"<your resource id>"
      }
    }

    Triton 固有のパラメーターは次のとおりです。その他のパラメーターについては、「service.json のパラメーター」をご参照ください。

    パラメーター

    説明

    processor_params

    Triton Server の起動時に渡されるパラメーター。サポートされていないパラメーターは自動的に除外されます。サポートされているパラメーターは、次のTriton サーバーに渡すことができるパラメーターセットに記載されています。model-repository は必須です。オプションのパラメーターについては、main.cc をご参照ください。

    oss_endpoint

    OSS エンドポイント。指定しない場合、システムは EAS サービスと同じリージョン内の OSS を使用します。クロスリージョンの OSS の場合は、これを指定します。値については、「リージョンとエンドポイント」をご参照ください。

    metadata

    resource

    モデルサービスをデプロイするための EAS 専用リソースグループの ID。Triton プロセッサには、EAS 専用リソースグループが必要です。詳細については、「EAS 専用リソースグループの使用」をご参照ください。

    表 1. Triton サーバーでサポートされるパラメーター

    パラメーター

    必須

    説明

    model-repository

    はい

    パスは OSS パスとして指定する必要があります。システムは、バケットのルートディレクトリを model-repository として直接使用することをサポートしていません。バケット配下のサブディレクトリを指定する必要があります。

    たとえば、oss://triton-model-repo/models の場合、triton-model-repo はバケット名、models はバケット配下のサブディレクトリです。

    log-verbose

    いいえ

    詳細については、「main.cc」をご参照ください。

    log-info

    いいえ

    log-warning

    いいえ

    log-error

    いいえ

    exit-on-error

    いいえ

    strict-model-config

    いいえ

    strict-readiness

    いいえ

    allow-http

    いいえ

    http-thread-count

    いいえ

    pinned-memory-pool-byte-size

    いいえ

    cuda-memory-pool-byte-size

    いいえ

    min-supported-compute-capability

    いいえ

    buffer-manager-thread-count

    いいえ

    backend-config

    いいえ

  • ネイティブ Triton クライアントを使用したサービスの呼び出し

    NVIDIA の公式 Triton クライアントをインストールします。

    pip3 install nvidia-pyindex
    pip3 install tritonclient[all]

    テスト画像をダウンロードします。

    wget http://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/doc-assets/cat.png

    Python クライアントを使用して、バイナリ形式のリクエストを Triton プロセッササービスに送信します。

    import numpy as np
    import time
    from PIL import Image
    
    import tritonclient.http as httpclient
    from tritonclient.utils import InferenceServerException
    
    URL = "<service url>"  #  をご自身のサービスエンドポイントに置き換えてください。
    HEADERS = {"Authorization": "<service token>"} #  をご自身のサービスアクセストークンに置き換えてください。
    input_img = httpclient.InferInput("input", [1, 299, 299, 3], "FP32")
    img = Image.open('./cat.png').resize((299, 299))
    img = np.asarray(img).astype('float32') / 255.0
    input_img.set_data_from_numpy(img.reshape([1, 299, 299, 3]), binary_data=True)
    
    output = httpclient.InferRequestedOutput(
        "InceptionV3/Predictions/Softmax", binary_data=True
    )
    triton_client = httpclient.InferenceServerClient(url=URL, verbose=False)
    
    start = time.time()
    for i in range(10):
        results = triton_client.infer(
            "inception_graphdef", inputs=[input_img], outputs=[output], headers=HEADERS
        )
        res_body = results.get_response()
        elapsed_ms = (time.time() - start) * 1000
        if i == 0:
            print("model name: ", res_body["model_name"])
            print("model version: ", res_body["model_version"])
            print("output name: ", res_body["outputs"][0]["name"])
            print("output shape: ", res_body["outputs"][0]["shape"])
        print("[{}] Avg rt(ms): {:.2f}".format(i, elapsed_ms))
        start = time.time()