Inteligencia artificial generativa con Azure Database for PostgreSQL: servidor flexible
SE APLICA A: Azure Database for PostgreSQL con servidor flexible
La inteligencia artificial generativa (GenAI) hace referencia a una clase de algoritmos de inteligencia artificial que pueden aprender del contenido multimedia existente y generar contenido nuevo. El contenido generado se puede personalizar mediante técnicas como solicitudes y el ajuste preciso. Los algoritmos de GenAI aplican modelos específicos de Machine Learning:
- Transformadores y redes neuronales recurrentes (RNN) para la generación de texto.
- Redes adversarios generativas (GAN) para la generación de imágenes.
- Autoencodificadores variantes (VAE) para la generación de imágenes, etc.
GenAI se usa en síntesis de imágenes y música, atención sanitaria, tareas comunes como autocompletar texto, resumir texto y traducir. Las técnicas de GenAI permiten características de datos como la agrupación en clústeres y la segmentación, la búsqueda semántica y las recomendaciones, el modelado de temas, la respuesta a preguntas y la detección de anomalías.
OpenAI
OpenAI es una organización de investigación de inteligencia artificial (IA) y una empresa tecnológica conocida por su trabajo pionero en el campo de la inteligencia artificial y el aprendizaje automático. Su misión es garantizar que la inteligencia general artificial (AGI), que hace referencia a sistemas de inteligencia artificial altamente autónomos que pueden superar a los seres humanos en la mayoría de los trabajos valiosos económicamente, beneficia a toda la humanidad. OpenAI trajo al mercado modelos generativos de última generación, como GPT-3, GPT-3.5 y GPT-4 (Transformador generativo preentrenado).
Azure OpenAI es la oferta de servicio LLM de Azure para ayudar a crear aplicaciones GenAI mediante Azure. Azure OpenAI Service proporciona a los clientes una inteligencia artificial de lenguaje de programación avanzado con los modelos OpenAI GPT-4, GPT-3, Codex, DALL-E y Whisper con la promesa empresarial y de seguridad de Azure. Azure OpenAI desarrolla conjuntamente las API con OpenAI, lo que garantiza la compatibilidad y una transición fluida de una a otra.
Con Azure OpenAI, los clientes obtienen las funcionalidades de seguridad de Microsoft Azure mientras ejecutan los mismos modelos que OpenAI. Azure OpenAI ofrece redes privadas, disponibilidad regional y filtrado de contenido de IA responsable.
Más información sobre Azure OpenAI.
Modelo grande de lenguaje (LLM)
Un modelo grande de lenguaje (LLM) es un tipo de modelo de inteligencia artificial entrenado con grandes cantidades de datos de texto para comprender y generar lenguaje similar al humano. Normalmente, los LLM se basan en arquitecturas de aprendizaje profundo, como Transformers, y se conocen por su capacidad de desempeñar una amplia gama de tareas de comprensión y generación de lenguaje natural. GPT de OpenAI, que sustenta ChatGPT, es un LLM.
Entre las características y las funcionalidades principales de los modelos grandes de lenguaje se incluyen las siguientes:
- Escala: gran escala en términos del número de parámetros utilizados en la arquitectura LLM son características para ellos. Los modelos como GPT-3 (Transformador generativo preentrenado 3) contienen de cientos de millones a billones de parámetros, lo que les permite capturar patrones complejos en lenguaje.
- Entrenamiento previo: los LLM se someten al entrenamiento previo en un gran corpus de datos de texto de Internet, lo que les permite aprender gramática, sintaxis, semántica y una amplia gama de conocimientos sobre el lenguaje y el mundo.
- Ajuste preciso: después del entrenamiento previo, los LLM se pueden ajustar en tareas o dominios específicos con conjuntos de datos específicos de tareas más pequeños. Este proceso de ajuste preciso les permite adaptarse a tareas más especializadas, como la clasificación de texto, la traducción, el resumen y la respuesta a preguntas.
GPT
GPT significa Transformador generativo preentrenado y hace referencia a una serie de modelos grandes de lenguaje desarrollados por OpenAI. Los modelos GPT son redes neuronales entrenadas previamente en grandes cantidades de datos de Internet, lo que les permite comprender y generar texto similar al humano.
Esta es una introducción a los principales modelos de GPT y sus características principales:
GPT-3: Publicado en junio de 2020, es un modelo conocido en la serie GPT. Tiene 175 mil millones de parámetros, lo que lo convierte en uno de los modelos de lenguaje más grandes y más potentes que existen. GPT-3 ha logrado un rendimiento notable en una amplia gama de tareas de comprensión y generación del lenguaje natural. Puede realizar tareas como la finalización de texto, la traducción, la respuesta a preguntas y mucho más con fluidez de nivel humano. GPT-3 se divide en varios tamaños de modelo que van desde los parámetros más pequeños (125M) hasta los parámetros más grandes (175B).
GPT-4: es el modelo GPT más reciente de OpenAI, tiene 1,76 billones de parámetros.
Vectores
Un vector es un concepto matemático utilizado en álgebra lineal y geometría para representar cantidades que tienen magnitud y dirección. En el contexto del aprendizaje automático, los vectores a menudo se usan para representar puntos de datos o características.
A continuación se muestran algunos atributos y operaciones de vector clave:
- Magnitud: la longitud o el tamaño de un vector, que a menudo se indican como su norma, representan la magnitud de los datos que representa. Es un número real no negativo.
- Dirección: indica la orientación o ángulo de la cantidad que representa en relación con un punto de referencia o un sistema de coordenadas.
- Componentes: un vector se puede descomponer en sus componentes a lo largo de diferentes ejes o dimensiones. En un sistema de coordenadas cartesianas en 2D, un vector se puede representar como (x, y), donde x e y son sus componentes a lo largo del eje X y del eje Y, respectivamente. Un vector en n dimensiones es una tupla n {x1, x2... xn}.
- Suma y multiplicación escalar: los vectores se pueden agregar para formar nuevos vectores y se pueden multiplicar por escalares (números reales).
- Producto de punto y producto cruzado: los vectores se pueden combinar mediante productos de puntos (producto escalar) y productos cruzados (producto vectorial).
Bases de datos vectoriales
Una base de datos vectorial, también conocida como sistema de administración de bases de datos (DBMS) vectoriales, es un tipo de sistema de base de datos diseñado para almacenar, administrar y consultar datos vectoriales de forma eficaz. Las bases de datos relacionales tradicionales controlan principalmente los datos estructurados en tablas, mientras que las bases de datos vectoriales están optimizadas para el almacenamiento y la recuperación de puntos de datos multidimensionales representados como vectores. Estas bases de datos son útiles para las aplicaciones en las que intervienen operaciones como búsquedas de similitud, datos geoespaciales, sistemas de recomendaciones y agrupación en clústeres.
Estas son algunas características clave de las bases de datos vectoriales:
- Almacenamiento vectorial: las bases de datos vectoriales almacenan puntos de datos como vectores con varias dimensiones. Cada dimensión representa una característica o atributo del punto de datos. Estos vectores podrían representar una amplia gama de tipos de datos, incluidos datos numéricos, categóricos y textuales.
- Operaciones vectoriales eficaces: las bases de datos vectoriales están optimizadas para realizar operaciones vectoriales, como la suma de vectores, la resta, los productos de puntos y los cálculos de similitud (por ejemplo, similitud de coseno o distancia euclidiana).
- Búsqueda eficaz: los mecanismos de indexación eficientes son cruciales para la recuperación rápida de vectores similares. Las bases de datos vectoriales usan varios mecanismos de indexación para permitir una recuperación rápida.
- Lenguajes de consulta: proporcionan lenguajes de consulta y API adaptadas para operaciones vectoriales y búsqueda de similitud. Estos lenguajes de consulta permiten a los usuarios expresar sus criterios de búsqueda de forma eficaz.
- Búsqueda de similitud: destacan en búsquedas de similitud, lo que permite a los usuarios encontrar puntos de datos similares a un punto de consulta determinado. Esta característica es valiosa en los sistemas de búsqueda y recomendación.
- Control de datos geoespaciales: algunas bases de datos vectoriales están diseñadas para datos geoespaciales, por lo que son adecuadas para aplicaciones como servicios basados en ubicaciones, GIS (sistemas de información geográfica) y tareas relacionadas con mapas.
- Compatibilidad con diversos tipos de datos: las bases de datos vectoriales pueden almacenar y administrar varios tipos de datos, incluidos vectores, imágenes, texto y mucho más.
PostgreSQL puede obtener las funcionalidades de una base de datos vectorial con la ayuda de la extensión pgvector
.
Inserciones
Las incrustaciones son un concepto de aprendizaje automático y procesamiento de lenguaje natural (NLP) que implica representar objetos, como palabras, documentos o entidades, como vectores en un espacio multidimensional. Estos vectores suelen ser densos, lo que significa que tienen un gran número de dimensiones y se aprenden a través de varias técnicas, incluidas las redes neuronales. Las inserciones tienen como objetivo capturar relaciones semánticas y similitudes entre objetos en un espacio vectorial continuo.
Entre los tipos comunes de inserciones se incluyen:
- palabra: en NLP, las inserciones de palabras representan palabras como vectores. Cada palabra se asigna a un vector en un espacio de alta dimensión, donde las palabras con significados o contextos similares se encuentran más cerca entre sí.
Word2Vec
yGloVe
son técnicas populares de inserción de palabras. - documento: representan documentos como vectores.
Doc2Vec
se usa normalmente para crear inserciones de documentos. - imagen: las imágenes se pueden representar como inserciones para capturar características visuales, lo que permite tareas como el reconocimiento de objetos.
Las inserciones son fundamentales para representar datos complejos y altamente dimensionales de una forma que los modelos de Machine Learning pueden procesar fácilmente. Se pueden entrenar con conjuntos de datos de gran tamaño y, a continuación, usarse como características para varias tareas y ser usadas por los LLM.
PostgreSQL puede obtener las funcionalidades de generación de incrustaciones de vectores con la integración de la extensión de Azure AI con OpenAI.
Escenarios
La inteligencia artificial generativa tiene una amplia gama de aplicaciones en varios dominios e industrias, como la tecnología, la atención sanitaria, el entretenimiento, las finanzas, la fabricación y mucho más. Estas son algunas tareas comunes que se pueden realizar con la inteligencia artificial generativa:
- Búsqueda semántica:
- GenAI permite la búsqueda semántica en los datos en lugar de la búsqueda lexicográfica. Esta última busca coincidencias exactas con consultas, mientras que la búsqueda semántica busca contenido que satisface la intención de consulta de búsqueda.
- Bots de chat y asistentes virtuales:
- Desarrolle bots de chat que puedan participar en conversaciones con reconocimiento del contexto natural, por ejemplo, para implementar autoayuda para los clientes.
- Sistemas de recomendación:
- Mejore los algoritmos de recomendación mediante la generación de inserciones o representaciones de elementos o usuarios.
- Agrupación en clústeres y segmentación:
- Las incrustaciones generadas por GenAI permiten agrupar los datos con algoritmos de agrupación en clústeres para que los datos similares se agrupen. Esto permite escenarios como la segmentación de clientes, que permite a los anunciantes dirigirse a sus clientes de forma diferente en función de sus atributos.
- Generación de contenido:
- Generación de texto: genere texto similar al humano para aplicaciones como bots de chat, creación de novelas o poesías y comprensión del lenguaje natural.
- Generación de imágenes: cree imágenes realistas, ilustraciones o diseños para gráficos, entretenimiento y publicidad.
- Generación de vídeos: genere vídeos, animaciones o efectos de vídeo para películas, juegos y marketing.
- Generación de música.
- Traducción:
- Traducen texto de un idioma a otro.mensaje de texto
- Resumen:
- Resumir artículos o documentos largos para extraer información clave.
- Aumento de datos:
- Genere ejemplos de datos adicionales para expandir y mejorar los conjuntos de datos de entrenamiento para los modelos de aprendizaje automático (ML).
- Cree datos sintéticos para escenarios difíciles o costosos de recopilar en el mundo real, como la creación de imágenes médicas.
- Descubrimiento de fármacos:
- Generar estructuras moleculares y predecir posibles candidatos a medicamentos para la investigación farmacéutica.
- Desarrollo de juegos:
- Cree contenido de juegos, incluidos niveles, personajes y texturas.
- Genere entornos y paisajes realistas en el juego.
- Eliminación de ruido y finalización de datos:
- Limpie los datos ruidosos mediante la generación de ejemplos de datos limpios.
- Rellene los datos que faltan o están incompletos en los conjuntos de datos.
Pasos siguientes
Visite los siguientes artículos para aprender sobre cómo realizar búsquedas semánticas con el servidor flexible de Azure Database for PostgreSQL y Azure OpenAI, y cómo aprovechar la eficacia de Azure Cognitive Services para analizar opiniones, detectar idioma, extraer frases clave y operaciones más avanzadas que puede aplicar en el texto.