

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Asignación de cuotas de cómputo en la gobernanza de SageMaker HyperPod tareas de Amazon
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

Los administradores de clústeres pueden decidir cómo utiliza la organización los recursos de computación adquiridos. De este modo, se reducen los residuos y los recursos inactivos. Puede asignar una cuota de computación de forma que los equipos puedan tomar prestados los recursos no utilizados entre ellos. La asignación de cuotas de cómputo en la gobernanza de HyperPod tareas permite a los administradores asignar los recursos a nivel de instancia y a un nivel de recursos más detallado. Esta capacidad resulta en una administración de recursos flexible y eficiente para los equipos, ya que permite un control detallado de los recursos de computación individuales en lugar de requerir la asignación de instancias completas. La asignación más detallada elimina las ineficiencias de la asignación tradicional en la instancia. Con este enfoque, puede optimizar la utilización de los recursos y reducir la computación inactiva.

La asignación de cuotas de computación admite tres tipos de asignación de recursos: aceleradores, vCPU y memoria. Los aceleradores son componentes de las instancias de computación aceleradas que realizan funciones, como cálculos numéricos de coma flotante, procesamiento de gráficos o coincidencia de patrones de datos. Los aceleradores incluyen GPUs los aceleradores Trainium y los núcleos neuronales. Para compartir GPU entre varios equipos, distintos equipos pueden recibir asignaciones de GPU específicas del mismo tipo de instancia, lo que maximiza el uso del hardware del acelerador. Para cargas de trabajo con uso intensivo de memoria que requieren RAM adicional para el preprocesamiento de datos o escenarios de almacenamiento en caché de modelos, puede asignar una cuota de memoria superior a la proporción predeterminada. GPU-to-memory Para las tareas de preprocesamiento que requieren un uso intensivo de la CPU y que requieren una cantidad considerable de recursos de la CPU junto con el entrenamiento de la GPU, puede asignar recursos de CPU independientes.

Una vez que proporciones un valor, el gobierno de HyperPod tareas calcula la proporción mediante la fórmula: **recurso asignado dividido por la cantidad total de recursos disponibles** en la instancia. HyperPod A continuación, el gobierno de tareas utiliza esta proporción para aplicar las asignaciones predeterminadas a otros recursos, pero puedes anular estos valores predeterminados y personalizarlos en función de tu caso de uso. Los siguientes son ejemplos de escenarios de cómo la gobernanza de HyperPod tareas asigna los recursos en función de sus valores:
+ **Solo se especificó el acelerador**: el gobierno de HyperPod tareas aplica la relación predeterminada a la vCPU y la memoria en función de los valores del acelerador.
+ **Solo se especificó la vCPU: el** gobierno de HyperPod tareas calcula la proporción y la aplica a la memoria. Los aceleradores se establecen en 0.
+ **Solo se especifica la memoria**: el gobierno de HyperPod tareas calcula la proporción y la aplica a la vCPU, ya que se requiere computación para ejecutar cargas de trabajo especificadas en memoria. Los aceleradores se establecen en 0.

Para controlar mediante programación la asignación de cuotas, puedes usar el [ ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html)objeto y especificar tus asignaciones en números enteros.

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

Para ver todas las asignaciones asignadas, incluidas las predeterminadas, utilice la operación. [ DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) Para actualizar las asignaciones, utilice la operación. [ UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html)

También puede usar la HyperPod CLI para asignar cuotas de cómputo. Para obtener más información acerca de la HyperPod CLI, consulte[Ejecución de tareas en SageMaker HyperPod clústeres orquestados por Amazon EKS](sagemaker-hyperpod-eks-run-jobs.md). En el siguiente ejemplo, se muestra cómo establecer las cuotas de cómputo mediante la HyperPod CLI.

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

Para asignar las cuotas mediante la AWS consola, sigue estos pasos.

1. Abre la consola Amazon SageMaker AI en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. En HyperPod clústeres, selecciona **Gestión de clústeres**.

1. En **Asignaciones de recursos de computación**, elija **Crear**.

1. Si aún no tiene instancias, elija **Agregar asignación** para agregar una instancia.

1. En **Asignaciones**, elija asignar por instancias o por recursos individuales. Si asignas por recursos individuales, la SageMaker IA asigna automáticamente las asignaciones a otros recursos según la proporción que elijas. Para anular esta asignación basada en proporciones, utilice el conmutador correspondiente para anular la computación.

1. Repita los pasos 4 y 5 para configurar instancias adicionales.

Después de asignar la cuota de cómputo, puede enviar los trabajos a través de la HyperPod CLI o`kubectl`. HyperPodprograma las cargas de trabajo de manera eficiente en función de la cuota disponible. 

# Asignación de la cuota de particiones de la GPU
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

Puede ampliar la asignación de cuotas de cómputo para admitir la partición de la GPU, lo que permite compartir recursos de forma pormenorizada a nivel de partición de la GPU. Cuando la partición de la GPU está habilitada o es compatible con GPUs el clúster, cada GPU física se puede dividir en varias GPU aisladas GPUs con asignaciones definidas de procesamiento, memoria y multiprocesador de streaming. Para obtener más información sobre la partición de la GPU, consulte. [Uso de particiones de GPU en Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) Puede asignar particiones de GPU específicas a los equipos, lo que permite que varios equipos compartan una sola GPU y, al mismo tiempo, mantenga el aislamiento a nivel de hardware y un rendimiento predecible.

Por ejemplo, una instancia ml.p5.48xlarge con 8 H100 se puede particionar en particiones de GPU, y GPUs puedes asignar particiones individuales a diferentes equipos en función de sus requisitos de tareas. Al especificar las asignaciones de particiones de GPU, el gobierno de HyperPod tareas calcula las cuotas proporcionales de vCPU y memoria en función de la partición de GPU, de forma similar a la asignación a nivel de GPU. Este enfoque maximiza el uso de la GPU, ya que elimina la capacidad inactiva y permite compartir recursos de forma rentable entre varias tareas simultáneas en la misma GPU física.

## Creación de cuotas de cómputo
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## Verificación de los recursos de cuotas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```