Help Center/ ModelArts/ Model Inference/ Managing AI Applications/ Introduction to AI Application Management
Updated on 2024-04-30 GMT+08:00

Introduction to AI Application Management

AI development and optimization require frequent iterations and debugging. Modifications in datasets, training code, or parameters affect the quality of models. If the metadata of the development process cannot be centrally managed, the optimal model may fail to be reproduced.

ModelArts AI application management allows you to import all meta models obtained through training, meta models uploaded to OBS, and meta models in container images. In this way, you can centrally manage all iterated and debugged AI applications.

Constraints

  • In an ExeML project, after a model is deployed, the model is automatically uploaded to the AI application management list. However, AI applications generated by ExeML cannot be downloaded and can be used only for deployment and rollout.
  • Functions such as AI application creation, AI application version management, and model conversion are available for free to all users.

Scenarios for Creating AI Applications

  • Imported from a training job: Create a training job in ModelArts and train a model. After obtaining a satisfactory model, use it to create an AI application and deploy the application as services.
  • Imported from OBS: If you use a mainstream framework to develop and train a model locally, you can upload the model to an OBS bucket based on the model package specifications, import the model from OBS to ModelArts, and use the model to create an AI application for service deployment.
  • Imported from a container image: If an AI engine is not supported by ModelArts, you can use it to build a model, import the model to ModelArts as a custom image, use the image to create an AI application, and deploy the AI application as services.
  • Imported from a template: Since the configurations of models with the same functions are similar, ModelArts integrates the configurations of such models into a general template. By using this template, you can easily and quickly import models and create AI applications without writing the config.json configuration file.

    Importing a model from a template will be unavailable soon. After it goes offline, you can use the templates for AI engine and model configurations by choosing OBS, setting AI Engine to Custom, and importing your custom AI engine.

Functions of AI Application Management

Table 1 Functions of AI application management

Supported Function

Description

Creating an AI Application

Import the trained models to ModelArts and create AI applications for centralized management. The following provides the operation guide for each method of importing models.

Viewing Details About an AI Application

After an AI application is created, you can view its information on the details page.

Managing AI Application Versions

To facilitate traceback and model tuning, ModelArts provides the AI application version management function. You can manage AI applications by version.

Supported AI Engines for ModelArts Inference

If you import a model from a template or OBS to create an AI application, the following AI engines and versions are supported.

  • Runtime environments marked with recommended are unified runtime images, which will be used as mainstream base inference images. The installation packages of unified images are richer. For details, see Base Inference Images.
  • Images of the old version will be discontinued. Use unified images.
  • The base images to be removed are no longer maintained.
  • Naming a unified runtime image: <AI engine name and version> - <Hardware and version: CPU, CUDA, or CANN> - <Python version> - <OS version> - <CPU architecture>
Table 2 Supported AI engines and their runtime

Engine

Runtime

Note

TensorFlow

python3.6

python2.7 (unavailable soon)

tf1.13-python3.6-gpu

tf1.13-python3.6-cpu

tf1.13-python3.7-cpu

tf1.13-python3.7-gpu

tf2.1-python3.7 (unavailable soon)

tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64 (recommended)

  • TensorFlow 1.8.0 is used in python2.7 and python3.6.
  • python3.6, python2.7, and tf2.1-python3.7 indicate that the model can run on both CPUs and GPUs. For other runtime values, if the suffix contains cpu or gpu, the model can run only on CPUs or GPUs.
  • The default runtime is python2.7.

Spark_MLlib

python2.7 (unavailable soon)

python3.6 (unavailable soon)

  • Spark_MLlib 2.3.2 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python2.7 and python3.6 can only be used to run models on CPUs.

Scikit_Learn

python2.7 (unavailable soon)

python3.6 (unavailable soon)

  • Scikit_Learn 0.18.1 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python2.7 and python3.6 can only be used to run models on CPUs.

XGBoost

python2.7 (unavailable soon)

python3.6 (unavailable soon)

  • XGBoost 0.80 is used in python2.7 and python3.6.
  • The default runtime is python2.7.
  • python2.7 and python3.6 can only be used to run models on CPUs.

PyTorch

python2.7 (unavailable soon)

python3.6

python3.7

pytorch1.4-python3.7

pytorch1.5-python3.7 (unavailable soon)

pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64 (recommended)

  • PyTorch 1.0 is used in python2.7, python3.6, and python3.7.
  • python2.7, python3.6, python3.7, pytorch1.4-python3.7, and pytorch1.5-python3.7 indicate that the model can run on both CPUs and GPUs.
  • The default runtime is python2.7.

MindSpore

aarch64 (recommended)

AArch64 can run only on Snt3 chips.