Tous les produits
Search
Centre de documentation

Platform For AI:Démarrage rapide : modélisation interactive avec DSW

Dernière mise à jour :Aug 28, 2026

Utilisez le Notebook ou VSCode intégré dans DSW (Data Science Workshop) pour développer, entraîner et déployer des modèles d'apprentissage profond dans le cloud. Cette rubrique utilise la reconnaissance de chiffres manuscrits MNIST comme exemple pour illustrer le flux de travail complet.

Remarque

La reconnaissance de chiffres manuscrits MNIST est une tâche classique d'introduction à l'apprentissage profond. L'objectif est d'entraîner un modèle capable de reconnaître 10 chiffres manuscrits (de 0 à 9).

Prérequis

Vous devez disposer d'un compte Alibaba Cloud ayant activé PAI et créé un espace de travail. Si vous n'avez pas encore activé PAI, accédez à PAI console, sélectionnez la région cible dans le coin supérieur gauche de la page, puis procédez à l'autorisation en un clic et à l'activation du produit.

Facturation

Cette rubrique utilise des groupes de ressources publics pour créer une instance DSW et un service de modèle EAS, facturés selon le mode paiement à l'utilisation. Pour plus de détails sur la facturation, consultez les rubriques Facturation DSW et Facturation EAS.

Créer une instance DSW

  1. Accédez à la page DSW.

    1. Accédez à PAI console.

    2. Sélectionnez la région cible dans le coin supérieur gauche de la page.

    3. Dans le volet de navigation de gauche, cliquez sur Workspaces pour accéder à l'espace de travail cible.

    4. Dans le volet de navigation de gauche, choisissez Model Training > Interactive Modeling (DSW) > Create an instance..

  2. Sur la page de l'assistant Configure Instance, configurez les paramètres suivants et conservez les valeurs par défaut pour les autres.

    • Resource Type : sélectionnez Public Resources (paiement à l'utilisation).

    • Instance Type : sélectionnez ecs.gn7i-c8g1.2xlarge.

      Si ce type d'instance n'est pas disponible, vous pouvez sélectionner une autre instance GPU.
    • Image config : sélectionnez Alibaba Cloud Image et recherchez l'image modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04.

      Nous vous recommandons d'utiliser la même image afin d'éviter les problèmes de compatibilité d'environnement.
    • Mount storage : permet de persister les fichiers de développement de modèle. Cette rubrique utilise Object Storage Service (OSS). Cliquez sur OSS, puis sur l'icône image, sélectionnez un Bucket et créez un répertoire (par exemple, pai_test).

      Si aucun bucket n'est disponible dans la région actuelle, suivez ces étapes pour en créer un :

      (Facultatif) Créer un bucket OSS

      1. OSS is activated.

      2. Accédez à la console OSS, cliquez sur Create Bucket, saisissez un Bucket Name, définissez la Region sur la même région que PAI, conservez les paramètres par défaut pour les autres options, puis cliquez sur Create.

        image

      • Uri : oss://**********oss-cn-hangzhou-internal.aliyuncs.com/pai_test/

      • Mount Path : /mnt/data/

  3. Cliquez sur OK pour créer l'instance.

    Si le démarrage de l'instance échoue, consultez la rubrique Créer une instance DSW pour résoudre le problème.

Développer un modèle dans DSW

  1. Dans la liste des instances, cliquez sur Open pour accéder à l'environnement de développement DSW. Sur la page du lanceur, cliquez sur JupyterLab pour créer un environnement de développement Notebook.

  2. Rédigez le code du modèle. Le code d'entraînement MNIST est fourni : téléchargez mnist.ipynb, puis cliquez sur l'icône image dans le coin supérieur gauche du Notebook pour importer le fichier.

    image

  3. Entraînez le modèle. Ouvrez mnist.ipynb, localisez la cellule de code d'entraînement, puis cliquez sur l'icône image pour l'exécuter. Le code télécharge automatiquement le jeu de données MNIST dans le répertoire dataSet et enregistre le modèle entraîné dans le répertoire output. L'entraînement dure environ 10 minutes.

    image

    image

    Le processus d'entraînement affiche la précision sur l'ensemble de validation, qui reflète la capacité de généralisation du modèle. Dans cet exemple, la précision sur l'ensemble de validation atteint 98 %. Vous pouvez passer aux étapes suivantes.

  4. Consultez les courbes d'entraînement. Exécutez la cellule suivante et cliquez sur l'URL TensorBoard http://localhost:6006/.

    image

    TensorBoard affiche les courbes train_loss (perte d'entraînement) et validation_loss (perte de validation).

    image

    Après avoir consulté les courbes, cliquez sur l'icône image dans la cellule pour arrêter TensorBoard. Si TensorBoard n'est pas arrêté, les cellules suivantes ne peuvent pas être exécutées.

    (Facultatif) Ajuster les hyperparamètres en fonction des courbes de perte

    Évaluez l'efficacité de l'entraînement en fonction des tendances des valeurs de perte :

    • Les valeurs train_loss et validation_loss continuent de diminuer avant la fin de l'entraînement (sous-apprentissage)

      Augmentez num_epochs (nombre d'époques d'entraînement) ou augmentez learning_rate pour améliorer la capacité d'ajustement du modèle.

    • La valeur train_loss continue de diminuer, mais validation_loss augmente avant la fin de l'entraînement (surapprentissage)

      Diminuez num_epochs ou diminuez learning_rate pour éviter le surapprentissage.

    • Les valeurs train_loss et validation_loss se stabilisent avant la fin de l'entraînement (bon ajustement)

      Le modèle a atteint un état idéal. Vous pouvez passer aux étapes suivantes.

  5. Testez le modèle. Exécutez la cellule suivante pour afficher 20 images de test avec leurs étiquettes réelles et les prédictions du modèle.

    image

    Exemple de sortie :

    image

  6. Persistance des fichiers de modèle. Cette rubrique utilise des groupes de ressources publics pour créer l'instance DSW, et les fichiers sont stockés sur le disque cloud gratuit. Si l'instance est arrêtée pendant plus de 15 jours, le contenu du disque cloud est automatiquement effacé. Copiez les fichiers de modèle vers OSS pour une utilisation ultérieure avec le déploiement PAI-EAS.

    image

    Accédez à la console OSS pour consulter les fichiers copiés :

    image

Une fois le développement du modèle terminé, vous pouvez déployer le modèle en tant que service en ligne. Consultez la section Déployer le service de modèle avec EAS.

Important

Cette rubrique utilise des ressources publiques pour créer l'instance DSW, qui est facturée selon le mode paiement à l'utilisation. Lorsque vous n'utilisez pas l'instance, arrêtez ou supprimez l'instance depuis la page de liste des instances afin d'éviter des frais continus.

Déployer le service de modèle avec EAS

EAS (Elastic Algorithm Service) vous permet de déployer des modèles entraînés en tant que service d'inférence en ligne ou application web IA. EAS prend en charge des ressources hétérogènes et combine des fonctionnalités telles que la mise à l'échelle automatique, les tests de charge en un clic, le déploiement canari et la surveillance en temps réel pour garantir la stabilité du service dans des scénarios à forte concurrence, tout en réduisant les coûts.

  1. Rédigez le code du service web du modèle et copiez-le vers OSS. Le code du service web et les commandes de copie sont fournis. Exécutez les cellules suivantes.

    image

  2. (Facultatif) Vérifiez le service web dans DSW. Exécutez les cellules suivantes pour installer les dépendances et démarrer le service.

    image

    Testez le service. Sur la page du lanceur, cliquez sur VSCode pour accéder à l'environnement de développement. Cliquez sur request_web.py dans le volet de gauche, puis faites un clic droit et choisissez Run Python > Run Python File in Terminal pour exécuter le code. Le résultat suivant s'affiche :

    {"prediction": 7}
    Remarque

    Pour accéder au service web dans DSW via Internet, vous devez configurer VPC, NAT Gateway et EIP. Pour plus de détails, consultez la rubrique Accéder aux services d'une instance via le réseau public.

  3. Créez un service EAS. Dans le volet de navigation de gauche de la console PAI, cliquez sur Elastic Algorithm Service (EAS) > Deploy Service > Custom Deployment.

    Configurez les paramètres suivants et conservez les valeurs par défaut pour les autres :

    • Deployment Method : Image-based Deployment

    • Image Configuration : sélectionnez Image Address et collez l'adresse de l'image utilisée par DSW.

      DSW a vérifié que cette image peut exécuter correctement le code du modèle. L'utilisation de la même image pour le déploiement évite les problèmes d'environnement.

      image

    • Mount storage : les fichiers de modèle et le code du service web ont été copiés vers OSS. Cliquez sur OSS et sélectionnez le chemin correspondant.

      • Uri : oss://*/pai_test/

      • Mount Path : /mnt/data/

    • Command to Run : web.py a été monté sur /mnt/data/. Ajustez le chemin. La commande d'exécution est : python /mnt/data/web.py

    • Port Number : saisissez le numéro de port 9000 utilisé par web.py.

    • Third-party Library Settings : l'image sélectionnée n'inclut pas la bibliothèque bottle. Ajoutez bottle ici.

    • Resource Type : sélectionnez Public Resources. Pour Instance Type, sélectionnez ecs.gn7i-c8g1.2xlarge.

    • Configure a system disk : définissez la taille sur 20 Go.

      L'image est volumineuse. Un espace insuffisant sur le disque système entraîne des échecs de démarrage de l'instance. Nous vous recommandons de définir la taille sur 20 Go ou plus.

    Cliquez sur Deploy pour créer le service. La création du service prend environ 5 minutes. Le service est déployé lorsque son statut passe à Running.

  4. Obtenez les informations d'appel. Sur la page des détails du service, cliquez sur View Endpoint Information pour obtenir le Internet Endpoint et le Token.

  5. Appelez le service. Remplacez le Internet Endpoint et le Token dans le code suivant par les valeurs réelles, puis exécutez le code.

    import requests
    
    """
    Test image URLs:
    label is 7
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg
    label is 2
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_2_No_1.jpg
    label is 1
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_1_No_2.jpg
    label is 0
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_0_No_3.jpg
    label is 4
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_4_No_4.jpg
    label is 5
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_9_No_5.jpg
    """
    
    image_url = 'http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg'
    
    # Download the image as binary data
    img_response = requests.get(image_url, timeout=10)
    # Automatically check whether the request succeeded based on the status code
    img_response.raise_for_status()
    img_bytes = img_response.content
    
    # Replace <EAS_TOKEN> in the header with the actual token
    # In production, we recommend that you set the token as an environment variable to prevent sensitive information leaks.
    # For more information about how to configure environment variables, see: https://www.alibabacloud.com/help/zh/sdk/developer-reference/configure-the-alibaba-cloud-accesskey-environment-variable-on-linux-macos-and-windows-systems
    headers = {"Authorization": "Token"}
    # Send the binary data as the body of a POST request to the model service
    resp = requests.post('Call URL/predict_image', data=img_bytes, headers=headers)
    print(resp.json())

    Résultat :

    {"prediction": 7}
Important

Cette rubrique utilise des ressources publiques pour créer le service EAS, qui est facturé selon le mode paiement à l'utilisation. Lorsque vous n'utilisez pas le service, arrêtez ou supprimez le service depuis la page de liste des services afin d'éviter des frais continus.

Références