IA generativa com o Banco de Dados do Azure para PostgreSQL - Servidor flexível
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 prompts e ajuste fino. Os algoritmos GenAI aplicam modelos específicos de Machine Learning:
- Transformadores e Redes Neurais Recorrentes (RNNs) para geração de texto.
- Generative Adversarial Networks (GANs) para geração de imagens.
- Autocodificadores variacionais (VAEs) para geração de imagens, etc.
GenAI é usado em síntese de imagem e música, cuidados de saúde, tarefas comuns, como autopreenchimento de texto, resumo de texto e tradução. As técnicas de GenAI permitem recursos em dados como agrupamento e segmentação, pesquisa semântica e recomendações, modelagem de tópicos, resposta a perguntas e deteção de anomalias.
OpenAI
A OpenAI é uma organização de pesquisa e tecnologia de inteligência artificial (IA) conhecida por seu trabalho pioneiro no campo da inteligência artificial e aprendizado de máquina. Sua missão é garantir que a inteligência geral artificial (AGI), que se refere a sistemas de IA altamente autônomos que podem superar os humanos no trabalho economicamente mais valioso, beneficie toda a humanidade. A OpenAI trouxe ao mercado modelos generativos de última geração, como GPT-3, GPT-3.5 e GPT-4 (Generative Pretrained Transformer).
O Azure OpenAI é a oferta de serviço LLM do Azure para ajudar a criar aplicativos GenAI usando o Azure. O Serviço OpenAI do Azure oferece aos clientes IA de linguagem avançada com modelos OpenAI GPT-4, GPT-3, Codex, DALL-E e Whisper com a promessa de segurança e empresarial do Azure. O Azure OpenAI codesenvolve as APIs com o OpenAI, garantindo compatibilidade e uma transição suave de um para o outro.
Com o Azure OpenAI, os clientes obtêm os recursos de segurança do Microsoft Azure enquanto executam os mesmos modelos do OpenAI. O Azure OpenAI oferece rede privada, disponibilidade regional e filtragem responsável de conteúdo de IA.
Saiba mais sobre o Azure OpenAI.
Modelo de linguagem grande (LLM)
Um Large Language Model (LLM) é um tipo de modelo de IA treinado em grandes quantidades de dados de texto para entender e gerar linguagem semelhante à humana. Os LLMs são normalmente baseados em arquiteturas de aprendizagem profunda, como Transformers, 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 capacidades dos modelos de linguagem grande incluem:
- Escala: Escala imensa em termos do número de parâmetros usados na arquitetura LLM são características para eles. Modelos como GPT-3 (Generative Pretrained Transformer 3) contêm de centenas de milhões a trilhões de parâmetros, que lhes permitem 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 de tarefas. 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 Generative Pretrained Transformer, e refere-se a uma série de grandes modelos de linguagem desenvolvidos pela OpenAI. Os modelos GPT são redes neurais pré-treinadas em grandes quantidades de dados da Internet, tornando-as capazes de compreender e gerar texto semelhante ao humano.
Aqui está uma visão geral dos principais modelos GPT e suas principais características:
GPT-3: Lançado em junho de 2020, é um modelo bem 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 alcançou um desempenho notável em uma ampla gama de tarefas de compreensão e geração de linguagem natural. Ele pode executar tarefas como preenchimento de texto, tradução, resposta a perguntas e muito mais com fluência em nível humano. O GPT-3 é dividido em vários tamanhos de modelo, desde o menor (parâmetros 125M) até o maior (parâmetros 175B).
GPT-4: É o mais recente modelo GPT da OpenAI, tem 1,76 trilhão de parâmetros.
Vetores
Um vetor é um conceito matemático usado em álgebra linear e geometria para representar grandezas que têm magnitude e direção. No contexto do aprendizado de máquina, os vetores são frequentemente usados para representar pontos de dados ou recursos.
A seguir estão alguns dos principais atributos vetoriais e operações:
- Magnitude: O comprimento ou tamanho de um vetor, muitas vezes denotado como sua norma, representa a magnitude dos dados que ele representa. É um número real não negativo.
- Direção: Indica a orientação ou o ângulo da quantidade que 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 dos eixos x e 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 eles podem ser multiplicados por escalares (números reais).
- Produto ponto e produto cruzado: Os vetores podem ser combinados usando produtos ponto (produto escalar) e produtos cruzados (produto vetorial).
Bancos de dados vetoriais
Um banco de dados vetorial, também conhecido como um sistema de gerenciamento de banco de dados vetorial (DBMS), é um tipo de sistema de banco de dados projetado para armazenar, gerenciar e consultar dados vetoriais de forma eficiente. Os bancos de dados relacionais tradicionais lidam principalmente com dados estruturados em tabelas, enquanto os bancos de dados vetoriais 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 aplicações onde operações como pesquisas de similaridade, dados geoespaciais, sistemas de recomendação e clustering estão envolvidos.
Estas são algumas características-chave dos bancos de dados vetoriais:
- Armazenamento vetorial: Os bancos de dados vetoriais 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 vetoriais eficientes: Os bancos de dados vetoriais são otimizados para executar operações vetoriais, como adição de vetores, subtração, produtos de pontos e cálculos de semelhança (por exemplo, semelhança 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 permitir a recuperação rápida.
- Linguagens de consulta: fornecem linguagens de consulta e APIs adaptadas para operações vetoriais e pesquisa de similaridade. Estas linguagens de consulta permitem aos utilizadores expressar os seus critérios de pesquisa de forma eficiente.
- Pesquisa de similaridade: Eles se destacam em pesquisas de similaridade, permitindo que os usuários encontrem pontos de dados que são semelhantes a um determinado ponto de consulta. Esta característica é valiosa nos sistemas de busca e recomendação.
- Tratamento de Dados Geoespaciais: Algumas bases de dados vetoriais são concebidas para dados geoespaciais, tornando-as adequadas para aplicações como serviços baseados na localização, SIG (Sistemas de Informação Geográfica) e tarefas relacionadas com mapas.
- Suporte para diversos tipos de dados: Os bancos de dados vetoriais podem armazenar e gerenciar vários tipos de dados, incluindo vetores, imagens, texto e muito mais.
PostgreSQL pode ganhar as capacidades de um banco de dados vetorial com a ajuda da pgvector
extensão.
Incorporações
Incorporações são um conceito em aprendizado de máquina e processamento de linguagem natural (NLP) que envolve a representação de objetos, como palavras, documentos ou entidades, como vetores em um espaço multidimensional. Estes vetores são muitas vezes densos, o que significa que têm um elevado número de dimensões, e são aprendidos através de várias técnicas, incluindo redes neuronais. As incorporações visam capturar relações semânticas e semelhanças entre objetos em um espaço vetorial contínuo.
Os tipos comuns de incorporações incluem:
- word: Na PNL, as incorporações de palavras representam palavras como vetores. Cada palavra é mapeada para um vetor em um espaço de alta dimensão, onde palavras com significados ou contextos semelhantes estão localizadas mais próximas umas das outras.
Word2Vec
eGloVe
são técnicas populares de incorporação de palavras. - documento: representam documentos como vetores.
Doc2Vec
é popularmente usado para criar incorporações de documentos. - imagem: As imagens podem ser representadas como incorporações para capturar recursos visuais, permitindo tarefas como reconhecimento de objetos.
As incorporações são fundamentais para representar dados complexos e de alta dimensão em um formato facilmente processável por modelos de aprendizado de máquina. Eles podem ser treinados em grandes conjuntos de dados e, em seguida, usados como recursos para várias tarefas, e são usados por LLMs.
O PostgreSQL pode obter os recursos de gerar incorporações vetoriais com a integração OpenAI da extensão de IA do Azure.
Cenários
A IA generativa tem uma ampla gama de aplicações em vários domínios e indústrias, incluindo tecnologia, saúde, entretenimento, finanças, manufatura e muito mais. Aqui estão algumas tarefas comuns que podem ser realizadas com IA generativa:
- Pesquisa semântica:
- O GenAI permite a pesquisa semântica em dados em vez da pesquisa lexicográfica. Este último procura correspondências exatas para consultas, enquanto a pesquisa semântica encontra conteúdo que satisfaz a intenção da consulta de pesquisa.
- Chatbots e Assistentes Virtuais:
- Desenvolva chatbots que possam se envolver em conversas naturais conscientes do contexto, por exemplo, para implementar autoajuda para os clientes.
- Sistemas de recomendação:
- Melhore os algoritmos de recomendação gerando incorporações ou representações de itens ou usuários.
- Agrupamento e segmentação:
- As incorporações geradas pelo GenAI permitem que algoritmos de agrupamento agrupem dados para que dados semelhantes sejam agrupados. Isso permite cenários como a segmentação de clientes, que permite que os anunciantes segmentem seus clientes de forma diferente com base em seus atributos.
- Geração de conteúdo:
- Geração de texto: gere texto semelhante ao humano para aplicativos como chatbots, criação de romance/poesia e compreensão de linguagem natural.
- Geração de imagens: crie imagens, ilustrações ou designs realistas para gráficos, entretenimento e publicidade.
- Geração de vídeos: gere vídeos, animações ou efeitos de vídeo para filmes, jogos e marketing.
- Geração Musical.
- Tradução:
- Traduzem texto de um idioma para outro.
- Resumo:
- Resuma artigos ou documentos longos para extrair informações importantes.
- Aumento de dados:
- Gere amostras de dados extras para expandir e melhorar conjuntos de dados de treinamento para modelos de aprendizado de máquina (ML).
- Crie dados sintéticos para cenários difíceis ou caros de coletar no mundo real, como imagens médicas.
- Descoberta de drogas:
- Gerar estruturas moleculares e prever potenciais candidatos a fármacos para investigação farmacêutica.
- Desenvolvimento de Jogos:
- Crie conteúdo de jogo, incluindo níveis, personagens e texturas.
- Gere ambientes e paisagens realistas no jogo.
- Denoising e preenchimento de dados:
- Limpe dados barulhentos gerando amostras de dados limpos.
- Preencha os dados em falta ou incompletos nos conjuntos de dados.
Conteúdos relacionados
- Integre o Banco de Dados do Azure para PostgreSQL - Servidor Flexível com os Serviços Cognitivos do Azure.
- Gere incorporações vetoriais no Banco de Dados do Azure para PostgreSQL - Servidor flexível com LLM implantado localmente (Visualização).
- Integre o Banco de Dados do Azure para PostgreSQL com os Serviços de Aprendizado de Máquina do Azure.
- Gere incorporações vetoriais com o Azure OpenAI no Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
- Extensão Azure AI no Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
- Sistema de Recomendação com a Base de Dados do Azure para PostgreSQL - Servidor Flexível e Azure OpenAI.
- Pesquisa semântica com o Banco de Dados do Azure para PostgreSQL - Servidor Flexível e Azure OpenAI.
- Habilite e use pgvector no Banco de Dados do Azure para PostgreSQL - Servidor Flexível.