Desarrolla una aplicación de IA generativa
Este documento te ayuda a aprender a abordar los desafíos en cada etapa del desarrollo de una aplicación de IA generativa. En ella, se describe cómo seleccionar un modelo, personalizar su salida para satisfacer tus necesidades, evaluar tus personalizaciones y, luego, implementarlo. En este documento, se supone que ya tienes un caso de uso en mente y que es adecuado para la IA generativa. Para obtener información sobre cómo desarrollar un caso de uso, consulta Evalúa y define tu caso de uso empresarial de IA generativa.
Antes de comenzar a desarrollar una aplicación de IA generativa, evalúa el nivel de preparación técnica (capacidades e infraestructura) de tu organización. Si deseas obtener información para evaluar tus capacidades de IA y crear una hoja de ruta para aprovechar su potencial, consulta el Taller de preparación para IA. Si planeas desarrollar flujos de trabajo que la IA generativa automatice, evalúa si se deben incluir personas en las etapas de decisión fundamentales. La revisión humana puede ayudar a tomar decisiones como garantizar un uso responsable, cumplir con requisitos específicos de control de calidad o supervisar el contenido generado.
Modelos de IA generativa
Los modelos de base de la IA generativa se entrenan con conjuntos de datos de varios terabytes de texto, imágenes, código y otro contenido multimedia. Los datos y la arquitectura del modelo permiten que los modelos identifiquen patrones complejos, obtengan una comprensión profunda y contextual, y produzcan contenido nuevo, como texto, imágenes, música o videos basados en los datos de entrenamiento.
Los modelos de base forman el núcleo sobre el que se compilan muchas aplicaciones de IA generativa. Las capacidades de los modelos se traducen en habilidades emergentes: con una instrucción de instrucción de texto simple, los modelos de base de IA generativa pueden aprender a realizar una variedad de tareas, como traducir idiomas, responder preguntas, escribir un poema o escribir código, sin entrenamiento explícito para cada tarea. Los modelos de base de la IA generativa también se pueden adaptar para realizar tareas específicas con algunas técnicas de indicaciones o se pueden ajustar con datos de entrenamiento adicionales mínimos.
Modelos de lenguaje grande (LLM) se entrenan con texto, son un ejemplo de modelos de base que generalmente se basan en arquitecturas de aprendizaje profundo, como el Transformer que desarrolló Google en 2017. Los LLM se pueden entrenar con miles de millones de muestras de texto y otro contenido, y se pueden personalizar para dominios específicos.
Otros modelos multimodales extienden la capacidad de una aplicación de IA generativa para procesar información de varias modalidades, incluidas imágenes, videos, audio y texto. Las instrucciones multimodales combinan varios formatos de entrada, como texto, imágenes y audio. Por ejemplo, puedes ingresar una imagen y pedirle a una aplicación de IA generativa que enumere o describa los objetos de la imagen. Los modelos de Gemini de Google se compilan desde cero para la multimodalidad y pueden razonar sin problemas en texto, imágenes, video, audio y código. Model Garden y Vertex AI de Google Cloud puede ayudarte a encontrar y personalizar una variedad de modelos base de Google, de código abierto y de fuentes externas.
Elige un modelo
Cuando elijas un modelo, ten en cuenta su modalidad, tamaño y costo. Elige el modelo más asequible que cumpla con tus requisitos de latencia y calidad de respuesta.
- Modalidad: Como se describió en la sección anterior, la modalidad de un modelo corresponde a categorías de datos de alto nivel para las que se entrena un modelo, como texto, imágenes y video. Por lo general, tu caso de uso y la modalidad del modelo están estrechamente asociados. Si tu caso de uso incluye la generación de texto a imagen, debes encontrar un modelo entrenado con datos de texto e imagen. Si necesitas la flexibilidad de varias modalidades, como en la búsqueda multimodal, hay modelos que también admiten casos de uso multimodales, pero el costo y la latencia pueden ser más altos.
- Los modelos de Vertex AI ofrecen una gran lista de modelos de IA generativa que puedes usar.
- Model Garden proporciona una lista de ofertas de modelos de AA originales y de código abierto en Google Cloud.
- Tamaño: El tamaño de un modelo suele medirse según la cantidad de parámetros. En general, un modelo más grande puede aprender patrones y relaciones más complejos dentro de los datos, lo que puede generar respuestas de mayor calidad. Debido a que los modelos más grandes de la misma familia pueden tener una latencia y costos más altos, es posible que debas experimentar y evaluar modelos para determinar qué tamaño de modelo funciona mejor para tu caso de uso.
Costo: El costo de un modelo está relacionado con sus capacidades, que, por lo general, se relacionan con el recuento de parámetros del modelo. Los modelos también se pueden medir y cobrar de manera diferente. Por ejemplo, algunos modelos se cobran en función de la cantidad de tokens de entrada y salida. Otros modelos se cobran en función de la cantidad de horas de nodo que se usan mientras se implementa el modelo.
Para obtener información sobre los precios de los modelos de IA generativa en Vertex AI, consulta Precios de Vertex AI.
Para obtener información sobre el costo de implementar modelos en Google Kubernetes Engine (GKE), consulta Precios de GKE.
Funciones: No todos los modelos admiten funciones como la sintonización y la destilación. Si esas funciones son importantes para ti, verifica las funciones que admite cada modelo.
Instrucciones de diseño
El diseño de instrucciones es el proceso de crear pares de instrucciones y respuestas para proporcionarles a los modelos de lenguaje contexto e instrucciones adicionales. Después de escribir las instrucciones, las envías al modelo como un conjunto de datos de instrucciones para el entrenamiento previo. Cuando un modelo entrega predicciones, responde con tus instrucciones integradas.
Si deseas obtener un resultado específico, puedes usar estrategias de diseño de instrucciones, como indicarle al modelo que complete una entrada parcial o darle ejemplos de respuestas ideales. Para obtener más información, consulta Introducción al diseño de instrucciones.
Personaliza un modelo
Después de diseñar la instrucción, es posible que descubras que las respuestas de un modelo funcionan bien, por lo que no es necesario que lo personalices. Si el modelo no tiene un buen rendimiento, por ejemplo, si alucina, puedes usar técnicas de personalización adicionales. En las siguientes secciones, se presentan estas técnicas y se puede ayudarte a comprender cómo estas opciones influyen en el resultado de tu modelo.
Llamadas a funciones y extensiones
Las llamadas a funciones y las extensiones de Vertex AI expanden las capacidades de tu modelo. Considera los casos de uso de tu aplicación y en los que usar solo un modelo podría no ser suficiente. Puedes ayudar al modelo agregando llamadas a funciones o extensiones. Por ejemplo, tu modelo puede extraer información del calendario del texto y, luego, usar una extensión para encontrar y reservar una reserva.
Aunque puedes usar las llamadas a función y las extensiones de forma indistinta, hay algunas diferencias de alto nivel. La llamada a función es una operación asíncrona y no es necesario que incluyas credenciales en el código. Las extensiones de Vertex AI proporcionan opciones precompiladas que puedes usar para tareas complejas, de modo que no tengas que escribir tus propias funciones. Sin embargo, debido a que las extensiones de Vertex AI muestran y llaman a funciones por ti, requieren que incluyas credenciales en tu código.
Fundamentos
La fundamentación hace referencia a aumentar las respuestas del modelo anclándolas a fuentes de información verificables. Para conectar un modelo a una fuente de datos, debes conectarlo a una fuente de datos. La fundamentación de un modelo ayuda a mejorar la confiabilidad del contenido generado, ya que reduce las alucinaciones.
La generación aumentada de recuperación (RAG) es una técnica de fundamentación de uso frecuente. La RAG usa la función de búsqueda para encontrar información relevante y, luego, la agrega a una instrucción del modelo. Cuando usas la RAG, el resultado se basa en hechos y en la información más reciente. La búsqueda de RAG usa incorporaciones vectoriales y bases de datos vectoriales, que almacenan datos como representaciones numéricas de datos no estructurados, como texto e imágenes. Para obtener más información, consulta Qué es una base de datos vectorial.
Para obtener más información sobre los fundamentos de Vertex AI, consulta Descripción general de base. Si deseas obtener información para configurar un flujo de trabajo de incorporación en AlloyDB para PostgreSQL, consulta el ejemplo de flujo de trabajo de incorporación.
Ajuste de modelo
Las tareas especializadas, como entrenar un modelo de lenguaje en terminología específica, pueden requerir más entrenamiento del que puedes hacer con el diseño de indicaciones por sí solo. En ese caso, puedes usar el ajuste de modelos para mejorar el rendimiento y hacer que el modelo cumpla con requisitos de salida específicos.
Para ajustar un modelo, debes crear un conjunto de datos de entrenamiento y, luego, seleccionar un método de ajuste, como el ajuste supervisado, el ajuste de aprendizaje por refuerzo con retroalimentación humana (RLHF) o la destilación de modelos. El tamaño del conjunto de datos y los métodos de ajuste dependen de tu modelo y de lo que deseas optimizar. Por ejemplo, las tareas especializadas y de nicho requieren un conjunto de datos más pequeño para obtener mejoras significativas. Para obtener más información sobre el ajuste del modelo, consulta Ajusta los modelos base de lenguaje.
Evaluar un modelo
La evaluación de modelos te ayuda a evaluar cómo las instrucciones y las personalizaciones afectan el rendimiento de un modelo. Cada método de evaluación tiene sus propias fortalezas y debilidades que debes tener en cuenta. Por ejemplo, las evaluaciones basadas en métricas se pueden automatizar y escalar rápidamente con una forma cuantificable de medir el rendimiento. Sin embargo, las métricas pueden simplificar demasiado los resultados y pasar por alto el contexto y las matices del lenguaje natural. Para mitigar estas deficiencias, usa una amplia variedad de métricas en combinación con evaluaciones humanas.
La IA generativa en Vertex AI ofrece una evaluación en paralelo automática, que te permite comparar el resultado de dos modelos con la verdad fundamental. Un tercer modelo te ayuda a seleccionar las respuestas de mayor calidad. La evaluación en paralelo automática está a la par de los evaluadores humanos, pero es más rápida y está disponible a pedido. Sin embargo, para realizar las comparaciones, este método requiere un modelo que sea más grande que los modelos que estás evaluando, lo que puede mostrar sesgos inherentes. Por lo tanto, debes realizar algunas evaluaciones humanas.
Para todos los métodos de evaluación, necesitas un conjunto de datos de evaluación. Un conjunto de datos de evaluación incluye los pares de instrucciones y verdad fundamental (respuesta ideal) que creas. Cuando crees tu conjunto de datos, incluye un conjunto diverso de ejemplos que se alineen con la tarea que estás evaluando para obtener resultados significativos.
Implementar un modelo
La implementación de un modelo asocia un extremo y recursos de máquinas físicas con tu modelo para entregar predicciones en línea con baja latencia. No todos los modelos requieren la implementación. Por ejemplo, los modelos de base de Google que están disponibles en la IA generativa en Vertex AI ya tienen extremos. Los extremos son específicos de tu proyecto de Google Cloud y están disponibles de inmediato para que los uses. Sin embargo, si ajustas alguno de esos modelos, debes implementarlos en un extremo.
Cuando implementes un modelo, decide si prefieres implementar modelos en un entorno completamente administrado o uno autoadministrado. En un entorno completamente administrado, seleccionas los recursos físicos que necesitas, como el tipo de máquina y el tipo de acelerador, y, luego, Vertex AI crea instancias de los recursos y los administra por ti. Por ejemplo, para habilitar las predicciones en línea en las que Vertex AI administra los recursos de implementación por ti, consulta Implementa un modelo en un extremo. En un entorno administrado por ti, tienes un control más detallado sobre tus recursos, pero debes administrarlos por tu cuenta. Con los entornos autoadministrados, puedes entregar modelos en plataformas como GKE.
Después de decidir en qué tipo de entorno deseas realizar la implementación, ten en cuenta el tráfico previsto, los requisitos de latencia y el presupuesto. Debes equilibrar estos factores con tus recursos físicos. Por ejemplo, si el costo más bajo es una prioridad, es posible que puedas tolerar una latencia más alta con máquinas de menor costo. Los entornos de prueba son un buen ejemplo de esta compensación. Para obtener más información sobre cómo elegir un tipo de máquina, consulta el notebook Determina el tipo de máquina ideal para usar en los extremos de Vertex AI.
IA responsable
La IA generativa en Vertex AI se diseñó teniendo en cuenta los principios de la IA de Google. Sin embargo, es importante que pruebes los modelos para asegurarte de que se usen de forma segura y responsable. Debido a la increíble versatilidad de los LLMs, es difícil predecir respuestas no deseadas o imprevistas.
Cuando desarrolles aplicaciones para tu caso de uso, ten en cuenta las limitaciones de los modelos de IA generativa para que puedas mitigar de forma adecuada el posible uso inadecuado y los problemas no deseados. Un ejemplo de una limitación de un modelo es que solo es tan bueno como los datos que usas. Si le proporcionas al modelo datos poco óptimos, como datos imprecisos o incompletos, no puedes esperar un rendimiento óptimo. Verifica que tus datos de entrada y las instrucciones sean precisos. De lo contrario, el modelo puede tener un rendimiento deficiente o resultados de modelo falsos. Para obtener más información sobre las limitaciones de los modelos de IA generativa, consulta IA responsable.
¿Qué sigue?
- Prueba los instructivos de notebooks de Vertex AI.
- Obtén información sobre las operaciones de aprendizaje automático (MLOps) para la IA generativa.