Mostramos anteriormente que você pode execute o ChatGPT em um Raspberry Pi, mas o problema é que o Pi está apenas fornecendo o lado do cliente e, em seguida, enviando todos os seus prompts para o poderoso servidor de outra pessoa na nuvem. No entanto, é possível criar uma experiência semelhante de chatbot de IA que é executada localmente em um Raspberry Pi de 8 GB e usa o mesmo tipo de modelos de linguagem LLaMA que alimentam a IA no Facebook e em outros serviços.
O coração deste projeto é A lhama de Georgi Gerganov.cpp. Escrito em uma noite, este modelo C/C++ é rápido o suficiente para uso geral e é fácil de instalar. Ele roda em máquinas Mac e Linux e, neste tutorial, vou ajustar o processo de instalação do Gerganov para que os modelos possam rodar em um Raspberry Pi 4. Se você quer um chatbot mais rápido e tem um computador com uma série RTX 3000 ou GPU mais rápido, confira nosso artigo sobre como executar um bot semelhante ao ChatGPT no seu PC.
Gerenciando Expectativas
Antes de entrar neste projeto, preciso gerenciar suas expectativas. O LLaMA no Raspberry Pi 4 é lento. O carregamento de um prompt de bate-papo pode levar alguns minutos, e as respostas às perguntas podem levar o mesmo tempo. Se velocidade é o que você deseja, use um desktop/laptop Linux. Este é mais um projeto divertido do que um caso de uso de missão crítica.
Para Este Projeto Você Vai Precisar
- Raspberry Pi 4 8GB
- PC com 16 GB de RAM rodando Linux
- Unidade USB de 16 GB ou maior formatada como NTFS
Configurando modelos LLaMA 7B usando um PC Linux
A primeira seção do processo é configurar o llama.cpp em um PC Linux, baixar os modelos LLaMA 7B, convertê-los e depois copiá-los para uma unidade USB. Precisamos da energia extra do PC Linux para converter o modelo, pois os 8 GB de RAM em um Raspberry Pi não são suficientes.
1. No seu PC Linux, abra um terminal e verifique se o git está instalado.
sudo apt update && sudo apt install git
2. Use git para clonar o repositório.
git clone https://github.com/ggerganov/llama.cpp
3. Instale uma série de módulos Python. Esses módulos funcionarão com o modelo para criar um bot de bate-papo.
python3 -m pip install torch numpy sentencepiece
4. Certifique-se de ter instalado o g++ e o build essencial. Eles são necessários para criar aplicativos C.
sudo apt install g++ build-essential
5. No terminal, mude o diretório para llama.cpp.
cd llama.cpp
6. Crie os arquivos do projeto. Pressione Enter para executar.
make
7. Baixe o torrent Llama 7B usando este link. Usei o qBittorrent para baixar o modelo.
magnet:?xt=urn:btih:ZXXDAUWYLRUXXBHUYEMS6Q5CE5WA3LVA&dn=LLaMA
8. Refine o download para que apenas os arquivos 7B e tokenizer sejam baixados. As outras pastas contêm modelos maiores que pesam centenas de gigabytes de tamanho.
9. Copie 7B e os arquivos do tokenizer para /llama.cpp/models/.
10. Abra um terminal e vá para a pasta llama.cpp. Isso deve estar em seu diretório inicial.
cd llama.cpp
11. Converta o modelo 7B para o formato ggml FP16. Dependendo do seu PC, isso pode demorar um pouco. Somente esta etapa é o motivo pelo qual precisamos de 16 GB de RAM. Ele carrega todo o arquivo models/7B/consolidated.00.pth de 13 GB na RAM como um modelo pytorch. Tentar esta etapa em um Raspberry Pi 4 de 8 GB causará um erro de instrução ilegal.
python3 convert-pth-to-ggml.py models/7B/ 1
12. Quantize o modelo para 4 bits. Isso reduzirá o tamanho do modelo.
python3 quantize.py 7B
13. Copie o conteúdo de /models/ para a unidade USB.
Executando o LLaMA no Raspberry Pi 4
Nesta seção final, repito a configuração do llama.cpp no Raspberry Pi 4 e, em seguida, copio os modelos usando uma unidade USB. Em seguida, carrego uma sessão de bate-papo interativa e faço uma série de perguntas a “Bob”. Apenas não peça para escrever nenhum código Python. A etapa 9 deste processo pode ser executada no Raspberry Pi 4 ou no PC com Linux.
1. Inicialize seu Raspberry Pi 4 para a área de trabalho.
2. Abra um terminal e verifique se o git está instalado.
sudo apt update && sudo apt install git
3. Use git para clonar o repositório.
git clone https://github.com/ggerganov/llama.cpp
4. Instale uma série de módulos Python. Esses módulos funcionarão com o modelo para criar um bot de bate-papo.
python3 -m pip install torch numpy sentencepiece
5. Certifique-se de ter instalado o g++ e o build essencial. Eles são necessários para criar aplicativos C.
sudo apt install g++ build-essential
6. No terminal, altere o diretório para llama.cpp.
cd llama.cpp
7. Crie os arquivos do projeto. Pressione Enter para executar.
make
8. Insira a unidade USB e copie os arquivos para /models/ Isso substituirá todos os arquivos no diretório models.
9. Inicie uma sessão de bate-papo interativa com “Bob”. Aqui é onde um pouco de paciência é necessária. Embora o modelo 7B seja mais leve do que outros modelos, ainda é um modelo bastante pesado para o Raspberry Pi digerir. Carregar o modelo pode levar alguns minutos.
./chat.sh
10. Faça uma pergunta a Bob e pressione Enter. Pedi que me contasse sobre Jean-Luc Picard de Star Trek: The Next Generation. Para sair pressione CTRL + C.