Todos los productos
Search
Centro de documentos

Platform For AI:Usar un trabajo preemptible

Última actualización: Sep 01, 2026

Si no dispone de capacidad de cómputo suficiente, puede utilizar la función de trabajos preemptibles de Platform for AI (PAI), que asigna recursos de cómputo mediante un sistema de pujas. En la mayoría de los casos, los recursos preemptibles ofrecen una ventaja de precio frente a los recursos públicos pay-as-you-go. Esto permite acceder a capacidad de cómputo de IA de forma rentable y reduce el costo total de los trabajos. Este tema describe cómo usar recursos preemptibles al crear un trabajo de Deep Learning Containers (DLC).

Límites

Los recursos preemptibles tienen los límites que se indican a continuación:

Tipo

Recursos Lingjun

Recursos de cómputo de uso general

Regiones compatibles

  • China (Ulanqab)

  • Singapore

  • China (Beijing)

  • China (Shanghai)

  • China (Hangzhou)

  • China (Shenzhen)

  • China (Ulanqab)

  • China (Guangzhou)

Tipo de framework

  • PyTorch

  • MPIJob

PyTorch

Tolerancia a errores automática basada en AIMaster

Compatible

No compatible

Límites de funciones

  • Las preemptible instances no se pueden convertir en instancias de suscripción.

  • No se pueden modificar las especificaciones de instancia y de ancho de banda.

  • El servicio de registro ICP no es compatible.

  • No se proporcionan descuentos para clientes importantes.

Funciones

  • Uso de recursos preemptibles

    Puede usar recursos de cómputo de uso general o recursos Lingjun para crear trabajos de DLC. Los precios de mercado de los recursos preemptibles cambian según la oferta y la demanda. Las preemptible instances pueden tener un costo hasta 90 % menor que las instancias pay-as-you-go. Los recursos preemptibles están sujetos a las pujas de todos los usuarios de Alibaba Cloud y se liberan cuando finaliza su periodo de protección. Tenga en cuenta las consideraciones que se indican a continuación cuando use recursos preemptibles para enviar trabajos de DLC:

    • Cuando DLC no puede obtener preemptible instances debido a recursos de instancia insuficientes, los trabajos preemptibles entran en estado de espera y DLC continúa solicitando recursos preemptibles.

    • Después de que el sistema solicita los recursos preemptibles, los trabajos de DLC se crean y se ejecutan.

    • Después de que se liberan los recursos preemptibles, los trabajos de DLC fallan y dejan de ejecutarse.

  • Solicitud de recursos preemptibles

    Cuando usa recursos preemptibles para crear trabajos de DLC, DLC comienza a solicitar recursos de instancia después de que envía los trabajos. Para crear preemptible instances, se deben cumplir los requisitos que se indican a continuación:

    • El precio máximo de puja que configuró para los recursos preemptibles debe ser mayor o igual que el precio de mercado.

    • El inventario de recursos preemptibles debe ser suficiente.

  • Liberación de recursos preemptibles

    Los recursos preemptibles pueden interrumpirse y liberarse según el precio de mercado, el inventario de recursos, el precio máximo de puja configurado para una instancia durante la creación del trabajo y la duración de uso. En los escenarios que se indican a continuación, los recursos preemptibles pueden liberarse sin notificación:

    • Recursos Lingjun: si el precio máximo de puja de un recurso preemptible es inferior al precio promedio o el inventario del recurso es insuficiente, el recurso se libera.

    • Recursos de cómputo de uso general: si el precio máximo de puja de un recurso preemptible es inferior al precio de mercado actual o el inventario del recurso preemptible es insuficiente, el recurso preemptible se libera.

    Asegúrese de que sus trabajos preemptibles se ejecuten de forma continua y estable. Para ello, puede realizar las operaciones que se indican a continuación:

    • Habilite Automatic Fault Tolerance cuando cree un trabajo con recursos Lingjun. Después de habilitar Automatic Fault Tolerance, el trabajo entra automáticamente en la cola para pujar por recursos preemptibles. Para obtener más información, consulte AIMaster: An elastic and automatic fault tolerance engine.

    • Cuando use recursos de cómputo de uso general o Lingjun para crear un trabajo, puede utilizar el framework EasyCkpt para entrenar un modelo de lenguaje de gran tamaño (LLM) de PyTorch. El trabajo puede crear y guardar checkpoints con frecuencia, y permite interrupciones. Para obtener más información, consulte EasyCkpt.

Facturación

  • Precios

    El modo de puja de los trabajos preemptibles se usa para configurar el precio máximo de puja especificado por el parámetro SpotWithPriceLimit. En los escenarios en los que se crean trabajos de DLC con recursos preemptibles, los precios de mercado de los recursos preemptibles fluctúan según la oferta y la demanda. Si usa los mismos recursos preemptibles para enviar varios trabajos de DLC, las tarifas de los trabajos en un periodo fijo pueden ser iguales. Se admiten los tipos de puja que se indican a continuación.

    Nota

    Los recursos Lingjun solo son compatibles con el tipo de puja por descuento spot.

    • Precio de puja basado en el tipo de puja por descuento spot: el precio máximo de puja se basa en el precio de mercado del tipo de instancia y oscila entre el 10 % y el 90 % del precio de mercado, en intervalos del 10 %.

    • Precio de puja basado en el tipo de puja por precio spot: el precio máximo de puja se encuentra dentro del rango de precios de mercado.

    En la sección Resource Information de la página Create Job en DLC, establezca Source en Preemptible Resources y consulte los recursos preemptibles y los rangos de precios de mercado en la sección Job Resource.

    Nota

    Para consultar los precios específicos de las especificaciones de recursos, consulte la consola.

    • Recursos de cómputo de uso general

      Para usar recursos de cómputo de uso general, en la sección Resource Information, establezca Resource Type en General Computing y Source en Preemptible Resources, y seleccione PyTorch en Framework. En la tabla Job Resource, configure los parámetros que se indican a continuación para los nodos Worker: el número de nodos, Resource Specification, el rango de precios de mercado y Bid Price (Discount).

    • Recursos Lingjun

      En la sección Resource Information de la página Create Job, configure los ajustes que se indican a continuación:

      • Resource Type: Seleccione Lingjun AI Computing Service.

      • Source: Seleccione Preemptible Resources.

      • Framework: Seleccione PyTorch.

      • Job Resource: configure el número de nodos, Resource Specification, el rango de precios de mercado y Bid Price (Discount) para los nodos Worker.

  • Modo de facturación

    Los recursos preemptibles se cobran con el método de facturación pay-as-you-go. El cobro se basa en el precio de mercado.

  • Consulta de facturas

    Después de ejecutar un trabajo, vaya a la página Billing Details en Expenses and Costs al día siguiente para consultar los detalles de facturación del trabajo en el que se usan recursos preemptibles. Los cargos pay-as-you-go son generados por DLC. La etiqueta de la instancia es key:acs:pai:dlc:payType value:spot. Para obtener más información sobre cómo consultar los detalles de facturación, consulte View PAI billing details.

Escenarios

  • Escenarios compatibles

    Para reducir costos, se recomienda usar recursos preemptibles en los escenarios que se indican a continuación:

    • Trabajos de cómputo de corta duración.

    • Trabajos de cómputo en estado de depuración.

    • Trabajos de cómputo con tolerancia a errores.

    • Trabajos de cómputo que permiten interrupciones. Por ejemplo, en escenarios donde se usa el framework EasyCkpt para entrenar un LLM de PyTorch, puede guardar checkpoints con frecuencia y restaurar datos desde los checkpoints. Para obtener más información, consulte EasyCkpt.

  • Escenarios no compatibles

    Servicios que requieren alta estabilidad.

Procedimiento

Puede enviar un trabajo preemptible mediante uno de los métodos que se indican a continuación.

Usar la PAI console

  1. Vaya a la página Create Job.

    1. Inicie sesión en PAI console. Seleccione una región y un espacio de trabajo. Después, haga clic en Enter Deep Learning Containers (DLC).

    2. En la página Deep Learning Containers (DLC), haga clic en Create Job.

  2. En la página Create Job, configure los parámetros descritos en la tabla que se muestra a continuación. Para obtener información sobre otros parámetros, consulte Create a training job.

    Parámetro

    Descripción

    Resource Information

    Resource Type

    Seleccione Lingjun AI Computing Service o General Computing.

    Nota

    Este parámetro solo está disponible si el espacio de trabajo permite usar recursos Lingjun y recursos de cómputo de uso general.

    Source

    Seleccione Preemptible Resources.

    Job Resource

    En la columna Resource Type, haga clic en el image icono para seleccionar un recurso preemptible y configure el parámetro Bid Price (Discount). El precio de puja es el precio máximo de puja basado en el precio original del tipo de instancia y oscila entre el 10 % y el 90 % del precio de mercado, en intervalos del 10 %. Puede obtener el recurso preemptible si su puja cumple o supera el precio de mercado y el inventario es suficiente.

    VPC

    VPC

    Configure una red privada virtual (VPC) si usa recursos Lingjun para enviar trabajos de DLC. Seleccione una VPC, un vSwitch y un security group en las listas desplegables.

    Security Group

    vSwitch

    Fault Tolerance and Diagnosis

    Automatic Fault Tolerance

    Si usa recursos Lingjun para enviar trabajos de DLC, se recomienda habilitar Automatic Fault Tolerance. La función Automatic Fault Tolerance permite que los trabajos preemptibles vuelvan a entrar automáticamente en la cola de pujas después de la revocación de recursos. Los trabajos pueden reanudarse cuando el precio promedio de mercado es inferior a su precio máximo de puja. Para obtener más información sobre AIMaster, consulte AIMaster: An elastic and automatic fault tolerance engine.

    Recursos Lingjun

    Nota

    Para consultar los precios específicos de las especificaciones de recursos, consulte la consola.

    Los elementos clave de configuración para una tarea de entrenamiento con recursos preemptibles que usa Lingjun Intelligent Computing incluyen los elementos que se indican a continuación:

    • Source: Seleccione Preemptible Resources.

    • Job Resource: configure el número de nodos y la especificación de recursos para los nodos Worker, y compruebe el precio máximo de puja y el rango de precios de mercado. Haga clic en History Price para consultar los precios históricos.

    • VPC: seleccione una VPC, un vSwitch y un security group.

    • Automatic Fault Tolerance: después de habilitar esta función, se consumen recursos de cómputo adicionales. Haga clic en Modify Configuration para ajustar la configuración de tolerancia a errores.

    Recursos de cómputo de uso general

    Nota

    Para consultar los precios específicos de las especificaciones de recursos, consulte la consola.

    En la página de configuración de recursos, siga los pasos que se indican a continuación:

    1. Establezca Source en Preemptible Resources.

    2. Seleccione el framework necesario, por ejemplo PyTorch, en Framework.

    3. En la tabla Job Resource, configure los nodos Worker: establezca el número de nodos, Resource Specification y Bid Price (Discount). El rango de precios de mercado depende de lo que se muestre en la consola.

    4. En la sección Fault Tolerance and Diagnosis, active Automatic Fault Tolerance. Habilitar esta función consume recursos de cómputo adicionales.

  3. Después de configurar los parámetros, haga clic en Confirm.

    Después de enviar el trabajo, DLC solicita recursos preemptibles para crear y ejecutar el trabajo. Si no se solicita ningún recurso preemptible, el trabajo entra en estado de espera.

Usar el SDK

Paso 1: Instalar el SDK para Python.

  • Instale el SDK del espacio de trabajo.

    pip install alibabacloud_aiworkspace20210204==3.0.1
  • Instale el SDK de DLC.

    pip install alibabacloud_pai_dlc20201203==1.4.17

Paso 2: Enviar un trabajo preemptible

SpotDiscountLimit

#!/usr/bin/env python3

from alibabacloud_tea_openapi.models import Config
from alibabacloud_credentials.client import Client as CredClient

from alibabacloud_pai_dlc20201203.client import Client as DLCClient
from alibabacloud_pai_dlc20201203.models import CreateJobRequest

region_id = '<region-id>'  # The ID of the region in which the DLC job resides, such as cn-hangzhou. 
cred = CredClient()
workspace_id = '12****'  # The ID of the workspace to which the DLC job belongs. 

dlc_client = DLCClient(
    Config(credential=cred,
           region_id=region_id,
           endpoint='pai-dlc.{}.aliyuncs.com'.format(region_id),
           protocol='http'))

create_job_resp = dlc_client.create_job(CreateJobRequest().from_map({
    'WorkspaceId': workspace_id,
    'DisplayName': 'sample-spot-job',
    'JobType': 'PyTorchJob',
    'JobSpecs': [
        {
            "Type": "Worker",
            "Image": "dsw-registry-vpc.<region-id>.cr.aliyuncs.com/pai/pytorch-training:1.12-cpu-py39-ubuntu20.04",
            "PodCount": 1,
            "EcsSpec": 'ecs.g7.xlarge',
            "SpotSpec": {
                "SpotStrategy": "SpotWithPriceLimit",
                "SpotDiscountLimit": 0.4,
            }
        },
    ],
    'UserVpc': {
        "VpcId": "vpc-0jlq8l7qech3m2ta2****",
        "SwitchId": "vsw-0jlc46eg4k3pivwpz8****",
        "SecurityGroupId": "sg-0jl4bd9wwh5auei9****",
    },
    "UserCommand": "echo 'Hello World' && ls -R /mnt/data/ && sleep 30 && echo 'DONE'",
}))
job_id = create_job_resp.body.job_id
print(f'jobId is {job_id}')

SpotPriceLimit

#!/usr/bin/env python3

from alibabacloud_tea_openapi.models import Config
from alibabacloud_credentials.client import Client as CredClient

from alibabacloud_pai_dlc20201203.client import Client as DLCClient
from alibabacloud_pai_dlc20201203.models import CreateJobRequest

region_id = '<region-id>'
cred = CredClient()
workspace_id = '12****'

dlc_client = DLCClient(
    Config(credential=cred,
           region_id=region_id,
           endpoint='pai-dlc.{}.aliyuncs.com'.format(region_id),
           protocol='http'))

create_job_resp = dlc_client.create_job(CreateJobRequest().from_map({
    'WorkspaceId': workspace_id,
    'DisplayName': 'sample-spot-job',
    'JobType': 'PyTorchJob',
    'JobSpecs': [
        {
            "Type": "Worker",
            "Image": "dsw-registry-vpc.<region-id>.cr.aliyuncs.com/pai/pytorch-training:1.12-cpu-py39-ubuntu20.04",
            "PodCount": 1,
            "EcsSpec": 'ecs.g7.xlarge',
            "SpotSpec": {
                "SpotStrategy": "SpotWithPriceLimit",
                "SpotPriceLimit": 0.011,
            }
        },
    ],
    'UserVpc': {
        "VpcId": "vpc-0jlq8l7qech3m2ta2****",
        "SwitchId": "vsw-0jlc46eg4k3pivwpz8****",
        "SecurityGroupId": "sg-0jl4bd9wwh5auei9****",
    },
    "UserCommand": "echo 'Hello World' && ls -R /mnt/data/ && sleep 30 && echo 'DONE'",
}))
job_id = create_job_resp.body.job_id
print(f'jobId is {job_id}')

La tabla que se muestra a continuación describe los parámetros clave. Para obtener información sobre otros parámetros, consulte Use SDK for Python.

Parámetro

Descripción

SpotStrategy

La política de puja. Los parámetros de tipo de puja surten efecto solo si establece este parámetro en SpotWithPriceLimit.

SpotDiscountLimit

El tipo de puja por descuento spot.

Nota
  • No puede especificar los parámetros SpotDiscountLimit y SpotPriceLimit al mismo tiempo.

  • El parámetro SpotDiscountLimit solo es válido para recursos Lingjun.

SpotPriceLimit

El tipo de puja por precio spot.

UserVpc

Este parámetro es obligatorio cuando usa recursos Lingjun para enviar trabajos. Configure el ID de VPC, el ID de vSwitch y el ID de security group de la región en la que reside el trabajo.