Nous avons montré précédemment que vous pouvez exécuter ChatGPT sur un Raspberry Pi, mais le hic, c’est que le Pi ne fait que fournir le côté client, puis envoie toutes vos invites au puissant serveur de quelqu’un d’autre dans le cloud. Cependant, il est possible de créer une expérience de chatbot AI similaire qui s’exécute localement sur un Raspberry Pi de 8 Go et utilise le même type de modèles de langage LLaMA qui alimentent l’IA sur Facebook et d’autres services.
Le cœur de ce projet est Lama.cpp de Georgi Gerganov. Écrit en une soirée, ce modèle C/C++ est suffisamment rapide pour une utilisation générale et facile à installer. Il fonctionne sur des machines Mac et Linux et, dans ce guide, je modifierai le processus d’installation de Gerganov afin que les modèles puissent être exécutés sur un Framboise Pi 4. Si vous voulez un chatbot plus rapide et que vous avez un ordinateur avec une série RTX 3000 ou un GPU plus rapide, consultez notre article sur comment exécuter un bot de type ChatGPT sur votre PC.
Gérer les attentes
Avant de vous lancer dans ce projet, je dois gérer vos attentes. LLaMA sur le Raspberry Pi 4 est lent. Le chargement d’une invite de chat peut prendre quelques minutes, et les réponses aux questions peuvent prendre tout autant de temps. Si la vitesse est ce dont vous rêvez, utilisez un ordinateur de bureau / portable Linux. Il s’agit plus d’un projet amusant que d’un cas d’utilisation critique.
Pour ce projet, vous aurez besoin
- Framboise Pi 4 8 Go
- PC avec 16 Go de RAM sous Linux
- Clé USB de 16 Go ou plus formatée en NTFS
Configuration des modèles LLaMA 7B à l’aide d’un PC Linux
La première partie du processus consiste à configurer llama.cpp sur un PC Linux, à télécharger les modèles LLaMA 7B, à les convertir puis à les copier sur une clé USB. Nous avons besoin de la puissance supplémentaire du PC Linux pour convertir le modèle car les 8 Go de RAM d’un Raspberry Pi ne suffisent pas.
1. Sur votre PC Linux, ouvrez un terminal et assurez-vous que git est installé.
sudo apt update && sudo apt install git
2. Utilisez git pour cloner le référentiel.
git clone https://github.com/ggerganov/llama.cpp
3. Installez une série de modules Python. Ces modules fonctionneront avec le modèle pour créer un chat bot.
python3 -m pip install torch numpy sentencepiece
4. Assurez-vous que g++ et build essential sont installés. Ceux-ci sont nécessaires pour créer des applications C.
sudo apt install g++ build-essential
5. Dans le terminal, changez de répertoire en llama.cpp.
cd llama.cpp
6. Générez les fichiers du projet. Appuyez sur Entrée pour exécuter.
make
7. Téléchargez le torrent Llama 7B en utilisant ce lien. J’ai utilisé qBittorrent pour télécharger le modèle.
magnet:?xt=urn:btih:ZXXDAUWYLRUXXBHUYEMS6Q5CE5WA3LVA&dn=LLaMA
8. Affinez le téléchargement afin que seuls les fichiers 7B et tokenizer soient téléchargés. Les autres dossiers contiennent des modèles plus grands qui pèsent des centaines de gigaoctets.
9. Copiez 7B et les fichiers tokenizer dans /llama.cpp/models/.
dix. Ouvrez un terminal et accédez au dossier llama.cpp. Cela devrait être dans votre répertoire personnel.
cd llama.cpp
11. Convertissez le modèle 7B au format ggml FP16. Selon votre PC, cela peut prendre un certain temps. Cette étape à elle seule est la raison pour laquelle nous avons besoin de 16 Go de RAM. Il charge l’intégralité du fichier models/7B/consolidated.00.pth de 13 Go dans la RAM en tant que modèle pytorch. Essayer cette étape sur un Raspberry Pi 4 de 8 Go entraînera une erreur d’instruction illégale.
python3 convert-pth-to-ggml.py models/7B/ 1
12. Quantifiez le modèle à 4 bits. Cela réduira la taille du modèle.
python3 quantize.py 7B
13. Copiez le contenu de /models/ sur la clé USB.
Exécuter LLaMA sur Raspberry Pi 4
Dans cette dernière section, je répète la configuration de llama.cpp sur le Raspberry Pi 4, puis copie les modèles à l’aide d’une clé USB. Ensuite, je charge une session de chat interactive et pose à « Bob » une série de questions. Ne lui demandez simplement pas d’écrire du code Python. L’étape 9 de ce processus peut être exécutée sur le Raspberry Pi 4 ou sur le PC Linux.
1. Démarrez votre Raspberry Pi 4 au bureau.
2. Ouvrez un terminal et assurez-vous que git est installé.
sudo apt update && sudo apt install git
3. Utilisez git pour cloner le référentiel.
git clone https://github.com/ggerganov/llama.cpp
4. Installez une série de modules Python. Ces modules fonctionneront avec le modèle pour créer un chat bot.
python3 -m pip install torch numpy sentencepiece
5. Assurez-vous que g++ et build essential sont installés. Ceux-ci sont nécessaires pour créer des applications C.
sudo apt install g++ build-essential
6. Dans le terminal, changez de répertoire en llama.cpp.
cd llama.cpp
7. Générez les fichiers du projet. Appuyez sur Entrée pour exécuter.
make
8. Insérez la clé USB et copiez les fichiers dans /models/ Cela écrasera tous les fichiers du répertoire des modèles.
9. Démarrez une session de chat interactif avec « Bob ». C’est ici qu’un peu de patience s’impose. Même si le modèle 7B est plus léger que les autres modèles, il reste un modèle assez lourd à digérer pour le Raspberry Pi. Le chargement du modèle peut prendre quelques minutes.
./chat.sh
dix. Posez une question à Bob et appuyez sur Entrée. Je lui ai demandé de me parler de Jean-Luc Picard de Star Trek : The Next Generation. Pour quitter, appuyez sur CTRL + C.