IA generativa en AWS - Chris Fregly - E-Book

IA generativa en AWS E-Book

Chris Fregly

0,0
29,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Las empresas de hoy en día avanzan rápidamente para integrar la inteligencia artificial generativa en sus productos y servicios. Hay mucha agitación (y también malentendidos) sobre el impacto y la promesa de esta tecnología. Con este libro, Chris Fregly, Antje Barth y Shelbee Eigenbrode, de Amazon Web Services, le ayudarán a encontrar formas prácticas de usar esta tecnología tan nueva y atractiva. Gracias a IA generativa en AWS, descubrirá el ciclo de vida de los proyectos de IA generativa, que incluye la definición de casos de uso, la selección y el ajuste de los modelos, la generación mejorada por recuperación, el aprendizaje por refuerzo a partir de la retroalimentación humana y la cuantificación, la optimización y el despliegue de los modelos. Además, explorará diferentes tipos de modelos, incluidos los modelos de lenguaje grandes (LLM) y los multimodales, como Stable Diffusion para generar imágenes y Flamingo/IDEFICS para responder preguntas sobre imágenes. Asimismo, con esta lectura: Utilizará la IA generativa en los casos de uso de negocio Determinará qué modelos de IA generativa son los más adecuados para su tarea Desarrollará ingeniería de indicaciones y aprendizaje en contexto Afinará los modelos de IA generativa con los conjuntos de datos con adaptación de rango bajo (LoRA) Alineará los modelos de IA generativa con los valores humanos con el aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF) Perfeccionará el modelo con la generación mejorada por recuperación (RAG) Explorará bibliotecas como LangChain y ReAct para desarrollar agentes y acciones Creará aplicaciones de IA generativa con Amazon Bedrock No importa si es un director técnico, un profesional de aprendizaje automático (AA), un desarrollador de aplicaciones, un analista de negocios, un ingeniero de datos o un científico de datos; si tiene interés en el mundo de la IA, este libro no le dejará indiferente.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 375

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Elogios para IA generativa en AWS

Estoy muy entusiasmado con este libro, que contiene una gran mezcla de información teórica y de fondo, así como código, secuencias de comandos y tutoriales prácticos y detallados. Disfruté al leerlo y sé que también usted lo hará. Empezando por lo básico, aprenderá sobre modelos básicos generativos, ingeniería de indicaciones y mucho más. A partir de ahí, pasará a los modelos de lenguaje grandes (LLM) y verá cómo utilizarlos con Amazon SageMaker. Después de dominar los conceptos básicos, tendrá la oportunidad de aprender sobre tipos múltiples de ajuste fino y luego llegará al corazón del libro y aprenderá a construir aplicaciones que tengan el poder de realizar razonamientos sensibles al contexto con modelos generativos de modalidades diferentes, incluyendo texto e imágenes.

—Jeff Barr, vicepresidente y jefe de divulgación de AWS

Este libro es un recurso integral para crear soluciones generativas basadas en IA con AWS. Utilizando ejemplos del mundo real, Chris, Antje y Shelbee han hecho un trabajo espectacular explicando conceptos clave, dificultades y mejores prácticas para los LLM y los modelos multimodales. Un recurso muy oportuno para acelerar el proceso de creación de soluciones de IA generativa desde el concepto hasta la producción.

—Geeta Chauhan, líder de IA aplicada en Meta

En el proceso de desarrollo e implementación de una aplicación de IA generativa hay muchos puntos de decisión complejos que determinan colectivamente si la aplicación producirá resultados de calidad alta y se puede ejecutar de una manera rentable, escalable y confiable. Este libro desmitifica las tecnologías subyacentes y proporciona una guía reflexiva que ayuda a los lectores a comprender y tomar estas decisiones y, en última instancia, a poner en marcha aplicaciones de IA generativa exitosas.

— Brent Rabowsky, director IA/AA especialista SA en AWS

Es muy raro encontrar un libro que cubra de manera integral el proceso completo de desarrollo e implementación de modelos. Si practica el aprendizaje automático (AA), este libro es una necesidad.

—Alejandro Herrera, científico de datos en Snowflake

En este libro se profundiza sobre cómo se construyen y utilizan realmente los modelos GenAI. Y se cubre todo el ciclo de vida, no solo la ingeniería de indicaciones o el ajuste. Si está pensando en usar GenAI para algo no trivial, debe leer este libro para entender qué conjuntos de habilidades y herramientas necesitará para tener éxito.

—Randy DeFauw, principal arquitecto de soluciones en AWS

No hay mejor libro para empezar con la IA generativa. Toda la información en Internet sobre el tema es extremadamente abrumadora para cualquiera. Pero este libro es una guía clara y estructurada: va desde lo básico hasta temas avanzados, como el ajuste fino con parámetros eficientes y el despliegue de LLM. También es muy práctico y además cubre la implementación en AWS. Este libro es un recurso extremadamente valioso para cualquier científico de datos o ingeniero.

—Alexey Grigorev, principal científico de datos del Grupo OLX y fundador de DataTalks.Club

Este es, de lejos, el mejor libro que he encontrado que hace que la construcción de IA generativa sea muy práctica. Antje, Chris y Shelbee reunieron un recurso excepcional que será muy valioso durante años y, quizá, se convertirá en un recurso didáctico para las universidades. Definitivamente una lectura obligada para cualquier persona que cree aplicaciones de IA generativa a escala con AWS.

—Olalekan Elesin, director de Data Science Platform en HRS Group

Si está buscando una base de aprendizaje sólida para crear e implementar productos o servicios de IA generativa, no busque más allá de la IA generativa en AWS. Guiado por la experiencia profunda de los autores Chris Fregly, Antje Barth y Shelbee Eigenbrode, con este libro hará la transición de novato de GenAI a maestro de los intrincados matices involucrados en la formación, el ajuste fino y el desarrollo de las aplicaciones. Este manual es una guía indispensable y una necesidad verdadera para cada ingeniero de IA en ciernes, gerente de producto, comercializador o líder de negocios.

—Lillian Pierson, PE, fundadora de Data-Mania

IA generativa en AWS ofrece una visión profunda de las técnicas innovadoras para crear aplicaciones que comprenden tipos diversos de datos y toman decisiones basadas en el contexto. Los lectores obtienen una visión completa, uniendo los aspectos teóricos y las herramientas prácticas necesarias para las aplicaciones de IA generativa. Este libro es una lectura obligada para aquellos que desean aprovechar todo el potencial de AWS en el ámbito de la IA generativa.

—Kesha Williams, directora de Slalom Consulting y AWS Machine Learning Hero

El panorama de la IA generativa evoluciona tan rápido que es increíble ver tanto conocimiento relevante condensado en un libro completo. ¡Bien hecho!

—Francesco Mosconi, director de ciencia de datos en Catalit

IA generativa en AWS

Creación de aplicaciones multimodales

Chris Fregly, Antje Barth y Shelbee Eigenbrode

 

 

Primera edición original publicada en inglés por O’Reilly con el título Generative AI on AWS, ISBN 978-1-098-15922-1 © 2024 Flux Capacitor, LLC, Antje Barth and Shelbee Eigenbrode.

This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.

Título de la edición en español: IA generativa en AWS

Primera edición en español, 2024

© 2024 MARCOMBO, S.L.

www.marcombo.com

Diseño de portada: Karen Montgomery

Ilustración: Kate Dullea

Traducción: Miguel Ángel Torres

Corrección: Anna Alberola

Directora de producción: M.a Rosa Castillo

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de manera precisa y concisa. La elaboración del contenido, aunque se ha trabajado de modo escrupuloso, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.

ISBN del libro en papel: 978-84-267-3820-2

ISBN del libro electrónico: 978-84-267-3734-2

Producción del ePub: booqlab

Tabla de contenido

Prefacio

1.Casos de uso de IA generativa, fundamentos y ciclo de vida del proyecto

Casos de uso y tareas

Modelos básicos y centros de modelos

Ciclo de vida del proyecto de IA generativa

IA generativa en AWS

¿Por qué IA generativa en AWS?

Creación de aplicaciones de IA generativa con AWS

Resumen

2.Ingeniería de indicaciones y aprendizaje en contexto

Indicaciones y respuestas

Componentes léxicos

Ingeniería de indicaciones

Estructura de indicaciones

Instrucción

Contexto

Aprendizaje en contexto con inferencia con pocos golpes

Inferencia con cero golpes

Inferencia con un solo golpe

Inferencia con pocos golpes

Cuando el aprendizaje en contexto sale mal

Mejores prácticas de aprendizaje en contexto

Mejores prácticas de ingeniería de indicaciones

Parámetros de configuración de inferencia

Resumen

3.Modelos de lenguaje grandes básicos

Modelos de lenguaje grandes básicos

Analizadores léxicos

Vectores de incrustación

Transformadores

Ventana de entradas y contexto

Capa de incrustación

Codificador

Autoservicio

Decodificador

Salida softmax

Tipos de modelos básicos basados en transformadores

Conjuntos de datos para formación previa

Leyes de escalamiento

Modelos informáticos óptimos

Resumen

4.Optimizaciones de memoria y cálculo

Problemas de memoria

Tipos de datos y precisión numérica

Cuantificación

fp16

bfloat16

fp8

int8

Optimización de las capas de autoservicio

FlashAttention

Atención de consulta agrupada

Informática distribuida

Paralelismo de datos distribuidos

Paralelismo de datos totalmente fragmentados

Comparación del rendimiento de FSDP con DDP

Informática distribuida en AWS

Paralelismo de datos totalmente fragmentados con Amazon SageMaker

SDK de AWS Neuron y AWS Trainium

Resumen

5.Ajuste fino y evaluación

Ajuste fino de las instrucciones

Llama 2-Chat

Falcon-Chat

FLAN-T5

Conjunto de datos de instrucciones

Conjunto de datos de instrucciones multitarea

FLAN: ejemplo de conjunto de datos de instrucciones multitarea

Plantilla para indicaciones

Convierta un conjunto de datos personalizado en uno de instrucciones

Ajuste fino de las instrucciones

Amazon SageMaker Studio

Amazon SageMaker JumpStart

Amazon SageMaker Estimator para Hugging Face

Evaluación

Métricas de evaluación

Puntos de referencia y conjuntos de datos

Resumen

6.Ajuste fino con parámetros eficientes

Ajuste fino completo frente a PEFT

LoRA y QLoRA

Principios básicos de LoRA

Rango

Módulos y capas objetivo

Utilización de LoRA

Fusión del adaptador LoRA con el modelo original

Mantenimiento de adaptadores LoRA separados

Ajuste fino completo frente a rendimiento LoRA

QLoRA

Afinación de indicaciones e indicaciones suaves

Resumen

7.Ajuste fino con aprendizaje por refuerzo a partir de la retroalimentación humana

Alineación humana: útil, honesta e inofensiva

Panorama del aprendizaje por refuerzo

Forme un modelo de recompensa personalizado

Recopilación de datos de formación con personas en el ciclo

Ejemplo de instrucciones para etiquetadores humanos

Uso de Amazon SageMaker Ground Truth para anotaciones humanas

Prepare los datos de clasificación para formar un modelo de recompensa

Formar al modelo de recompensa

Modelo de recompensa existente: detector de toxicidad de Meta

Ajuste fino con aprendizaje por refuerzo a partir de la retroalimentación humana

Utilización del modelo de recompensa con RLHF

Algoritmo RL de optimización proximal de políticas

Ajuste fino del RLHF con PPO

Mitigación del pirateo de recompensas

Utilización del ajuste fino con parámetros eficientes con RLHF

Evaluar el modelo RLHF afinado

Evaluación cualitativa

Evaluación cuantitativa

Modelo de evaluación de la carga

Definición de la función de agregación métrica de evaluación

Comparación de las métricas de evaluación antes y después

Resumen

8.Optimización de la puesta en marcha de los modelos

Optimizaciones de modelos para inferencia

Poda

Cuantificación postformación con GPTQ

Destilación

Contenedor de inferencia de modelos grandes

AWS Inferentia: hardware específico para la inferencia

Estrategias de actualización e instalación de modelos

Pruebas A/B

Implementación en paralelo

Métricas y monitoreo

Autoescalado

Políticas de autoescalado

Definición de una política de autoescalado

Resumen

9.Aplicaciones de razonamiento sensibles al contexto usando RAG y agentes

Limitaciones de los modelos de lenguaje grandes

Alucinación

Corte de conocimiento

Generación mejorada por recuperación

Fuentes de conocimiento externas

Flujo de trabajo RAG

Carga de documentos

Agrupamiento

Recuperación y reordenación de documentos

Mejora de la indicación

Orquestación e implementación de RAG

Carga y agrupamiento de documentos

Almacenamiento y recuperación de vectores de incrustación

Cadenas de extracción

Reordenación con la relevancia marginal máxima

Agentes

Entorno ReAct

Entorno de lenguaje asistido por programas

Aplicaciones de IA generativa

FMOps: puesta en marcha del ciclo de vida del proyecto de IA generativa

Consideraciones sobre la experimentación

Consideraciones sobre el desarrollo

Consideraciones sobre la instalación en producción

Resumen

10.Modelos básicos multimodales

Casos de uso

Mejores prácticas de ingeniería de indicaciones multimodal

Generación y mejora de imágenes

Generación de imágenes

Edición y mejora de imágenes

Rellenado, pintura exterior, profundidad a la imagen

Rellenado

Pintura exterior

Profundidad a la imagen

Subtitulado de imagen y respuesta a preguntas visuales

Subtitulado de imagen

Moderación de contenido

Respuesta a preguntas visuales

Evaluación del modelo

Tareas generativas de texto a imagen

Difusión hacia delante

Razonamiento no verbal

Fundamentos de la arquitectura de difusión

Difusión hacia delante

Difusión hacia atrás

U-Net

Arquitectura de Stable Diffusion 2

Codificador de texto

U-Net y el proceso de difusión

Acondicionamiento de texto

Servicio combinado

Planificador

Decodificador de imagen

Arquitectura de Stable Diffusion XL

U-Net y el servicio combinado

Refinador

Acondicionamiento

Resumen

11.Generación controlada y ajuste fino con Stable Diffusion

ControlNet

Ajuste fino

DreamBooth

DreamBooth y PEFT-LoRA

Inversión textual

Alineación humana con aprendizaje por refuerzo a partir de la retroalimentación humana

Resumen

12.Amazon Bedrock: servicio gestionado para IA generativa

Modelos básicos de Bedrock

Modelos básicos de Amazon Titan

Modelos básicos de Stable Diffusion de Stability AI

API de inferencia de Bedrock

Modelos de lenguaje grandes

Generar código SQL

Resumir texto

Incrustaciones

Ajuste fino

Agentes

Modelos multimodales

Crear imágenes a partir de texto

Crear imágenes a partir de imágenes

Privacidad de datos y seguridad de la red

Gestión y monitoreo

Resumen

Prefacio

Después de leer este libro, comprenderá los casos de uso y las tareas más comunes de IA generativa abordadas por la industria y la academia hoy en día. Obtendrá un conocimiento profundo de cómo se construyen estos modelos generativos de vanguardia, así como experiencia práctica que le ayudará a elegir entre reutilizar un modelo generativo existente o construir uno desde cero. A continuación, aprenderá a adaptar estos modelos de IA generativa a los conjuntos de datos, tareas y casos de uso específicos del dominio que respaldan sus aplicaciones empresariales.

Este libro está dirigido a entusiastas de la IA/AA, científicos de datos e ingenieros que deseen aprender los fundamentos técnicos y las mejores prácticas para la formación de modelos de IA generativa, el ajuste fino y la implementación en la producción. Asumimos que ya está familiarizado con Python y con los componentes básicos de aprendizaje profundo (como redes neuronales, propagación hacia delante, activaciones, gradientes y propagación hacia atrás), lo que le permitirá entender los conceptos aquí utilizados.

Una comprensión básica de Python y de entornos de aprendizaje profundo como TensorFlow o PyTorch será suficiente para entender las muestras de código utilizadas a lo largo del libro. No es necesario familiarizarse con AWS para aprender los conceptos, pero es útil para algunas de las muestras específicas de AWS.

Profundizará en el ciclo de vida de la IA generativa y aprenderá temas como la ingeniería de indicaciones, el aprendizaje con pocos golpes en contexto, la formación previa de modelos generativos, la adaptación de dominios, la evaluación de modelos, el ajuste fino con parámetros eficientes (PEFT) y el aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF).

Tendrá la oportunidad de trabajar con modelos de lenguaje grande populares como Llama 2 y Falcon, así como con modelos generativos multimodales, como Stable Diffusion e IDEFICS. Accederá a estos modelos básicos a través de Hugging Face Model Hub, Amazon SageMaker JumpStart o el servicio gestionado de Amazon Bedrock para IA genérica.

También aprenderá a implementar flujos de trabajo de razonamiento basados en agentes y de generación mejorada por recuperación (RAG)1 sensibles al contexto2. Explorará entornos y bibliotecas de aplicaciones, incluyendo LangChain, ReAct3 y modelos de lenguaje asistido por programas (PAL). Puede utilizar estos entornos y bibliotecas para acceder a sus propias fuentes de datos y API personalizadas o integrarlos con fuentes de datos externas, como la búsqueda web y los sistemas de datos asociados.

Por último, explorará todos estos conceptos generativos, entornos y bibliotecas en el contexto de casos de uso de IA generativa multimodal con modalidades diferentes de contenido, como texto, imágenes, audio y vídeo.

Y no se preocupe si no entiende todos estos conceptos todavía. A lo largo del libro, se sumergirá en cada uno de estos temas con mucho más detalle. Con todo este conocimiento y experiencia práctica, puede comenzar a crear aplicaciones de IA generativa de vanguardia que le ayuden a deleitar a los clientes, a superar a la competencia y a aumentar los ingresos.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica términos nuevos, direcciones web o de correo electrónico, nombres de archivos y extensiones de archivos.

Ancho constante

Se utiliza para listas de programas, así como dentro de los párrafos para hacer referencia a elementos de programas, como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Ancho constante en negrilla

Se utiliza para llamar la atención sobre fragmentos de interés en bloques de código, así como para diferenciar entre voces múltiples en diálogos o entre el usuario humano y el asistente de IA.

Este elemento significa un consejo o sugerencia.

Este elemento significa una nota general.

Uso de muestras de código

El material complementario (muestras de código, ejercicios, etc.) puede descargarse en www.marcombo.info con el código IA24.

Si tiene alguna pregunta técnica o algún problema al utilizar las muestras de código, envíe un correo electrónico a [email protected].

Este libro está pensado para ayudarle a hacer su trabajo. En general, puede utilizar las muestras de código que se ofrecen con este libro en sus programas y documentación. No es necesario que nos contacte para pedir permiso, a menos que reproduzca una parte significativa del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. La venta o distribución de ejemplos de los libros requiere autorización. Responder a una pregunta citando este libro y citando un código de ejemplo no requiere permiso. La incorporación de una cantidad significativa de muestras de código de este libro en la documentación de su producto requiere autorización.

Agradecemos, pero generalmente no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo: «IA generativa con AWS, de Chris Fregly, Antje Barth y Shelbee Eigenbrode (Marcombo). Copyright 2024 978-84-267-3820-2».

Si cree que la utilización de las muestras de código no se ajusta al uso legítimo o a los permisos mencionados, no dude en ponerse en contacto con nosotros.

Agradecimientos

Nos gustaría dar las gracias a todos nuestros revisores, incluyendo Brent Rabowsky, Randy DeFauw, Sean Owen, Akhil Behl, y Sireesha Muppala, PhD. Sus comentarios fueron críticos para la narrativa que seguimos en este libro. Además, su guía e intuición nos ayudaron a modular la profundidad técnica de las muestras de código que incluimos.

Chris

Dedico este libro a mi mamá, que siempre me ha inspirado a compartir conocimientos con los demás. Además, siempre has escuchado pacientemente mientras navego la vida, cuestiono las cosas y busco respuestas.

Antje

Me gustaría agradecer a mi familia por proporcionarme una gran educación y apoyarme a lo largo de mis esfuerzos profesionales. En particular, quiero dar las gracias a mi hermano, Kai, que me compró el primer ordenador portátil que tuve y se aseguró de que tuviera las herramientas adecuadas para la universidad. Este fue el catalizador inicial de mi carrera en la informática.

Shelbee

A mi esposo, Steve, y a mi hija, Emily, por ser siempre «mi por qué» y por su apoyo continuo, especialmente en las noches tardías y los largos fines de semana que pasé escribiendo este libro. También quiero agradecer a mi perra, Molly, por sentarse pacientemente mientras le tomaba fotos para usarlas como entrada para algunos de los modelos multimodales en este libro.

______________________

1 Patrick Lewis y otros, «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks», arXiv, 2021.

2 Jason Wei y otros, «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models», arXiv, 2022.

3 Shunyu Yao y otros, «ReAct: Synergizing Reasoning and Acting in Language Models», arXiv, 2023.

CAPÍTULO 1

Casos de uso de IA generativa, fundamentos y ciclo de vida del proyecto

En este capítulo, verá algunas tareas de IA generativa y casos de uso en acción, obtendrá una comprensión de los modelos básicos generativos y explorará el ciclo de vida típico de un proyecto de IA generativa. Los casos de uso y las tareas que verá en este capítulo incluyen búsqueda inteligente, asistente virtual automatizado de atención al cliente, resumen de diálogos, moderación de contenido no seguro para el trabajo (NSFW), vídeos de productos personalizados, generación de código fuente y otros.

También aprenderá algunas de las opciones generativas de hardware y servicio de IA de Amazon Web Services (AWS), incluyendo Amazon Bedrock, Amazon SageMaker, Amazon CodeWhisperer, AWS Trainium y AWS Inferentia. Estas opciones de servicio y hardware proporcionan una gran flexibilidad al crear aplicaciones de razonamiento multimodal de principio a fin, sensibles al contexto, con IA generativa en AWS.

Exploremos algunos casos de uso y tareas comunes para la IA generativa.

Casos de uso y tareas

Al igual que el aprendizaje profundo, la IA generativa es una tecnología de propósito general que se utiliza para fines diversos en muchos sectores y grupos de clientes. Hay muchos tipos de tareas multimodales de IA generativa. Hemos incluido una lista de las tareas generativas y ejemplos de uso relacionados:

Resumen de texto

Produzca una versión más corta de un texto conservando las ideas principales. Por ejemplo, resumir un artículo de prensa, un documento jurídico o un informe financiero en un número menor de palabras o párrafos para consumirlo más rápidamente. A menudo, el resumen se utiliza en las conversaciones de soporte al cliente para proporcionar una visión general rápida de la interacción entre un cliente y un representante de soporte.

Reescritura

Modifique la redacción de un texto para adaptarlo a un público, formalidad o tono diferente. Por ejemplo, puede convertir un documento legal formal en un documento menos formal utilizando menos términos legales para apelar a una audiencia no legal.

Extracción de información

Extraiga información de documentos, como nombres, direcciones, eventos o datos numéricos o números. Por ejemplo, convertir un correo electrónico en una orden de compra para un sistema de planificación de recursos empresariales (ERP) como SAP.

Respuesta a preguntas (QA) y respuesta a preguntas visuales (VQA)

Haga preguntas directamente a partir de un conjunto de documentos, imágenes, vídeos o segmentos de audio. Por ejemplo, puede configurar un asistente virtual interno dirigido a los empleados para responder preguntas sobre recursos humanos y documentos de beneficios.

Detección de contenido tóxico o dañino

Una extensión de la tarea pregunta-respuesta. Puede preguntarle a un modelo generativo si un conjunto de texto, imágenes, vídeos o fragmentos de audio contiene algún contenido tóxico o nocivo.

Clasificación y moderación de contenido

Asigne una categoría a una pieza determinada de contenido, como un documento, una imagen, un vídeo o un fragmento de audio. Por ejemplo, eliminar el correo no deseado, filtrar imágenes inapropiadas o etiquetar las solicitudes de asistencia al cliente basadas en texto.

Interfaz conversacional

Maneje conversaciones multiturno para realizar tareas a través de una interfaz similar a la de una charla. Algunos ejemplos son los asistentes virtuales para el autoservicio del cliente o las sesiones de terapia de salud mental.

Traducción

Uno de los primeros casos de uso de la IA generativa es la traducción de idiomas. Considere, por ejemplo, que el editor de este libro quiere publicar una traducción al alemán para ayudar a expandir el alcance del libro. O tal vez desee convertir los ejemplos basados en Python a Java para trabajar dentro de su aplicación empresarial existente, basada en Java.

Generación de código fuente

Cree código fuente a partir de comentarios de código de lenguaje natural, o incluso a partir de un boceto dibujado a mano, como se muestra en la figura 1-1. Aquí se genera un sitio web basado en HTML y JavaScript a partir de un boceto de interfaz de usuario trazado en el reverso de una servilleta de restaurante.

Figura 1-1.Generación de código de interfaz de usuario a partir de un boceto dibujado a mano.

Razonamiento sobre un bosquejo dibujado a mano

Razone un problema para descubrir nuevas soluciones potenciales, compensaciones o detalles latentes. Por ejemplo, pensemos en un director financiero que proporciona a los accionistas un informe financiero trimestral basado en audio, además de un informe escrito más detallado. Al razonar conjuntamente estos distintos formatos mediáticos, el modelo puede sacar algunas conclusiones sobre la salud de la empresa que no se mencionan directamente en el audio ni se exponen en el texto.

Enmascarar información personal identificable (PII)

Puede utilizar modelos generativos para enmascarar información de identificación personal de un corpus de texto determinado. Esto es útil para muchos casos de uso en los que está trabajando con datos confidenciales y desea eliminar datos de PII de sus flujos de trabajo.

Marketing personalizado y anuncios

Genere descripciones personalizadas de productos, vídeos o anuncios basados en los atributos del perfil de usuario. Considere un sitio web de comercio electrónico que quiera generar una descripción personalizada para cada producto en función de la edad o situación familiar del usuario conectado. También podría generar imágenes de productos personalizadas que incluyan adultos maduros, adultos con niños o incluso niños para atraer mejor a la demografía del usuario conectado, como se muestra en la figura 1-2.

Figura 1-2.Marketing personalizado.

En este caso, cada usuario del servicio vería potencialmente una imagen y una descripción únicas y altamente personalizadas para el mismo producto. En última instancia, esto podría conducir a más clics de productos y a mayores ventas.

En cada uno de estos casos de uso generativo y tareas un modelo crea contenido que se aproxima a la comprensión humana del lenguaje. Esto es realmente sorprendente y es posible gracias a una arquitectura de red neuronal llamada transformador, que aprenderá en el capítulo 3.

En la sección siguiente, aprenderá a acceder a los modelos básicos a través de centros de modelos.

Modelos básicos y centros de modelos

Los modelos básicos son modelos de red neuronal muy grandes y complejos que consisten en miles de millones de parámetros (pesos). Los parámetros del modelo se aprenden durante la etapa de formación, a menudo llamada preformación. Los modelos básicos son formados con cantidades enormes de datos de formación, por lo general durante un período de muchas semanas y meses utilizando grupos grandes y distribuidos de CPU y unidades de procesamiento gráfico (GPU). Después de aprender miles de millones de parámetros, estos modelos básicos pueden representar entidades complejas, como el lenguaje humano, imágenes, vídeos y fragmentos de audio.

En la mayoría de los casos, iniciará los proyectos de IA generativa con un modelo básico existente desde un centro de modelos, como Hugging Face Model Hub, PyTorch Hub o Amazon SageMaker JumpStart. Un centro de modelos es una colección de modelos que normalmente contiene descripciones detalladas de los modelos, incluidos los casos de uso que abordan.

A lo largo de este libro, utilizaremos Hugging Face Model Hub y SageMaker JumpStart para acceder a modelos básicos, como Llama 2 de Meta (Facebook), Falcon del Instituto de Innovación Tecnológica (TII) y FLAN-T5 de Google. Se sumergirá más en los centros de modelos y los modelos básicos en el capítulo 3.

A continuación, verá el ciclo de vida del proyecto típico de IA generativa que se sigue en el esquema del resto de este libro.

Ciclo de vida del proyecto de IA generativa

Si bien no hay un ciclo de vida definitivo para proyectos de IA generativa, el entorno que se muestra en la figura 1-3 puede servirle de guía para definir las partes más importantes en el proceso de aplicación de la IA generativa. A lo largo del libro, ganará intuición, aprenderá a evitar posibles dificultades y mejorará en la toma de decisiones en cada paso del proceso.

Vamos a sumergirnos en cada componente del ciclo de vida que se muestra en la figura 1-3:

Figura 1-3.Entorno del ciclo de vida del proyecto de IA generativa.

Identifique el caso de uso

Al igual que con cualquier proyecto, primero querrá definir el alcance, incluyendo el caso de uso generativo específico y la tarea que planea abordar con la aplicación de IA generativa. Le recomendamos que comience con un solo caso de uso generativo bien documentado. Esto le ayudará a familiarizarse con el entorno y a comprender el potencial y las limitaciones de estos modelos sin tratar de optimizar el modelo para tareas diferentes al mismo tiempo. Si bien estos modelos pueden llevar a cabo tareas múltiples, empezar evaluando y optimizando el modelo a través de este tipo de tareas resulta más complicado.

Experimente y seleccione

Los modelos de IA generativa pueden llevar a cabo muchas tareas diferentes con gran éxito. Sin embargo, tendrá que decidir si un modelo básico existente es adecuado para sus necesidades de aplicación. En el capítulo 2, aprenderá a trabajar con estos modelos básicos existentes desde el primer momento utilizando técnicas denominadas «ingeniería de indicaciones y aprendizaje en contexto».

Lo más común es que empiece con un modelo básico existente (como verá en el capítulo 3). Esto mejorará en gran medida su tiempo de comercialización, ya que evitará el paso de formación previa, que es extremadamente intensivo en recursos y a menudo requiere billones de palabras, imágenes, vídeos o segmentos de audio para comenzar. Operar a esta escala implica mucho tiempo, paciencia y procesamiento; a menudo se requieren millones de horas de GPU cuando se preforma desde cero.

También querrá considerar el tamaño del modelo básico con el que decide trabajar, ya que esto afectará al hardware y al coste necesarios para formar y atender a los modelos. Si bien los modelos más grandes tienden a generalizar mejor para más tareas, este no siempre es el caso y depende del conjunto de datos utilizado durante la formación y la afinación.

Le recomendamos que pruebe modelos diferentes para su caso de uso generativo y tarea. Comience con un modelo básico existente, bien documentado, relativamente pequeño (por ejemplo, 7 mil millones de parámetros) para iterar rápidamente y aprender las formas únicas de interactuar con estos modelos de IA generativa con una cantidad relativamente pequeña de hardware (en comparación con los modelos más grandes, de 175 mil millones de parámetros).

Durante el desarrollo, normalmente comenzará con un entorno de pruebas dentro de Amazon SageMaker JumpStart o Amazon Bedrock. Esto le permite probar indicaciones y modelos diferentes rápidamente, como verá en el capítulo 2. A continuación, puede utilizar un cuaderno Jupyter o código de Python con un entorno de desarrollo integrado (IDE) como Visual Studio Code (VS Code) o cuadernos de Amazon SageMaker Studio para preparar los conjuntos de datos personalizados a usar cuando experimente con estos modelos generativos. Una vez que esté listo para escalar sus esfuerzos a un grupo distribuido más grande, migrará a la formación distribuida de tareas de Sage Maker para escalar a un grupo de procesamiento más grande, con aceleradores como GPU NVIDIA o AWS Trainium, como verá en el capítulo 4.

Si bien es posible que inicialmente pueda evitar los aceleradores, es muy probable que necesite usarlos para el desarrollo a largo plazo y la instalación de modelos más complejos. Cuanto antes aprenda los aspectos únicos, y a veces oscuros, de desarrollar con aceleradores como GPU NVIDIA o chips AWS Trainium, mejor. Afortunadamente, gran parte de la complejidad ha sido abstraída por el proveedor de hardware a través de la biblioteca NVIDIA CUDA y el SDK de AWS Neuron, respectivamente.

Adapte, alinee y mejore

Es importante adaptar los modelos generativos al dominio específico, caso de uso y tarea. Los capítulos 5, 6, 7, y 11 están dedicados a afinar los modelos multimodales de IA generativa con los conjuntos de datos personalizados para cumplir con sus objetivos empresariales.

Además, a medida que estos modelos generativos se hacen cada vez más humanos, es importante que se alineen con los valores y preferencias humanos y, en general, que se comporten bien. En los capítulos 7 y 11 se explora una técnica llamada «aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF)» para alinear los modelos generativos multimodales y que sean más útiles, honestos e inofensivos (HHH). RLHF es un componente clave del campo mucho más amplio de la IA responsable.

Aunque los modelos generativos contienen una cantidad enorme de información y conocimiento, a menudo necesitan ser mejorados con noticias actuales o datos privados para el negocio. En el capítulo 9, explorará formas de mejorar los modelos generativos con fuentes de datos externas o API.

Evalúe

Para implementar correctamente las aplicaciones de IA generativa, debe iterar en gran medida. Por lo tanto, es importante establecer métricas de evaluación bien definidas y puntos de referencia para ayudar a medir la efectividad del ajuste fino. Aprenderá sobre la evaluación de modelos en el capítulo 5. Aunque no es tan sencillo como el aprendizaje automático tradicional, la evaluación de modelos ayuda a medir las mejoras de los modelos durante la etapa de adaptación y alineación; en concreto, lo bien que se alinean con las metas empresariales y preferencias humanas.

Instale e integre

Cuando finalmente tenga un modelo generativo bien ajustado y alineado, es hora de instalar el modelo para inferencia e integrarlo a la aplicación. En el capítulo 8, verá cómo optimizar el modelo de inferencia y utilizar mejor los recursos informáticos, reducir la latencia de inferencia y deleitar a los usuarios.

También verá cómo implementar los modelos con la familia de instancias de cálculo de AWS Inferentia optimizadas para la inferencia generativa mediante puntos de conexión de Amazon SageMaker. Los puntos de conexión de SageMaker son una gran opción para ofrecer modelos generativos, ya que son altamente escalables, toleran fallos y son personalizables. Ofrecen opciones de instalación y escalado flexibles, como pruebas A/B, implementación en paralelo y autoescalado, como aprenderá en el capítulo 8.

Monitoree

Al igual que con cualquier sistema de producción, debe configurar sistemas adecuados de recopilación y monitoreo de métricas para todos los componentes de la aplicación de IA generativa. En los capítulos 8 y 12, aprenderá a utilizar Amazon CloudWatch y CloudTrail para monitorear las aplicaciones de IA generativa que se ejecuten en AWS. Estos servicios son altamente personalizables, accesibles desde la consola de AWS o el kit de desarrollo de software (SDK) de AWS, e integrados con todos los servicios de AWS, incluido Amazon Bedrock, un servicio gestionado para IA generativa, que explorará en el capítulo 12.

IA generativa en AWS

En esta sección se describirá la pila de AWS de servicios y atributos de IA generativa diseñados específicamente, como se muestra en la figura 1-4, y se discutirán algunos de los beneficios del uso de AWS para IA generativa.

Figura 1-4.Servicios y atributos de AWS que admiten IA generativa.

Los proveedores de modelos incluyen aquellos que están desarrollando o preformando modelos básicos que requieren acceso a recursos informáticos y almacenamiento potentes y rentables. Para ello, AWS ofrece una gama de entornos e infraestructura para el desarrollo de modelos básicos. Esto incluye instancias de cálculo optimizadas para la IA generativa con opciones autogestionadas, como Amazon EC2, así como opciones gestionadas, como Amazon SageMaker, para formación e instalación de modelos.

Además, AWS ofrece aceleradores propios optimizados para la formación (AWS Trainium) y la implementación de modelos generativos (AWS Inferentia).

AWS Trainium es un acelerador diseñado específicamente para cargas de trabajo de formación de rendimiento alto y coste bajo. Del mismo modo, AWS Inferentia está diseñado específicamente para la inferencia de rendimiento alto y coste bajo. Las opciones de infraestructura en AWS que están optimizadas para IA generativa son utilizadas por los proveedores de modelos, pero también por los afinadores de modelos.

Los afinadores de modelos incluyen aquellos que están adaptando o alineando modelos básicos a su dominio específico, caso de uso y tarea. Esto normalmente requiere el acceso no solo a recursos de almacenamiento y procesamiento, sino también a herramientas que ayudan a habilitar estas tareas a través de un acceso fácil a una gama de modelos básicos, al tiempo que elimina la necesidad de gestionar la infraestructura subyacente. Además de la gama de infraestructura optimizada disponible en AWS, los afinadores de modelos también tienen acceso a una amplia gama de modelos básicos populares, así como a herramientas para adaptar o alinear modelos básicos, incluidas las funciones integradas en Amazon Bedrock y Amazon SageMaker JumpStart.

Amazon Bedrock: es un servicio totalmente gestionado que proporciona acceso a modelos de Amazon (por ejemplo, Titan) y proveedores populares de terceros (por ejemplo, AI21 Labs, Anthropic, Cohere y Stability AI). Esto le permite comenzar a experimentar rápidamente con los modelos básicos disponibles. Bedrock también le permite personalizar de forma privada los modelos básicos con sus propios datos, así como integrarlos e implementarlos en aplicaciones de IA generativa. Los agentes para Bedrock se gestionan completamente y permiten una personalización adicional con la integración de fuentes de datos externas privadas y la capacidad de completar las tareas.

Amazon SageMaker JumpStart proporciona acceso a modelos básicos públicos y privados a través de un centro de modelos que incluye la capacidad de instalar fácilmente un modelo básico en terminales de instalación de modelos de Amazon SageMaker al instante. Además, SageMaker JumpStart ofrece la funcionalidad de afinar los modelos disponibles utilizando SageMaker para formarlos. SageMaker JumpStart genera automáticamente cuadernos con código, para instalar y afinar los modelos disponibles en el centro de modelos.

Amazon SageMaker proporciona extensibilidad adicional, a través de entornos gestionados en los cuadernos de Amazon SageMaker Studio, para trabajar con cualquier modelo básico disponible, independientemente de si está disponible en SageMaker JumpStart. Como resultado, se puede trabajar con cualquier modelo accesible y nunca se está limitado a los modelos con los que se puede trabajar con Amazon SageMaker.

Adaptar un modelo a un caso de uso, tarea o dominio específico a menudo incluye mejorar el modelo con datos adicionales. AWS también ofrece opciones múltiples de implementación para almacenes vectoriales que almacenan incrustaciones vectoriales. Los almacenes vectoriales y las incrustaciones se utilizan para la generación mejorada por recuperación (RAG), para recuperar de manera eficiente información relevante de fuentes de datos externas para mejorar los datos utilizados con un modelo generativo.

Entre las opciones disponibles están el motor vectorial para Amazon OpenSearch Serverless, así como el módulo k-NN disponible para usar con Amazon OpenSearch Service. Además, tanto Amazon Aurora PostgreSQL como Amazon Relational Database Services (RDS) para PostgreSQL incluyen funciones de almacenamiento vectorial con compatibilidad integrada con pgvector .

Si quiere tener una experiencia de búsqueda semántica completamente gestionada con datos específicos de dominio, puede usar Amazon Kendra, que crea y gestiona las incrustaciones.

AWS ofrece opciones múltiples si desea acceder a modelos generativos a través de aplicaciones de IA generativa de principio a fin. En AWS, puede crear sus propias aplicaciones de IA generativa personalizadas utilizando la amplitud y profundidad de los servicios disponibles; también puede aprovechar los servicios empaquetados y totalmente gestionados.

Por ejemplo, Amazon CodeWhisperer proporciona funciones de codificación generativa en múltiples lenguajes de codificación, respaldando mejoras de productividad, como la generación de código, el análisis proactivo de vulnerabilidades y la sugerencia de soluciones de código, con sugerencias automáticas para su atribución.

AWS HealthScribe es otro servicio de IA generativa empaquetado dirigido a la industria de la salud para permitir la generación automática de notas clínicas basadas en conversaciones entre el paciente y el médico.

Por último, Amazon QuickSight Q incluye funciones generativas integradas que permiten a los usuarios hacer preguntas sobre los datos en lenguaje natural y recibir respuestas, así como visualizaciones generadas que permiten a los usuarios obtener más información sobre los datos.

En este libro nos centraremos en gran medida en las personas y tareas involucradas en la sección «Ciclo de vida del proyecto de IA generativa», así como en la construcción de aplicaciones de IA generativa. Muchos de los servicios destacados en esta sección, como Amazon SageMaker JumpStart y Amazon Bedrock, serán referenciados a lo largo de este libro, mientras se sumerge en áreas específicas del ciclo de vida del proyecto de IA generativa.

Ahora que hemos presentado algunos servicios básicos de AWS para la IA generativa, veamos algunos de los beneficios de usar AWS para crear aplicaciones de IA generativa.

¿Por qué IA generativa en AWS?

Entre los beneficios principales de utilizar AWS para las cargas de trabajo de IA generativa se incluyen una mayor flexibilidad y opciones, funciones de gestión y seguridad de nivel empresarial, funciones de IA generativa de última generación, gastos operativos bajos gracias a servicios totalmente gestionados, capacidad de comenzar rápidamente con soluciones y servicios listos para usar y un historial sólido de innovación continua. Vamos a profundizar un poco más en cada uno de estos aspectos con algunos ejemplos específicos:

Mayor flexibilidad y elección

AWS ofrece flexibilidad no solo con la funcionalidad para utilizar una gama de servicios y atributos para satisfacer las necesidades de cada caso de uso, sino también en términos de elección de modelos generativos. Esto le proporciona la posibilidad no solo de elegir el modelo adecuado para un caso de uso, sino también de cambiar y evaluar continuamente modelos nuevos para aprovechar las utilidades nuevas.

Funciones de seguridad y gestión de nivel empresarial

Los servicios de AWS incorporan funciones de seguridad y gestión que son importantes para los sectores más regulados. Por ejemplo, la formación y la instalación de modelos de SageMaker y Amazon Bedrock son compatibles con funciones clave relacionadas con la protección de datos, el aislamiento de redes, el acceso controlado y la autorización, así como la detección de amenazas.

Capacidades generativas de IA de última generación

AWS ofrece opciones en modelos de IA generativa, desde modelos de Amazon y de proveedores a terceros en Amazon Bedrock, hasta modelos de código abierto y patentados ofrecidos a través de Amazon SageMaker JumpStart. Además, AWS también ha invertido en infraestructura, como AWS Trainium y AWS Inferentia, para formar e implementar modelos generativos a escala.

Gastos operativos reducidos

Como se mencionó anteriormente, muchos de los servicios y atributos de AWS dirigidos a la IA generativa se ofrecen a través de infraestructura gestionada, soluciones sin servidor o soluciones empaquetadas. Esto le permite centrarse en modelos y aplicaciones de IA generativa en lugar de gestionar la infraestructura y comenzar rápidamente con soluciones y servicios listos para usar.

Un historial sólido de innovación continua

AWS tiene una historia establecida de innovación rápida basada en años de experiencia no solo en infraestructura de nube, sino también en inteligencia artificial.

La pila de servicios y atributos de AWS para respaldar la IA generativa cubre la amplitud, profundidad y extensibilidad para respaldar cada caso de uso, ya sea un proveedor de modelos, un sintonizador o un consumidor. Además de las capacidades de IA generativa en AWS, un conjunto más amplio de servicios de AWS también le proporciona la capacidad de crear aplicaciones de IA generativa personalizadas, que se tratarán en la sección siguiente.

Creación de aplicaciones de IA generativa con AWS

Una aplicación de IA generativa incluye más que modelos generativos. Requiere componentes múltiples para construir aplicaciones confiables, escalables y seguras que luego se ofrecen a los consumidores de esa aplicación, ya sean usuarios finales u otros sistemas, como se muestra en la figura 1-5.

Figura 1-5.Las aplicaciones de IA generativa incluyen más que modelos básicos.

Cuando se utiliza un servicio de IA generativa empaquetado como Amazon CodeWhisperer, todo esto se abstrae completamente y se proporciona al usuario final. Sin embargo, la construcción de aplicaciones de IA generativa personalizadas generalmente requiere una gama de servicios. AWS proporciona la variedad de servicios que a menudo se requieren para crear una aplicación de IA generativa de principio a fin. En la figura 1-6 se muestra un ejemplo de servicios de AWS que pueden usarse como parte de una aplicación de IA generativa más amplia.

Figura 1-6.Amplitud de servicios de AWS para permitir a los clientes crear aplicaciones de IA generativa.

Resumen

En este capítulo, hemos explorado algunos casos comunes de uso de la IA generativa y hemos aprendido algunos fundamentos de IA generativa. También hemos visto el ejemplo de un ciclo de vida típico de un proyecto de IA generativa que incluye varias etapas, incluyendo la definición de un caso de uso, la ingeniería de indicaciones (capítulo 2), la selección de un modelo básico (capítulo 3), el ajuste fino (capítulos 5 y 6), la alineación con los valores humanos (capítulo 7), el despliegue del modelo (capítulo 8), y la integración con fuentes de datos y agentes externos (capítulo 9).

Para las partes del ciclo de vida que requieren un uso intensivo de la informática, como el ajuste fino y la alineación humana, conviene conocer los algoritmos de cuantificación y de informática distribuida (capítulo 4). Estas optimizaciones y algoritmos acelerarán el ciclo de desarrollo iterativo, que es crítico al desarrollar modelos de IA generativa.

En el capítulo 2, recibirá algunos consejos de ingeniería de indicaciones y mejores prácticas. Estos son útiles para solicitar tanto modelos básicos de solo lenguaje (capítulo 3) como modelos básicos multimodales (capítulos 10 y 11) utilizando ya sea el centro de modelos Amazon SageMaker JumpStart (capítulo 3) o el servicio de IA generativa gestionada por Amazon Bedrock (capítulo 12).

CAPÍTULO 2

Ingeniería de indicaciones y aprendizaje en contexto

En este capítulo, aprenderá sobre formas de código bajo para interactuar con modelos de IA generativa; específicamente, ingeniería de indicaciones y aprendizaje en contexto. Verá que escribir indicaciones es tanto un arte como una ciencia, que ayuda al modelo a generar respuestas mejores y más aplicables. También proporcionamos algunas prácticas recomendadas al definir indicaciones y plantillas para obtener el máximo provecho de los modelos generativos.

También aprenderá a usar el aprendizaje en contexto para pasar varios pares de indicaciones y respuestas (por ejemplo, pares de preguntas y respuestas) en el «contexto» junto con la indicación de entrada. Este aprendizaje en contexto empuja al modelo a responder de manera similar a los pares de indicaciones y respuestas en el contexto. Esta es una de las capacidades más notables de los modelos generativos, ya que altera temporalmente el comportamiento del modelo durante la duración de esa solicitud.

Por último, aprenderá algunos de los parámetros generativos más comúnmente configurados, como la temperatura y el top k, que controlan la creatividad del modelo generativo al crear contenido.

Los modelos generativos basados en el lenguaje aceptan indicaciones como entrada y generan una respuesta. Como se verá a continuación, estas indicaciones y respuestas están formadas por componentes léxicos (tokens, en inglés) de texto.

Indicaciones y respuestas

Aunque las tareas generativas de IA pueden abarcar múltiples modalidades de contenido, a menudo implican una entrada basada en texto. Esta entrada se llama respuesta e incluye las instrucciones, el contexto y cualquier restricción utilizada para realizar una tarea determinada.