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.
Actualice la versión de AMI en su SageMaker HyperPod clúster
SageMaker HyperPod Amazon Machine Images (AMIs) son imágenes de máquinas especializadas para cargas de trabajo de aprendizaje automático distribuidas y computación de alto rendimiento. Cada AMI incluye controladores, marcos de machine learning, bibliotecas de entrenamiento y herramientas de supervisión del rendimiento. Actualice la versión de la AMI en su clúster, puede utilizar las versiones más recientes de estos componentes y paquetes para sus trabajos y flujos de trabajo de entrenamiento.
Al actualizar la versión de la AMI en su clúster, tiene la opción de procesar la actualización inmediatamente, programar una actualización única o utilizar una expresión cron para crear una programación periódica. También puede optar por actualizar todas las instancias de un grupo de instancias o solo los lotes de instancias. Si decide actualizar los lotes, establece el porcentaje o la cantidad de instancias que la SageMaker IA debe actualizar a la vez. Si utilizas este método de actualización, estableces un intervalo de tiempo para que la SageMaker IA espere entre los lotes.
Si decide actualizar por lotes, también puede incluir una lista de alarmas y métricas. Durante el intervalo de espera, la SageMaker IA observa estas métricas y, si alguna supera su umbral, la alarma correspondiente pasa al estado de ALARMA y la SageMaker IA revierte la actualización de la AMI. Para utilizar las reversiones automáticas, su rol de ejecución de IAM debe tener el permiso cloudwatch:DescribeAlarms.
nota
La actualización del clúster por lotes solo está disponible para HyperPod los clústeres integrados con Amazon EKS. Además, si va a crear varios programaciones, le recomendamos que incluya un tiempo de margen entre las programaciones. Si las programaciones se superponen, es posible que las actualizaciones fallen.
Para obtener más información sobre cada versión de AMI HyperPod del clúster, consulteAmazon SageMaker HyperPod AMI. Para obtener más información sobre las HyperPod versiones generales, consulteNotas de SageMaker HyperPod lanzamiento de Amazon.
Puede usar la API de SageMaker IA o las operaciones de CLI para actualizar el clúster o ver las actualizaciones programadas de un clúster específico. Si utilizas la AWS consola, sigue estos pasos:
nota
La actualización de la AMI con la AWS consola solo está disponible para los clústeres integrados con Amazon EKS. Si tiene un clúster de Slurm, debe usar la API de SageMaker IA o las operaciones de CLI.
-
Abre la consola Amazon SageMaker AI en https://console.aws.amazon.com/sagemaker/
. -
A la izquierda, expande HyperPod Clústeres y selecciona Administración de clústeres.
-
Elija el clúster que desea actualizar y, a continuación, seleccione Detalles y Actualizar AMI.
Para crear y administrar las programaciones de actualización mediante programación, utilice las siguientes operaciones de API:
-
CreateCluster— cree un clúster especificando un programa de actualización
-
UpdateCluster— actualizar un clúster para añadir un programa de actualización
-
UpdateClusterSoftware— actualizar el software de la plataforma de un clúster
-
DescribeCluster— consulte un programa de actualizaciones que ha creado para un clúster
-
DescribeClusterNodey ListClusterNodes— ver cuándo se actualizó el clúster por última vez.
Permisos necesarios
En función de cómo haya configurado su presupuesto de interrupción de pods
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: hyperpod-patching rules: - apiGroups: [""] resources: ["pods"] verbs: ["list"] - apiGroups: [""] resources: ["pods/eviction"] verbs: ["create"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: hyperpod-patching subjects: - kind: User name: hyperpod-service-linked-role roleRef: kind: ClusterRole name: hyperpod-patching apiGroup: rbac.authorization.k8s.io
Utilice los siguientes comandos para aplicar los permisos.
git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart helm upgrade hyperpod-dependencies HyperPodHelmChart --namespace kube-system --install
Expresiones cron
Para configurar una actualización única a una hora determinada o de forma periódica, utilice expresiones cron. Las expresiones cron admiten seis campos y están separadas por espacios en blanco. Los seis campos son obligatorios.
cron(MinutesHoursDay-of-monthMonthDay-of-weekYear)
| Campos | Valores | Caracteres comodín |
|---|---|---|
|
Minutos |
De 0 a 59 |
N/A |
|
Horas |
De 0 a 23 |
N/A |
|
D ay-of-month |
De 1 a 31 |
? |
|
Mes |
De 1 a 12 |
* / |
|
D ay-of-week |
De 1 a 7 o de lunes a domingo |
? # L |
|
Año |
Año actual — 2099 |
* |
Caracteres comodín
-
El * (asterisco) incluye todos los valores del campo. En el campo
Hours, * incluiría cada hora. -
El comodín / (barra inclinada) especifica incrementos. En el campo
Monthsdebe indicar*/3para especificar cada tercer mes. -
El comodín ? (signo de interrogación) especifica uno u otro. En el
Day-of-monthcampo podía introducir 7, y si no le importaba qué día de la semana era el séptimo, ¿podía introducir? en el Day-of-week campo. -
El comodín L en el campo
day-of-weekindica el último día del mes o de la semana. Por ejemplo,5Lsignifica el último viernes del mes. -
El comodín # del ay-of-week campo especifica una instancia determinada del día de la semana especificado dentro de un mes. Por ejemplo, 3#2 sería el segundo martes del mes: el número 3 hace referencia al martes, ya que es el tercer día de la semana en el calendario anglosajón, mientras que 2 hace referencia al segundo día de ese tipo dentro de un mes.
Puede utilizar expresiones cron en los siguientes casos:
-
Programación única que se ejecuta en una hora y día determinados. Puede usar el
?comodín para indicar eso day-of-month o day-of-week no importa.cron(30 14 ? 12 MON 2024)cron(30 14 15 12 ? 2024) -
Programación semanal que se ejecuta en una hora y día determinados. El siguiente ejemplo crea un horario que se ejecuta a las 12:00 p. m. todos los lunes, independientemente de si. day-of-month
cron(00 12 ? * 1 *) -
Programación mensual que se ejecuta todos los meses, independientemente del day-of-week. La siguiente programación se ejecuta a las 12:30 del día 15 de cada mes.
cron(30 12 15 * ? *) -
Un programa mensual que utiliza day-of-week.
cron(30 12 ? * MON *) -
Para crear una programación que se ejecute cada enésimo mes, debe usar el comodín
/. En el siguiente ejemplo, se crea una programación mensual que se ejecuta cada 3 meses. Los dos ejemplos siguientes muestran cómo funciona con day-of-week y day-of-month.cron(30 12 15 */3 ? *)cron(30 12 ? */3 MON *) -
Programación que se ejecuta en una instancia concreta del día de la semana especificado. En el siguiente ejemplo, se crea una programación que se ejecuta a las 12:30 cada segundo lunes de cada mes.
cron(30 12 ? * 1#2 *) -
Programación que se ejecuta en la última instancia del día de la semana especificado. La siguiente programación se ejecuta a las 12:30 del último lunes de cada mes.
cron(30 12 ? * 1L *)