Recientemente presentamos la posibilidad de crear y gestionar Amazon SageMaker Spaces en clústeres EKS de Amazon SageMaker HyperPod directamente desde la interfaz de usuario de Amazon SageMaker Studio. Los científicos de datos y los ingenieros de aprendizaje automático (ML) ahora pueden lanzar entornos de JupyterLab y Code Editor en clústeres de HyperPod sin salir de su navegador ni usar herramientas de línea de comandos, lo que reduce el tiempo desde el acceso al clúster hasta el desarrollo productivo a unos pocos clics.
Antecedentes
Amazon SageMaker HyperPod proporciona infraestructura diseñada específicamente para el entrenamiento y la inferencia de modelos fundamentales (FM) a escala. Con la orquestación de Amazon Elastic Kubernetes Service (Amazon EKS) , los equipos pueden ejecutar trabajos de entrenamiento distribuidos en cientos de aceleradores con resiliencia integrada y recuperación automática de fallos. Además del entrenamiento, HyperPod extiende esta infraestructura orquestada por EKS para servir inferencia de baja latencia y escalable para modelos fundamentales de miles de millones de parámetros.
A principios de este año, lanzamos Amazon SageMaker Spaces para HyperPod, un complemento que los desarrolladores de ML pueden usar para crear entornos de desarrollo interactivos directamente en clústeres EKS de HyperPod. De este modo, las organizaciones podían maximizar sus inversiones en GPU al ejecutar cargas de trabajo interactivas junto con trabajos de entrenamiento y despliegue de modelos en la misma infraestructura, con soporte para asignaciones fraccionarias de GPU.
Anteriormente, la creación y gestión de Spaces se basaba principalmente en la HyperPod CLI o en kubectl comandos. Aunque este enfoque proporciona un control potente y granular para los administradores de infraestructura, los científicos de datos que prefieren una interfaz visual ahora pueden usar esta nueva capacidad de SageMaker Studio para evitar las herramientas de línea de comandos y centrarse por completo en el desarrollo de modelos.
Novedades
Con esta nueva capacidad, los científicos de datos ahora pueden crear, configurar, iniciar, detener y abrir Spaces directamente desde SageMaker Studio. La nueva pestaña IDE and Notebooks en la página de detalles del clúster de HyperPod proporciona una interfaz de usuario completa para la gestión de Spaces, eliminando la necesidad de herramientas de CLI para las operaciones diarias de Spaces.
Las capacidades clave disponibles a través de Studio incluyen:
- Crear Spaces con cómputo configurable, espacios de nombres, almacenamiento, HyperPod Task Governance para la gestión de cuotas de cómputo y configuración de imágenes mediante un formulario guiado.
- Ver todos los Spaces en una tabla con capacidad de búsqueda que muestra el nombre, el tipo de aplicación, el estado, el tipo de acceso, el almacenamiento y las asignaciones de GPU y vCPU.
- Iniciar y detener Spaces con una sola selección para liberar recursos de cómputo cuando los Spaces no se utilizan.
- Abrir Spaces directamente en el navegador (JupyterLab o Code Editor) o conectarse a través de un IDE remoto de su elección (por ejemplo, VS Code).
Figura 1: La pestaña IDE and Notebooks en la página de detalles del clúster de HyperPod muestra todos los Spaces con su estado, asignación de cómputo y acciones rápidas para detener, abrir o abrir en un IDE remoto
Primeros pasos
La configuración implica dos roles: los administradores preparan el clúster, y los científicos de datos crean y abren los Spaces. Las siguientes secciones cubren cada uno.
Para administradores
Los administradores instalan el complemento de SageMaker Spaces en su clúster de HyperPod EKS usando ya sea la instalación rápida (con un clic y valores predeterminados optimizados) o la opción de instalación personalizada (necesaria para configurar el acceso a la interfaz web) desde la pestaña IDE y Notebooks de su clúster de SageMaker HyperPod EKS. Después de instalarlo, el administrador puede configurar espacios de nombres, crear plantillas de Space y gestionar el acceso mediante entradas de acceso de EKS.
La siguiente es una configuración única que los administradores deben realizar:
- Instale el complemento de Spaces: Desde la consola de Amazon SageMaker AI, abra su clúster de HyperPod, vaya a la pestaña IDE y Notebooks y elija instalación rápida o instalación personalizada (la instalación personalizada es necesaria para habilitar el acceso desde el navegador web). Consulte la documentación de AWS para obtener instrucciones completas.
- Configure las entradas de acceso de EKS: Adjunte las tres políticas administradas
AmazonSagemakerHyperpodSpacePolicy,AmazonSagemakerHyperpodUserClusterPolicy, yAmazonSagemakerHyperpodSpaceTemplatePolicya los roles de AWS Identity and Access Management (IAM) utilizados por sus científicos de datos. - Habilite la propagación de identidad por usuario en el dominio de Studio: Si su dominio de Studio fue creado antes del lanzamiento de la integración entre SageMaker Studio y HyperPod Spaces, debe habilitar la propagación de identidad por usuario al clúster EKS de HyperPod. Esto garantiza que las acciones de cada usuario de Studio en el clúster (crear, detener o eliminar un Space) se atribuyan a su perfil de usuario en las entradas de acceso de EKS y en AWS CloudTrail. Además, este mapeo de identidad aplica una propiedad estricta de los Spaces. Realiza un seguimiento de qué usuario creó el entorno y determina si el Space es privado o compartido en todo el dominio de SageMaker Studio.
Ejecute el siguiente comando una vez por cada dominio de Studio:
aws sagemaker update-domain \
--domain-id $DOMAIN_ID \
--default-user-settings '{
"StudioWebPortalSettings": {
"ExecutionRoleSessionNameMode": "USER_IDENTITY"
}
}'
Después de actualizar el dominio, verifique que el siguiente comando devuelva “USER_IDENTITY”:
aws sagemaker describe-domain --domain-id $DOMAIN_ID \
--query 'DefaultUserSettings.StudioWebPortalSettings.ExecutionRoleSessionNameMode'
Las aplicaciones en ejecución existentes no se ven afectadas. Los usuarios reciben la nueva configuración en su próximo inicio de sesión.
- De manera opcional, active capacidades adicionales: Habilite cualquiera de las capacidades de la siguiente tabla de Optional capabilities.
Para científicos de datos
Después de instalar el complemento y configurar el acceso, los científicos de datos navegan a su clúster de HyperPod en SageMaker Studio bajo Compute → HyperPod y seleccionan la pestaña IDE and Notebooks para ver la interfaz de administración de Spaces (véase la Figura 1). Obtenga más información sobre cómo crear y administrar Spaces: Create and manage Spaces on HyperPod.
Después de que el estado del Space muestre Running (normalmente unos pocos minutos en un clúster frío, aproximadamente 30–40 segundos con sobreaprovisionamiento), elija Open para iniciar JupyterLab o Code Editor en su navegador (Figuras 2 y 3), o Open in VS Code para conectarse desde su editor local mediante SSH-over-SSM (Figura 4).
Figura 2: Un Space de JupyterLab accesado a través del navegador web, que muestra el Launcher con kernels de notebook disponibles, consolas y acceso a la terminal
Trabajar en un Space de JupyterLab
Después de abrir un Space de JupyterLab, obtiene un entorno de desarrollo completamente configurado con acceso a:
- Notebooks de Python 3 con ipykernel.
- Consolas de Glue PySpark y Glue Spark.
- Kernels de SparkMagic PySpark y Spark.
- Acceso a la terminal para ejecutar comandos.
- Explorador de archivos con almacenamiento persistente.
- Chat integrado y ayuda contextual.
Su trabajo persiste en el volumen de Amazon Elastic Block Store (Amazon EBS) adjunto, por lo que puede detener y reiniciar Spaces sin perder el progreso.
Figura 3: Un Space de Code Editor en ejecución en HyperPod, que muestra la interfaz web estilo VS Code con explorador de archivos, editor y terminal integrada
Trabajar en un Space de Code Editor
Para los desarrolladores que prefieren una experiencia estilo VS Code en el navegador, los Spaces de Code Editor proporcionan un IDE ligero basado en web con:
- Edición completa de archivos con resaltado de sintaxis e IntelliSense.
- Terminal integrada para ejecutar comandos de shell, enviar trabajos de entrenamiento o interactuar con recursos del clúster.
- Soporte de extensiones para servidores de lenguaje, linters y formateadores.
- Integración con Git para flujos de trabajo de control de versiones.
- Acceso directo al sistema de archivos del clúster y a los volúmenes de Amazon FSx montados.
Los Code Editor Spaces son ideales para escribir y depurar scripts de entrenamiento, gestionar configuraciones de experimentos y trabajar con repositorios de código, todo sin salir del navegador.
Figura 4: Una instancia local de VS Code conectada remotamente a un HyperPod Space, que muestra el indicador de conexión remota y todas las capacidades del IDE ejecutándose en el cómputo del clúster
Conexión remota al IDE (VS Code)
Elija Open in VS Code en la tabla de Spaces para conectar su Visual Studio Code local al Space que se ejecuta en HyperPod. Esto utiliza internamente túneles SSH-over-SSM, lo que proporciona una conexión segura sin necesidad de gestionar claves SSH ni exponer el puerto 22.
Obtiene toda la potencia de su entorno local de VS Code, incluidas extensiones, temas y combinaciones de teclas, mientras ejecuta código en el cómputo del clúster de HyperPod.
También puede conectarse mediante el AWS Toolkit for Visual Studio Code, que muestra sus Spaces en SageMaker AI > HyperPod, y puede iniciar, detener y conectarse a Spaces directamente desde el panel del toolkit.
Capacidades opcionales
Todas las capacidades que se describen a continuación son opcionales y componibles. Habilite cualquier combinación que se adapte a las necesidades de su equipo.
| Capacidad | Descripción |
| Acceso al navegador web | AWS Application Load Balancer y DNS personalizado a través de Amazon Route 53 para dirigir el tráfico del navegador a los Spaces. No se requiere para el acceso remoto al IDE (VS Code sobre SSM). |
| Plantillas de Space | Plantillas definidas por el administrador que preconfiguran computación, imágenes, almacenamiento y scripts de ciclo de vida para configuraciones de Space consistentes entre equipos. |
| Task Governance | Cuotas de computación a nivel de espacio de nombres, colas y admisión basada en prioridades a través de Kueue para clústeres multiusuario. |
| Autoscaling de Karpenter | Escalado dinámico de nodos (ampliación/reducción) según la demanda de Spaces. |
| Sobreaprovisionamiento de Karpenter | Nodos precalentados con imágenes precargadas que reducen el inicio de los Spaces de 5–7 minutos a aproximadamente 30–40 segundos. Consulte la siguiente sección de consejo profesional. |
| Volúmenes persistentes (EFS / FSx) | Directorios de usuario compartidos y conjuntos de datos de equipo que persisten entre Spaces. |
| Imágenes personalizadas (ECR) | Runtimes y bibliotecas específicos del equipo integrados en imágenes de contenedor alojadas en Amazon Elastic Container Registry (Amazon ECR). |
| Apagado por inactividad | Terminación automática de Spaces inactivos para protegerse contra costos de computación descontrolados. |
| NVIDIA MIG | Asignación fraccionaria de GPU para cargas de trabajo interactivas con eficiencia de costos en hardware A100/H100. |
Consejo profesional: Reduzca el tiempo de inicio de los Spaces con el sobreaprovisionamiento de nodos
De forma predeterminada, SageMaker Spaces en clústeres de HyperPod EKS que usan el autoscaling de Karpenter incurre en un retraso de arranque en frío de 5–7 minutos la primera vez que se crea un Space en un clúster con escala a cero, dominado por:
- Lanzamiento de la instancia de Amazon Elastic Compute Cloud (Amazon EC2).
- Registro del nodo de Kubernetes.
- Descarga de la imagen de SageMaker Distribution (SMD).
Para cargas de trabajo interactivas sensibles a la latencia (JupyterLab, Code Editor), puede mantener un grupo de nodos precalentados con imágenes en caché usando el patrón estándar de sobreaprovisionamiento de Kubernetes. Esto reduce el tiempo de arranque de los Space de minutos a alrededor de 30–40 segundos.
Cómo funciona
- Un Deployment de marcador de posición de baja prioridad (
-1000) mantiene un pod de Kubernetes en cada nodo precalentado. Estos pods solicitan la misma CPU/memoria que solicitaría un Space real. - Un
initContaineren cada marcador de posición predescarga la imagen de SageMaker Distribution en el nodo cuando Karpenter lo aprovisiona. - Cuando un usuario crea un Space (prioridad por defecto
0), el planificador de Kubernetes expulsa el marcador de posición (prioridad-1000). El Space entonces aterriza en el nodo ya precalentado y con la imagen en caché en un par de segundos, sin descarga de imagen ni espera por el lanzamiento de un nodo. - Karpenter aprovisiona un nodo de reemplazo para el placeholder desplazado en segundo plano.
Más información sobre el despliegue de Pro tip: Sobreaprovisionamiento para HyperPod Spaces.
Latencias de arranque verificadas en ml.m5.12xlarge (24 vCPU asignables, 2 vCPU de placeholder, 8 GiB de memoria de placeholder) con la sagemaker-distribution:latest-cpu imagen SMD, que pesa unos 3.5 GB:
| Ruta | Latencia |
| El Space cabe junto al placeholder (coexistencia) | ~14 s |
| El Space prevalece sobre el placeholder | ~35 s |
| Arranque en frío (sin warm pool) | 5-7 min |
Nota: Estos números son solo de CPU. Los Spaces de GPU necesitan su propio Deployment de placeholder que solicite nvidia.com/gpu con la imagen de GPU pre-descargada. De lo contrario, los nodos de GPU permanecen en frío y, con un tamaño de aproximadamente 10 GB, la imagen de GPU cuesta mucho más descargarla que la imagen de CPU de 3.5 GB.
Nota: Cada nodo en caliente mantiene una instancia EC2 en estado Running. Para los nodos bajo demanda, esto supone un costo adicional por mantener los nodos en caliente activos y en funcionamiento.
Para obtener más información sobre la instalación del complemento de HyperPod Spaces y cómo empezar, consulte la documentación de AWS.
Precios
Configurar el complemento de SageMaker Spaces no genera cargos adicionales. Usted paga por la computación del clúster de HyperPod subyacente consumida por sus Spaces, y un cargo por hora por la AWS Systems Manager Advanced On-Premises Instance utilizada para la conectividad remota SSH-over-SSM. Consulte los precios de AWS Systems Manager para más detalles.
Si utiliza la sobreaprovisionamiento descrito anteriormente, tenga en cuenta que hay un costo adicional por los nodos en caliente. Según el tipo y el tamaño de la instancia, estos nodos permanecen en estado de ejecución esperando aprovisionar Spaces.
Conclusión
La gestión de HyperPod Spaces con SageMaker Studio reduce la brecha entre los científicos de datos y la infraestructura de cómputo de alto rendimiento. Los equipos ahora pueden pasar del acceso al clúster a un entorno JupyterLab o Code Editor en ejecución en cuestión de minutos, sin necesidad de aprender herramientas de CLI ni conceptos de Kubernetes. Combinado con funciones como HyperPod Task Governance, soporte de GPU fraccionada y apagado por inactividad, las organizaciones pueden ofrecer acceso de autoservicio a clústeres compartidos mientras mantienen el control de costos y la equidad de recursos.
Para comenzar, vaya a su clúster de HyperPod EKS en la consola de SageMaker AI y seleccione la pestaña IDE and Notebooks. Para obtener más información, consulte la documentación de SageMaker HyperPod Spaces.
