Plataforma de datos para cargas de trabajo de inteligencia artificial en Azure
Una plataforma de datos es un conjunto integrado de tecnologías diseñadas para administrar los requisitos de carga de trabajo mediante la ingesta de datos de origen y, después, el filtrado, la agregación y la preparación para su consumo.
Los datos tienen características distintas que se basan en su uso previsto. Le recomendamos encarecidamente que comprenda los principios del diseño de canalización de datos correctos antes de explorar las funcionalidades tecnológicas que describe este artículo. Para obtener más información, consulte Diseño de datos de entrenamiento y Diseño de datos de puesta a tierra.
La plataforma también satisface las necesidades de almacenamiento cuando los datos descansan en determinados puntos de la canalización. Si la carga de trabajo es compleja y controla los datos a gran escala, puede distribuir las tareas de canalización entre varios componentes. Para casos de uso más sencillos, evalúe si puede usar los datos de origen en un almacén que ofrezca esas funcionalidades combinadas.
Formule las siguientes preguntas para evitar diseñar una arquitectura demasiado compleja para la plataforma de datos. Siempre es mejor mantener las cosas sencillas cuando puedas.
- ¿La aplicación puede tener la potencia predictiva esperada mediante la ingesta de datos de un único origen?
- ¿La elección inicial del almacén de datos admite funcionalidades de almacenamiento de datos?
- ¿Los datos de origen ya están optimizados para las búsquedas de IA?
Si responde sí a estas preguntas, puede simplificar la arquitectura al permitir que la aplicación acceda directamente al origen de datos. Este enfoque elimina la necesidad de componentes de arquitectura de macrodatos, como la ingesta de datos, la integración del almacén analítico y el procesamiento de datos externos. Si la base de datos de origen puede controlar las búsquedas necesarias, la integración de la funcionalidad de índice de búsqueda directamente en la base de datos de origen puede ser un enfoque práctico. Asegúrese de que el origen puede escalar de forma rentable para satisfacer nuevas demandas.
Por ejemplo, Azure Cosmos DB admite la búsqueda vectorial, por lo que es posible que no necesite otro índice. Otro caso de uso es usar réplicas de lectura como puntos de conexión para las operaciones de búsqueda. En el caso de las bases de datos SQL que tienen réplicas de lectura, las búsquedas directas a estas réplicas pueden optimizar el rendimiento. Aproveche las funcionalidades integradas de la base de datos para simplificar la arquitectura tanto como sea posible.
Una arquitectura de plataforma de datos para cargas de trabajo a gran escala es más compleja.
La ingesta de datos de varios orígenes de datos y la orquestación de búsquedas en varias plataformas puede ser compleja e ineficaz. Además, todavía necesita algún extracto, transformación y carga (ETL); extraer, cargar y transformar (ELT); o extraiga y cargue los procesos (EL) para volver a dar forma a los datos dentro del almacén de datos. El escenario se vuelve más complejo, ya que los datos requieren más procesamiento. Debe agregar muchos componentes a la arquitectura para controlar la canalización de un extremo a otro desde la ingesta hasta atender consultas. Muchas tecnologías de macrodatos son altamente especializadas y se crean para controlar esas tareas de procesamiento de forma eficaz.
Una de estas tecnologías es el índice de búsqueda. La principal ventaja de agregar un índice independiente es su capacidad de administrar consultas de forma eficaz y procesar grandes volúmenes de datos que tienen un alto rendimiento. Esta función descarga las funcionalidades de inteligencia artificial del origen de datos original para que el índice pueda centrarse en su función principal y atender consultas.
Elija una plataforma en función de su funcionalidad y propósito específicos, y tenga en cuenta sus requisitos funcionales y técnicos. Si la arquitectura evoluciona para controlar casos de uso complejos, céntrese en las secciones siguientes sobre almacenes de datos agregados, canalizaciones de procesamiento e índices de búsqueda.
Recomendaciones
Este es el resumen de las recomendaciones proporcionadas en este artículo.
Recomendación | Descripción |
---|---|
Cree almacenes de datos seguros, eficaces y rentables. | Una parte clave de la plataforma de datos es un almacén de datos que agrega datos de varios orígenes y permite la integración con varias tareas de integración. Esto ayuda a que la carga de trabajo se realice a gran escala. Asegúrese de revisar los distintos requisitos funcionales y no funcionales del almacén de datos para garantizar una implementación rentable. ▪ Consideraciones para almacenar datos agregados |
Siga los procedimientos recomendados para la ingesta y el procesamiento de datos. | Los datos de alta calidad ayudan a mejorar la confiabilidad de la carga de trabajo y la experiencia del usuario final. Tenga en cuenta los requisitos de la carga de trabajo, así como los procedimientos recomendados clave para crear procesos eficaces de ingesta y transición de datos que ayudan a mantener una barra de alta calidad. ▪ Consideraciones sobre el procesamiento de datos |
Diseñar índices de búsqueda confiables y relevantes. | Tenga como objetivo un almacén de datos de alto rendimiento, de escritura una vez y de lectura que controle eficazmente consultas impromptu y aproximadas, lo que proporciona resultados relevantes a la base de usuarios, incluso cuando las consultas no son precisas. ▪ Consideraciones para un índice de búsqueda |
Asegúrese de que los almacenes de datos funcionales se realizan a gran escala. | Según los requisitos funcionales de la carga de trabajo, es posible que tenga que crear almacenes de datos funcionales, por ejemplo, para la inferencia sin conexión. Es importante crear almacenes de datos con su función designada en mente y aplicar los procedimientos recomendados para la función. ▪ Consideraciones para un almacén de características ▪ Consideraciones para un almacén de datos de inferencia sin conexión |
Consideraciones para almacenar datos agregados
En las cargas de trabajo de IA, los datos pasan por varias fases de almacenamiento y procesamiento con la ayuda de canalizaciones que orquestan el flujo de trabajo entre estas fases. Una fase clave es un almacén de datos que contiene datos ingeridos y agregados desde varios orígenes. Necesita este almacén para realizar el procesamiento hasta que los datos alcancen un estado adecuado para el entrenamiento o la indexación. El objetivo principal es asegurarse de que los datos reflejen con precisión su origen.
Nota:
Un enfoque alternativo consiste en acceder directamente a los orígenes de datos. Sin embargo, este enfoque puede provocar problemas de rendimiento, ya que podría sobrecargar los sistemas de origen con características de IA. También puede haber problemas de acceso a datos. Para evitar estos problemas, se recomienda copiar datos en este almacén.
La plataforma de datos de este almacén debe cumplir los estándares de seguridad aplicados en los orígenes de datos, ser rentable y admitir la integración con las tareas de procesamiento ETL, ELT y EL. Las opciones varían de almacenamiento básico a tecnologías de macrodatos basadas en el volumen de datos. Elija almacenamiento económico que le ayude a lograr una confiabilidad y un rendimiento suficientes.
En la sección siguiente se proporcionan instrucciones sobre las funcionalidades que se deben tener en cuenta al seleccionar una tecnología de almacén de datos. Para más información, consulte Canalizaciones de procesamiento de datos.
Requisitos funcionales
¿La plataforma puede controlar varios formatos de datos?
El almacén de datos debe poder almacenar varios formatos de datos y transformarlos en otros formatos si es necesario.
Supongamos que la canalización de ingesta origina datos de una base de datos relacional y un archivo Parquet, por lo que admite datos estructurados y semiestructurados. Quiere convertir datos relacionales en formato Parquet de acuerdo con sus definiciones de esquema. La plataforma de datos debe tener funcionalidades integradas para realizar esa transformación sin necesidad de escribir código personalizado.
¿Espera almacenar varias versiones de los datos?
Los valores y esquemas de datos pueden cambiar con el tiempo y administrar varias versiones de los datos es importante.
Los sistemas de origen suelen almacenar solo los datos actuales, no los datos históricos. Si es importante conservar los datos históricos, es posible que tenga que duplicar grandes conjuntos de datos de sistemas de origen. En este caso, el control de versiones puede desambiguar los datos actuales de los datos históricos.
En algunos casos, es posible que tenga que mantener copias de datos para distintos casos de uso. Para admitir este escenario, es posible que tenga que bifurcar los datos. Cada bifurcación puede mutar de forma independiente para mejorar su calidad y facilidad de uso. La plataforma de datos debe poder mantener el control de versiones adecuado de esas bifurcaciones.
La plataforma de datos debe poder almacenar versiones de datos a lo largo del tiempo para proporcionar contexto histórico. Este contetxt es beneficioso para el procesamiento y el entrenamiento de modelos de inteligencia artificial, ya que ofrece varias observaciones en lugar de un solo punto en el tiempo.
¿La plataforma tiene funcionalidades integradas de administración del ciclo de vida de los datos?
La administración del ciclo de vida de los datos (DLM) es un proceso para administrar datos desde su creación hasta su eliminación, con fases como la recopilación de datos, el almacenamiento, el uso, el archivado y la eliminación.
Sin DLM, los datos pueden crecer de forma incontrolada, lo que suele dar lugar a varias copias a medida que se mueve a través de los niveles de calidad. La plataforma de datos debe tener funcionalidades DLM para evitar el crecimiento de datos sin enlazar.
Tenga en cuenta este escenario. El paso de preprocesamiento debe repetirse para refinar los datos hasta que alcance una calidad aceptable para fines de entrenamiento. La plataforma de datos debe poder eliminar copias intermedias de los datos.
En algunos casos, es posible que tenga que conservar los datos de las auditorías normativas. La plataforma de datos debe tener funcionalidades de almacenamiento en frío para los datos a los que se accede con poca frecuencia para poder archivarlos a un costo menor.
¿La plataforma admite características de gobernanza de datos?
La auditabilidad es un aspecto importante para las cargas de trabajo de IA. El almacén de datos debe mantener pistas de auditoría que puedan realizar un seguimiento del acceso a los datos, garantizar la privacidad y comprender los orígenes de datos.
Use una característica de diccionario de datos para administrar metadatos, tipos de datos, propósitos y linaje. Esta característica es especialmente importante cuando los datos se ingieren desde varios orígenes.
¿Tiene previsto realizar el entrenamiento con datos de producción?
Hay dos enfoques para las implementaciones, la implementación del modelo y la implementación de código. En la implementación del modelo, los datos de producción se usan en el desarrollo, lo que requiere estrictas medidas de seguridad. En la implementación de código, el modelo no ve los datos de producción hasta que se encuentra en producción. Aunque la implementación de código simplifica los problemas de seguridad en el entorno de desarrollo, puede aumentar los costos de proceso. Cada enfoque que elija, la plataforma de datos debe admitir entornos independientes para el desarrollo y la producción.
¿Prioriza las características de conveniencia sobre las características funcionales clave?
Al elegir una plataforma de datos para inteligencia artificial o aprendizaje automático, no se base solo en sus funcionalidades de cuadernos. Aunque los cuadernos son útiles para el análisis de datos exploratorios, no deben ser el factor de decisión. Los recursos de proceso para cuadernos suelen estar fuera del ámbito del almacén de datos de agregación. Normalmente se integran con otros recursos, como Azure Machine Learning.
Requisitos no funcionales
¿Cuántos datos espera almacenar?
Las cargas de trabajo de IA generan una gran cantidad de datos. El volumen puede aumentar significativamente debido a varias versiones y metadatos adicionales.
La escalabilidad para el almacenamiento y el rendimiento es importante. La plataforma de datos debe consumir de forma eficaz los datos de la canalización de ingesta mientras controla el volumen de datos, administra escrituras simultáneas y garantiza un rendimiento de escritura individual sin degradación. Esos criterios también se aplican a la canalización de procesamiento que lee, procesa e incluso vuelve a escribir en el almacén.
Al tomar una decisión, tenga en cuenta todo el proceso porque la ingesta y el procesamiento a menudo se producen simultáneamente. El diseño debe ser capaz de administrar el movimiento y el procesamiento de datos frecuentes. La plataforma de datos debe ofrecer altos niveles de paralelismo para procesar los datos de forma eficaz.
La tecnología de plataforma debe emitir telemetría que proporcione información significativa sobre el rendimiento y el rendimiento de las operaciones de lectura y escritura.
¿Este almacén de datos es un componente crítico que contribuye al destino de confiabilidad de la carga de trabajo?
Elija un almacén de datos que mejore la confiabilidad y la escalabilidad mediante varias instancias. Los almacenes de macrodatos suelen tener un controlador integrado que organiza el procesamiento de datos entre instancias. Si se produce un error en una copia, se puede usar otra.
Tenga en cuenta que los datos no sirven para su propósito si no es correcto o accesible. La plataforma de datos debe garantizar la durabilidad y asegurarse de que los datos permanecen intactos. Asegúrese de que las API que consultan los datos son accesibles. Además, tenga en cuenta los almacenes de datos que tienen características de copia de seguridad.
En general, no es necesario hacer una copia de seguridad de estos datos. Sin embargo, si el costo de agregar datos cada vez desde cero es significativamente alto, puede considerar la posibilidad de rehidratar los datos de una copia de seguridad.
¿Tiene alguna restricción de costos?
Si la confiabilidad y el rendimiento de los datos son suficientes, tenga en cuenta el impacto en el costo.
El sistema debe optimizarse para la escritura una vez, leer muchos para evitar excesos de pendientes en el almacenamiento de datos. Los datos de entrenamiento o puesta a tierra son importantes, pero no críticos, como una base de datos de producción, lo que requiere capacidad de respuesta instantánea. El objetivo es equilibrar el costo con suficiente eficiencia para maximizar la rentabilidad de la inversión.
Los requisitos anteriores pueden llevar a considerar la posibilidad de usar un lago de datos porque ofrece DLM, niveles de calidad, observabilidad y compatibilidad con diversos formatos de archivo. Si la carga de trabajo ya usa un lago de datos, aproveche ese recurso para satisfacer sus necesidades de inteligencia artificial. Como alternativa, puede elegir otras opciones de almacenamiento, como Azure Blob Storage, que proporciona algún nivel de DLM, funcionalidades de supervisión y altas tasas de transacciones.
Consideraciones sobre el procesamiento de datos
Debe procesar los datos en el almacén de datos agregados para aumentar su utilidad de bajada. Las canalizaciones de ETL realizan esta tarea, lo que es más importante en los puntos siguientes:
Capa de ingesta
La canalización es responsable de recopilar datos de varios orígenes y moverlos al almacén de datos agregado. Durante este proceso, la canalización normalmente realiza el preprocesamiento básico e incluso puede estructurar los datos en un formato consultable.
Para minimizar la necesidad de código personalizado, se recomienda descargar gran parte de esta responsabilidad en una plataforma de datos. Al seleccionar una tecnología, tenga en cuenta las características de ETL necesarias para admitir el entrenamiento y el aumento del modelo.
Capa de procesamiento
Los datos del almacén de datos agregados se someten a un procesamiento extenso antes de que se puedan usar para indexar o entrenar modelos casos de uso. La canalización de procesamiento requiere niveles de confiabilidad y escalado similares a la canalización de ingesta. La principal diferencia es el tipo de procesamiento realizado en los datos.
El proceso implica una recopia significativa y la reestructuración de los datos. Este proceso incluye tareas como el reconocimiento de entidades, la integración de datos adicionales en el conjunto de datos y la realización de búsquedas. Este proceso también puede incluir la eliminación de datos innecesarios y la aplicación de la lógica de datos a través de una plataforma de orquestación de datos.
La fase de procesamiento de datos puede producir varias salidas, que llegan a diferentes destinos para diferentes intenciones. Su objetivo principal es preparar y transferir datos desde el almacén de datos agregado para su consumo por el destino final. El consumidor puede extraer datos cuando sea necesario o la capa de procesamiento puede insertar datos cuando esté listo.
Nota:
En el contexto del aprendizaje automático y la inteligencia artificial generativa, es importante distinguir entre los procesos ETL, ELT y EL. El ETL tradicional es fundamental para el almacenamiento de datos y las asignaciones relacionales de objetos, donde, debido a las restricciones de esquema, los datos se deben transformar antes de cargarlos en el sistema de destino. ELT implica extraer datos, cargarlos en un lago de datos y, a continuación, transformarlos mediante herramientas como Python o PySpark. En la inteligencia artificial generativa, especialmente para la generación aumentada de recuperación (RAG), el proceso suele implicar extraer y cargar documentos en el almacenamiento en primer lugar, seguido de transformaciones como fragmentación o extracción de imágenes.
En la sección siguiente se proporcionan instrucciones que se deben tener en cuenta al seleccionar una tecnología de procesamiento de datos que tenga funcionalidades de ETL.
Requisitos funcionales
¿Cuál es la compatibilidad para conectarse a orígenes de datos?
Los datos que se deben procesar pueden almacenar en bases de datos relacionales, orígenes de macrodatos o varias soluciones de almacenamiento.
La mayoría de las tecnologías de procesamiento de datos admiten integraciones precompiladas que permiten conectarse a varios orígenes de datos sin escribir código. Los conectores tienen características como la capacidad de copiar datos de origen a receptor, realizar búsquedas y aplicar algún tipo de gobernanza de datos. Hay herramientas que ofrecen características de arrastrar y colocar para evitar codificación innecesaria.
Elija una plataforma de datos que facilite la integración con los orígenes de datos esperados.
¿La plataforma puede procesar varios formatos de datos?
Los datos pueden tener varios formatos, como datos estructurados como bases de datos y JSON, datos no estructurados como imágenes y documentos, o datos de streaming como datos de Internet de las cosas. Las canalizaciones deben poder controlar los tipos de archivo esperados.
¿Ofrece la plataforma características para la preparación y la recopia de datos?
Debe procesar los datos que pretende usar para el entrenamiento o el aumento hasta que sea adecuado para el entrenamiento, ajuste o indexación. Las estrategias de diseño de datos deben describir explícitamente los requisitos.
En los artículos siguientes se describen consideraciones específicas:
- Diseño de datos de entrenamiento para cargas de trabajo de INTELIGENCIA ARTIFICIAL en Azure
- Diseño de datos de base para cargas de trabajo de inteligencia artificial en Azure
Como parte de la limpieza básica, la plataforma quita duplicados, rellena los valores que faltan y elimina el ruido extraño durante la ingesta. En algunos casos de uso, como implementar un patrón RAG, se recomienda que se escriban fragmentos en minúsculas.
Aunque estos pasos de preprocesamiento son necesarios, la plataforma también debe admitir la manipulación enriquecida de datos específica de sus necesidades. Este proceso implica cargar, volver a crear y transformar datos. Para determinados modelos, la plataforma debe poder consultar orígenes externos para el análisis de documentos, como la inteligencia de documentos u otras herramientas de inteligencia artificial. Este trabajo es necesario para preparar los datos y para el enriquecimiento de datos.
Si el almacén de datos admite este nivel de procesamiento, puede localizar esta fase en el almacén sin moverla a otro lugar. De lo contrario, necesita una tecnología externa como Azure Databricks o Azure Data Factory. Estas tecnologías son adecuadas para mover datos y realizar manipulaciones, como filtrar, rellenar valores que faltan y estandarizar mayúsculas y minúsculas de cadena. Para tareas más complejas, normalmente se requiere una plataforma de hospedaje de trabajos. Puede usar grupos de Spark para la orquestación de macrodatos.
En determinados casos de uso, es posible que desee externalizar esta responsabilidad al consumidor de los datos. Por ejemplo, los modelos de inteligencia artificial que usan el aprendizaje automático ofrecen funcionalidades de procesamiento de trabajos para leer, manipular y escribir datos mediante código de Python personalizado.
Otro ejemplo es la implementación de RAG. Un paso de procesamiento común es la fragmentación, donde un documento se divide en varios fragmentos y cada fragmento se convierte en una fila del índice. También almacena incrustaciones, que suele generar un servicio OpenAI para estos fragmentos. En las búsquedas de IA, este proceso se orquesta dentro del flujo de trabajo de indexación, ya sea mediante OpenAI o Azure AI Search.
¿Hay un orquestador integrado para administrar flujos de trabajo?
Las tareas de procesamiento son modulares y se ejecutan como trabajos. La plataforma debe tener funcionalidades de orquestación que desglosan el flujo de trabajo en pasos o trabajos. Cada trabajo debe definirse, ejecutarse y supervisarse de forma independiente.
En flujos de trabajo complejos, determinados pasos dependen de la finalización correcta de las anteriores. El orquestador debe controlar las dependencias del trabajo y asegurarse de que las tareas se completan en el orden correcto.
El diseño de datos es un proceso iterativo, por lo que la herramienta de orquestador debe ser lo suficientemente flexible como para modificar fácilmente los flujos de trabajo. Debe poder insertar nuevos pasos o ajustar los existentes sin volver a escribir grandes partes del código.
Data Factory es una opción popular porque proporciona un conjunto de características enriquecido para administrar flujos de trabajo de datos. Azure Databricks también puede administrar flujos de trabajo complejos y programar y supervisar trabajos. También debe tener en cuenta las implicaciones de los costos. Por ejemplo, las características de Azure Databricks pueden ser amplias, pero también son costosas. Una opción alternativa de código abierto, como Apache NiFi, podría ser más rentable.
En última instancia, la herramienta que elija depende de lo que su organización permita y de las aptitudes con las que el equipo de carga de trabajo se sienta cómodo.
Requisitos no funcionales
Al elegir una canalización de procesamiento, es fundamental equilibrar el rendimiento y la observabilidad. La canalización debe procesar y aterrizar de forma confiable los datos necesarios para los modelos o índices dentro de un período de tiempo suficiente. Debe ser lo suficientemente ligero como para satisfacer sus necesidades actuales y ser escalables para el crecimiento futuro. Los equipos deben decidir cuánto necesitan para probar en el futuro la plataforma para evitar la deuda técnica más adelante. Entre las consideraciones clave se incluyen la frecuencia y el volumen de ingesta de datos, la confiabilidad del proceso y la necesidad de observabilidad para supervisar y solucionar problemas rápidamente.
¿Cuántos datos espera ingerir?
Para las fases de ingesta y procesamiento, tenga en cuenta la escalabilidad y la velocidad de la plataforma para controlar las tareas. Por ejemplo, espera cargar 10 terabytes de datos diariamente en un índice o para el entrenamiento del modelo. La plataforma de ingesta de datos debe ser capaz de procesar ese volumen y con el rendimiento esperado. En este caso, es posible que el uso de Azure Logic Apps no sea factible porque podría producir un error en dicha carga. En su lugar, Data Factory es más adecuado para esta escala de procesamiento de datos.
Una manera de controlar el gran volumen es a través del paralelismo, ya que permite un procesamiento y control de datos más eficaz. Las plataformas como Azure Databricks pueden orquestar tareas mediante la creación de varias instancias para el mismo trabajo y la distribución de la carga de forma eficaz.
Además, tenga en cuenta la latencia tolerable y la complejidad de los trabajos. Por ejemplo, la limpieza de datos implica validar y reemplazar potencialmente campos no válidos o enmascarar información confidencial. Estas tareas, aunque básicas, requieren recursos significativos porque cada fila se procesa individualmente, lo que agrega al tiempo total.
¿Qué funcionalidades de supervisión necesita?
Las canalizaciones de procesamiento de datos deben tener funcionalidades de supervisión y proporcionar información sobre el rendimiento y el estado de los trabajos de la canalización.
Debe poder realizar un seguimiento del progreso de los trabajos. Supongamos que la canalización ejecuta un trabajo de limpieza de datos que no se completa o se completa parcialmente. Puede haber un impacto descendente en la calidad de los datos con los que se entrena el modelo, lo que podría afectar a la potencia predictiva.
De forma similar a otros componentes de la carga de trabajo, debe habilitar registros, métricas y alertas en la canalización de datos para comprender su comportamiento. Recopile y analice las métricas de rendimiento para comprender los aspectos de eficiencia y confiabilidad.
Identifique las brechas en la telemetría integrada y determine qué supervisión adicional necesita implementar. Esta supervisión puede implicar agregar métricas o registro personalizados para capturar detalles específicos sobre los pasos del trabajo.
¿Cuánto confiabilidad espera de la plataforma de procesamiento de datos?
La confiabilidad de una canalización de procesamiento de datos varía en función de la elección de la plataforma. Aunque Logic Apps tiene funcionalidades de orquestación, es posible que no sea tan confiable como Data Factory. Data Factory, hospedado en un clúster de Azure Kubernetes Service (AKS), puede tener características de confiabilidad diferentes.
Las configuraciones de instancia única se consideran puntos de error. Elija una plataforma que admita características de confiabilidad, como varias instancias, para satisfacer sus requisitos.
La plataforma también debe admitir características de resistencia. Por ejemplo, el orquestador debe reintentar automáticamente una tarea con errores, lo que reduce la necesidad de reinicios manuales.
El procesamiento por lotes puede ser menos confiable que la inferencia, en función de los requisitos de actualización y latencia de los datos. Si el entrenamiento se produce semanalmente y el procesamiento tarda un día, los errores ocasionales son aceptables porque hay tiempo suficiente para reintentar.
¿Hay alguna restricción de costos?
Cuando considere la rentabilidad de una canalización de procesamiento de datos, es importante elegir una solución que satisfaga sus necesidades sin gastos innecesarios. Si los requisitos no justifican las características avanzadas de Azure Databricks, una opción más económica como Data Factory podría ser suficiente. Además, las herramientas de código abierto como Apache Airflow o Apache NiFi pueden proporcionar funcionalidades sólidas a un costo menor. La clave es evitar sobrecargar las características que no necesita y seleccionar una plataforma que equilibre la funcionalidad y la eficiencia de los costos.
¿Cuáles son los requisitos de seguridad de los flujos de trabajo y de los datos que procesa?
Tenga claro los requisitos de seguridad, privacidad y residencia de datos. Por ejemplo, considere cualquier requisito normativo geográfico. Cumpla los requisitos de residencia de datos asegurándose de que los datos se almacenan y procesan dentro de regiones específicas. Es posible que tenga que ejecutar canalizaciones independientes para diferentes regiones, como una para Europa y otra para América, para cumplir con las regulaciones de cumplimiento locales.
La plataforma de canalización de datos debe admitir la administración de identidades y acceso para asegurarse de que solo las identidades autorizadas tengan acceso a trabajos o pasos específicos dentro de los flujos de trabajo. Por ejemplo, si el proceso de ETL consta de varios flujos de trabajo y uno de ellos controla datos altamente confidenciales, la plataforma debe permitirle restringir el acceso a ese flujo de trabajo a la vez que mantiene accesibles a los demás. Esta funcionalidad le ayuda a cumplir los requisitos de seguridad sin necesidad de plataformas independientes para distintos niveles de confidencialidad de datos. Lo ideal es que la plataforma proporcione compatibilidad integrada con este aislamiento que permita una administración de datos eficaz y segura.
Las canalizaciones de procesamiento de datos pueden generar los datos en un índice de búsqueda o en una canalización de entrenamiento de modelos. En función del caso de uso, consulte las secciones sobre índices de búsqueda o almacenes de características.
Consideraciones para un índice de búsqueda
El índice de búsqueda está diseñado para almacenar datos contextuales o de puesta a tierra para enviarlos al punto de conexión de inferencia del modelo, junto con el símbolo del sistema. Ambas llamadas, la consulta de índice y la inferencia de invocación del punto de conexión, tienen lugar en el contexto de mantenimiento de las mismas solicitudes HTTP de cliente. A diferencia de los procesos ETL que controlan los trabajos sin conexión y por lotes, este índice admite la inferencia en tiempo real, lo que requiere un alto rendimiento y confiabilidad. Se especializa en consultas de inteligencia artificial y ofrece características como la indexación y el filtrado de palabras clave, que no son típicos de los almacenes de macrodatos. El objetivo es tener un almacén de datos de alto rendimiento, de escritura una vez y de lectura de varios que admita consultas impromptu y aproximadas. Este almacén de datos puede proporcionar resultados relevantes sin consultas precisas.
Requisitos funcionales
¿Qué tipos de búsqueda admite el índice de búsqueda?
Las consultas que recibe el sistema son esencialmente búsquedas y el índice debe admitir funcionalidades de búsqueda enriquecidas. Para RAG, la búsqueda de vectores no es negociable porque los datos se almacenan como vectores calculados o incrustaciones, que se usan para la búsqueda.
La búsqueda vectorial es eficaz y combinarla con el filtrado y la búsqueda de texto completo mejora la eficacia del índice de búsqueda. El diseño de datos debe tener en cuenta la combinación de estos tipos de búsquedas, como vector, búsqueda de texto completo, filtrado y tipos de datos especiales, como la ubicación geográfica.
El diseño de datos debe indicar explícitamente esos requisitos. Para obtener más información, consulte Consultas eficaces en el diseño de datos.
¿El índice admite datos multimodales?
Elija tecnologías de índice que admitan datos multimodales. Por ejemplo, las búsquedas de IA pueden analizar un correo electrónico, convertir una imagen dentro de ella en vectores y almacenar la descripción en el índice. Use esta función para buscar en varias modalidades de contenido, incluidas imágenes, vídeos y archivos de audio.
¿El índice admite funcionalidades de actualización automática cuando cambian los datos de los orígenes de datos?
Elija un índice que tenga características de actualización automática. Si no está disponible, debe detectar e insertar manualmente los cambios en el índice. Con estas funcionalidades, el indexador puede detectar cambios en los orígenes de datos y extraer actualizaciones automáticamente. Al descargar esta responsabilidad en la plataforma, puede reducir la sobrecarga operativa y simplificar el proceso de mantenimiento.
Requisitos no funcionales
¿El índice puede realizar con grandes volúmenes de datos?
El índice debe ser capaz de controlar grandes cantidades de datos, ser escalables y funcionar bien para cargas de trabajo de búsqueda intensivas. El índice almacena los datos sin procesar y todos los metadatos, enriquecimientos y entidades que están asociados a él. En el contexto del patrón RAG, un único documento dividido en varios fragmentos puede dar lugar a un aumento significativo del volumen de datos.
¿El índice tiene características de confiabilidad integradas?
Considere la alineación entre la confiabilidad del punto de conexión de inferencia o el modelo y el almacén de datos porque dependen entre sí.
El proceso de búsqueda implica dos pasos: consultar el almacén de datos y, a continuación, consultar el punto de conexión de inferencia. Ambos pasos deben tener características de confiabilidad similares. Equilibre los objetivos de confiabilidad entre ambos componentes para garantizar la eficacia de la búsqueda.
Para garantizar la resistencia, la carga de trabajo debe admitir el número esperado de usuarios simultáneos y tener suficiente ancho de banda para controlar los aumentos de tráfico. Idealmente, la plataforma debe sobrevivir a interrupciones zonales.
La plataforma de datos debe diseñarse para evitar el uso de un índice dañado para la inferencia. En tales casos, debería poder recompilar fácilmente el índice. El índice también debe admitir el intercambio confiable entre índices mediante características como el alias para minimizar el tiempo de inactividad durante los intercambios de índices. Sin esta funcionalidad, es posible que tenga que confiar en una copia de seguridad del índice. La administración de una copia de seguridad conlleva una mayor complejidad.
Desde una perspectiva de la carga de trabajo, comprenda los posibles modos de error o indicadores de estrés, como la limitación. Por ejemplo, aunque el sistema normalmente admita 50 usuarios simultáneos, podría admitir solo 30 usuarios durante un proceso de reindexación que se ejecuta como un trabajo en segundo plano. En ese caso, el tiempo del trabajo en segundo plano es importante. Al evaluar el rendimiento de un índice, incluya tanto las consultas front-end como los trabajos back-end.
¿Cuáles son los principales factores de costo de esta tecnología?
Al modelar los costos, calcule los gastos asociados al volumen de datos, el número de consultas y el rendimiento esperado del índice. Tenga en cuenta que los índices son principalmente plataforma como servicio (PaaS), donde se abstraen los precios. Niveles de investigación y sus capacidades para evitar el pago por encima del pago de la capacidad o las características sin usar.
Por ejemplo, AI Search factura como unidades, lo que puede incluir capacidad, rendimiento y almacenamiento. Las características adicionales pueden provocar más cargos. Por ejemplo, un uso extenso de las características de extracción de imágenes puede dar lugar a una factura alta. Las dependencias, como la característica del conjunto de aptitudes, que están fuera del ámbito del índice, pero que forman parte del procesamiento de datos pueden incurrir en costos adicionales.
Pagar por un nivel sin usar la capacidad completa puede dar lugar a un pago por encima del límite. Del mismo modo, el número de tablas del índice y la capacidad de controlar el tráfico simultáneo afecta a los costos.
Para comprender los costos asociados a la búsqueda de IA, consulte Planeamiento y administración de los costos de una servicio Search de IA.
¿Las características de seguridad del índice cumplen el diseño de los datos de seguridad?
El diseño de los datos debe especificar claramente los requisitos de seguridad y privacidad. En entornos de desarrollo y pruebas en los que se usan datos de producción reales, el índice debe admitir funcionalidades que cumplan todos los controles de acceso y las medidas de rastreabilidad. Revise las características de seguridad, como el enmascaramiento de datos y la eliminación de información personal en el índice.
Elija un índice que tenga la capacidad de identificar de forma única los clientes a través del identificador de Entra de Microsoft. El índice de búsqueda también debe admitir controles de acceso de nivel de documento para permitir la consulta de relevancia por identidades. Si el índice no ofrece esas características, ajuste el diseño para lograr funcionalidades similares con filtros de consulta. Para obtener más información, consulte Filtros de seguridad para recortar los resultados en búsqueda de IA.
Idealmente, el índice de búsqueda debe alinearse con los requisitos de seguridad de red. Por ejemplo, si necesita filtrar el tráfico de salida a sitios que no son de Microsoft y mantener la observabilidad, el índice debe ofrecer controles de salida. También debe admitir la segmentación de red. Si el proceso back-end está en una red virtual, la conectividad privada para los componentes clave, incluido el índice, es esencial para evitar la exposición a la red pública de Internet. El índice debe integrarse fácilmente con redes privadas y admitir identidades administradas para la autenticación a través de Microsoft Entra ID.
Consideraciones para un almacén de características
En el caso de los modelos discriminativos, el diseño de datos puede incluir un almacén de datos intermedio que almacena en caché los datos para un refinamiento adicional. Este almacén, conocido como almacén de características, permite a los científicos de datos almacenar características como un paso final, fuera del almacén de datos agregado.
El almacén de características ayuda a catalogar datos para varios usos agregando metadatos como el tiempo de generación y el origen. Este punto de aterrizaje intermedio es ideal para los datos de entrenamiento dorados.
El almacén de características gestionado en Machine Learning es una opción de almacenamiento de datos que se integra con MLflow y otras herramientas. Captura y entrena datos del almacén de datos agregados, agregando una capa reutilizable para mejorar el linaje de datos y la identificación formal dentro de Machine Learning.
Cuando se usa un almacén de características, trata como un almacén de datos con consideraciones de seguridad y acceso.
Consideraciones para un almacén de datos de inferencia sin conexión
En algunos escenarios, el uso de un almacén independiente es adecuado para búsquedas futuras más rápidas, ya que la inferencia se realiza con datos previamente recopilados y calculados previamente, de antemano. En este proceso, la solicitud del usuario nunca alcanza el modelo de IA. Hay varias ventajas:
- Mejora de la eficacia y la experiencia del usuario al reducir la latencia. Los resultados se sirven más rápido para las consultas frecuentes, como la generación de preguntas más frecuentes como resultado.
- Las llamadas de inferencia se pueden escalar horizontalmente más fácilmente como un proceso por lotes sin las restricciones del procesamiento en tiempo real.
- Permite la validación previa para garantizar la precisión antes de la producción.
- Dado que la solicitud no se dirige al punto de conexión de interferencia, reduce la carga, lo que contribuye a la confiabilidad de la carga de trabajo.
- Podría ser más rentable, ya que reduce la necesidad de hardware de alto rendimiento necesario para el procesamiento en tiempo real.
Sin embargo, este enfoque solo es eficaz si se pueden predecir las posibles solicitudes y se espera que los usuarios soliciten una parte significativa de las predicciones. En escenarios con menos solicitudes repetidas, un almacén de inferencia sin conexión podría ser menos eficaz.
El almacén de datos de este escenario debe optimizarse para las operaciones de lectura, debe poder controlar grandes volúmenes de datos y proporcionar una recuperación eficaz. También debe poder integrarse en el almacén de datos agregado. Cualquier almacén con esas funcionalidades se puede considerar, como Azure Cosmos DB, o incluso un almacenamiento de tablas.
Recursos
En estos artículos se proporcionan más detalles sobre los productos de Azure que se recomiendan como opciones de tecnología para las consideraciones que se describen en este artículo.
- Machine Learning
- Blob Storage
- Azure Databricks
- Data Factory
- Búsqueda de IA
- Azure Cosmos DB
- Azure Cache for Redis