Explorando la transmisión en tiempo real para aplicaciones de IA generativa

Los modelos base (FMs, por sus siglas en inglés) son grandes modelos de aprendizaje automático (ML) entrenados en una amplia gama de conjuntos de datos no etiquetados y generalizados. Los FMs, como indica su nombre, proporcionan la base para construir aplicaciones más especializadas aguas abajo y son únicos en su adaptabilidad. Pueden realizar una amplia variedad de tareas diferentes, como procesamiento del lenguaje natural, clasificación de imágenes, pronóstico de tendencias, análisis de sentimientos y respuesta a preguntas. Esta escala y adaptabilidad general son lo que diferencia a los FMs de los modelos tradicionales de ML. Los FMs son multimodales; trabajan con diferentes tipos de datos como texto, video, audio e imágenes. Los grandes modelos de lenguaje (LLMs, por sus siglas en inglés) son un tipo de FM y están pre-entrenados en vastas cantidades de datos de texto y suelen tener usos como generación de texto, chatbots inteligentes o resúmenes.

Los datos en tiempo real facilitan el flujo constante de información diversa y actualizada, mejorando la capacidad de los modelos para adaptarse y generar salidas más precisas y contextualmente relevantes. Esta integración dinámica de datos en tiempo real permite que las aplicaciones de IA generativa respondan rápidamente a condiciones cambiantes, mejorando su adaptabilidad y rendimiento general en diversas tareas.

Para comprender mejor esto, imagina un chatbot que ayuda a los viajeros a reservar sus viajes. En este escenario, el chatbot necesita acceso en tiempo real al inventario de aerolíneas, el estado de los vuelos, el inventario de hoteles, los últimos cambios de precios y más. Estos datos generalmente provienen de terceros, y los desarrolladores necesitan encontrar una forma de ingerir estos datos y procesar los cambios de datos a medida que ocurren.

El procesamiento por lotes no es la mejor opción en este escenario. Cuando los datos cambian rápidamente, procesarlos en lotes puede resultar en el uso de datos obsoletos por parte del chatbot, lo que proporciona información inexacta al cliente y afecta la experiencia general del cliente. Por otro lado, el procesamiento en continuo puede permitir que el chatbot acceda a datos en tiempo real y se adapte a los cambios en disponibilidad y precio, brindando la mejor orientación al cliente y mejorando la experiencia del cliente.

Otro ejemplo es una solución de monitorización y observabilidad impulsada por IA donde los FMs supervisan métricas internas en tiempo real de un sistema y generan alertas. Cuando el modelo encuentra una anomalía o un valor de métrica anómalo, debería producir inmediatamente una alerta y notificar al operador. Sin embargo, el valor de estos datos importantes disminuye significativamente con el tiempo. Estas notificaciones idealmente deberían recibirse en cuestión de segundos o incluso mientras está sucediendo. Si los operadores reciben estas notificaciones minutos u horas después de que ocurrieron, esa información no es ejecutable y podría haber perdido su valor potencial. Puedes encontrar casos de uso similares en otras industrias como retail, fabricación de automóviles, energía y la industria financiera.

En esta publicación, discutimos por qué el streaming de datos es un componente crucial de las aplicaciones de IA generativa debido a su naturaleza en tiempo real. Hablamos sobre el valor de los servicios de streaming de datos de AWS como Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon Managed Service for Apache Flink y Amazon Kinesis Data Firehose en la construcción de aplicaciones de IA generativa.

Aprendizaje en contexto

Los LLMs se entrenan con datos puntuales y no tienen la capacidad inherente de acceder a datos nuevos en el momento de la inferencia. A medida que aparecen nuevos datos, tendrás que ajustar continuamente o seguir entrenando el modelo. Esto no solo es una operación costosa, sino también muy limitante en la práctica porque la tasa de generación de nuevos datos supera con creces la velocidad de ajuste fino. Además, los LLMs carecen de comprensión contextual y dependen únicamente de sus datos de entrenamiento, por lo que son propensos a alucinaciones. Esto significa que pueden generar una respuesta fluida, coherente y sintácticamente correcta pero incorrecta en cuanto a los hechos. También carecen de relevancia, personalización y contexto.

Los LLMs, sin embargo, tienen la capacidad de aprender de los datos que reciben del contexto para responder de manera más precisa sin modificar los pesos del modelo. Esto se llama aprendizaje en contexto, y se puede utilizar para producir respuestas personalizadas o proporcionar una respuesta precisa en el contexto de las políticas de la organización.

Por ejemplo, en un chatbot, los eventos de datos podrían referirse a un inventario de vuelos y hoteles o cambios de precios que se están ingestando constantemente en un motor de almacenamiento en streaming. Además, los eventos de datos se filtran, enriquecen y transforman a un formato consumible utilizando un procesador de streams. El resultado está disponible para la aplicación consultando la última instantánea. La instantánea se actualiza constantemente mediante el procesamiento en continuo; por lo tanto, los datos actualizados se proporcionan en el contexto de una solicitud del usuario al modelo. El siguiente diagrama ilustra un flujo de trabajo básico de aprendizaje en contexto.

Un enfoque comúnmente utilizado para el aprendizaje en contexto es utilizar una técnica llamada Generación Aumentada por Recuperación (RAG, por sus siglas en inglés). En RAG, proporcionas la información relevante como la política más relevante y los registros del cliente junto con la pregunta del usuario al modelo. De esta manera, el LLM genera una respuesta a la pregunta del usuario utilizando la información adicional proporcionada como contexto. Para obtener más información sobre RAG, consulta Respuesta a preguntas utilizando Generación Aumentada por Recuperación con modelos base en Amazon SageMaker JumpStart.

Una aplicación de IA generativa basada en RAG solo puede producir respuestas genéricas basadas en sus datos de entrenamiento y los documentos relevantes en la base de conocimientos. Esta solución se queda corta cuando se espera una respuesta personalizada casi en tiempo real de la aplicación. Por ejemplo, se espera que un chatbot de viajes considere las reservas actuales del usuario, el inventario de hoteles y vuelos disponibles, y más. Además, los datos personales relevantes del cliente (comúnmente conocidos como el perfil de cliente unificado) suelen estar sujetos a cambios. Si se emplea un proceso por lotes para actualizar la base de datos de perfiles de usuario de la IA generativa, el cliente podría recibir respuestas insatisfactorias basadas en datos antiguos.

En esta publicación, discutimos la aplicación del procesamiento en continuo para mejorar una solución RAG utilizada para construir agentes de respuesta a preguntas con contexto a partir de un acceso en tiempo real a perfiles de cliente unificados y base de conocimientos organizativa.

Actualizaciones de perfil de cliente casi en tiempo real

Los registros de clientes suelen estar distribuidos en almacenes de datos dentro de una organización. Para que tu aplicación de IA generativa proporcione un perfil de cliente relevante, preciso y actualizado, es vital construir tuberías de datos en streaming que puedan realizar la resolución de identidades y la agregación de perfiles a través de los almacenes de datos distribuidos. Los trabajos de streaming ingieren constantemente nuevos datos para sincronizarse entre sistemas y pueden realizar enriquecimiento, transformaciones, uniones y agregaciones en ventanas de tiempo de manera más eficiente. Los eventos de captura de cambios (CDC, por sus siglas en inglés) contienen información sobre el registro fuente, actualizaciones y metadatos como hora, fuente, clasificación (inserción, actualización o eliminación) y el iniciador del cambio.

La siguienteEl diagrama ilustra un ejemplo de flujo de trabajo para la ingestión y procesamiento de transmisión de CDC para perfiles de cliente unificados.

En esta sección, discutimos los principales componentes de un patrón de transmisión de CDC necesarios para admitir aplicaciones de IA generativa basadas en RAG.

Ingestión de transmisión de CDC

Un replicador de CDC es un proceso que recopila cambios en los datos de un sistema fuente (generalmente leyendo registros de transacciones o binlogs) y escribe eventos de CDC en el mismo orden exacto en el que ocurrieron en una transmisión de datos en continuo o tema. Esto implica una captura basada en registros con herramientas como AWS Database Migration Service (AWS DMS) o conectores de código abierto como Debezium para Apache Kafka Connect. Apache Kafka Connect es parte del entorno de Apache Kafka, lo que permite la ingestión de datos desde diversas fuentes y entregarlos a una variedad de destinos. Puedes ejecutar tu conector de Apache Kafka en Amazon MSK Connect en cuestión de minutos sin preocuparte por la configuración, la instalación y la operación de un clúster de Apache Kafka. Solo necesitas cargar el código compilado de tu conector en Amazon Simple Storage Service (Amazon S3) y configurar tu conector con la configuración específica de tu carga de trabajo.

También existen otros métodos para capturar cambios en los datos. Por ejemplo, Amazon DynamoDB proporciona una función para transmitir datos de CDC a Amazon DynamoDB Streams o Kinesis Data Streams. Amazon S3 ofrece un controlador para invocar una función de AWS Lambda cuando se almacena un nuevo documento.

Almacenamiento de transmisión

El almacenamiento de transmisión funciona como un búfer intermedio para almacenar eventos de CDC antes de que sean procesados. Proporciona un almacenamiento fiable para datos en continuo. Por diseño, es altamente disponible y resistente a fallos de hardware o de nodos, y mantiene el orden de los eventos tal como se escriben. El almacenamiento de transmisión puede almacenar eventos de datos de forma permanente o durante un período de tiempo determinado. Esto permite a los procesadores de transmisión leer parte de la transmisión en caso de un fallo o la necesidad de volver a procesar. Kinesis Data Streams es un servicio de datos en continuo sin servidor que facilita la captura, el procesamiento y el almacenamiento de flujos de datos a gran escala. Amazon MSK es un servicio totalmente gestionado, altamente disponible y seguro proporcionado por AWS para ejecutar Apache Kafka.

Procesamiento de transmisiones

Los sistemas de procesamiento de transmisiones deben estar diseñados para el paralelismo para manejar un alto rendimiento de datos. Deben dividir la transmisión de entrada entre múltiples tareas que se ejecutan en varios nodos informáticos. Las tareas deben poder enviar el resultado de una operación a la siguiente a través de la red, lo que posibilita el procesamiento de datos en paralelo mientras se realizan operaciones como uniones, filtrado, enriquecimiento y agregaciones. Las aplicaciones de procesamiento de transmisiones deben ser capaces de procesar eventos con respecto al tiempo del evento para casos de uso donde los eventos podrían llegar tarde o el cálculo correcto depende del tiempo en que ocurren los eventos en lugar del tiempo del sistema. Para obtener más información, consulta Conceptos de Tiempo: Tiempo del Evento y Tiempo de Procesamiento.

Los procesos de transmisión producen continuamente resultados en forma de eventos de datos que deben ser emitidos a un sistema de destino. Un sistema de destino podría ser cualquier sistema que pueda integrarse directamente con el proceso o mediante el almacenamiento de transmisión como intermediario. Dependiendo del marco que elijas para el procesamiento de transmisiones, tendrás diferentes opciones de sistemas de destino según los conectores de destino disponibles. Si decides escribir los resultados en un almacenamiento de transmisión intermedio, puedes construir un proceso separado que lea eventos y aplique cambios al sistema de destino, como ejecutar un conector de salida de Apache Kafka. Independientemente de la opción que elijas, los datos de CDC necesitan un manejo adicional debido a su naturaleza. Debido a que los eventos de CDC contienen información sobre actualizaciones o eliminaciones, es importante que se fusionen en el sistema de destino en el orden correcto. Si los cambios se aplican en el orden incorrecto, el sistema de destino estará fuera de sincronización con su origen.

Apache Flink es un potente marco de procesamiento de transmisiones conocido por sus capacidades de baja latencia y alto rendimiento. Admite el procesamiento de tiempo de eventos, semántica de procesamiento exactamente una vez y alta tolerancia a fallos. Además, proporciona soporte nativo para datos de CDC a través de una estructura especial llamada tablas dinámicas. Las tablas dinámicas imitan las tablas de la base de datos origen y proporcionan una representación columnar de los datos en continuo. Los datos en las tablas dinámicas cambian con cada evento que se procesa. Se pueden agregar nuevos registros, actualizarlos o eliminarlos en cualquier momento. Las tablas dinámicas abstraen la lógica adicional que necesitas implementar para cada operación de registro (insertar, actualizar, eliminar) por separado. Para obtener más información, consulta Tablas Dinámicas.

Con Amazon Managed Service for Apache Flink, puedes ejecutar trabajos de Apache Flink e integrarte con otros servicios de AWS. No hay servidores ni clústeres que administrar, y no hay infraestructura de cálculo y almacenamiento que configurar.

AWS Glue es un servicio totalmente gestionado de extracción, transformación y carga (ETL), lo que significa que AWS se encarga de la provisión de infraestructura, la escalabilidad y el mantenimiento por ti. Aunque es conocido principalmente por sus capacidades de ETL, AWS Glue también se puede utilizar para aplicaciones de Spark en continuo. AWS Glue puede interactuar con servicios de datos en continuo como Kinesis Data Streams y Amazon MSK para procesar y transformar datos de CDC. AWS Glue también se integra perfectamente con otros servicios de AWS como Lambda, AWS Step Functions y DynamoDB, brindándote un ecosistema integral para construir y gestionar tuberías de procesamiento de datos.

Perfil de cliente unificado

Superar la unificación del perfil del cliente a través de una variedad de sistemas fuente requiere el desarrollo de tuberías de datos robustas. Necesitas tuberías de datos que puedan llevar y sincronizar todos los registros en un almacén de datos. Este almacén de datos proporciona a tu organización la vista holística de los registros de cliente que se necesita para la eficiencia operativa de las aplicaciones de IA generativa basadas en RAG. Para construir un almacén de datos de este tipo, un almacén de datos no estructurado sería lo mejor.

Un gráfico de identidad es una estructura útil para crear un perfil de cliente unificado porque consolida e integra datos de clientes de varias fuentes, garantiza la precisión de los datos y la deduplicación, ofrece actualizaciones en tiempo real, conecta conocimientos entre sistemas, permite la personalización, mejora la experiencia del cliente y respalda el cumplimiento normativo. Este perfil de cliente unificado potencia a la aplicación de IA generativa para comprender y relacionarse efectivamente con los clientes, y cumplir con las regulaciones de privacidad de datos, mejorando en última instancia las experiencias de cliente y impulsando el crecimiento empresarial. PuedesConstruye tu solución de gráfico de identidad utilizando Amazon Neptune, un servicio de base de datos de gráficos rápido, confiable y completamente administrado.

AWS proporciona otros servicios de almacenamiento NoSQL administrados y serverless para objetos de valor clave no estructurados. Amazon DocumentDB (con compatibilidad con MongoDB) es un servicio de base de datos de documentos rápido, escalable, altamente disponible y completamente administrado que admite cargas de trabajo nativas de JSON. DynamoDB es un servicio de base de datos NoSQL completamente administrado que proporciona un rendimiento rápido y predecible con escalabilidad sin problemas.

Actualizaciones de base de conocimiento organizativa casi en tiempo real

Al igual que los registros de clientes, los repositorios de conocimiento interno, como las políticas de la empresa y los documentos organizativos, están divididos entre sistemas de almacenamiento. Normalmente, estos datos no estructurados se actualizan de forma no incremental. El uso de datos no estructurados para aplicaciones de IA es efectivo mediante incrustaciones vectoriales, que es una técnica para representar datos de alta dimensión, como archivos de texto, imágenes y archivos de audio, como numéricos multidimensionales.

AWS proporciona varios servicios de motor vectorial, como Amazon OpenSearch Serverless, Amazon Kendra, y Amazon Aurora PostgreSQL-Compatible Edition con la extensión pgvector para almacenar incrustaciones vectoriales. Las aplicaciones de IA generativa pueden mejorar la experiencia del usuario transformando la solicitud del usuario en un vector y utilizando este para consultar el motor vectorial para recuperar información contextualmente relevante. Tanto la solicitud como los datos vectoriales recuperados se pasan luego al LLM para recibir una respuesta más precisa y personalizada.

El siguiente diagrama ilustra un flujo de trabajo de procesamiento de flujo de ejemplo para incrustaciones vectoriales.

Los contenidos de la base de conocimiento deben convertirse en incrustaciones vectoriales antes de escribirse en el almacén de datos vectoriales. Amazon Bedrock o Amazon SageMaker pueden ayudarte a acceder al modelo de tu elección y exponer un punto de conexión privado para esta conversión. Además, puedes utilizar bibliotecas como LangChain para integrarte con estos puntos de conexión. Construir un proceso por lotes puede ayudarte a convertir el contenido de tu base de conocimiento en datos vectoriales y almacenarlo en una base de datos vectorial inicialmente. Sin embargo, es necesario depender de un intervalo para volver a procesar los documentos y sincronizar tu base de datos vectorial con los cambios en el contenido de tu base de conocimiento. Con un gran número de documentos, este proceso puede ser ineficiente. Entre estos intervalos, los usuarios de tu aplicación de IA generativa recibirán respuestas según el contenido antiguo, o recibirán una respuesta inexacta porque el nuevo contenido aún no está vectorizado.

El procesamiento de flujo es una solución ideal para estos desafíos. Produce eventos según los documentos existentes inicialmente y luego monitorea el sistema fuente y crea un evento de cambio de documento tan pronto como ocurran. Estos eventos se pueden almacenar en un almacenamiento de transmisión y esperar a ser procesados por un trabajo de transmisión. Un trabajo de transmisión lee estos eventos, carga el contenido del documento y transforma los contenidos en un conjunto de tokens relacionados de palabras. Cada token se transforma aún más en datos vectoriales a través de una llamada a API a un FM de incrustación. Los resultados se envían para su almacenamiento en el almacenamiento vectorial a través de un operador de sumidero.

Si estás utilizando Amazon S3 para almacenar tus documentos, puedes construir una arquitectura de fuente de eventos basada en desencadenadores de cambio de objeto de S3 para Lambda. Una función Lambda puede crear un evento en el formato deseado y escribirlo en tu almacenamiento de transmisión.

También puedes usar Apache Flink para ejecutar como un trabajo de transmisión. Apache Flink proporciona el conector de fuente nativo FileSystem, que puede descubrir archivos existentes y leer sus contenidos inicialmente. Después de eso, puede monitorear continuamente tu sistema de archivos en busca de nuevos archivos y capturar su contenido. El conector admite la lectura de un conjunto de archivos desde sistemas de archivos distribuidos como Amazon S3 o HDFS con un formato de texto plano, Avro, CSV, Parquet, y más, y produce un registro de transmisión. Como servicio completamente administrado, el Servicio Administrado para Apache Flink elimina la carga operativa de implementar y mantener trabajos de Flink, lo que te permite centrarte en la construcción y escala de tus aplicaciones de transmisión. Con una integración perfecta en los servicios de transmisión de AWS como Amazon MSK o Kinesis Data Streams, proporciona funciones como escalado automático, seguridad y resistencia, ofreciendo aplicaciones de Flink confiables y eficientes para el manejo de datos de transmisión en tiempo real.

Según tus preferencias de DevOps, puedes elegir entre Kinesis Data Streams o Amazon MSK para almacenar los registros de transmisión. Kinesis Data Streams simplifica las complejidades de construir y administrar aplicaciones personalizadas de datos de transmisión, lo que te permite centrarte en obtener información de tus datos en lugar del mantenimiento de la infraestructura. Los clientes que utilizan Apache Kafka a menudo optan por Amazon MSK debido a su sencillez, escalabilidad y confiabilidad para supervisar los clústeres de Apache Kafka dentro del entorno de AWS. Como un servicio completamente administrado, Amazon MSK asume las complejidades operativas asociadas con la implementación y el mantenimiento de clústeres de Apache Kafka, lo que te permite concentrarte en la construcción y expansión de tus aplicaciones de transmisión.

Dado que una integración de API RESTful se adapta a la naturaleza de este proceso, necesitas un marco que admita un patrón de enriquecimiento con estado a través de llamadas de API RESTful para realizar un seguimiento de las fallas y reintentar las solicitudes fallidas. Una vez más, Apache Flink es un marco que puede realizar operaciones con estado a velocidad en memoria. Para comprender las mejores formas de hacer llamadas de API a través de Apache Flink, consulta Patrones comunes de enriquecimiento de datos de transmisión en tiempo real en Amazon Kinesis Data Analytics para Apache Flink.

Apache Flink proporciona conectores de sumidero nativos para escribir datos en almacenes de datos vectoriales como Amazon Aurora para PostgreSQL con pgvector o Amazon OpenSearch Service con VectorDB. Alternativamente, puedes almacenar la salida del trabajo de Flink (datos vectorizados) en un tema de MSK o un flujo de datos de Kinesis. OpenSearch Service proporciona soporte para ingestión nativa desde flujos de datos de Kinesis o temas de MSK. Para obtener más información, consulta Presentación de Amazon MSK como fuente para la ingestión de Amazon OpenSearch y Carga de datos de transmisión desde Amazon Kinesis Data Streams.

Análisis de retroalimentación y ajuste fino

Es importante…Para los gerentes de operaciones de datos y desarrolladores de IA/ML obtener información sobre el rendimiento de la aplicación de IA generativa y los FMs en uso. Para lograr eso, es necesario construir canalizaciones de datos que calculen indicadores clave de rendimiento (KPI) importantes basados en la retroalimentación del usuario y una variedad de registros y métricas de la aplicación. Esta información es útil para que los interesados obtengan una visión en tiempo real sobre el rendimiento del FM, la aplicación y la satisfacción general del usuario sobre la calidad del soporte que reciben de su aplicación. También es necesario recopilar y almacenar el historial de conversaciones para ajustar aún más sus FMs y mejorar su capacidad para realizar tareas específicas del dominio.

Este caso de uso se adapta muy bien al ámbito de la analítica en streaming. Su aplicación debe almacenar cada conversación en un almacenamiento en streaming. Su aplicación puede solicitar a los usuarios su calificación de la precisión de cada respuesta y su satisfacción general. Estos datos pueden estar en formato de elección binaria o texto libre. Estos datos se pueden almacenar en un flujo de datos de Kinesis o un tema de MSK, y procesarse para generar KPI en tiempo real. Puede poner a trabajar a los FMs para el análisis de sentimientos de los usuarios. Los FMs pueden analizar cada respuesta y asignar una categoría de satisfacción del usuario.

La arquitectura de Apache Flink permite la agregación de datos complejos a lo largo de ventanas de tiempo. También proporciona soporte para consultas SQL sobre flujos de eventos de datos. Por lo tanto, al usar Apache Flink, puede analizar rápidamente las entradas de usuario sin procesar y generar KPI en tiempo real escribiendo consultas SQL conocidas. Para obtener más información, consulte Table API & SQL.

Con Amazon Managed Service for Apache Flink Studio, puede construir y ejecutar aplicaciones de procesamiento de transmisión de Apache Flink utilizando SQL estándar, Python y Scala en un cuaderno interactivo. Los cuadernos de Studio están impulsados por Apache Zeppelin y utilizan Apache Flink como motor de procesamiento en transmisión. Los cuadernos de Studio combinan de manera transparente estas tecnologías para hacer que las analíticas avanzadas en flujos de datos sean accesibles para desarrolladores de todos los niveles de habilidad. Con soporte para funciones definidas por el usuario (UDFs), Apache Flink permite construir operadores personalizados para integrarse con recursos externos como FMs para realizar tareas complejas como análisis de sentimientos. Puede utilizar UDFs para calcular varios indicadores o enriquecer los datos en bruto de la retroalimentación del usuario con información adicional como el sentimiento del usuario. Para obtener más información sobre este patrón, consulte Abordar proactivamente las preocupaciones del cliente en tiempo real con GenAI, Flink, Apache Kafka y Kinesis.

Con Managed Service for Apache Flink Studio, puede implementar su cuaderno de Studio como un trabajo de transmisión con un clic. Puede utilizar conectores nativos de sink proporcionados por Apache Flink para enviar la salida al almacenamiento de su elección o almacenarla en un flujo de datos de Kinesis o un tema de MSK. Amazon Redshift y OpenSearch Service son ideales para almacenar datos analíticos. Ambos motores proporcionan soporte nativo para ingestas desde Kinesis Data Streams y Amazon MSK a través de una canalización de transmisión separada a un lago de datos o almacén de datos para su análisis.

Amazon Redshift utiliza SQL para analizar datos estructurados y semiestructurados en almacenes de datos y lagos de datos, utilizando hardware diseñado por AWS y aprendizaje automático para ofrecer la mejor relación rendimiento-precio a escala. OpenSearch Service ofrece capacidades de visualización impulsadas por OpenSearch Dashboards y Kibana (versiones de 1.5 a 7.10).

Puede utilizar los resultados de dicho análisis combinado con los datos de indicación del usuario para ajustar finamente el FM cuando sea necesario. SageMaker es la forma más sencilla de ajustar finamente sus FMs. Utilizar Amazon S3 con SageMaker proporciona una integración potente y sin problemas para ajustar finamente sus modelos. Amazon S3 sirve como una solución de almacenamiento de objetos escalable y duradera, que permite el almacenamiento y recuperación sencillos de conjuntos de datos grandes, datos de entrenamiento y artefactos del modelo. SageMaker es un servicio de ML completamente administrado que simplifica todo el ciclo de vida de ML. Al utilizar Amazon S3 como backend de almacenamiento para SageMaker, puede beneficiarse de la escalabilidad, fiabilidad y rentabilidad de Amazon S3, al integrarlo sin problemas con las capacidades de entrenamiento e implementación de SageMaker. Esta combinación permite una gestión eficiente de datos, facilita el desarrollo colaborativo de modelos y garantiza que los flujos de trabajo de ML sean ágiles y escalables, mejorando en última instancia la agilidad y el rendimiento general del proceso de ML. Para obtener más información, consulte Ajuste fino de Falcon 7B y otros LLM en Amazon SageMaker con el decorador @remote.

Con un conector de sink del sistema de archivos, los trabajos de Apache Flink pueden enviar datos a Amazon S3 en archivos en formatos abiertos (como JSON, Avro, Parquet y más) como objetos de datos. Si prefiere gestionar su lago de datos utilizando un marco de lago de datos transaccional (como Apache Hudi, Apache Iceberg o Delta Lake), todos estos marcos proporcionan un conector personalizado para Apache Flink. Para más detalles, consulte Crear una canalización de fuente a lago de datos de baja latencia utilizando Amazon MSK Connect, Apache Flink y Apache Hudi.

Resumen

Para una aplicación de IA generativa basada en un modelo RAG, es necesario considerar la construcción de dos sistemas de almacenamiento de datos y desarrollar operaciones de datos que los mantengan actualizados con todos los sistemas fuente. Los trabajos tradicionales por lotes no son suficientes para procesar el tamaño y la diversidad de los datos que necesita integrar con su aplicación de IA generativa. Los retrasos en el procesamiento de los cambios en los sistemas fuente resultan en una respuesta inexacta y reducen la eficiencia de su aplicación de IA generativa. La transmisión de datos le permite ingerir datos de una variedad de bases de datos en varios sistemas. También le permite transformar, enriquecer, unir y agregar datos de muchas fuentes de manera eficiente en tiempo casi real. La transmisión de datos proporciona una arquitectura de datos simplificada para recopilar y transformar las reacciones o comentarios en tiempo real de los usuarios sobre las respuestas de la aplicación, lo que le ayuda a entregar y almacenar los resultados en un lago de datos para el ajuste fino del modelo. La transmisión de datos también le ayuda a optimizar las canalizaciones de datos procesando solo los eventos de cambio, lo que le permite responder a los cambios de datos de manera más rápida y eficiente.

Obtenga más información sobre los servicios de transmisión de datos de AWS y comience a construir su propia solución de transmisión de datos.


Acerca de los Autores

Ali Alemi es un Arquitecto de Soluciones Especialista en Transmisión en AWS. Ali asesora a los clientes de AWS con las mejores prácticas arquitectónicas y los ayuda a diseñar sistemas de datos de análisis en tiempo real que sean fiables, seguros, eficientes y rentables. Trabaja hacia atrás desde los casos de uso del cliente y diseña soluciones de datos para resolver sus problemas comerciales. Antes de unirse a AWS, Ali apoyó a varios clientes del sector público y a socios consultores de AWS en su camino de modernización de aplicaciones y migración a la nube.

Imtiaz (Taz) Sayed es el líder técnico mundial de Analítica en AWS. Disfruta interactuando con la comunidad sobre todo lo relacionado con datos y analítica. Se puede contactar con él a través de LinkedIn.

¿Nos apoyarás hoy?

Creemos que todos merecen entender el mundo en el que viven. Este conocimiento ayuda a crear mejores ciudadanos, vecinos, amigos y custodios de nuestro planeta. Producir periodismo explicativo y profundamente investigado requiere recursos. Puedes apoyar esta misión haciendo una donación económica a Gelipsis hoy. ¿Te sumarás a nosotros?

Suscríbete para recibir nuestro boletín:

Recent Articles

Related Stories

DEJA UN COMENTARIO

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí