Ray es un framework de código abierto para escalar aplicaciones de IA y Python. Ray proporciona la infraestructura para realizar computación distribuida y procesamiento en paralelo en tu flujo de trabajo de aprendizaje automático.
Si ya usas Ray, puedes usar el mismo código de código abierto de Ray para escribir programas y desarrollar aplicaciones en Vertex AI con cambios mínimos. Después, puedes usar las integraciones de Vertex AI con otros Google Cloud servicios, como Vertex AI Inference y BigQuery, como parte de tu flujo de trabajo de aprendizaje automático.
Si ya usas Vertex AI y necesitas una forma más sencilla de gestionar los recursos de computación, puedes usar código de Ray para escalar el entrenamiento.
Flujo de trabajo para usar Ray en Vertex AI
Usa Colab Enterprise y el SDK de Vertex AI para Python para conectarte al clúster de Ray.
Pasos | Descripción |
---|---|
1. Configuración de Ray en Vertex AI | Configura tu proyecto de Google, instala la versión del SDK de Vertex AI para Python que incluye la funcionalidad de Ray Client y configura una red de emparejamiento de VPC (opcional). |
2. Crear un clúster de Ray en Vertex AI | Crea un clúster de Ray en Vertex AI. Se necesita el rol de administrador de Vertex AI. |
3. Desarrollar una aplicación de Ray en Vertex AI | Conéctate a un clúster de Ray en Vertex AI y desarrolla una aplicación. Se necesita el rol de usuario de Vertex AI. |
4. (Opcional) Usar Ray en Vertex AI con BigQuery | Leer, escribir y transformar datos con BigQuery. |
5. (Opcional) Despliega un modelo en Vertex AI y obtén inferencias | Despliega un modelo en un endpoint online de Vertex AI y obtén inferencias. |
6. Monitorizar un clúster de Ray en Vertex AI | Monitoriza los registros generados en Cloud Logging y las métricas en Cloud Monitoring. |
7. Eliminar un clúster de Ray en Vertex AI | Elimina un clúster de Ray en Vertex AI para evitar facturas innecesarias. |
Información general
Los clústeres de Ray están integrados para asegurar la disponibilidad de capacidad para cargas de trabajo de aprendizaje automático críticas o durante las temporadas altas. A diferencia de las tareas personalizadas, en las que el servicio de entrenamiento libera el recurso una vez completada la tarea, los clústeres de Ray permanecen disponibles hasta que se eliminan.
Nota: Utiliza clústeres de Ray de larga duración en estos casos:
- Si envías el mismo trabajo de Ray varias veces, puedes aprovechar el almacenamiento en caché de datos e imágenes ejecutando los trabajos en el mismo clúster de Ray de larga duración.
- Si ejecutas muchos trabajos de Ray de corta duración en los que el tiempo de procesamiento real es inferior al tiempo de inicio del trabajo, puede ser útil tener un clúster de larga duración.
Los clústeres de Ray en Vertex AI se pueden configurar con conectividad pública o privada. En los siguientes diagramas se muestran la arquitectura y el flujo de trabajo de Ray en Vertex AI. Consulta Conectividad pública o privada para obtener más información.
Arquitectura con conectividad pública
Crea el clúster de Ray en Vertex AI con las siguientes opciones:
a. Usa la Google Cloud consola para crear el clúster de Ray en Vertex AI.
b. Crea el clúster de Ray en Vertex AI con el SDK de Vertex AI para Python.
Conéctate al clúster de Ray en Vertex AI para desarrollar de forma interactiva con las siguientes opciones:
a. Usa Colab Enterprise en la Google Cloud consola para disfrutar de una conexión fluida.
b. Usa cualquier entorno de Python al que se pueda acceder a través de la red pública de Internet.
Desarrolla tu aplicación y entrena tu modelo en el clúster de Ray en Vertex AI:
Usa el SDK de Vertex AI para Python en el entorno que prefieras (Colab Enterprise o cualquier cuaderno de Python).
Escribe una secuencia de comandos de Python en el entorno que prefieras.
Envía una tarea de Ray al clúster de Ray en Vertex AI mediante el SDK de Vertex AI para Python, la CLI de tareas de Ray o la API de envío de tareas de Ray.
Despliega el modelo entrenado en un endpoint online de Vertex AI para obtener inferencias en tiempo real.
Usa BigQuery para gestionar tus datos.
Arquitectura con VPC
En el siguiente diagrama se muestra la arquitectura y el flujo de trabajo de Ray en Vertex AI después de configurar tu proyecto y tu red VPC (opcional): Google Cloud
Configura (a) tu proyecto de Google y (b) tu red de VPC.
Crea el clúster de Ray en Vertex AI con las siguientes opciones:
a. Usa la Google Cloud consola para crear el clúster de Ray en Vertex AI.
b. Crea el clúster de Ray en Vertex AI con el SDK de Vertex AI para Python.
Conéctate al clúster de Ray en Vertex AI a través de una red de VPC emparejada mediante las siguientes opciones:
Usa Colab Enterprise en la Google Cloud consola.
Usa un cuaderno de Vertex AI Workbench.
Desarrolla tu aplicación y entrena tu modelo en el clúster de Ray en Vertex AI con las siguientes opciones:
Usa el SDK de Vertex AI para Python en el entorno que prefieras (Colab Enterprise o un cuaderno de Vertex AI Workbench).
Escribe una secuencia de comandos de Python en el entorno que prefieras. Envía una tarea de Ray al clúster de Ray en Vertex AI mediante el SDK de Vertex AI para Python, la CLI de tareas de Ray o el panel de control de Ray.
Despliega el modelo entrenado en un punto final online de Vertex AI para obtener inferencias.
Usa BigQuery para gestionar tus datos.
Terminología
Para ver una lista completa de los términos, consulta el glosario de Vertex AI sobre IA predictiva.
-
escalado automático
- El autoescalado es la capacidad de un recurso de computación, como el grupo de trabajadores de un clúster de Ray, para ajustar automáticamente el número de nodos en función de las demandas de la carga de trabajo, lo que optimiza el uso de los recursos y los costes. Para obtener más información, consulta Escalar clústeres de Ray en Vertex AI: autoescalado.
-
inferencia por lotes
- La inferencia por lotes toma un grupo de solicitudes de inferencia y genera los resultados en un archivo. Para obtener más información, consulta el resumen de cómo obtener inferencias en Vertex AI.
-
BigQuery
- BigQuery es un almacén de datos empresarial totalmente gestionado, sin servidor y de gran escalabilidad que ofrece Google Cloud. Se ha diseñado para analizar conjuntos de datos masivos mediante consultas SQL a velocidades increíblemente altas. BigQuery ofrece potentes funciones de analíticas e inteligencia empresarial sin que los usuarios tengan que gestionar ninguna infraestructura. Para obtener más información, consulta De un almacén de datos a una plataforma autónoma de datos e IA.
-
Cloud Logging
- Cloud Logging es un servicio de registro en tiempo real totalmente gestionado que ofrece Google Cloud y que te permite recoger, almacenar, analizar y monitorizar registros de todos tus recursos de Google Cloud, aplicaciones locales e incluso fuentes personalizadas. Cloud Logging centraliza la gestión de registros, lo que facilita la resolución de problemas, la auditoría y la comprensión del comportamiento y el estado de tus aplicaciones e infraestructura. Para obtener más información, consulta la descripción general de Cloud Logging.
-
Colab Enterprise
- Colab Enterprise es un entorno de cuaderno de Jupyter gestionado y colaborativo que lleva la popular experiencia de usuario de Google Colab a Google Cloud, ofreciendo funciones de seguridad y cumplimiento de nivel empresarial. Colab Enterprise ofrece una experiencia centrada en los cuadernos y sin necesidad de configuración, con recursos de computación gestionados por Vertex AI, y se integra con otros servicios de Google Cloud, como BigQuery. Para obtener más información, consulta el artículo Introducción a Colab Enterprise.
-
imagen de contenedor personalizado
- Una imagen de contenedor personalizada es un paquete ejecutable independiente que incluye el código de la aplicación del usuario, su tiempo de ejecución, bibliotecas, dependencias y configuración del entorno. En el contexto de Google Cloud, especialmente en Vertex AI, permite al usuario empaquetar su código de entrenamiento de aprendizaje automático o su aplicación de servicio con sus dependencias exactas, lo que garantiza la reproducibilidad y le permite ejecutar una carga de trabajo en servicios gestionados con versiones de software específicas o configuraciones únicas que no proporcionan los entornos estándar. Para obtener más información, consulta los requisitos de los contenedores personalizados para la inferencia.
-
endpoint
- Recursos en los que puedes desplegar modelos entrenados para ofrecer inferencias. Para obtener más información, consulta Elegir un tipo de endpoint.
-
Permisos de gestión de identidades y accesos (IAM)
- Los permisos de Gestión de Identidades y Accesos (IAM) son funciones granulares específicas que definen quién puede hacer qué en los recursos de Google Cloud. Se asignan a entidades principales (como usuarios, grupos o cuentas de servicio) a través de roles, lo que permite controlar con precisión el acceso a los servicios y los datos de un proyecto u organización de Google Cloud. Para obtener más información, consulta Control de acceso con IAM.
-
inferencia
- En el contexto de la plataforma Vertex AI, la inferencia se refiere al proceso de ejecutar puntos de datos a través de un modelo de aprendizaje automático para calcular un resultado, como una única puntuación numérica. Este proceso también se conoce como "operacionalización de un modelo de aprendizaje automático" o "puesta en producción de un modelo de aprendizaje automático". La inferencia es un paso importante en el flujo de trabajo del aprendizaje automático, ya que permite que los modelos se usen para hacer inferencias sobre datos nuevos. En Vertex AI, la inferencia se puede realizar de varias formas, como la inferencia por lotes y la inferencia online. La inferencia por lotes consiste en ejecutar un grupo de solicitudes de inferencia y generar los resultados en un archivo, mientras que la inferencia online permite realizar inferencias en tiempo real sobre puntos de datos individuales.
-
Sistema de archivos de red (NFS)
- Sistema cliente/servidor que permite a los usuarios acceder a archivos a través de una red y tratarlos como si estuvieran en un directorio de archivos local. Para obtener más información, consulta Montar un recurso compartido NFS para el entrenamiento personalizado.
-
Inferencia online
- Obtener inferencias de instancias concretas de forma síncrona. Para obtener más información, consulta Inferencia online.
-
recurso persistente
- Un tipo de recurso de computación de Vertex AI, como un clúster de Ray, que permanece asignado y disponible hasta que se elimina explícitamente. Esto es útil para el desarrollo iterativo y reduce la sobrecarga de inicio entre trabajos. Para obtener más información, consulta Obtener información de recursos persistentes.
-
pipeline
- Los flujos de procesamiento de aprendizaje automático son flujos de trabajo de aprendizaje automático portátiles y escalables basados en contenedores. Para obtener más información, consulta la introducción a Vertex AI Pipelines.
-
Contenedor precompilado
- Imágenes de contenedor proporcionadas por Vertex AI que vienen preinstaladas con los frameworks y las dependencias de aprendizaje automático más habituales, lo que simplifica la configuración de las tareas de entrenamiento e inferencia. Para obtener más información, consulta Contenedores prediseñados para el entrenamiento personalizado .
-
Private Service Connect (PSC)
- Private Service Connect es una tecnología que permite a los clientes de Compute Engine asignar IPs privadas de su red a otra red de VPC o a APIs de Google. Para obtener más información, consulta Private Service Connect.
-
Clúster de Ray en Vertex AI
- Un clúster de Ray en Vertex AI es un clúster gestionado de nodos de computación que se puede usar para ejecutar aplicaciones de aprendizaje automático (ML) y Python distribuidas. Proporciona la infraestructura para realizar computación distribuida y procesamiento paralelo en tu flujo de trabajo de aprendizaje automático. Los clústeres de Ray están integrados en Vertex AI para asegurar la disponibilidad de capacidad en cargas de trabajo de aprendizaje automático críticas o durante las temporadas altas. A diferencia de las tareas personalizadas, en las que el servicio de entrenamiento libera el recurso una vez que se completa la tarea, los clústeres de Ray permanecen disponibles hasta que se eliminan. Para obtener más información, consulta la descripción general de Ray en Vertex AI.
-
Ray en Vertex AI (RoV)
- Ray en Vertex AI se ha diseñado para que puedas usar el mismo código de Ray de código abierto para escribir programas y desarrollar aplicaciones en Vertex AI con cambios mínimos. Para obtener más información, consulta la descripción general de Ray en Vertex AI.
-
SDK de Ray en Vertex AI para Python
- El SDK de Ray en Vertex AI para Python es una versión del SDK de Vertex AI para Python que incluye la funcionalidad de Ray Client, el conector Ray BigQuery, la gestión de clústeres de Ray en Vertex AI y las inferencias en Vertex AI. Para obtener más información, consulta la introducción al SDK de Vertex AI para Python.
-
SDK de Ray en Vertex AI para Python
- El SDK de Ray en Vertex AI para Python es una versión del SDK de Vertex AI para Python que incluye la funcionalidad de Ray Client, el conector Ray BigQuery, la gestión de clústeres de Ray en Vertex AI y las inferencias en Vertex AI. Para obtener más información, consulta la introducción al SDK de Vertex AI para Python.
-
cuenta de servicio
- Las cuentas de servicio son cuentas especiales de Google Cloud que usan las aplicaciones o las máquinas virtuales para hacer llamadas a las APIs autorizadas de los servicios de Google Cloud. A diferencia de las cuentas de usuario, no están vinculadas a una persona, sino que actúan como una identidad para tu código, lo que permite acceder a los recursos de forma segura y programática sin necesidad de credenciales de usuario. Para obtener más información, consulta el artículo Resumen de las cuentas de servicio.
-
Vertex AI Workbench
- Vertex AI Workbench es un entorno de desarrollo unificado basado en cuadernos de Jupyter que admite todo el flujo de trabajo de la ciencia de datos, desde la exploración y el análisis de datos hasta el desarrollo, el entrenamiento y el despliegue de modelos. Vertex AI Workbench proporciona una infraestructura gestionada y escalable con integraciones integradas a otros servicios de Google Cloud, como BigQuery y Cloud Storage, lo que permite a los científicos de datos llevar a cabo sus tareas de aprendizaje automático de forma eficiente sin tener que gestionar la infraestructura subyacente. Para obtener más información, consulta la introducción a Vertex AI Workbench.
-
nodo de trabajador
- Un nodo de trabajo es una máquina o una instancia computacional individual de un clúster que se encarga de ejecutar tareas o de realizar trabajo. En sistemas como los clústeres de Kubernetes o Ray, los nodos son las unidades fundamentales de computación.
-
grupo de trabajadores
- Componentes de un clúster de Ray que ejecutan tareas distribuidas. Los grupos de trabajadores se pueden configurar con tipos de máquinas específicos y admiten tanto el autoescalado como el escalado manual. Para obtener más información, consulta Estructura del clúster de entrenamiento.
Precios
Los precios de Ray en Vertex AI se calculan de la siguiente manera:
Los recursos de computación que utilices se cobrarán en función de la configuración de la máquina que selecciones al crear tu clúster de Ray en Vertex AI. Para obtener información sobre los precios de Ray en Vertex AI, consulta la página de precios.
En cuanto a los clústeres de Ray, solo se te cobrará cuando estén en los estados RUNNING y UPDATING. No se cobra en ningún otro estado. El importe cobrado se basa en el tamaño real del clúster en ese momento.
Cuando realizas tareas con el clúster de Ray en Vertex AI, los registros se generan automáticamente y se cobran según los precios de Cloud Logging.
Si despliega su modelo en un endpoint para obtener inferencias online, consulte la sección Predicción y explicación de la página de precios de Vertex AI.
Si usas BigQuery con Ray en Vertex AI, consulta los precios de BigQuery.