Modelos generativos de IA, explicados
Publicados: 2024-04-15Quando você pensa em modelos generativos de IA, provavelmente pensa nos grandes modelos de linguagem (LLMs) que fizeram tanto sucesso nos últimos anos. No entanto, a própria IA generativa remonta a muitas décadas e os LLMs são apenas a evolução mais recente. E junto com os LLMs, muitos tipos diferentes de modelos de IA generativos são usados para diferentes ferramentas e casos de uso de IA generativa, como modelos de difusão que são usados para geração de imagens.
Neste artigo, explicaremos o que são modelos de IA generativa, como são desenvolvidos e forneceremos um mergulho mais profundo em alguns dos modelos de IA generativa mais comuns atualmente – o suficiente para fornecer uma compreensão conceitual desses modelos que impressionará seu público. amigos e colegas, sem que você precise fazer um curso universitário em aprendizado de máquina.
Índice
- O que é um modelo generativo de IA?
- Como funcionam os modelos generativos de IA
- Como são desenvolvidos os modelos generativos de IA?
- Tipos de modelos generativos de IA
- Conclusão
O que é um modelo generativo de IA?
Os modelos generativos de IA são um subconjunto de sistemas de inteligência artificial especializados na criação de conteúdo novo e original que reflete as características de seus dados de treinamento. Ao aprender com padrões e relacionamentos em dados, esses modelos podem gerar resultados como texto, imagens, sons ou vídeos que se assemelham ao estilo, ao tom e às nuances do material de origem. Esta capacidade posiciona a IA generativa no centro da inovação, permitindo aplicações criativas e dinâmicas em diversos campos, interpretando e transformando dados de entrada em criações inovadoras.
Como funcionam os modelos generativos de IA
Os modelos generativos de IA funcionam aproveitando uma forma sofisticada de algoritmo de aprendizado de máquina conhecido como rede neural. Uma rede neural compreende múltiplas camadas de nós interconectados, cada um representado por um trecho de código de computador. Esses nós executam tarefas individuais menores, mas contribuem coletivamente para a tomada de decisões complexas, refletindo a funcionalidade dos neurônios no cérebro humano.
Para ilustrar, considere uma rede neural encarregada de distinguir entre imagens de tortas e bolos. A rede analisa a imagem em nível granular, dividindo-a em pixels. Em um nível muito básico, haverá diferentes nós na rede dedicados à compreensão de diferentes pixels e grupos de pixels. Talvez alguns verifiquem se há camadas na sobremesa, enquanto outros determinarão se há cobertura ou crosta. Cada nó armazena informações sobre as características da aparência de torta versus bolo e, sempre que uma nova imagem entra em jogo, ela é processada em cada nó para gerar uma previsão final.
No contexto da IA generativa, este princípio vai além do simples reconhecimento até à criação de conteúdos novos e originais. Em vez de apenas identificar recursos, os modelos generativos usam redes neurais para compreender os padrões e estruturas subjacentes dos dados nos quais são treinados. Esse processo envolve interações e ajustes complexos dentro da rede neural, guiados por algoritmos projetados para otimizar a criatividade e a precisão da saída gerada.
Como são desenvolvidos os modelos generativos de IA?
O desenvolvimento de modelos generativos de IA envolve uma série de etapas complexas e inter-relacionadas, normalmente realizadas por equipes de pesquisadores e engenheiros. Esses modelos, como o GPT (transformador generativo pré-treinado), da OpenAI, e outras arquiteturas semelhantes, são projetados para gerar novos conteúdos que imitam a distribuição dos dados nos quais foram treinados.
Aqui está uma análise passo a passo desse processo:
1 Coleta de dados
Cientistas e engenheiros de dados primeiro determinam os objetivos e requisitos de seu projeto, o que os orienta na coleta de um conjunto de dados amplo e apropriado. Frequentemente utilizam conjuntos de dados públicos, que oferecem grandes quantidades de texto ou imagens para as suas necessidades. Por exemplo, a formação do ChatGPT (GPT-3.5) envolveu o processamento de 570 GB de dados, equivalente a 300 mil milhões de palavras de fontes públicas da Internet, incluindo quase todo o conteúdo da Wikipédia.
2 Seleção de modelo
Escolher a arquitetura do modelo certo é uma etapa crítica no desenvolvimento de sistemas generativos de IA. A decisão é orientada pela natureza da tarefa em questão, pelo tipo de dados disponíveis, pela qualidade desejada do resultado e pelas restrições computacionais. Arquiteturas específicas, incluindo VAEs, GANs e modelos baseados em transformadores e de difusão, serão discutidas com mais detalhes posteriormente neste artigo. Nesta fase, é importante compreender que novos modelos muitas vezes partem de uma estrutura de arquitetura pré-existente. Esta abordagem aproveita estruturas comprovadas como base, permitindo refinamentos e inovações adaptadas aos requisitos exclusivos do projeto em questão.
3 Treinamento de modelo
O modelo escolhido é treinado usando o conjunto de dados coletado na primeira etapa. O treinamento de modelos generativos de IA geralmente requer uma grande quantidade de poder computacional, usando hardware especial como GPUs (unidades de processamento gráfico) e TPUs (unidades de processamento de tensores). Embora a abordagem de treinamento varie de acordo com a arquitetura do modelo, todos os modelos passam por um processo chamado ajuste de hiperparâmetros. É aqui que os cientistas de dados ajustam certas configurações de desempenho para obter os melhores resultados.
4 Avaliação e ajuste fino
Finalmente, o desempenho do modelo é avaliado ou testado no mundo real. Avaliar modelos de IA generativos é um pouco diferente da avaliação de modelos tradicionais de aprendizado de máquina porque a IA generativa cria um resultado inteiramente novo, e a qualidade desse resultado tende a ser subjetiva. As métricas diferem com base no que o modelo está criando, e as técnicas de avaliação para IA generativa normalmente incluem o uso de avaliadores humanos – e podem empregar a estratégia de fazer com que modelos de IA generativa avaliem uns aos outros. Os aprendizados da fase de avaliação são normalmente aplicados no ajuste fino do modelo ou até mesmo na sua reciclagem. Depois que o desempenho do modelo for validado, ele estará pronto para produção.
Tipos de modelos generativos de IA
Com base em nosso conhecimento básico de modelos generativos de IA e das redes neurais que os alimentam, agora estamos prontos para mergulhar em tipos específicos de arquiteturas de modelos que surgiram desde o início da década de 2010. Exploraremos os pontos fortes e fracos exclusivos de cada modelo, bem como suas aplicações práticas.
Aqui está uma breve visão geral dos modelos que discutiremos:
- Autoencoders variacionais (VAEs) são adeptos do aprendizado de distribuições de dados complexas e são frequentemente usados para tarefas como geração e edição de imagens.
- As redes generativas adversárias (GANs) são conhecidas por sua capacidade de criar imagens altamente realistas e se tornaram populares em uma variedade de aplicações criativas.
- Os modelos de difusão são uma classe mais recente de modelos que geram amostras de alta qualidade por meio de um processo de adição gradual e remoção de ruído.
- Os modelos de linguagem são excelentes na compreensão e geração da linguagem humana, tornando-os úteis para aplicações como chatbots e complementação de texto.
- Os modelos baseados em transformadores foram inicialmente projetados para tarefas de processamento de linguagem natural (PNL), mas foram adaptados para uso em modelos generativos devido à sua poderosa capacidade de lidar com dados sequenciais.
Vamos nos aprofundar em cada uma dessas arquiteturas para entender como funcionam e onde podem ser melhor aplicadas.
Autoencoders variacionais (VAEs)
Os autoencodificadores variacionais foram inventados por Max Welling e Diederik P. Kingma em 2013. Eles contam com o fato de que uma rede neural pode codificar os conceitos de alto nível que o modelo aprende durante a etapa de treinamento. Isso às vezes é chamado de “compressão” ou “projeção” dos dados brutos.
Se um modelo olhar para a imagem de um bolo, por exemplo, ele pode transformar isso em uma codificação contendo todos os recursos da imagem – granulados, cor da cobertura, camadas esponjosas, etc. o modelo, mas não para os humanos. Ele pode ser decodificado por outra rede neural para tentar recriar a imagem original – embora tenha algumas lacunas porque a codificação é uma compressão. Esse tipo de modelo, com as peças do codificador e do decodificador trabalhando juntas, é chamado de autoencoder.
Os autoencoders variacionais dão um giro na ideia do autoencoder para gerar novas saídas. Ao gerar suas codificações, um VAE utiliza probabilidades em vez de números discretos. Afinal, chantilly conta como cobertura? Às vezes sim; às vezes não.
Acontece que se você treinar uma rede neural para criar essas codificações probabilísticas e treinar outra rede neural para decodificá-las, poderá obter alguns resultados bastante interessantes. O decodificador pode amostrar pontos no “espaço” de codificação variacional e criar resultados inteiramente novos que ainda parecerão realistas porque preservaram as relações probabilísticas dos dados de treinamento.
Vantagens e desvantagens
Os autoencodificadores variacionais usam aprendizado não supervisionado, o que significa que o modelo aprende por conta própria a partir de dados brutos, sem exigir que humanos rotulem diferentes recursos ou resultados. Esses modelos são especialmente bem-sucedidos na criação de conteúdo que se desvia ligeiramente do original. Devido à forma como trabalham com codificações, eles também podem receber instruções específicas com base nos recursos dos dados de treinamento: “Mostre-me uma sobremesa que represente o ponto médio perfeito entre o bolo e a torta”. Dito isso, os VAEs otimizam os resultados prováveis, portanto, é improvável que se destaquem na criação de conteúdo muito original ou inovador.
Uma reclamação comum sobre VAEs é que eles podem produzir imagens com ruído (ou seja, borradas) devido ao fato de que a codificação e a decodificação envolvem compressão, o que introduz perda de informação.
Casos de uso
Os autoencoders variacionais funcionam com todos os tipos de dados, embora sejam usados principalmente para gerar imagens, áudio e texto. Uma aplicação interessante é a detecção de anomalias: num conjunto de dados, os VAEs podem encontrar os pontos de dados que mais se desviam da norma, porque esses pontos terão o maior erro de reconstrução – o que significa que estarão mais distantes das probabilidades que o VAE codificou.
Redes adversárias generativas (GANs)
As redes generativas adversárias foram desenvolvidas por Ian Goodfellow em 2014. Embora as redes neurais tivessem sido capazes de gerar imagens antes disso, os resultados tendiam a ser confusos e pouco convincentes. A questão central (e o insight) por trás dos GANs é esta: o que acontece se você colocar duas redes neurais uma contra a outra? Um, chamado gerador, é ensinado a gerar novos conteúdos, enquanto outro, chamado discriminador, é treinado para saber a diferença entre conteúdo real e falso.
O gerador cria imagens candidatas e as mostra ao discriminador. Com base no feedback, o gerador atualiza suas previsões de acordo, ficando cada vez melhor em “enganar” o discriminador. Uma vez que consegue enganar o discriminador 50% das vezes (tão bom quanto jogar uma moeda entre o real e o falso), o ciclo de treinamento de feedback é interrompido. A parte geradora do GAN está então pronta para avaliação e produção.
Desde 2014, centenas de variações de GANs foram desenvolvidas para diferentes casos de uso e para equilibrar as vantagens e desvantagens inerentes das GANs.
Vantagens e desvantagens
As redes adversárias generativas, juntamente com os VAEs, inicialmente geraram muito burburinho em torno do potencial da IA generativa. Eles usam aprendizagem não supervisionada, de modo que o modelo melhora por si só, sem que os pesquisadores precisem dizer se seus resultados são bons ou ruins. As redes adversárias generativas também conseguem aprender muito rapidamente; em comparação com outras soluções existentes quando foram lançadas, elas conseguiram bons resultados com muito menos dados de treinamento – centenas de imagens em comparação com milhares.
No entanto, os GANs geralmente lutam para criar conteúdo que não se assemelhe aos seus dados de treinamento – eles são imitadores, não criadores. E às vezes eles podem “ajustar demais” seus dados de treinamento, como quando os GANs criaram imagens de fotos de gatos contendo letras porque lhes foram mostrados muitos memes de gatos.
Treinar um GAN é um desafio. Duas redes devem ser conciliadas durante o treinamento. Também podem surgir problemas quando o discriminador é demasiado bom, levando a ciclos de formação que nunca terminam – ou se o discriminador não for suficientemente bom, o que leva a resultados insatisfatórios. Eles também podem sofrer o chamado colapso de modo, onde não conseguem produzir resultados diversos porque o gerador aprende algumas maneiras de enganar o discriminador e se concentra nessas estratégias, excluindo outras.
Casos de uso
Redes adversárias generativas são usadas principalmente para gerar conteúdo muito semelhante ao original. Por exemplo, eles podem produzir rostos humanos convincentes ou fotos realistas de interiores ou paisagens para uso em banco de imagens ou videogames. Eles também podem criar imagens que foram alteradas de alguma forma, como alterar uma imagem de colorida para preto e branco ou envelhecer um rosto em uma imagem. Dito isto, nem todos os GANs produzem imagens. Por exemplo, alguns GANs foram usados para produzir saída de texto para fala.
Modelos de difusão
Os modelos de difusão também surgiram em meados da década de 2010, oferecendo algumas inovações que proporcionaram melhor desempenho no início da década de 2020. Eles potencializam ferramentas de geração de imagens como DALL-E, Stable Diffusion e Midjourney.
Os modelos de difusão funcionam introduzindo ruído gaussiano em uma imagem, distorcendo-a em uma série de etapas e, em seguida, treinando um modelo para reverter essas etapas e transformar a imagem “ruidosa” em uma imagem nítida. (“Ruído gaussiano” significa apenas que o ruído é adicionado aleatoriamente usando uma curva de probabilidades.)
Você pode pensar na imagem com ruído como sendo semelhante à codificação VAE e, de fato, VAEs e modelos de difusão estão relacionados. Imagens de dados de treinamento de, digamos, torta de limão, acabarão com versões barulhentas bastante semelhantes. Mas mesmo a mesma imagem barulhenta não será “reduzida” da mesma forma todas as vezes, porque o modelo está fazendo suposições fundamentadas ao longo do caminho.
Você já deve ter descoberto onde entra a parte generativa. Se você der ao modelo uma representação da imagem no espaço barulhento, ele será capaz de eliminar o ruído da imagem e criar uma imagem totalmente nova e clara. É mais ou menos como o decodificador faz a amostragem da codificação. Mas há uma diferença importante: não houve compressão ao longo do caminho. Portanto, não houve perda real de dados e a imagem resultante terá qualidade superior.
Ferramentas generativas de IA que vão de um prompt de texto a uma imagem fazem isso com a ajuda de um modelo separado que entende como algo como um “bolo de aniversário com tema de unicórnio” pode ser mapeado para diferentes recursos de imagem. A versão barulhenta desses recursos é então invertida para revelar uma imagem nítida.
Vantagens e desvantagens
Os modelos de difusão não compactam os dados de treinamento, portanto conseguem criar imagens muito realistas e de alta qualidade. No entanto, eles exigem significativamente mais recursos e tempo para serem treinados do que outros modelos. Dito isto, o treinamento em si é mais simples porque eles não enfrentam o modo de colapso dos GANs e outras desvantagens da rede adversária. Eles também não sofrem com a perda de dados (e resultados de menor qualidade resultantes) que os VAEs possuem.
Casos de uso
Os modelos de difusão são usados principalmente para geração de imagem, som e vídeo. Não há nenhuma razão inerente para que eles também não possam ser usados para gerar texto, mas até agora, os modelos baseados em transformadores têm sido mais eficazes para a linguagem natural.
Modelos de linguagem
Modelos de linguagem referem-se a qualquer técnica de aprendizado de máquina que gere um modelo probabilístico de linguagem natural. O tipo mais conhecido de modelo de linguagem atualmente são os grandes modelos de linguagem (LLMs), que são treinados em grandes quantidades de dados brutos e usam uma arquitetura baseada em transformador para gerar texto. (Mais sobre transformadores na próxima seção.)
Antes dos modelos baseados em transformadores, a maioria dos modelos de linguagem de última geração usavam redes neurais recorrentes (RNNs). As redes neurais recorrentes introduzem pequenos loops nas interconexões entre os nós, de modo que, além de aprender com os sinais presentes, como em uma rede neural feedforward tradicional, os nós também possam aprender com o passado recente. Isso é importante para processar ou gerar linguagem natural, como um fluxo de texto ou entrada de voz. Ao contrário das imagens, a linguagem é altamente contextual – a forma como a interpretamos depende do que veio antes.
Vantagens e desvantagens
Como “modelos de linguagem” se referem a um grupo tão grande de modelos, é difícil generalizar sobre suas vantagens e desvantagens. Os desafios da modelagem de linguagem incluem o fato de que a linguagem é altamente dimensional – há um grande número de palavras diferentes em qualquer idioma e algumas combinações podem nunca aparecer nos dados de treinamento.
Além disso, a linguagem depende muito do contexto do que veio antes na sequência, exigindo que a rede manipule ou represente esse contexto de alguma forma. A capacidade de atender a essa necessidade fez com que RNNs com memórias de longo e curto prazo e subsequentemente transformadores, que podem processar uma frase inteira como um todo, emergissem como a arquitetura de última geração para modelos de linguagem.
Casos de uso
Os modelos de linguagem podem ser usados para tradução, resumo, correção de erros gramaticais, reconhecimento de fala e muitas outras tarefas. Eles são usados para gerar novos conteúdos de texto criativos com muitas aplicações e estão provando ser capazes de raciocínio avançado, como análise de dados e resolução de quebra-cabeças lógicos. Curiosamente, a investigação descobriu que uma capacidade emergente dos LLMs é a consciência espacial e a capacidade de criar desenhos básicos, mesmo que sejam treinados inteiramente em texto.
Modelos baseados em transformadores
Os transformadores, inventados por pesquisadores do Google e da Universidade de Toronto em 2017, revolucionaram o campo do aprendizado profundo. Modelos de linguagem grande, como ChatGPT, são modelos baseados em transformadores, e os resultados de pesquisa do Google também são alimentados por transformadores.
Um modelo baseado em transformador usa seus dados de treinamento para aprender como diferentes palavras estão relacionadas. Por exemplo, pode aprender queboloetortasão conceitualmente semelhantes, enquantoboloecapanão estão diretamente relacionados. Ele também pode aprender quefatiapode estar ligada aboloetorta, especialmente se essas palavras ocorrerem próximas.
Ao analisar o texto, o modelo usa esse entendimento básico para construir o que se assemelha a uma planilha enorme. Ele pode procurar duas palavras quaisquer no texto e obter uma resposta sobre o quão provavelmente elas estão relacionadas.
Ao aproveitar essas dicas contextuais, um modelo transformador interpreta habilmente a linguagem e prevê continuidades potenciais em uma conversa. Por exemplo, se alguém menciona um bolo num segmento e depois passa a falar do seu aniversário no seguinte, o modelo antecipa a eventual menção de velas ou de uma festa, com base nas ligações linguísticas estabelecidas.
Vantagens e desvantagens
Quando se trata de analisar e gerar linguagem, os transformadores apresentam algumas vantagens sobre os RNNS, seus antecessores. Eles podem processar texto em paralelo na rede, em vez de processar cada palavra sequencialmente. Isso os torna mais rápido e eficiente para treinar em conjuntos de dados muito grandes. Eles também podem fazer conexões entre palavras, independentemente da distância entre elas, o que lhes permite aproveitar mais o contexto do texto.
No entanto, os transformadores precisam de muitos dados para funcionar bem e, com conjuntos de dados menores, arquiteturas de redes neurais mais tradicionais podem funcionar melhor.
Casos de uso
Os transformadores têm muitas aplicações generativas de IA. Embora os modelos baseados em transformadores sejam normalmente usados para gerar texto ou fala, os pesquisadores estão explorando seu uso para geração de imagens, pois são menos intensivos em termos computacionais do que os modelos de difusão.
Mais notoriamente, os LLMs são modelos baseados em transformadores. Os modelos de linguagem usam apenas a parte decodificadora da arquitetura. O prompt é inserido no modelo como uma codificação – aquele conjunto de valores numéricos, probabilidades e dados de atenção que mencionamos anteriormente. O modelo decodifica a entrada usando o mecanismo de autoatenção e observando todas as palavras do prompt em paralelo. O objetivo do modelo é gerar uma previsão para a próxima palavra da frase.
Os transformadores têm muitas aplicações além da geração de texto no processamento de linguagem natural. Na verdade, eles foram originalmente concebidos para traduzir ou transformar textos de um idioma para outro. Grammarly contribuiu com pesquisas sobre o uso de transformadores para corrigir erros gramaticais.
Conclusão
Os modelos generativos de IA percorreram um longo caminho na última década. Esperamos que agora você entenda um pouco mais sobre a evolução desses modelos, como funcionam e como podem ser aplicados a diferentes casos de uso. Este artigo apenas arranhou a superfície e deixou de fora muitos detalhes importantes com o objetivo de fornecer uma visão geral para o leitor médio. Incentivamos você a continuar aprendendo sobre a matemática e a ciência por trás desses modelos, estudando os trabalhos de pesquisa nos quais eles se baseiam e aprendendo mais sobre como funcionam de uma perspectiva probabilística e estatística.