top of page

El entrenamiento de SkyRL SageMaker HyperPod lleva el RL multimodal más allá del notebook

hace 55 minutos
15 min de lectura

Amazon Web Services ha publicado un recorrido de seis GPU para el entrenamiento de SkyRL SageMaker HyperPod, llevando el aprendizaje por refuerzo multimodal más allá de un único notebook experimental. El flujo de trabajo realiza postentrenamiento de Qwen3-VL-8B con Group Relative Policy Optimization, o GRPO, dentro de un clúster de Ray. Después lleva el adaptador LoRA resultante a un despliegue de inferencia.

Ese alcance crea la verdadera tensión. El aprendizaje por refuerzo de código abierto ofrece a los equipos control sobre los modelos, las recompensas y el comportamiento de entrenamiento. Sin embargo, el entrenamiento multimodal distribuido incorpora contenedores, almacenamiento, planificadores, motores de inferencia, asignación de GPU, registro y recuperación ante fallos. El algoritmo es solo una parte del sistema.

AWS está posicionando SageMaker HyperPod como la capa operativa bajo esa pila abierta. SkyRL sigue siendo el framework de aprendizaje por refuerzo, mientras que Ray coordina el trabajo en todo el clúster. Amazon EKS proporciona la orquestación de Kubernetes, y SageMaker Studio se convierte en la principal superficie de control.

El resultado compite menos con otro framework individual que con una ruta de ingeniería conocida. Los equipos pueden ensamblar componentes de código abierto directamente sobre Kubernetes convencional, o pueden situar esos componentes dentro de un entorno de clúster gestionado. AWS quiere que la segunda ruta preserve la elección de software mientras reduce la fricción operativa.

Esa propuesta cuenta ahora con un caso de prueba concreto. El flujo de trabajo de RL multimodal abarca tareas de laberintos basadas en imágenes, generación distribuida de rollouts, actualizaciones de políticas, monitorización y servicio de adaptadores. Ofrece un plano útil, pero no demuestra que todas las cargas de trabajo de producción se vuelvan sencillas.

AWS ha convertido una pila de investigación en un trabajo de clúster repetible

El cambio importante no es un nuevo algoritmo de aprendizaje por refuerzo. Es una ruta documentada para operar una pila abierta existente sobre infraestructura de GPU gestionada.

El flujo de trabajo comienza empaquetando SkyRL y sus dependencias en una imagen de contenedor. Ese paso fija el entorno de ejecución antes de que el trabajo llegue al clúster. También crea un artefacto reutilizable para experimentos repetidos, en lugar de reconstruir dependencias dentro de cada sesión interactiva.

SkyRL es un framework de código abierto para el postentrenamiento mediante aprendizaje por refuerzo. El postentrenamiento modifica un modelo preentrenado utilizando ejemplos específicos de la tarea, preferencias o señales de recompensa. En este caso, el objetivo es Qwen3-VL-8B, un modelo de visión y lenguaje que acepta entradas visuales y textuales.

La tarea utiliza laberintos visuales. Un modelo observa el laberinto, razona sobre la ruta disponible y selecciona su siguiente movimiento. Una función de recompensa puede puntuar el progreso o la finalización exitosa sin exigir que una persona califique cada respuesta.

Esa estructura hace que el ejemplo sea más significativo que una demostración basada únicamente en texto. Los rollouts multimodales transportan imágenes a través del bucle de generación y puntuación. El sistema de entrenamiento debe coordinar entradas visuales, acciones generadas, recompensas y actualizaciones de políticas sin perder la relación entre ellas.

AWS describe un RayCluster con un nodo principal de CPU y tres workers de GPU. Cada worker recibe dos GPU, lo que produce seis GPU en la topología de ejemplo. El nodo principal se encarga de la coordinación, mientras que los workers realizan el trabajo de generación y entrenamiento.

La arquitectura coloca conjuntamente fragmentos de políticas Fully Sharded Data Parallel y motores de rollout vLLM en esos workers. FSDP distribuye los parámetros del modelo entre dispositivos, reduciendo la memoria que mantiene cada proceso. vLLM proporciona la generación de alto rendimiento necesaria para producir respuestas candidatas durante el aprendizaje por refuerzo.

Un sistema de archivos Amazon FSx for Lustre proporciona almacenamiento compartido. Esto importa porque los workers distribuidos necesitan acceso coherente a conjuntos de datos, artefactos de modelos, puntos de control y adaptadores de salida. El almacenamiento compartido también separa el estado importante del ciclo de vida de un pod de entrenamiento individual.

Los usuarios crean el clúster de Ray mediante SageMaker Studio. La interfaz documentada expone endpoints remotos para el envío de trabajos y el acceso al panel. Una vez que el clúster alcanza un estado de ejecución, los usuarios pueden enviar la carga de trabajo de entrenamiento sin tratar un kernel de notebook como propietario del trabajo.

Ray Jobs empaqueta una aplicación para ejecutarla en un clúster existente. Según la interfaz de Ray Jobs, las aplicaciones enviadas pueden continuar de forma independiente respecto a la shell de origen. Esa separación es esencial para cargas de trabajo de GPU de larga duración.

El flujo de trabajo expone después dos vistas del sistema en ejecución. El Ray Dashboard muestra el estado de los trabajos y los recursos de los workers. Amazon Managed Grafana muestra métricas de CPU, GPU y memoria recopiladas del clúster.

El paso final aloja el adaptador LoRA entrenado para inferencia. LoRA, o Low-Rank Adaptation, almacena un conjunto compacto de actualizaciones de parámetros aprendidas en lugar de duplicar el modelo base. Por tanto, el despliegue prueba el comportamiento entrenado sin requerir una copia de modelo completamente independiente.

Este alcance integral distingue el lanzamiento de una receta de entrenamiento aislada. El ejemplo conecta la construcción del entorno, la creación del clúster, el envío de trabajos, la observabilidad, el almacenamiento, el postentrenamiento y el servicio. Es en esos límites donde los experimentos prometedores suelen volverse difíciles de reproducir.

Por qué importa ahora el entrenamiento de SkyRL SageMaker HyperPod

El aprendizaje por refuerzo multimodal está pasando de ser un problema algorítmico a un problema de coordinación de infraestructura.

GRPO entrena una política comparando las recompensas entre varias salidas generadas para el mismo prompt. A diferencia de los métodos que dependen de un modelo de valor aprendido por separado, GRPO estima ventajas relativas dentro de cada grupo de respuestas. Esa elección puede reducir una fuente de sobrecarga de memoria e implementación.

La investigación original de GRPO aplicó el método al razonamiento matemático. Su atractivo más amplio procede de tareas impulsadas por recompensas en las que las salidas pueden evaluarse de forma coherente. La navegación visual ofrece otro entorno de este tipo porque el movimiento exitoso puede comprobarse frente al entorno.

Sin embargo, eliminar un modelo de valor no elimina la carga de sistemas. Cada actualización sigue dependiendo de rollouts generados, cálculo de recompensas, inferencia de políticas, cálculo de gradientes, sincronización y gestión de puntos de control. Las entradas multimodales añaden procesamiento de imágenes y mayores exigencias de memoria a ese bucle.

La carga de trabajo de entrenamiento también se comporta de forma distinta al ajuste fino supervisado convencional. El entrenamiento supervisado lee un conjunto de datos relativamente estable y calcula actualizaciones a partir de objetivos conocidos. El aprendizaje por refuerzo en línea genera repetidamente nuevas salidas a partir de la política que se está entrenando.

Ese bucle de retroalimentación puede dejar GPU esperando si la generación, la evaluación de recompensas o la sincronización de pesos se retrasa. También puede producir una presión de memoria desigual a medida que varían las longitudes de respuesta y las entradas de imagen. La utilización de la infraestructura pasa a formar parte de la calidad experimental y el control de costes.

SkyRL aborda ese problema mediante una arquitectura diseñada en torno al aprendizaje por refuerzo distribuido. Su repositorio público de SkyRL separa las responsabilidades de entrenamiento, inferencia, manejo de datos y orquestación, a la vez que se apoya en componentes comunes de código abierto.

Ray proporciona a esos componentes una capa de planificación compartida. Puede ubicar workers distribuidos, rastrear recursos y ejecutar tareas remotas entre máquinas. KubeRay amplía ese modelo a Kubernetes mediante recursos personalizados para clústeres, trabajos y servicios.

SageMaker HyperPod se sitúa bajo esta pila como infraestructura acelerada persistente. La documentación de AWS indica que Ray en HyperPod conserva las API estándar de Ray y los recursos KubeRay de código abierto. HyperPod añade integración con Studio, acceso autenticado al panel, observabilidad, gobernanza de tareas y recuperación de infraestructura a su alrededor.

Esta disposición apunta a dos grupos con prioridades distintas. Los investigadores quieren modificar recompensas, lógica de rollout, modelos y código de entrenamiento. Los equipos de plataforma quieren imágenes controladas, almacenamiento compartido, políticas de recursos, monitorización y trabajos recuperables.

Un servicio de entrenamiento totalmente abstraído puede limitar las opciones de experimentación. Un clúster completamente autogestionado puede exponer todas las opciones mientras transfiere el trabajo operativo al usuario. AWS presenta HyperPod como una capa intermedia entre esos extremos.

La configuración de seis GPU también facilita inspeccionar conceptualmente el ejemplo. El entrenamiento de políticas y la generación de rollouts comparten la flota de workers en lugar de desaparecer detrás de un límite de servicio. Los equipos pueden ver qué componentes utilizan recursos y dónde se desarrolla la congestión.

Esa visibilidad importa para las cargas de trabajo multimodales porque el tamaño del modelo por sí solo no predice el cuello de botella. La resolución de imagen, la longitud del prompt, el número de rollouts, los tokens generados, la latencia de las recompensas y la frecuencia de los puntos de control pueden cambiar el comportamiento de los recursos.

Qwen3-VL-8B es un modelo práctico para esta demostración porque combina comprensión visual y generación de lenguaje dentro de un rango de parámetros accesible. El proyecto Qwen3-VL también proporciona una familia de modelos abiertos que los equipos pueden inspeccionar y desplegar por sí mismos.

La elección refuerza el mensaje más amplio de AWS. Los clientes no necesitan un modelo propiedad de Amazon ni un framework de postentrenamiento cerrado para utilizar la capa de clúster gestionada. En su lugar, el ejemplo combina tecnología de Qwen, SkyRL, Ray, vLLM, PyTorch, Kubernetes y AWS.

Esa apertura genera presión sobre las plataformas de infraestructura competidoras. Una plataforma creíble debe ahora admitir más que el preentrenamiento distribuido y el ajuste fino convencional. También debe manejar la mezcla irregular de generación y optimización presente en el aprendizaje por refuerzo moderno.

Ray conecta los rollouts, las actualizaciones de políticas y la monitorización

Ray es el mecanismo que convierte componentes separados de aprendizaje por refuerzo en una única carga de trabajo planificable, pero las decisiones de ubicación siguen determinando la eficiencia.

Un trabajo de SkyRL necesita al menos dos rutas computacionales exigentes. La ruta de rollout ejecuta inferencia del modelo para generar acciones candidatas. La ruta de entrenamiento evalúa recompensas y actualiza la política a partir de esos candidatos.

Estas rutas consumen GPU de manera diferente. La generación se beneficia del procesamiento por lotes, kernels de atención eficientes y un motor orientado al servicio como vLLM. Las actualizaciones de políticas dependen de métodos de entrenamiento distribuido como FSDP y requieren sincronización de gradientes.

La arquitectura de AWS coloca ambas rutas en tres workers de GPU. Cada worker aloja fragmentos de políticas junto a motores de rollout. La ubicación conjunta puede reducir la necesidad de flotas separadas, pero también hace que la memoria de GPU y la planificación sean más sensibles.

Ray proporciona una visión común de esos recursos. El nodo principal coordina el clúster, mientras que los workers anuncian CPU, GPU y memoria disponibles. La aplicación enviada puede entonces crear actores o tareas que soliciten esos recursos.

KubeRay mapea esta disposición sobre Kubernetes. Un recurso RayCluster define los grupos principal y de workers, mientras que un RayJob puede enviar una aplicación y gestionar el ciclo de vida de su clúster asociado. El diseño de RayJob también puede adjuntar un trabajo a un clúster de Ray existente.

AWS utiliza el patrón de clúster existente para un flujo de trabajo interactivo. Un usuario crea el clúster desde SageMaker Studio y luego envía la aplicación SkyRL. Ese clúster puede admitir iteraciones repetidas sin tener que recrearse con cada cambio de código.

Este modelo separa la superficie de desarrollo de la superficie de cómputo. Studio puede seguir siendo el lugar donde los usuarios inspeccionan código e inician trabajo. El clúster de Ray se encarga de la ejecución tras el envío, reduciendo la dependencia de una sesión activa del navegador.

El endpoint remoto es importante aquí. Exponer directamente el panel de Ray puede generar problemas de autenticación y redes. HyperPod ofrece una ruta autenticada para el envío de trabajos y las funciones del panel, mientras mantiene el clúster bajo controles de EKS.

Una vez que comienza el entrenamiento, el Ray Dashboard muestra si el trabajo está en ejecución, ha fallado o se ha completado. También expone la actividad de los workers. Grafana añade vistas de series temporales para la utilización de CPU, GPU y memoria.

Estas vistas responden a preguntas diferentes. Los registros del trabajo ayudan a identificar una excepción o un paso de entrenamiento fallido. Las métricas de recursos revelan si las GPU están desabastecidas, la memoria está saturada o el preprocesamiento del lado de la CPU se ha convertido en la etapa limitante.

Para los equipos de plataforma, aquí es donde la integración gestionada puede ahorrar tiempo. No necesitan ensamblar por separado cada panel y ruta de acceso. Aun así, deben definir alertas, políticas de retención y respuestas operativas para su organización.

El límite del contenedor añade otra forma de repetibilidad. Las bibliotecas CUDA, las versiones de PyTorch, vLLM, SkyRL y las dependencias del modelo deben seguir siendo compatibles. Capturar esa combinación en una imagen reduce las diferencias entre el desarrollo y la ejecución en el clúster.

No elimina el mantenimiento de imágenes. Las actualizaciones de seguridad, la compatibilidad con drivers, los cambios de frameworks y los conflictos de dependencias siguen siendo responsabilidad del operador. Una imagen de demostración funcional es un punto de partida, no un entorno de producción permanente.

El almacenamiento compartido FSx for Lustre resuelve igualmente una capa del problema. Proporciona a los workers un sistema de archivos común de alto rendimiento para modelos y checkpoints. Los equipos aún deben decidir cómo se desplazan los artefactos entre S3, almacenamiento compartido, registros y entornos de serving.

Estas decisiones determinan la reproducibilidad. Una ejecución de entrenamiento necesita código rastreable, versiones de contenedor, revisiones de modelo, revisiones de datos, configuración, recompensas, checkpoints y resultados de evaluación. Los paneles muestran lo que ocurrió operativamente, pero no preservan automáticamente cada decisión experimental.

Por ello, las organizaciones de ingeniería necesitan un registro paralelo de conocimiento. Una base de conocimiento de ingeniería con capacidad de búsqueda puede conectar manuales operativos, configuraciones, notas de incidentes y hallazgos de evaluación. Ese registro se vuelve importante cuando un adaptador exitoso debe recrearse meses después.

El ejemplo de AWS hace visible la ruta de ejecución lo suficiente como para respaldar esa disciplina. No afirma que la observabilidad de infraestructura y la gobernanza de experimentos sean lo mismo. Los equipos siguen necesitando ambas.

El Control Open Source Sigue Implicando una Factura Operativa

La arquitectura reduce la fricción de configuración, pero no demuestra un entrenamiento más rápido, menor coste o mejor calidad de modelo en cargas de trabajo de producción.

AWS denomina al flujo de trabajo una vía de aceleración, pero el material disponible no publica una comparación de rendimiento controlada. No se informa de una línea base frente a Kubernetes autogestionado, otra plataforma cloud o una implementación de SkyRL en un solo nodo.

Esta distinción importa. Una ruta más corta desde el código fuente hasta un trabajo monitorizado puede acelerar el trabajo de ingeniería. No necesariamente aumenta los tokens por segundo ni reduce el cómputo necesario para un objetivo de entrenamiento.

El resultado del laberinto confirma que el pipeline puede producir un adaptador y ejecutarlo mediante inferencia. No establece mejoras amplias en razonamiento visual. Completar un laberinto es una tarea acotada con una recompensa verificable, a diferencia de muchos escenarios empresariales reales.

El diseño de recompensas presenta el primer riesgo importante. Un modelo optimiza la señal que recibe, incluidas las brechas y atajos dentro de esa señal. El éxito en una puntuación automatizada puede divergir del comportamiento que los usuarios realmente quieren.

Las tareas visuales añaden más ambigüedad. Un modelo podría explotar diseños repetidos, artefactos de imagen, regularidades de prompts o el comportamiento del evaluador. Los equipos necesitan entornos reservados y pruebas adversariales antes de tratar recompensas más altas como un progreso más amplio del razonamiento.

El segundo riesgo se refiere a la estabilidad del entrenamiento. GRPO compara múltiples respuestas dentro de un grupo de prompts, lo que hace importante la composición del grupo. Las recompensas escasas o casi idénticas pueden producir señales de aprendizaje débiles. Un escalado deficiente de las recompensas también puede desestabilizar las actualizaciones.

El tercer riesgo es la eficiencia de la infraestructura. Colocar conjuntamente procesos de vLLM y FSDP puede mejorar el uso de las GPU cuando sus demandas se complementan. También puede generar contención cuando ambos requieren memoria o cómputo al mismo tiempo.

Un ejemplo de seis GPU no revela cómo cambia ese equilibrio a mayor escala. Más workers introducen dominios adicionales de comunicación, planificación, checkpoints y fallos. Escalar una topología no equivale a duplicarla.

La recuperación ante fallos también necesita pruebas al nivel de la carga de trabajo. HyperPod proporciona funciones de salud de infraestructura, mientras Ray y Kubernetes gestionan los procesos de aplicación. El código de entrenamiento aún debe guardar suficiente estado y reanudarse sin corromper el progreso de optimización.

Un trabajo reiniciado podría recargar los pesos del modelo y, aun así, perder el estado de rollout, el estado del optimizador, las semillas aleatorias o la posición del sampler. Cada elemento ausente puede cambiar la continuación. Por tanto, las afirmaciones de recuperación deben validarse frente a la configuración específica de SkyRL.

La seguridad introduce otro conjunto de requisitos. Los paneles remotos y los endpoints de envío de trabajos necesitan controles estrictos de identidad. Las imágenes de contenedor, los artefactos de modelos, los datasets y los adaptadores de salida necesitan políticas de acceso acordes con su sensibilidad.

La composición open source aumenta la flexibilidad, pero también amplía la superficie de dependencias. SkyRL, Ray, KubeRay, vLLM, PyTorch, CUDA, los complementos de EKS y las integraciones de AWS evolucionan de forma independiente. La compatibilidad de versiones puede convertirse en una tarea recurrente de plataforma.

El paso de serving de LoRA conlleva su propia carga de validación. Un adaptador compacto reduce el almacenamiento y la sobrecarga de despliegue, pero sigue cambiando el comportamiento del modelo. Los equipos deben verificar que el adaptador correcto se carga con la revisión exacta del modelo base.

Las pruebas de inferencia también deben extenderse más allá del entorno de entrenamiento. El adaptador necesita evaluación con formatos de imagen, prompts, concurrencia y restricciones de latencia realistas. Una solicitud exitosa desde un notebook dice poco sobre el comportamiento sostenido del servicio.

Ninguna de estas limitaciones invalida el flujo de trabajo. Definen su función adecuada. Es una implementación de referencia que concentra muchas decisiones de integración en una ruta inspeccionable.

El mayor valor puede provenir de reducir el tiempo necesario para ejecutar un primer experimento serio. Los equipos pueden entonces dedicar más esfuerzo a recompensas, evaluaciones y comportamiento del modelo. Ese cambio solo funciona si la complejidad de la plataforma se mantiene controlada durante ejecuciones repetidas.

La compensación central sigue siendo clara. HyperPod añade integración gestionada mientras SkyRL preserva el acceso al stack de entrenamiento. Los clientes ganan control, pero también conservan la responsabilidad de las decisiones que ese control hace posibles.

Tres Señales Mostrarán si el Patrón se Mantiene

La siguiente prueba es la repetibilidad entre cargas de trabajo, escalas y entornos de despliegue, no si se completa una demostración de laberinto.

La primera señal son cargas de trabajo multimodales adicionales con protocolos de evaluación publicados. La navegación visual es útil porque las recompensas son fáciles de verificar. La comprensión de documentos, el control de interfaces, el razonamiento espacial y las tareas de vídeo pondrían a prueba distintos patrones de datos y rollouts.

La evidencia se fortalece cuando esos ejemplos incluyen evaluaciones reservadas. La recompensa de entrenamiento por sí sola no puede distinguir una mejora genuina del sobreajuste a la recompensa. Los resultados deberían comparar el modelo base, el adaptador entrenado y alternativas supervisadas relevantes.

Estas comparaciones reforzarían el argumento de que el entrenamiento de SkyRL SageMaker HyperPod mejora algo más que la comodidad del despliegue. Resultados débiles o inconsistentes mostrarían que la madurez de la infraestructura no puede compensar recompensas inadecuadas.

La segunda señal es evidencia de escalado más allá de la topología de referencia de seis GPU. Los equipos necesitan datos sobre utilización, rendimiento, recuperación y comportamiento de checkpoints en grupos de workers más grandes. También necesitan orientación para separar o colocar conjuntamente recursos de rollout y entrenamiento.

Un informe de escala convincente describiría el cuello de botella antes y después de la expansión. Identificaría si la generación, la optimización de políticas, las redes, el almacenamiento o el procesamiento de recompensas limitan la ejecución.

El resultado podría reforzar el argumento de AWS a favor de los clústeres gestionados. Un escalado y una recuperación predecibles demostrarían que el plano de control integrado absorbe complejidad operativa. El ajuste manual en cada tamaño debilitaría ese mensaje.

La tercera señal es una ruta repetible de promoción de adaptadores. El entrenamiento no puede permanecer aislado de la evaluación del modelo, los controles de registro, el serving por etapas, el rollback y la monitorización de producción. El artefacto LoRA debe atravesar esas puertas con una procedencia rastreable.

Las funciones de inferencia de HyperPod proporcionan un destino lógico, especialmente para equipos que ya operan servicios de modelos basados en EKS. Otros sistemas de serving deberían seguir siendo viables porque el adaptador y el modelo base proceden de componentes abiertos.

La portabilidad será una medida decisiva de la apertura de la arquitectura. Los usuarios deberían poder reproducir el comportamiento del modelo fuera del clúster de entrenamiento. Las suposiciones ocultas sobre rutas, versiones o componentes de runtime específicos de AWS limitarían ese valor.

Para los desarrolladores, la pregunta inmediata es práctica. ¿Puede esta referencia reducir el tiempo entre una idea de función de recompensa y una ejecución de entrenamiento monitorizada y reproducible? La respuesta depende de las habilidades existentes en Kubernetes, la infraestructura de AWS y la madurez de la evaluación.

Los compradores empresariales deberían plantear una pregunta diferente. ¿La capa gestionada reduce el riesgo operativo sin ocultar el comportamiento del modelo ni bloquear los artefactos en una única ruta de serving? El uso documentado de interfaces estándar de Ray y KubeRay respalda ese caso, pero sigue siendo necesaria evidencia de producción.

Los trabajadores del conocimiento y los usuarios generales de IA no interactuarán directamente con HyperPod. Sentirán sus efectos cuando los equipos adapten modelos visuales a flujos de trabajo especializados. Esas aplicaciones podrían incluir inspección de documentos, imágenes industriales, navegación de interfaces y toma de decisiones visual estructurada.

Por tanto, el entrenamiento de SkyRL SageMaker HyperPod importa como una señal de infraestructura, no simplemente como un tutorial de laberintos. El aprendizaje por refuerzo multimodal abierto se está volviendo más fácil de operar dentro de entornos cloud gestionados. El trabajo difícil ahora se desplaza hacia la calidad de las recompensas, la integridad de la evaluación y el despliegue repetible.

Los equipos que consideren este stack deberían comenzar con una tarea acotada y una recompensa que puedan auditar. Deberían registrar un benchmark del modelo base antes del entrenamiento y preservar toda configuración necesaria para la reproducción. También deberían probar el serving del adaptador fuera de la sesión de entrenamiento exitosa.

La evidencia decisiva vendrá de ejecuciones repetidas, no de una sola pantalla de finalización. Si su equipo puede reproducir ganancias, recuperar fallos y promover el adaptador de forma segura, la arquitectura se habrá ganado una carga de trabajo mayor.

 
 

Empieza gratis

Un asistente de IA local-first con gestión del conocimiento personal

Para ofrecer una mejor experiencia con la IA,

actualmente remio solo es compatible con Windows 10+ (x64) y M-Chip Macs.

Tu aliado de IA para el trabajo
Haz más con remio

Planifica. Crea. Entrega.
Todo en un solo lugar.

bottom of page