Compartir a través de


Inteligencia artificial generativa con Azure Database for PostgreSQL

La inteligencia artificial generativa hace referencia a una clase de algoritmos de IA que pueden aprender de contenido multimedia existente y generar contenido nuevo. El contenido generado se puede personalizar a través de técnicas como avisos y ajuste preciso. Los algoritmos de IA generativos aplican modelos de aprendizaje automático específicos:

  • Transformadores y redes neuronales recurrentes (RNN) para la generación de texto
  • Redes adversarios generativas (GAN) y autoencodificadores variantes (VAE) para la generación de imágenes

La inteligencia artificial generativa se usa en la síntesis de imágenes y música y en la atención sanitaria, junto con tareas comunes como la autocompletar de texto, el resumen de texto y la traducción. Las técnicas de inteligencia artificial generativa 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.

En el vídeo siguiente se muestra el uso de inteligencia artificial generativa con Azure Database for PostgreSQL y la pgvector extensión, lo que puede ayudarle a comprender los conceptos de este artículo.

OpenAI

OpenAI es una empresa de investigación y tecnología 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 un trabajo más valioso económicamente, beneficia a toda la humanidad. OpenAI trajo al mercado modelos generativos de última generación como GPT-3, GPT-3, GPT-3.5 y GPT-4.

Azure OpenAI es una oferta de servicio de Microsoft para ayudar a crear aplicaciones de inteligencia artificial generativas mediante Azure. Azure OpenAI proporciona a los clientes una inteligencia artificial de lenguaje avanzada con los modelos GPT-4, GPT-3, Codex, DALL-E y Whisper de OpenAI, con las funcionalidades de seguridad y empresa de Azure. Azure OpenAI desarrolla las API con OpenAI para garantizar 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.

Obtenga información sobre Azure OpenAI.

Modelo de lenguaje grande

Un modelo de lenguaje grande (LLM) es un tipo de modelo de inteligencia artificial entrenado en grandes cantidades de datos de texto para comprender y generar lenguaje humano. Normalmente, los modelos de lenguaje grande se basan en arquitecturas de aprendizaje profundo, como los transformadores. Son conocidos por su capacidad de realizar una amplia gama de tareas de comprensión y generación del lenguaje natural. El servicio Azure OpenAI y ChatGPT de OpenAI son ejemplos de ofertas de LLM.

Entre las características clave y las funcionalidades de los modelos de lenguaje grande se incluyen las siguientes:

  • Escala: La escala de los LLM es inmensa, en términos del número de parámetros que usan sus arquitecturas. Los modelos como GPT-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. Este entrenamiento previo les permite aprender gramática, sintaxis, semántica y una amplia gama de conocimientos sobre el lenguaje y el mundo.
  • Ajuste fino: Después del entrenamiento previo, los LLM pueden ser afinados para tareas o dominios específicos con conjuntos de datos más pequeños para tareas específicas. Este proceso de ajuste fino 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 (en inglés)

GPT significa Generative Pretrained Transformer y se refiere a una serie de grandes modelos de lenguaje desarrollados por OpenAI. Los modelos GPT son redes neuronales que se entrenan previamente en grandes cantidades de datos de Internet, por lo que son capaces de entender 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 y 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 y la respuesta a preguntas con fluidez de nivel humano.

    GPT-3 se divide en varios tamaños de modelo, que van desde el más pequeño (125 millones de parámetros) hasta el mayor (175 mil millones de parámetros).

  • GPT-4: el último modelo GPT de OpenAI. Tiene 1,76 billones de parámetros.

Vectores

Un vector es un concepto matemático que se usa 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.

Entre los atributos clave y las operaciones de los vectores se incluyen:

  • Magnitud: la longitud o tamaño de un vector, que a menudo se indica como norma, representa la magnitud de los datos. Es un número real no negativo.
  • Dirección: la dirección indica la orientación o el á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 cartesiana 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 de 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).
  • Productos punto y productos cruzados: los vectores se pueden combinar a través de productos punto (productos escalares) y productos cruzados (productos vectoriales).

Bases de datos vectoriales

Una base de datos vectorial, también conocida como sistema de administración de bases de datos vectoriales (DBMS), 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.

Entre las características clave de las bases de datos vectoriales se incluyen las siguientes:

  • 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 pueden 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 suma de vectores, resta, productos de puntos y 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: las bases de datos vectoriales proporcionan lenguajes de consulta y API que se adaptan a las operaciones vectoriales y búsquedas de similitud. Estos lenguajes de consulta permiten a los usuarios expresar sus criterios de búsqueda de forma eficaz.
  • Búsqueda de similitud: las bases de datos vectoriales se destacan en búsquedas de similitud, lo que permite a los usuarios encontrar puntos de datos similares a un punto de consulta proporcionado. 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 ubicación, sistemas de información geográfica (GIS) y tareas relacionadas con mapas.
  • Compatibilidad con diversos tipos de datos: las bases de datos vectoriales pueden almacenar y administrar varios tipos de datos, como vectores, imágenes y texto.

PostgreSQL puede obtener las funcionalidades de una base de datos vectorial con la ayuda de la pgvectorextensión.

Incrustaciones

Las incrustaciones son un concepto de procesamiento de lenguaje natural y aprendizaje automático que implica representar objetos (como palabras, documentos o entidades) como vectores en un espacio multidimensional.

Estos vectores suelen ser densos. Es decir, tienen un gran número de dimensiones. 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:

  • Word: En el procesamiento de lenguaje natural, las incrustaciones 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 y GloVe son técnicas populares de inserción de palabras.
  • Documento: las incrustaciones de documentos representan documentos como vectores. Doc2Vec es popular para crear incrustaciones de documentos.
  • Imagen: las imágenes se pueden representar como incrustaciones para capturar características visuales para tareas como el reconocimiento de objetos.

Las incrustaciones son fundamentales para representar datos complejos y multidimensionales en una forma que los modelos de aprendizaje automático pueden procesar fácilmente. Se pueden entrenar en grandes conjuntos de datos y, a continuación, se usan como características para varias tareas. Los modelos de lenguaje grande los usan.

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

Generative AI tiene una amplia gama de aplicaciones en varios dominios e industrias, como tecnología, atención sanitaria, entretenimiento, finanzas, fabricación, etc. Estas son algunas tareas comunes que las personas pueden realizar mediante la inteligencia artificial generativa:

  • Búsqueda semántica:
    • La inteligencia artificial generativa permite la búsqueda semántica en los datos en lugar de la búsqueda lexicográfica. Este último busca coincidencias exactas con las consultas, mientras que la búsqueda semántica busca contenido que satisface la intención de la consulta de búsqueda.
  • Bots de chat y asistentes virtuales:
    • Desarrollar bots de chat que pueden participar en conversaciones naturales con reconocimiento del contexto; 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 IA generativa permiten a los algoritmos de agrupamiento agrupar los datos de manera que los similares se agrupen juntos. Esta agrupación en clústeres 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:
    • Genere texto similar al humano para aplicaciones como bots de chat, creación de novelas o poesías y comprensión del lenguaje natural.
    • Cree imágenes realistas, ilustraciones o diseños para gráficos, entretenimiento y publicidad.
    • Generar vídeos, animaciones o efectos de vídeo para películas, juegos y marketing.
    • Generar música.
  • Traducción:
    • Traducir texto de un idioma a otro.
  • Resumen:
    • Resumir largos artículos o documentos 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.
    • 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.
  • Detección de drogas:
    • 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.