Crea una tubería de MLOps de principio a fin utilizando Amazon SageMaker Pipelines, GitHub y GitHub Actions

Crea una tubería completa de MLOps utilizando Amazon SageMaker Pipelines, GitHub y GitHub Actions

Los modelos de aprendizaje automático (ML) no operan de manera aislada. Para brindar valor, deben integrarse en los sistemas y la infraestructura de producción existentes, lo que implica considerar todo el ciclo de vida de ML durante el diseño y desarrollo. Las operaciones de ML, conocidas como MLOps, se centran en agilizar, automatizar y supervisar los modelos de ML a lo largo de su ciclo de vida. Construir una tubería de MLOps sólida requiere de colaboración interfuncional. Los científicos de datos, los ingenieros de ML, el personal de TI y los equipos de DevOps deben trabajar juntos para operacionalizar los modelos desde la investigación hasta la implementación y el mantenimiento. Con los procesos y herramientas adecuados, MLOps permite a las organizaciones adoptar de manera confiable y eficiente el ML en sus equipos.

Aunque los requisitos de las tuberías de integración y entrega continua (CI/CD) pueden ser únicos y reflejar las necesidades de cada organización, escalar las prácticas de MLOps en los equipos se puede simplificar mediante el uso de orquestaciones y herramientas administradas que pueden acelerar el proceso de desarrollo y eliminar la carga pesada no diferenciada.

Amazon SageMaker MLOps es una suite de funciones que incluye Amazon SageMaker Projects (CI/CD), Amazon SageMaker Pipelines y Amazon SageMaker Model Registry.

SageMaker Pipelines permite la creación y gestión sencillas de flujos de trabajo de ML, al tiempo que ofrece capacidades de almacenamiento y reutilización para los pasos del flujo de trabajo. El Registro de modelos de SageMaker centraliza el seguimiento de modelos, simplificando la implementación de modelos. Proyectos de SageMaker introduce prácticas de CI/CD en ML, que incluyen paridad de entornos, control de versiones, pruebas y automatización. Esto permite establecer rápidamente CI/CD en su entorno de ML, facilitando la escalabilidad efectiva en toda su empresa.

Las plantillas de proyectos integradas proporcionadas por Amazon SageMaker incluyen la integración con algunas herramientas de terceros, como Jenkins para la orquestación y GitHub para el control de código fuente, y varias utilizan herramientas nativas de CI/CD de AWS, como AWS CodeCommit, AWS CodePipeline y AWS CodeBuild. Sin embargo, en muchos escenarios, los clientes desean integrar las tuberías de SageMaker con otras herramientas de CI/CD existentes y, en consecuencia, crear sus propias plantillas de proyectos personalizadas.

En esta publicación, le mostramos un paso a paso de la implementación para lograr lo siguiente:

  • Crear una plantilla de proyecto SageMaker MLOps personalizada que se integre con GitHub y GitHub Actions
  • Poner sus plantillas de proyectos personalizadas a disposición del equipo de ciencia de datos en Amazon SageMaker Studio con aprovisionamiento con un solo clic

Descripción general de la solución

En esta publicación, construimos la siguiente arquitectura. Creamos una tubería automatizada de construcción de modelos que incluye pasos de preparación de datos, entrenamiento de modelos, evaluación de modelos y registro del modelo entrenado en el Registro de modelos de SageMaker. El modelo de ML entrenado resultante luego se implementa desde el Registro de modelos de SageMaker a los entornos de puesta en escena y producción tras la aprobación manual.

Descripción general de la solución

Sumérgete en los elementos de esta arquitectura para comprender la configuración completa.

GitHub y GitHub Actions

GitHub es una plataforma basada en web que proporciona control de versiones y gestión de código fuente utilizando Git. Permite a los equipos colaborar en proyectos de desarrollo de software, realizar un seguimiento de los cambios y gestionar repositorios de código. GitHub sirve como una ubicación centralizada para almacenar, versionar y gestionar tu base de código de ML. Esto garantiza que tu base de código de ML y tus canalizaciones estén versionados, documentados y accesibles para los miembros del equipo.

GitHub Actions es una poderosa herramienta de automatización dentro del ecosistema de GitHub. Te permite crear flujos de trabajo personalizados que automatizan los procesos de ciclo de vida de desarrollo de software, como la construcción, prueba y implementación de código. Puedes crear flujos de trabajo basados en eventos que se activan por eventos específicos, como cuando se envía código a un repositorio o se crea una solicitud de extracción. Al implementar MLOps, puedes utilizar GitHub Actions para automatizar varias etapas de la canalización de ML, como:

  • Validación y preprocesamiento de datos
  • Entrenamiento y evaluación de modelos
  • Despliegue y monitoreo de modelos
  • CI/CD para modelos de ML

Con GitHub Actions, puedes optimizar tus flujos de trabajo de ML y asegurarte de que tus modelos se construyan, prueben y desplieguen de manera consistente, lo que conduce a implementaciones de ML más eficientes y confiables.

En las siguientes secciones, comenzamos configurando los requisitos previos relacionados con algunos de los componentes que utilizamos como parte de esta arquitectura:

  • AWS CloudFormationAWS CloudFormation inicia el despliegue del modelo y establece los puntos finales de SageMaker después de que se active la canalización de implementación del modelo mediante la aprobación del modelo entrenado.
  • AWS CodeStar connection – Utilizamos AWS CodeStar para establecer una conexión con el repositorio de GitHub y utilizarlo como integración de repositorio de código con los recursos de AWS, como SageMaker Studio.
  • Amazon EventBridgeAmazon EventBridge realiza un seguimiento de todas las modificaciones en el registro de modelos. También mantiene una regla que activa la función de Lambda para implementar la canalización del modelo cuando el estado de la versión del paquete del modelo cambia de PendingManualApproval a Approved dentro del registro de modelos.
  • AWS Lambda – Utilizamos una función de AWS Lambda para iniciar el flujo de trabajo de implementación del modelo en GitHub Actions después de que se registre un nuevo modelo en el registro de modelos.
  • Amazon SageMaker – Configuramos los siguientes componentes de SageMaker:
    • Canalización – Este componente consta de un grafo acíclico dirigido (DAG) que nos ayuda a construir el flujo de trabajo de ML automatizado para las etapas de preparación de datos, entrenamiento de modelos y evaluación de modelos. El registro de modelos mantiene registros de versiones de modelos, sus artefactos asociados, linaje y metadatos. Se establece un grupo de paquetes de modelos que alberga todas las versiones relacionadas del modelo. El registro de modelos también se encarga de gestionar el estado de aprobación de la versión del modelo para su implementación posterior.
    • Punto final – Este componente establece dos puntos finales en tiempo real de HTTPS para inferencia. La configuración de hospedaje se puede ajustar, por ejemplo, para transformación por lotes o inferencia asíncrona. El punto final de puesta en escena se genera cuando se activa la canalización de implementación del modelo mediante la aprobación del modelo entrenado desde el Registro de modelos de SageMaker. Este punto final se utiliza para validar el modelo implementado asegurándose de que proporcione predicciones que cumplan con nuestros estándares de precisión. Cuando el modelo está preparado para la implementación en producción, se implementa un punto final de producción mediante una etapa de aprobación manual en el flujo de trabajo de GitHub Actions.
    • Repositorio de código – Esto crea un repositorio Git como un recurso en tu cuenta de SageMaker. Utilizando los datos existentes del repositorio de código de GitHub que ingresaste durante la creación de tu proyecto de SageMaker, se establece una asociación con el mismo repositorio en SageMaker cuando inicias el proyecto. Esto forma básicamente un vínculo con un repositorio de GitHub en SageMaker, lo que permite acciones interactivas (pull/push) con tu repositorio.
    • Registro de modelos – Esto realiza un seguimiento de las diferentes versiones del modelo y los artefactos correspondientes, que incluyen linaje y metadatos. Se crea una colección conocida como grupo de paquetes de modelos, que alberga las versiones relacionadas del modelo. Además, el registro de modelos supervisa el estado de aprobación de la versión del modelo, asegurando su preparación para su implementación posterior.
  • AWS Secrets Manager – Para preservar de manera segura tu token de acceso personal de GitHub, es necesario establecer un secreto en AWS Secrets Manager y almacenar tu token de acceso dentro de él.
  • AWS Service Catalog – Utilizamos el AWS Service Catalog para la implementación de proyectos de SageMaker, que incluye componentes como un repositorio de código de SageMaker, función de Lambda, regla de EventBridge, bucket de S3 para artefactos, etc., todos implementados a través de CloudFormation. Esto permite que tu organización utilice plantillas de proyecto repetidamente, asigne proyectos a cada usuario y agilice las operaciones.
  • Amazon S3 – Utilizamos un bucket de Amazon Simple Storage Service (Amazon S3) para almacenar los artefactos del modelo producidos por la canalización.

Requisitos previos

Debes tener los siguientes requisitos previos:

También debes completar pasos adicionales de configuración antes de implementar la solución.

Configura una conexión de AWS CodeStar

Si aún no tienes una conexión de AWS CodeStar a tu cuenta de GitHub, consulta Crear una conexión a GitHub para obtener instrucciones sobre cómo crear una. El ARN de tu conexión de AWS CodeStar se verá así:

arn:aws:codestar-connections:us-west-2:id_de_cuenta:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f

En este ejemplo, aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f es el ID único para esta conexión. Utilizaremos este ID cuando creemos nuestro proyecto de SageMaker más adelante en este ejemplo.

Configura claves de acceso secreto para tu token de GitHub

Para almacenar de manera segura tu token de acceso personal de GitHub, debes crear un secreto en Secrets Manager. Si no tienes un token de acceso personal para GitHub, consulta Gestión de tus tokens de acceso personal para obtener instrucciones sobre cómo crear uno.

Puedes crear un token de acceso tanto clásico como detallado. Sin embargo, asegúrate de que el token tenga acceso al contenido y las acciones del repositorio (flujos de trabajo, ejecuciones y artefactos).

Completa los siguientes pasos para almacenar tu token en Secrets Manager:

  1. En la consola de Secrets Manager, elige Almacenar un nuevo secreto.
  2. Selecciona Otro tipo de secreto para Elegir tipo de secreto.
  3. Proporciona un nombre para tu secreto en el campo Clave y agrega tu token de acceso personal en el campo Valor correspondiente.
  4. Elije Siguiente, ingresa un nombre para tu secreto y elige Siguiente nuevamente.
  5. Elije Guardar para guardar tu secreto.

Al almacenar tu token de acceso personal de GitHub en Secrets Manager, puedes acceder de manera segura a él dentro de tu pipeline de MLOps y asegurar su confidencialidad.

Crea un usuario de IAM para GitHub Actions

Para permitir que GitHub Actions implemente puntos finales de SageMaker en tu entorno de AWS, debes crear un usuario de Identity and Access Management (IAM) de AWS y otorgarle los permisos necesarios. Para obtener instrucciones, consulta Crear un usuario de IAM en tu cuenta de AWS. Utiliza el archivo iam/GithubActionsMLOpsExecutionPolicy.json (proporcionado en el ejemplo de código) para proporcionar los permisos suficientes para que este usuario implemente tus puntos finales.

Después de crear el usuario de IAM, genera una clave de acceso. Utilizarás esta clave, que consta de una identificación de clave de acceso y una clave de acceso secreta, en el siguiente paso al configurar tus secretos de GitHub.

Configura tu cuenta de GitHub

A continuación se detallan los pasos para preparar tu cuenta de GitHub para ejecutar este ejemplo.

Clona el repositorio de GitHub

Puedes reutilizar un repositorio existente de GitHub para este ejemplo. Sin embargo, es más fácil si creas un nuevo repositorio. Este repositorio contendrá todo el código fuente tanto para las construcciones como para las implementaciones de la tubería de SageMaker.

Copia el contenido del directorio del código inicial en la raíz de tu repositorio de GitHub. Por ejemplo, el directorio .github debe estar en la raíz de tu repositorio de GitHub.

Crea un secreto de GitHub que contenga tu clave de acceso de usuario IAM

En este paso, almacenamos los detalles de la clave de acceso del usuario recién creado en nuestro secreto de GitHub.

  1. En el sitio web de GitHub, ve a tu repositorio y elige Configuración.
  2. En la sección de seguridad, selecciona Secretos y variables y elige Acciones.
  3. Elige Nuevo secreto de repositorio.
  4. Para Nombre, ingresa AWS_ACCESS_KEY_ID
  5. Para Secreto, ingresa la ID de clave de acceso asociada al usuario IAM que creaste anteriormente.
  6. Elige Agregar secreto.
  7. Repite el mismo procedimiento para AWS_SECRET_ACCESS_KEY

Configura tus entornos de GitHub

Para crear un paso de aprobación manual en nuestras tuberías de implementación, utilizamos un entorno de GitHub. Completa los siguientes pasos:

  1. Ve al menú Configuración, Entornos de tu repositorio de GitHub y crea un nuevo entorno llamado producción.
  2. Para Reglas de protección del entorno, selecciona Revisores requeridos.
  3. Agrega los nombres de usuario de GitHub deseados como revisores. Para este ejemplo, puedes elegir tu propio nombre de usuario.

Ten en cuenta que la función de entorno no está disponible en algunos tipos de planes de GitHub. Para obtener más información, consulta Uso de entornos para implementación.

Implementa la función de Lambda

En los siguientes pasos, comprimimos lambda_function.py en un archivo .zip, que luego se carga en un bucket de S3.

El ejemplo de código relevante para esto se encuentra en el siguiente repositorio de GitHub. Específicamente, el archivo lambda_function.py se encuentra en el directorio lambda_functions/lambda_github_workflow_trigger.

Se recomienda crear un fork del ejemplo de código y clonarlo en su lugar. Esto te dará la libertad de modificar el código y experimentar con diferentes aspectos del ejemplo.

  1. Después de obtener una copia del código, ve al directorio correspondiente y utiliza el comando zip para comprimir lambda_function.py. Tanto los usuarios de Windows como de macOS pueden utilizar su sistema de administración de archivos nativo, File Explorer o Finder, respectivamente, para generar un archivo .zip.
cd lambda_functions/lambda_github_workflow_triggerzip lambda-github-workflow-trigger.zip lambda_function.py
  1. Sube el archivo lambda-github-workflow-trigger.zip a un bucket de S3.

Más adelante, este bucket será accedido por Service Catalog. Puedes elegir cualquier bucket al que tengas acceso, siempre y cuando Service Catalog pueda recuperar datos de él en los pasos siguientes.

A partir de este paso en adelante, se requiere tener instalada y configurada la AWS CLI v2. Una alternativa sería utilizar AWS CloudShell, que ya viene con todas las herramientas necesarias preinstaladas, eliminando la necesidad de configuraciones adicionales.

  1. Para cargar el archivo en el bucket de S3, usa el siguiente comando:
aws s3 cp lambda-github-workflow-trigger.zip s3://tu-bucket/

Ahora construimos una capa de Lambda para las dependencias relacionadas con la lambda_function que acabamos de cargar.

  1. Configura un entorno virtual de Python y obtén las dependencias instaladas:
mkdir lambda_layercd lambda_layerpython3 -m venv .envsource .env/bin/activatepip install pygithubdeactivate
  1. Genera el archivo .zip con los siguientes comandos:
mv .env/lib/python3.9/site-packages/ pythonzip -r layer.zip python
  1. Publica la capa en AWS:
aws lambda publish-layer-version --layer-name python39-github-arm64 \   --description "Python3.9 pygithub" \   --license-info "MIT" \   --zip-file fileb://layer.zip \   --compatible-runtimes python3.9 \   --compatible-architectures "arm64"

Con esta capa publicada, todas tus funciones de Lambda ahora pueden hacer referencia a ella para satisfacer sus dependencias. Para obtener una comprensión más detallada de las capas de Lambda, consulta Trabajando con capas de Lambda.

Crear una plantilla de proyecto personalizada en SageMaker

Después de completar todos los pasos anteriores, tenemos todos los recursos y componentes de la tubería de CI/CD. A continuación, mostramos cómo podemos hacer que estos recursos estén disponibles como un proyecto personalizado en SageMaker Studio, accesible mediante implementación de un solo clic.

Como se mencionó anteriormente, cuando las plantillas proporcionadas por SageMaker no satisfacen tus necesidades (por ejemplo, si deseas tener más orquestación compleja en CodePipeline con múltiples etapas, pasos de aprobación personalizados o integrar con una herramienta de terceros como GitHub y GitHub Actions, como se muestra en esta publicación), puedes crear tus propias plantillas. Recomendamos empezar con las plantillas proporcionadas por SageMaker para comprender cómo organizar tu código y recursos y construir sobre ellos. Para obtener más detalles, consulta Crear plantillas de proyectos personalizadas.

Ten en cuenta que también puedes automatizar este paso y en su lugar utilizar CloudFormation para implementar el catálogo de servicios y el producto de Service Catalog mediante código. Sin embargo, en esta publicación, para una experiencia de aprendizaje más amplia, te mostramos la implementación en la consola.

En esta etapa, utilizamos la plantilla de CloudFormation proporcionada para crear un catálogo de servicios que nos ayuda a crear proyectos personalizados en SageMaker.

Puedes crear un nuevo dominio o reutilizar tu dominio de SageMaker para los siguientes pasos. Si no tienes un dominio, consulta Onboard en Amazon SageMaker Domain utilizando la configuración rápida para obtener las instrucciones de configuración.

Después de habilitar el acceso de administrador a las plantillas de SageMaker, completa los siguientes pasos:

  1. En la consola de Service Catalog, en el panel de navegación, bajo Administración, elige Portfolios.
  2. Elige Crear un nuevo portfolio.
  3. Nombra el portfolio como “Plantillas de organización de SageMaker”.
  4. Descarga el archivo template.yml en tu computadora.

Esta plantilla de CloudFormation provisiona todos los recursos de CI/CD que necesitamos como configuración e infraestructura en forma de código. Puedes estudiar la plantilla en más detalle para ver qué recursos se implementan como parte de ella. Esta plantilla se ha personalizado para integrarse con GitHub y GitHub Actions.

  1. En el archivo template.yml, cambia el valor de S3Bucket por tu bucket donde has subido el archivo .zip de Lambda:
GitHubWorkflowTriggerLambda:  ...  Code:    S3Bucket: <your-bucket>    S3Key: lambda-github-workflow-trigger.zip  ...
  1. Elige el nuevo portfolio.
  2. Elige Cargar un nuevo producto.
  3. Para Nombre del producto, ingresa un nombre para tu plantilla. Usaremos el nombre build-deploy-github.
  4. Para Descripción, ingresa una descripción.
  5. Para Propietario, ingresa tu nombre.
  6. Bajo Detalles de versión, para Método, elige Usar un archivo de plantilla.
  7. Elige Cargar una plantilla.
  8. Carga la plantilla que descargaste.
  9. Para Título de la versión, elige 1.0.
  10. Elige Revisar.
  11. Revisa tus configuraciones y elige Crear producto.
  12. Elige Actualizar para listar el nuevo producto.
  13. Elige el producto que acabas de crear.
  14. En la pestaña Etiquetas, agrega la siguiente etiqueta al producto:
    • Llave = sagemaker:studio-visibility
    • Valor = true

De vuelta en los detalles del portafolio, deberías ver algo similar a la siguiente captura de pantalla (con IDs diferentes).

Portafolio de Catálogo de Servicios
  1. En la pestaña Restricciones, elige Crear restricción.
  2. Para Producto, elige build-deploy-github (el producto que acabas de crear).
  3. Para el tipo de Restricción, elige Lanzar.
  4. Dentro de la Restricción de lanzamiento, para Método, elige Seleccionar rol de IAM.
  5. Elige AmazonSageMakerServiceCatalogProductsLaunchRole.
  6. Elige Crear.
  7. En la pestaña Grupos, roles y usuarios, elige Agregar grupos, roles, usuarios.
  8. En la pestaña Roles, selecciona el rol que utilizaste al configurar tu dominio de SageMaker Studio. Aquí es donde se encuentra el rol de dominio de SageMaker.
Restricción de Lanzamiento del Catálogo de Servicios
  1. Elige Agregar acceso.

Despliega el proyecto desde SageMaker Studio

En las secciones anteriores, preparaste el entorno personalizado del proyecto de MLOps. Ahora, creemos un proyecto utilizando esta plantilla:

  1. En la consola de SageMaker, navega al dominio en el que deseas crear este proyecto.
  2. En el menú Lanzar, elige Studio.

Serás redirigido al entorno de SageMaker Studio.

  1. En SageMaker Studio, en el panel de navegación debajo de Despliegues, elige Proyectos.
  2. Elige Crear proyecto.
  3. En la parte superior de la lista de plantillas, elige Plantillas de Organización.

Si has seguido todos los pasos anteriores con éxito, deberías poder ver una nueva plantilla de proyecto personalizada llamada Build-Deploy-GitHub.

  1. Selecciona esa plantilla y elige Seleccionar Plantilla de Proyecto.
  2. Ingresa una descripción opcional.
  3. Para Nombre del Propietario del Repositorio de GitHub, ingresa el dueño de tu repositorio de GitHub. Por ejemplo, si tu repositorio está en https://github.com/pooyavahidi/my-repo, el dueño sería pooyavahidi.
  4. Para Nombre del Repositorio de GitHub, ingresa el nombre del repositorio en el cual copiaste el código inicial. Sería solamente el nombre del repositorio. Por ejemplo, en https://github.com/pooyavahidi/my-repo, el repositorio es my-repo.
  5. Para ID único de la conexión Codestar, ingresa el ID único de la conexión de AWS CodeStar que creaste.
  6. Para Nombre del secreto en el Secrets Manager que almacena el token de GitHub, ingresa el nombre del secreto en Secrets Manager donde creaste y almacenaste el token de GitHub.
  7. Para Archivo de flujo de trabajo de GitHub para despliegue, ingresa el nombre del archivo de flujo de trabajo de GitHub (en .github/workflows/deploy.yml) donde tienes las instrucciones de despliegue. Para este ejemplo, puedes dejarlo por defecto, que es deploy.yml.
  8. Elige Crear proyecto.
Proyecto de SageMaker Studio
  1. Después de crear tu proyecto, asegúrate de actualizar las variables de entorno AWS_REGION y SAGEMAKER_PROJECT_NAME en tus archivos de flujo de trabajo de GitHub correspondientemente. Los archivos de flujo de trabajo están en tu repo de GitHub (copiados del código base), dentro del directorio .github/workflows. Asegúrate de actualizar tanto los archivos build.yml como deploy.yml.
...env:  AWS_REGION: <región>     SAGEMAKER_PROJECT_NAME: <nombre de tu proyecto>...

¡Ahora tu entorno está listo para funcionar! Puedes ejecutar los pipelines directamente, hacer cambios y empujar esos cambios a tu repositorio de GitHub para activar la construcción automatizada del pipeline y ver cómo todos los pasos de construcción y despliegue están automatizados.

Limpieza

Para limpiar los recursos, completa los siguientes pasos:

  • Elimina las pilas de CloudFormation utilizadas para el proyecto SageMaker y los puntos finales de SageMaker.
  • Elimina el dominio de SageMaker.
  • Elimina los recursos de Service Catalog.
  • Elimina el enlace de conexión de AWS CodeStar con el repositorio de GitHub.
  • Elimina el usuario de IAM que creaste para GitHub Actions.
  • Elimina el secreto en Secrets Manager que almacena los detalles de acceso personal de GitHub.

Resumen

En esta publicación, recorrimos el proceso de utilizar una plantilla de proyecto personalizada de SageMaker MLOps para construir y organizar automáticamente un pipeline de CI/CD. Este pipeline integra eficazmente tus mecanismos existentes de CI/CD con las capacidades de SageMaker para manipulación de datos, entrenamiento de modelos, aprobación de modelos y despliegue de modelos. En nuestro escenario, nos enfocamos en integrar GitHub Actions con proyectos y pipelines de SageMaker. Para entender más detalles de implementación, visita el repositorio de GitHub. Siéntete libre de experimentar con esto y no dudes en dejar cualquier consulta que puedas tener en la sección de comentarios.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Noticias de Inteligencia Artificial

El mercado oculto de China para las poderosas tarjetas Nvidia de inteligencia artificial

En las bulliciosas calles del área de electrónica de Huaqiangbei en Shenzhen, ha surgido un mercado subterráneo de ch...

Inteligencia Artificial

Estas herramientas podrían ayudar a proteger nuestras imágenes de la IA

Sin embargo, estas herramientas no son perfectas, ni suficientes por sí solas.

Inteligencia Artificial

Nuevo curso técnico de inmersión profunda Fundamentos de IA generativa en AWS

Generative AI Foundations en AWS es un nuevo curso de inmersión técnica que te proporciona los fundamentos conceptual...

Inteligencia Artificial

OpenAI presenta DALL·E 3 Un salto revolucionario en la generación de texto a imagen

En un salto tecnológico significativo, OpenAI ha anunciado el lanzamiento de DALL·E 3, la última iteración en su revo...

Inteligencia Artificial

Este artículo de IA revela las implicaciones de ciberseguridad de los modelos de IA generativa riesgos, oportunidades y desafíos éticos'.

Los modelos de IA generativa (GenAI), como ChatGPT, Google Bard y GPT de Microsoft, han revolucionado la interacción ...

Inteligencia Artificial

Conoce Quivr Un proyecto de código abierto diseñado para almacenar y recuperar información desestructurada como un segundo cerebro

Ha habido un crecimiento continuo en el dominio de OpenAI en los últimos años. Investigadores de muchas universidades...