IA generativa com o Servidor Flexível do Banco de Dados do Azure para PostgreSQL
APLICA-SE A: Banco de dados do Azure para PostgreSQL — Servidor Flexível
A IA Generativa (GenAI) refere-se a uma classe de algoritmos de inteligência artificial que podem aprender com o conteúdo multimídia existente e produzir novos conteúdos. O conteúdo produzido pode ser personalizado usando técnicas como os prompts e o ajuste fino. Os algoritmos de GenAI aplicam modelos específico do Machine Learning:
- Transformadores e Redes Neurais Recorrentes (RNNs) para geração de texto.
- Redes Adversárias Generativas (GANs) para geração de imagem.
- Autoencoders variacionais (VAEs) para geração de imagem etc.
A GenAI é usada em síntese de imagem e música, em assistência médica e em tarefas comuns, como preenchimento automático de texto, resumo de texto e tradução. As técnicas de GenAI permitem recursos em dados como clustering e segmentação, pesquisa semântica e recomendações, modelagem de tópicos, resposta a perguntas e detecção de anomalias.
OpenAI
A OpenAI é uma empresa de pesquisa e tecnologia de IA (inteligência artificial) conhecida por seu trabalho pioneiro no campo da inteligência artificial e do aprendizado de máquina. Sua missão é garantir que a inteligência artificial geral (AGI), que se refere a sistemas de IA altamente autônomos que podem superar os humanos nos trabalhos economicamente mais valiosos, beneficie toda a humanidade. A OpenAI trouxe ao mercado modelos generativos de última geração, como o GPT-3, o GPT-3.5 e o GPT-4 (Transformador Generativo Pré-Treinado).
O serviço OpenAI do Azure é a oferta do serviço de LLM do Azure para ajudar a criar aplicativos de GenAI usando o Azure. O Serviço OpenAI do Azure oferece aos clientes inteligência artificial avançada de linguagem com os modelos OpenAI GPT-4, GPT-3, Codex e DALL-E com a promessa empresarial e de segurança do Azure. O OpenAI do Azure co-desenvolve as APIs com o OpenAI, garantindo compatibilidade e uma transição uniforme de uma para a outra.
Com o OpenAI do Azure, os clientes obtêm os recursos de segurança do Microsoft Azure enquanto executam os mesmos modelos que o OpenAI. O OpenAI do Azure oferece rede privada, disponibilidade regional e filtragem de conteúdo de IA responsável.
Saiba mais sobre o OpenAI do Azure.
LLM (Grande Modelo de Linguagem)
Um LLM é um tipo de modelo de IA treinado em grandes quantidades de dados de texto para entender e gerar linguagem humana. Os LLMs normalmente são baseados em arquiteturas de aprendizado profundo, como os Transformadores, e são conhecidos por sua capacidade de executar uma ampla gama de tarefas de geração e compreensão de linguagem natural. O GPT da OpenAI, que alimenta o ChatGPT, é um LLM.
As principais características e funcionalidades dos LLMs incluem:
- Escala: escala imensa em termos do número de parâmetros usados na arquitetura de LLM é uma das características desses modelos. Modelos como o GPT-3 (Transformador Pré-Treinado Generativo 3) contêm centenas de milhões a trilhões de parâmetros, o que lhes permite capturar padrões complexos na linguagem.
- Pré-treinamento: os LLMs passam por pré-treinamento em um grande corpus de dados de texto da Internet, o que lhes permite aprender gramática, sintaxe, semântica e uma ampla gama de conhecimentos sobre a linguagem e o mundo.
- Ajuste fino: após o pré-treinamento, os LLMs podem ser ajustados em tarefas ou domínios específicos com conjuntos de dados menores e específicos da tarefa. Esse processo de ajuste fino permite que eles se adaptem a tarefas mais especializadas, como classificação de texto, tradução, sumarização e resposta a perguntas.
GPT
GPT significa Transformador Pré-Treinado Generativo e refere-se a uma série de grandes modelos de linguagem desenvolvidos pela OpenAI. Os modelos de GPT são redes neurais pré-treinadas em grandes quantidades de dados da Internet, tornando-os capazes de entender e gerar texto semelhante ao produzidos por humanos.
Aqui está uma visão geral dos principais modelos de GPT e suas principais características:
GPT-3: o GPT-2020, lançado em junho de 2020, é um modelo conhecido na série GPT. Ele tem 175 bilhões de parâmetros, tornando-se um dos maiores e mais poderosos modelos de linguagem existentes. O GPT-3 obteve um desempenho notável em uma ampla gama de tarefas de geração e compreensão de linguagem natural. Ele pode executar tarefas como conclusão de texto, tradução, resposta a perguntas e muito mais, com fluência no nível humano. O GPT-3 é dividido em vários tamanhos de modelo, que vão desde os menores (125 milhões de parâmetros) até os maiores (175 bilhões de parâmetros).
GPT-4: o GPT-1.76, o modelo GTP mais recente da OpenAI, tem 1,76 trilhão de parâmetros.
Vetores
Um vetor é um conceito matemático usado na álgebra linear e geometria para representar quantidades que têm magnitude e direção. No contexto do aprendizado de máquina, os vetores geralmente são usados para representar pontos de dados ou recursos.
A seguir estão alguns atributos e operações de vetor principais:
- Magnitude: o comprimento ou tamanho de um vetor, geralmente indicado como sua norma, representa a magnitude dos dados que ele representa. É um número real não negativo.
- Direção: a direção de um vetor indica a orientação ou o ângulo da quantidade que ele representa em relação a um ponto de referência ou sistema de coordenadas.
- Componentes: um vetor pode ser decomposto em seus componentes ao longo de diferentes eixos ou dimensões. Em um sistema de coordenadas cartesianas 2D, um vetor pode ser representado como (x, y), onde x e y são seus componentes ao longo do eixo x e do eixo y, respectivamente. Um vetor em n dimensões é uma n-tupla {x1, x2... xn}.
- Adição e multiplicação escalar: os vetores podem ser adicionados para formar novos vetores e podem ser multiplicados por escalares (números reais).
- Produto escalar e produto cruzado: os vetores podem ser combinados usando produtos escalares (produto dot) e produtos cruzados (produto vetorial).
Bancos de dados de vetores
Um banco de dados de vetores, também conhecido como um DBMS (sistema de gerenciamento de banco de dados) de vetores, é um tipo de sistema de banco de dados projetado para armazenar, gerenciar e consultar dados vetoriais com eficiência. Os bancos de dados relacionais tradicionais lidam principalmente com dados estruturados em tabelas, enquanto os bancos de dados de vetores são otimizados para o armazenamento e a recuperação de pontos de dados multidimensionais representados como vetores. Esses bancos de dados são úteis para aplicativos em que operações como pesquisas de similaridade, dados geoespaciais, sistemas de recomendação e clustering estão envolvidos.
Algumas das principais características dos bancos de dados de vetores:
- Armazenamento de Vetores: os bancos de dados de vetores armazenam pontos de dados como vetores com várias dimensões. Cada dimensão representa um recurso ou atributo do ponto de dados. Esses vetores podem representar uma ampla gama de tipos de dados, incluindo dados numéricos, categóricos e textuais.
- Operações de vetor eficientes: os bancos de dados vetoriais são otimizados para executar operações de vetores, como adição de vetores, subtração, produtos escalares e cálculos de similaridade (por exemplo, similaridade de cosseno ou distância euclidiana).
- Pesquisa eficiente: mecanismos de indexação eficientes são cruciais para a recuperação rápida de vetores semelhantes. Os bancos de dados vetoriais usam vários mecanismos de indexação para habilitar a recuperação rápida.
- Linguagens de consulta: eles fornecem linguagens de consulta e APIs personalizadas para operações de vetores e pesquisa de similaridade. Essas linguagens de consulta permitem que os usuários expressem seus critérios de pesquisa com eficiência.
- Pesquisa de similaridade: eles se destacam em pesquisas de similaridade, permitindo que os usuários encontrem pontos de dados semelhantes a um determinado ponto de consulta. Essa característica é valiosa em sistemas de pesquisa e recomendação.
- Tratamento de dados geoespaciais: alguns bancos de dados vetoriais foram projetados para dados geoespaciais, tornando-os adequados para aplicativos como serviços baseados em localização, SIG (Sistemas de Informações Geográficas) e tarefas relacionadas ao mapa.
- Suporte para diversos tipos de dados: os bancos de dados de vetores podem armazenar e gerenciar vários tipos de dados, incluindo vetores, imagens, texto e muito mais.
O PostgreSQL pode obter os recursos de um banco de dados de vetores com a ajuda da extensão pgvector
.
Incorporações
As inserções são um conceito em machine learning e em processamento de linguagem natural (NLP) que envolvem a representação de objetos, como palavras, documentos ou entidades, como vetores em um espaço multidimensional. Esses vetores são muitas vezes densos, o que significa que eles têm um alto número de dimensões, e são aprendidos através de várias técnicas, incluindo redes neurais. As inserções visam capturar relações semânticas e semelhanças entre objetos em um espaço vetorial contínuo.
Os tipos comuns de inserções incluem:
- palavra: no NLP, as inserções de palavras representam palavras como vetores. Cada palavra é mapeada para um vetor em um espaço de alta dimensão, em que palavras com significados ou contextos semelhantes estão localizadas mais próximas umas das outras.
Word2Vec
eGloVe
são técnicas populares de inserção de palavras. - documento: eles representam documentos como vetores.
Doc2Vec
é usado popularmente para criar inserções de documentos. - imagem: as imagens podem ser representadas como inserções para capturar recursos visuais, permitindo tarefas como reconhecimento de objeto.
As inserções são centrais para representar dados complexos e de alta dimensão em uma forma facilmente processável por modelos de machine learning. Eles podem ser treinados em grandes conjuntos de dados e, em seguida, usados como recursos para várias tarefas e são usados pelos LLMs.
O PostgreSQL pode obter os recursos de geração de inserções de vetor com a integração da extensão OpenAI do IA do Azure.
Cenários
A IA generativa tem uma ampla gama de aplicações em vários domínios e setores, incluindo tecnologia, saúde, entretenimento, finanças, manufatura e muito mais. Aqui estão algumas tarefas comuns que podem ser realizadas com a IA generativa:
- Pesquisa semântica:
- A GenAI habilita a pesquisa semântica em dados em vez de pesquisa lexicográfica. A pesquisa lexicográfica procura correspondências exatas para consultas, enquanto a pesquisa semântica localiza conteúdo que satisfaça a intenção de consulta de pesquisa.
- Chatbots e Assistentes Virtuais:
- Desenvolver chatbots que podem se envolver em conversas com reconhecimento de contexto natural, por exemplo, para implementar a autoajuda para os clientes.
- Sistemas de recomendação:
- Aprimorar os algoritmos de recomendação gerando inserções ou representações de itens ou usuários.
- Clustering e segmentação:
- As inserções geradas pela GenAI permitem que algoritmos de clustering agrupem dados de cluster para que dados semelhantes sejam agrupados. Isso permite cenários como a segmentação de clientes, que permite que os anunciantes direcionem seus clientes de maneira diferente com base em seus atributos.
- Geração de conteúdo:
- Geração de texto: gerar texto semelhante a um humano para aplicativos como chatbots, criação de romance/poesia e compreensão da linguagem natural.
- Geração de imagem: criar imagens realistas, obras de arte ou designs para elementos gráficos, entretenimento e publicidade.
- Geração de vídeo: gerar vídeos, animações ou efeitos de vídeo para filmes, jogos e marketing.
- Geração Musical.
- Tradução:
- Traduzir texto de um idioma para outro.
- Sumarização:
- Resumir artigos longos ou documentos para extrair informações importantes.
- Aumento de dados:
- Gerar exemplos de dados extras para expandir e melhorar os conjuntos de dados de treinamento para modelos de ML (machine learning).
- Criar dados sintéticos para cenários difíceis ou caros de coletar no mundo real, como imagens médicas.
- Descoberta de remédios:
- Gerar estruturas moleculares e prever potenciais candidatos a medicamentos para pesquisa farmacêutica.
- Desenvolvimento de jogos:
- Criar conteúdo do jogos, incluindo níveis, caracteres e texturas.
- Gerar ambientes e paisagens realistas no jogo.
- Denoising e conclusão de dados:
- Limpar dados com ruído gerando exemplos de dados limpos.
- Preencher dados ausentes ou incompletos em conjuntos de dados.
Próximas etapas
Visite os artigos a seguir para saber como executar a pesquisa semântica com o servidor flexível do Banco de Dados do Azure para PostgreSQL e o OpenAI do Azure e como aproveitar o poder dos Serviços Cognitivos do Azure para analisar o sentimento, detectar idioma, extrair frases-chave e operações mais avançadas que você pode aplicar no texto.