Como executar um AI semelhante ao ChatGPT em seu próprio PC

Publicados: 2023-04-06
Uma alpaca amigável gerada por MidJourney.
Meio da jornada
Você pode executar uma IA semelhante ao ChatGPT em seu próprio PC com o Alpaca, um chatbot criado por pesquisadores de Stanford. Ele suporta Windows, macOS e Linux. Você só precisa de pelo menos 8 GB de RAM e cerca de 30 GB de espaço de armazenamento gratuito.

Os chatbots estão na moda agora e todo mundo quer uma parte da ação. O Google tem o Bard, a Microsoft tem o Bing Chat e o ChatGPT da OpenAI é praticamente sinônimo de IA neste momento. Mas e se você não quiser contar com um serviço de nuvem para o seu chatbot? Temos uma AI semelhante ao ChatGPT que você pode baixar - uma Alpaca.

Índice

O que é Alpaca?
Como o Alpaca se compara ao ChatGPT?
O que você precisa para executar o Alpaca?
Como executar o Alpaca localmente no seu PC
Instale o subsistema do Windows para Linux 2
Instalar Docker
Instale o GIT no Windows
Instalar Serge e Alpaca
Use sarja e alpaca

O que é Alpaca?

Alpaca é um modelo de linguagem (um chatbot, basicamente), muito parecido com o ChatGPT. Ele é capaz de responder a perguntas, raciocinar, contar piadas e quase todas as outras coisas que esperamos dos chatbots. A Alpaca foi criada por pesquisadores de Stanford através do ajuste fino do LLaMA do Facebook.

Ao contrário do ChatGPT e da maioria dos outros chatbots disponíveis hoje, o Alpaca é executado completamente no seu próprio PC. Isso significa que ninguém pode bisbilhotar suas conversas ou o que você pergunta ao Alpaca, e suas trocas também não podem vazar acidentalmente. Isso também significa que você não precisa pagar nenhuma mensalidade, pode treinar ainda mais o modelo para atender melhor às suas necessidades se tiver o hardware e pode integrá-lo a qualquer aplicativo que desejar. Você está limitado apenas pelo seu hardware e suas habilidades de programação.

No entanto, ele também funciona perfeitamente como um chatbot antigo comum com o qual você pode conversar, e mostraremos como executá-lo em praticamente qualquer PC existente.

Como o Alpaca se compara ao ChatGPT?

Vamos resolver isso logo de cara: o ChatGPT, particularmente o ChatGPT rodando GPT-4, é mais inteligente e rápido que o Alpaca no momento.

A velocidade do Alpaca é limitada principalmente pelo computador em que está sendo executado - se você tiver um PC para jogos extremamente rápido com uma tonelada de núcleos e bastante RAM, obterá um bom desempenho dele. PCs mais lentos com menos núcleos levarão mais tempo para gerar respostas. Claro, não é exatamente justo ou razoável compará-lo com o ChatGPT a esse respeito - não sabemos em que tipo de computador o ChatGPT está sendo executado, mas certamente é mais robusto do que um PC de mesa comum.

Existem três variantes principais de Alpaca atualmente, 7B, 13B e 30B. De um modo geral, quanto maior o número, mais inteligente será o chatbot.

Alpaca, especialmente o modelo 7B, é visivelmente “mais burro” do que o ChatGPT. Não raciocina tão bem e certamente não passará no teste de Turing. 7B ainda é ótimo se você quiser uma sugestão de receita.

Os modelos 13B e 30B são outra história. 13B é capaz de fornecer uma conversa coerente e humana e pode responder a perguntas complexas. 30B é ainda mais impressionante, se você tiver o hardware para executá-lo e estiver a uma curta distância do ChatGPT. Ele vai crescer filosoficamente ou fazer uma piada sem perder o ritmo, se solicitado.

O que você precisa para executar o Alpaca?

Alpaca tem requisitos de sistema bastante flexíveis. Essas diretrizes estão acima do mínimo, mas são boas diretrizes. Também vamos instalá-lo no Windows. Se você estiver instalando isso em um sistema executando Linux ou macOS, apenas pule a seção Windows Subsystem for Linux — ela não é relevante para você.

  • 16GB de RAM
    • 32 GB é melhor e é necessário se você deseja executar o modelo 30B
  • 35 GB de armazenamento em um SSD se você quiser todos os três modelos.
    • 4 GB para o modelo 7B, 8 GB para o modelo 13B e 20 GB para o modelo 30B
    • 500 MB para Ubuntu padrão com WSL2
    • Mais alguns GBs entre outras dependências
  • Uma CPU moderna é ideal
    • Qualquer CPU Ryzen
    • Processador Intel de 7ª geração ou mais recente
  • Subsistema do Windows para Linux 2 (WSL2)
  • GIT
  • Docker
  • Um projeto comunitário, Serge, que dá ao Alpaca uma interface web agradável
Aviso: atualmente não há motivos para suspeitar que este projeto em particular tenha falhas graves de segurança ou seja malicioso. Examinamos o código e executamos o software nós mesmos e não encontramos nada relacionado. Isso não significa que é ou permanecerá seguro. Seja sempre cauteloso com as coisas que encontrar na internet e reavalie a segurança periodicamente.

Como executar o Alpaca localmente no seu PC

É importante que você siga estas etapas na ordem em que são dadas. O Docker provavelmente irá quebrar se você não fizer isso, exigindo uma reinstalação completa do WSL2 e do Docker.

Instale o subsistema do Windows para Linux 2

O Windows Subsystem for Linux 2 (WSL2) da Microsoft permite que você execute o software Linux no Windows. Tem uma sobrecarga baixa e é realmente útil em muitos casos. O Docker para Windows depende do WSL2, então precisamos instalar o WSL2 primeiro.

Observação: se você já tiver o WSL2 instalado, basta executar wsl –update no PowerShell para garantir que tudo esteja atualizado.

Abra uma janela do PowerShell como administrador e digite o comando:

wsl --install

Vai demorar um pouco para baixar todos os arquivos WSL2 e o Ubuntu. Você deve reiniciar seu PC após a conclusão da instalação.

Instalando o WSL2.

Após a reinicialização, reabra o PowerShell (não necessariamente como administrador) e execute:

wsl -l -v

Você deve ver algo como a imagem abaixo se tudo funcionou corretamente. Você também não precisa instalar o Ubuntu em particular. Você pode instalar qualquer distro que desejar, o Ubuntu é apenas o padrão.

Verificando se o WSL2 instalou o Ubuntu.

Instalar Docker

Docker é um programa que permite executar programas em um “contêiner”. Os contêineres são semelhantes às máquinas virtuais, mas tendem a ter menos sobrecarga e têm mais desempenho para muitos aplicativos. Serge usa o Docker para tornar a instalação super conveniente.

RELACIONADO: O que o Docker faz e quando você deve usá-lo?

Primeiro, baixe o instalador do Docker no site do Docker. Se você estiver executando o Docker no Linux ou macOS, certifique-se de obter o instalador apropriado.

Observação: se você estiver executando um servidor Linux sem periféricos, siga as instruções apropriadas para sua distribuição Linux para executar o Docker.

Instale o Docker Desktop no site do Docker.

Execute o instalador e esteja preparado para aguardar alguns minutos. O Docker vai demorar um pouco e configurar um monte de coisas nos bastidores. Uma vez feito isso, você vai querer reiniciar o seu PC.

Após reiniciar, abra o PowerShell e execute wsl -l -v novamente. Desta vez, você também deve ver algumas entradas relacionadas ao Docker.

O Docker usa WSL2 para criar uma VM.

Instale o GIT no Windows

O último pré-requisito é o Git, que usaremos para baixar (e atualizar) o Serge automaticamente do Github. Não é estritamente necessário, pois você sempre pode baixar o ZIP e extraí-lo manualmente, mas o Git é melhor.

Acesse o site do Git e baixe a versão correta para o seu sistema operacional. Os usuários do Windows só precisam executar o executável. Certifique-se de pelo menos olhar para as opções de instalação em vez de apenas clicar rapidamente em todas as opções. Um, mostrado na captura de tela abaixo, é absolutamente crítico.

Certifique-se de selecionar a opção que adiciona o Git ao PATH do seu sistema.

Depois que o Git terminar de instalar, você estará pronto para instalar o Serge e o Alpaca.

Instalar Serge e Alpaca

Primeiro, verifique se o Docker Desktop está em execução. Em seguida, abra o PowerShell ou o Terminal do Windows com uma janela do PowerShell aberta (não como administrador) e execute o seguinte comando:

git clone https://github.com/nsarrazin/serge.git && cd serge

Isso baixa os arquivos do GitHub para uma pasta no seu PC e, em seguida, altera o diretório ativo para a pasta que foi criada.

Baixe Serge do Github.

O próximo comando que você precisa executar é:

cp .env.sample .env

Essa linha cria uma cópia de .env.sample e nomeia a cópia “.env.” O arquivo contém argumentos relacionados ao banco de dados local que armazena suas conversas e a porta que o servidor web local usa quando você se conecta.

Então corra:

docker compose up -d

O Docker Compose une vários contêineres diferentes em um pacote organizado. Você pode verificar o arquivo docker-compose.yml na pasta Serge se quiser ver mais especificamente o que está envolvido aqui.

Docker-Compose configurando o Serge.

O último comando iniciará um download e aqui você precisa fazer uma escolha antes de prosseguir. Existem três variantes diferentes que você pode baixar: 7B, 13B e 30B. O 7B é o modelo mais simples e “burro”, enquanto o 30B é o mais sofisticado e inteligente. 13B é o meio termo.

Variante Tamanho do download RAM livre necessária RAM do sistema recomendada no Windows RAM do sistema recomendada no Linux
7B 4GB 4GB 16 GB 8 GB
13B 8 GB 8 GB 16 GB 16 GB
30B 20 20 GB 64 GB (provável) 32 GB

As instalações do Linux (e provavelmente do macOS) poderão funcionar com menos RAM do sistema do que as instalações do Windows - o Windows é um pouco consumidor de RAM. Você provavelmente deve começar com a variante 7B primeiro, pois é a opção menos exigente. Você sempre pode baixar 13B ou 30B mais tarde, se quiser.

Execute o seguinte comando para baixar o modelo 7B (ou substitua 13B ou 30B).

docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B

Esteja preparado para esperar, especialmente se você optar pela variante 30B. O servidor Huggingface parece chegar a cerca de 20 megabytes por segundo, então você verá 50 segundos por gigabyte baixado no melhor cenário.

Baixando o modelo de linguagem 7B.

Use sarja e alpaca

O Docker e todos os contêineres necessários estão em execução se você seguiu essas instruções; no entanto, será necessário ativá-los novamente se reiniciar o computador. Para fazer isso, basta abrir o Docker Desktop e clicar nos pequenos botões triangulares. Os ícones à esquerda da coluna “Nome” ficam verdes quando os contêineres estão em execução.

Tudo está instalado e pronto para ir neste momento. Basta abrir seu navegador e digitar “localhost:8008″ na barra de endereço, como faria para visitar o Facebook ou qualquer outro site.

Nota: Se você estiver hospedando o Alpaca/Serge em outro computador, precisará inserir o endereço IP local desse dispositivo em vez de localhost.

A tela principal tem suas conversas anteriores exibidas à esquerda e as configurações para um novo chat exibido no meio.

A Interface Web do Serge.

Há um bom número de configurações disponíveis, mas há cinco que você realmente deve prestar atenção:

  • Temperatura – determina a liberdade com que a IA responde. Números mais baixos resultam em respostas mais rígidas, enquanto números mais altos são mais criativos.
  • Comprimento Máximo de Texto Gerado em Tokens – Quanto tempo as respostas que o bot escreve podem ser.
  • Escolha do modelo – Escolha entre 7B, 13B, 30B e qualquer outro modelo que você instalar.
  • n_threads – O número de threads que Serge/Alpaca pode usar em sua CPU. Alocar mais melhorará o desempenho
  • Pré-prompt para inicializar uma conversa – fornece contexto antes que a conversa seja iniciada para influenciar a maneira como o chatbot responde.

Nesse caso, aumentamos a temperatura e os fios, selecionamos o modelo 13B e dissemos ao chatbot que é um pirata.

Configurações importantes do Serge.

Aqui está uma amostra de como foi a conversa.

Uma conversa de exemplo.

Você pode falar sobre o que quiser com o Alpaca e não precisa se preocupar com o que está acontecendo com seus dados. Ele permanece no seu dispositivo, sob seu controle o tempo todo.

Lembre-se, ChatGPT, Alpaca e outros chatbots parecem confiáveis, mas não são neste momento. Eles incorporam muito bem o sentimento: “Se você não pode deslumbrá-los com brilhantismo, confunda-os com BS”. Sua tendência de inventar coisas foi apelidada de “alucinante”. Não conte com eles para nada essencial, especialmente algo crítico para o seu trabalho ou saúde. Eles devem ser usados ​​apenas para entretenimento ou fins experimentais neste momento.

No entanto, a tecnologia só vai melhorar com o tempo - não demorará muito para vermos o Alpaca (ou outra IA executada localmente) integrada aos servidores Discord, mods do Minecraft e vários outros aplicativos criativos. O refinamento adicional também resultará em modelos mais rápidos e precisos que podem ser executados em hardware mais fraco.