Pular para o conteúdo principal

5 projetos que você pode criar com modelos de IA generativa (com exemplos)

Saiba como usar modelos de IA generativa para criar um editor de imagens, um chatbot do tipo ChatGPT com poucos recursos, um aplicativo classificador de aprovação de empréstimos, automatizar interações em PDF e um assistente de voz com tecnologia GPT.
Actualizado 11 de set. de 2024  · 10 min de leitura

Uma IA faz malabarismos com as tarefas

Nesta postagem, aprenderemos sobre diferentes tipos de modelos generativos que podemos usar para criar projetos interessantes. Além disso, também aprenderemos como podemos usar o ChatGPT para criar um projeto de ciência de dados de ponta a ponta. 

Cinco projetos de IA generativa melhorarão seu portfólio de aprendizado de máquina e ciência de dados e farão de você um candidato atraente para a candidatura a um emprego. Eles também ajudarão você a entender as ferramentas mais recentes, como Stable Diffusion Inpainting, Segment Anything, Stanford Alpaca, LoRA, LangChain, OpenAI API e Whisper.

Você pode saber mais sobre a série GPT, incluindo GPT-1, GPT-2, GPT-3 e GPT-4, consultando o artigo "What is GPT-4 and Why Does it Matter?" (O que é GPT-4 e por que é importante?). 

1. StableSAM: Pintura de difusão estável com qualquer segmento

Neste projeto, você usará o segment-anything do Meta, os difusores Hugging Face e o Gradio para criar um aplicativo que pode alterar o plano de fundo, o rosto, as roupas ou qualquer coisa que você selecionar. Ele só quer a imagem, a área selecionada e o prompt. 

Criar pipeline de pintura por difusão estável

Criaremos um pipeline de Stable Diffusion Inpainting usando o difusor e os pesos do modelo disponíveis em stabilityai/stable-diffusion-2-inpainting - Hugging Face. Depois disso, você o adicionará ao "cuda" para aceleração da GPU. 

Definição da máscara de imagem e da função de pintura

A função de máscara de imagem é criada usando o SAM Predictor. Ele usa uma imagem, uma seção de imagem selecionada e o valor booleano is_backgroud para criar uma imagem mascarada e uma segmentação. 

Depois disso, a função de pintura usa o pipeline Stable Diffusion Inpainting para alterar partes selecionadas das imagens. Os pipelines exigem imagem de entrada, imagem mascarada, imagem segmentada, texto de aviso e texto de aviso negativo.  

Criando a interface do usuário do Gradio

Você criará uma linha e adicionará três blocos de imagens. Para um produto mínimo viável, você precisa adicionar outra linha com um botão de envio. Depois disso, você precisa modificar o objeto de imagem de entrada para selecionar pixels, gerar máscara e segmentação e adicionar uma ação ao botão de envio para executar a função de pintura.

O Gradio é muito fácil de aprender. Você pode aprender tudo lendo os documentos do Gradio

Versão aprimorada do StableSAM

A versão aprimorada do StableSAM está disponível em hugging face, que inclui um pipeline de pintura personalizado que usa ControlNet. Ele usa Runway ML Stable Diffusion Inpainting em vez de Stability AI. 

Pacote StableSAM

Como você pode ver, a versão final do aplicativo parece limpa, com um bloco de segmentação, um botão limpo, uma opção de plano de fundo e um prompt negativo. 

Demonstração do StableSAM

Recursos: 

2. Alpaca-LoRA: Crie um ChatGPT com o mínimo de recursos 

O Alpaca-LoRA fornece todos os componentes necessários para que você crie seu próprio chatbot especializado do tipo ChatGPT usando uma única GPU. 

Nesta seção, veremos a configuração inicial, o treinamento, o script de inferência e o cliente nativo para executar a inferência na CPU.

Configuração local

  1. Repositório clone: tloen/alpaca-lora
  2. Instale as dependências usando pip install -r requirements.txt
  3. Se o bitsandbytes não funcionar, instale-o a partir da fonte

Treinamento

Nesta parte, veremos o script de ajuste fino que você pode executar no modelo LLaMA usando o modelo limpo do Stanford Alpaca. 

Você pode consultar o repositório para ajustar os hiperparâmetros para obter melhor desempenho.

python finetune.py \
    --base_model 'decapoda-research/llama-7b-hf' \
    --data_path 'yahma/alpaca-cleaned' \
    --output_dir './lora-alpaca'

Inferência

O script de inferência lê o modelo LLaMA básico do Hugging Face e carrega os pesos LoRA para executar uma interface Gradio. 

python generate.py \
    --load_8bit \
    --base_model 'decapoda-research/llama-7b-hf' \
    --lora_weights 'tloen/alpaca-lora-7b'

Você também pode usar o alpaca.cpp para que você possa executar os modelos do alpaca na CPU ou no Raspberry Pi 4 com 4 GB de RAM. Além disso, você pode usar Alpaca-LoRA-Serve para criar uma interface no estilo do ChatGPT, como mostrado abaixo.

Captura de tela do Alpaca-LoRA-Serve

Recursos:

3. Automatizando a interação em PDF com LangChain e ChatGPT

Crie seu próprio clone do ChatPDF usando o carregador de PDF da LangChain, OpenAI Embeddings e GPT-3.5. Você criará um chatbot que pode se comunicar com seu livro, documentação legal e outros documentos PDF importantes. 

Carregando o documento

Usaremos o carregador de documentos LangChain para carregar PDFs e ler o conteúdo.

from langchain.document_loaders import PyPDFLoader

pdf_path = "./paper.pdf"
loader = PyPDFLoader(pdf_path)
pages = loader.load_and_split()
print(pages[0].page_content)

Criação de embeddings e vetorização

Criaremos embeddings usando o OpenAIEmbeddings da API LangChain. Depois disso, passe esses embeddings para o Chroma para criar um banco de dados vetorial para o documento PDF.

from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma

embeddings = OpenAIEmbeddings()
vectordb = Chroma.from_documents(pages, embedding=embeddings, persist_directory=".")

vectordb.persist()

Consultando o PDF

Usaremos o ChatVectorDBChain para interagir com o ChatGPT usando um banco de dados vetorial gerado.

from langchain.chains import ChatVectorDBChain
from langchain.llms import OpenAI

pdf_qa = ChatVectorDBChain.from_llm(
    OpenAI(temperature=0.9, model_name="gpt-3.5-turbo"),
    vectordb,
    return_source_documents=True,
)

query = "What is the VideoTaskformer?"
result = pdf_qa({"question": query, "chat_history": ""})
print("Answer:")
print(result["answer"])

A próxima etapa não é mencionada no tutorial em vídeo. Você pode usar a estrutura do Gradio para criar um aplicativo da Web e compartilhá-lo com seus colegas e amigos. 

Captura de tela do tutorial do YouTube

Recursos:

4. Assistente de voz Bing-GPT

Crie seu próprio assistente pessoal com tecnologia de IA, assim como J.A.R.V.I.S. Para isso, você precisará da API OpenAI, da biblioteca de conversão de texto em fala, da biblioteca de reconhecimento de fala e da IA generativa. 

Depois de carregar as bibliotecas necessárias, você precisa fornecer a chave da API da OpenAI:

openai.api_key = "[paste your OpenAI API key here]"

Acordar palavra

Crie uma função de palavra de ativação para ativar a IA. Nesse caso, o desenvolvedor está usando "'bing" ou "gpt".

Síntese de fala

A função de síntese de fala fornece inferência de texto para fala. Você pode acessar o polly (conversão de texto em fala) do boto3 e reproduzir o áudio usando o pydub.

Transcrição com Whisper

O reconhecimento de fala é feito pelo openai/whisper. Você só precisa descobrir a API para adicioná-la ao seu aplicativo. 

ChatBot com EdgeGPT

No final, você usará o acheong08/EdgeGPT e a API OpenAI para criar um chatbot. Se o usuário usar a palavra de ativação "bing", ele usará o modelo EdgeGPT e, caso contrário, o modelo ChatGPT. 

Se você estiver procurando uma implementação muito mais simples do assistente de voz, confira o OpenAI Whisper, o ChatGPT, o TTS e o Gradio Web UI

Imagem do tutorial do YouTube

Recursos:

5. Um projeto de ciência de dados de ponta a ponta

Neste projeto, usaremos o ChatGPT para trabalhar em aplicativos classificadores de aprovação de empréstimos de ponta a ponta. Tudo o que você precisa é acessar a interface do ChatGPT e uma máquina pessoal para executar o código. 

Planejamento de projetos

Na fase de planejamento, descreveremos o conjunto de dados e o que queremos dele. Às vezes, as respostas não são perfeitas, mas você pode ajustar a resposta fornecendo solicitações de acompanhamento. 

Depois disso, começaremos a seguir o plano resumido. 

Análise exploratória de dados (EDA) 

Solicitaremos ao ChatGPT que gere um código Python que carregue o conjunto de dados e realize uma análise exploratória dos dados com várias técnicas de visualização. Você pode até pedir que ele interprete os resultados.

Engenharia de recursos

Pedimos ao ChatGPT que escrevesse um código de engenharia de recursos e, surpreendentemente, ele criou dois recursos a partir de recursos existentes. Isso significa que a IA agora entende completamente o conjunto de dados. 

Pré-processamento e balanceamento dos dados

Temos um conjunto de dados desequilibrado e, nesta parte, usaremos o ChatGPT para gerar o código de pré-processamento e de equilíbrio de classes. 

Seleção de modelos

Acabamos de pedir ao ChatGPT que escreva o código de seleção de modelo especificando os modelos de aprendizado de máquina. Depois de executar o código, selecionaremos o modelo com melhor desempenho. 

Ajuste de hiperparâmetros e avaliação de modelos

Para melhorar o desempenho, pediremos ao ChatGPT que escreva código Python para ajuste de hiperparâmetros e avaliação de modelos e salve o modelo de melhor desempenho.

Criando um aplicativo da Web usando o Gradio

Pediremos ao ChatGPT que escreva o código do aplicativo Gradio usando o modelo salvo e o pré-processamento. A IA entendeu os recursos de entrada e os resultados de saída. Como resultado, obtivemos um aplicativo da Web totalmente funcional. 

Implementação do aplicativo Web no Spaces

Na etapa final, pedimos ao ChatGPT para implantar um aplicativo Web no espaço. Ele forneceu algumas etapas que você pode seguir e implantar em poucos minutos. 

Aplicativo classificador de aprovação de empréstimo

Esse projeto também ensinará dicas sobre como escrever prompts eficazes, o que está se tornando essencial para todas as áreas. 

Recursos: 

Conclusão

Isso é apenas o começo do que está por vir com os modelos de IA generativa. A comunidade de código aberto está trabalhando arduamente para desenvolver ferramentas que ajudarão você a criar qualquer tipo de IA. Você pode usar essas ferramentas até mesmo para criar AGI (Artificial General AI); confira o Auto-GPT (código aberto experimental para criar GPT-4 totalmente autônomo) e o babyagi (sistema de gerenciamento de tarefas com IA). 

Nesta postagem, abordamos os projetos que podem ser compreendidos por todos os níveis e que exigem menos recursos para serem iniciados. Todos eles usam ferramentas, modelos, conjuntos de dados e pacotes de código aberto que estão disponíveis para uso de qualquer pessoa. 

Se você for novo no ChatGPT, considere fazer um curso de Introdução ao ChatGPT. Como alternativa, se você já estiver familiarizado com a IA generativa, poderá aprimorar suas habilidades de solicitação analisando a abrangente Folha de dicas do ChatGPT para ciência de dados ou conferindo os seguintes recursos:

Temas
Relacionado

blog

O que é um modelo generativo?

Os modelos generativos usam o aprendizado de máquina para descobrir padrões nos dados e gerar novos dados. Saiba mais sobre sua importância e aplicações em IA.
Abid Ali Awan's photo

Abid Ali Awan

11 min

blog

25 exemplos práticos da transformação da IA nos setores

Desde a reformulação da saúde e do comércio eletrônico até a revolução da agricultura e das finanças, descubra exemplos reais de IA que impulsionam o crescimento, a eficiência e a inovação.

Nahla Davies

16 min

blog

Os 7 principais geradores de vídeo com IA para 2024 com vídeos de exemplo

Descubra os principais geradores de vídeo com IA disponíveis atualmente, incluindo RunwayML, Synthesia, Colossyan, Pictory, DeepBrain AI, Invideo e os altamente esperados Sora e Veo da DeepMind.
Dr Ana Rojo-Echeburúa's photo

Dr Ana Rojo-Echeburúa

9 min

An avian AI exits its cage

blog

12 Alternativas de código aberto ao GPT-4

GPT-4 alternativas de código aberto que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas. Esses projetos vêm com instruções, fontes de código, pesos de modelos, conjuntos de dados e interface de usuário do chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

blog

As 30 principais perguntas e respostas da entrevista sobre IA generativa para 2024

Este blog oferece um conjunto abrangente de perguntas e respostas de entrevistas sobre IA generativa, desde conceitos básicos até tópicos avançados.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 min

tutorial

Como criar modelos personalizados do ChatGPT: 5 etapas fáceis para GPTs personalizados

Confira estas cinco etapas simples para liberar todo o potencial do ChatGPT com seus próprios GPTs personalizados.
Moez Ali's photo

Moez Ali

9 min

See MoreSee More