Comment exécuter une IA de type ChatGPT sur votre propre PC

Publié: 2023-04-06
Un alpaga amical généré par MidJourney.
À mi-parcours
Vous pouvez exécuter une IA de type ChatGPT sur votre propre PC avec Alpaca, un chatbot créé par des chercheurs de Stanford. Il prend en charge Windows, macOS et Linux. Vous avez juste besoin d'au moins 8 Go de RAM et d'environ 30 Go d'espace de stockage gratuit.

Les chatbots font fureur en ce moment, et tout le monde veut une part de l'action. Google a Bard, Microsoft a Bing Chat et ChatGPT d'OpenAI est pratiquement synonyme d'IA à ce stade. Mais que se passe-t-il si vous ne voulez pas compter sur un service cloud pour votre chatbot ? Nous avons une IA de type ChatGPT que vous pouvez télécharger - un alpaga.

Table des matières

Qu'est-ce que l'Alpaga ?
Comment Alpaca se compare-t-il avec ChatGPT ?
De quoi avez-vous besoin pour courir Alpaca ?
Comment exécuter Alpaca localement sur votre PC
Installer le sous-système Windows pour Linux 2
Installer Docker
Installer GIT sur Windows
Installer Serge et Alpaga
Utilisez Serge et Alpaga

Qu'est-ce que l'Alpaga ?

Alpaca est un modèle de langage (un chatbot, essentiellement), un peu comme ChatGPT. Il est capable de répondre aux questions, de raisonner, de raconter des blagues et à peu près tout ce que nous attendons des chatbots. Alpaca a été créé par des chercheurs de Stanford en affinant le LLaMA de Facebook.

Contrairement à ChatGPT et à la plupart des autres chatbots disponibles aujourd'hui, Alpaca fonctionne entièrement sur votre propre PC. Cela signifie que personne ne peut espionner vos conversations ou ce que vous demandez à Alpaca, et vos échanges ne peuvent pas non plus être accidentellement divulgués. Cela signifie également que vous n'avez pas à payer de frais mensuels, vous pouvez former davantage le modèle pour mieux répondre à vos besoins si vous avez le matériel, et vous pouvez l'intégrer dans n'importe quelle application que vous souhaitez. Vous n'êtes limité que par votre matériel et vos côtelettes de programmation.

Cependant, cela fonctionne également à merveille comme un vieux chatbot ordinaire auquel vous pouvez parler, et nous allons vous montrer comment l'exécuter sur à peu près n'importe quel PC.

Comment Alpaca se compare-t-il avec ChatGPT ?

Nous allons simplement le mettre à l'écart dès le départ : ChatGPT, en particulier ChatGPT exécutant GPT-4, est plus intelligent et plus rapide qu'Alpaca pour le moment.

La vitesse d'Alpaca est principalement limitée par l'ordinateur sur lequel il s'exécute. Si vous avez un PC de jeu extrêmement rapide avec une tonne de cœurs et beaucoup de RAM, vous en tirerez de bonnes performances. Les PC plus lents avec moins de cœurs mettront plus de temps à générer des réponses. Bien sûr, il n'est pas tout à fait juste ni même raisonnable de le comparer à ChatGPT à cet égard - nous ne savons pas sur quel type d'ordinateur ChatGPT fonctionne, mais il est certainement plus puissant que votre PC de bureau moyen.

Il existe actuellement trois variantes principales d'alpaga, 7B, 13B et 30B. De manière générale, plus le nombre est grand, plus le chatbot sera intelligent.

Alpaca, en particulier le modèle 7B, est sensiblement "plus stupide" que ChatGPT. Il ne raisonne pas aussi bien et ne passera certainement pas le test de Turing. 7B est toujours excellent si vous voulez une suggestion de recette, cependant.

Les modèles 13B et 30B sont une toute autre histoire. 13B est capable de fournir une conversation cohérente et humaine et peut répondre à des questions complexes. 30B est encore plus impressionnant, si vous avez le matériel pour l'exécuter, et se trouve à une distance frappante de ChatGPT. Il va cirer philosophiquement ou faire une blague sans manquer un battement si vous y êtes invité.

De quoi avez-vous besoin pour courir Alpaca ?

Alpaca a des exigences système assez flexibles. Ces lignes directrices sont au-dessus du strict minimum mais sont de bonnes lignes directrices. Nous allons également l'installer sur Windows. Si vous l'installez sur un système exécutant Linux ou macOS, ignorez simplement la section Sous-système Windows pour Linux - cela ne vous concerne pas.

  • 16 Go de RAM
    • 32 Go c'est mieux, et c'est nécessaire si vous voulez faire tourner le modèle 30B
  • 35 Go de stockage sur un SSD si vous voulez les trois modèles.
    • 4 Go pour le modèle 7B, 8 Go pour le modèle 13B et 20 Go pour le modèle 30B
    • 500 Mo pour Ubuntu par défaut avec WSL2
    • Quelques Go de plus entre les autres dépendances
  • Un processeur moderne est idéal
    • N'importe quel processeur Ryzen
    • Processeur Intel de 7e génération ou plus récent
  • Sous-système Windows pour Linux 2 (WSL2)
  • GIT
  • Docker
  • Un projet communautaire, Serge, qui donne à Alpaca une belle interface web
Avertissement : Il n'y a actuellement aucune raison de soupçonner que ce projet particulier présente des failles de sécurité majeures ou qu'il est malveillant. Nous avons parcouru le code et exécuté le logiciel nous-mêmes et n'avons rien trouvé de préoccupant. Cela ne signifie pas qu'il est ou restera sûr. Soyez toujours prudent avec les choses que vous trouvez sur Internet et réévaluez périodiquement la sécurité.

Comment exécuter Alpaca localement sur votre PC

Il est important que vous suiviez ces étapes dans l'ordre indiqué. Docker tombera probablement en panne si vous ne le faites pas, ce qui nécessitera une réinstallation complète de WSL2 et de Docker.

Installer le sous-système Windows pour Linux 2

Le sous-système Windows de Microsoft pour Linux 2 (WSL2) vous permet d'exécuter des logiciels Linux sous Windows. Il a une faible surcharge et est vraiment pratique dans de nombreux cas. Docker pour Windows repose sur WSL2, nous devons donc d'abord installer WSL2.

Remarque : Si vous avez déjà installé WSL2, exécutez simplement wsl –update dans PowerShell pour vous assurer que tout est mis à jour.

Ouvrez une fenêtre PowerShell en tant qu'administrateur, puis saisissez la commande :

wsl --install

Il faudra un peu de temps pour télécharger tous les fichiers WSL2 et Ubuntu. Vous devez redémarrer votre PC une fois l'installation terminée.

Installation de WSL2.

Une fois le redémarrage effectué, rouvrez PowerShell (pas nécessairement en tant qu'administrateur) et exécutez :

wsl -l -v

Vous devriez voir quelque chose comme l'image ci-dessous si tout a fonctionné correctement. Vous n'avez pas non plus besoin d'installer Ubuntu en particulier. Vous pouvez installer n'importe quelle distribution que vous aimez, Ubuntu n'est que la valeur par défaut.

Vérifier que WSL2 a installé Ubuntu.

Installer Docker

Docker est un programme qui vous permet d'exécuter des programmes dans un "conteneur". Les conteneurs sont similaires aux machines virtuelles, mais ils ont tendance à avoir moins de surcharge et sont plus performants pour de nombreuses applications. Serge utilise Docker pour rendre l'installation super pratique.

CONNEXION : Que fait Docker et quand devez-vous l'utiliser ?

Tout d'abord, téléchargez le programme d'installation de Docker sur le site Web de Docker. Si vous allez exécuter Docker sur Linux ou macOS, assurez-vous de récupérer le programme d'installation approprié.

Remarque : Si vous utilisez un serveur Linux sans tête, vous devrez suivre les instructions appropriées pour votre distribution Linux afin d'exécuter Docker.

Installez Docker Desktop à partir du site Web de Docker.

Exécutez le programme d'installation et préparez-vous à attendre quelques minutes. Docker prendra un certain temps et mettra en place un tas de choses dans les coulisses. Une fois cela fait, vous voudrez redémarrer votre PC.

Après le redémarrage, ouvrez PowerShell et exécutez à nouveau wsl -l -v . Cette fois, vous devriez également voir quelques entrées liées à Docker.

Docker utilise WSL2 pour créer une machine virtuelle.

Installer GIT sur Windows

Le dernier prérequis est Git, que nous utiliserons pour télécharger (et mettre à jour) Serge automatiquement depuis Github. Ce n'est pas strictement nécessaire puisque vous pouvez toujours télécharger le ZIP et l'extraire manuellement, mais Git est meilleur.

Rendez-vous sur le site Web de Git et téléchargez la bonne version pour votre système d'exploitation. Les utilisateurs de Windows n'ont qu'à lancer l'exécutable. Assurez-vous de regarder au moins les options d'installation au lieu de simplement cliquer rapidement sur toutes les options. L'un, illustré dans la capture d'écran ci-dessous, est absolument critique.

Assurez-vous de sélectionner l'option qui ajoute Git à votre système PATH.

Une fois l'installation de Git terminée, vous êtes prêt à installer Serge et Alpaca.

Installer Serge et Alpaga

Tout d'abord, assurez-vous que Docker Desktop est en cours d'exécution. Ensuite, ouvrez PowerShell ou Windows Terminal avec une fenêtre PowerShell ouverte (pas en tant qu'administrateur) et exécutez la commande suivante :

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

Cela télécharge les fichiers de GitHub dans un dossier sur votre PC, puis modifie le répertoire actif dans le dossier qui a été créé.

Téléchargez Serge depuis Github.

La prochaine commande que vous devez exécuter est :

cp .env.sample .env

Cette ligne crée une copie de .env.sample et nomme la copie ".env". Le fichier contient des arguments liés à la base de données locale qui stocke vos conversations et le port que le serveur Web local utilise lorsque vous vous connectez.

Exécutez ensuite :

docker compose up -d

Docker compose rassemble un certain nombre de conteneurs différents dans un emballage soigné. Vous pouvez consulter le fichier docker-compose.yml dans le dossier Serge si vous souhaitez voir plus précisément ce qui est impliqué ici.

Docker-Compose installe Serge.

La dernière commande lancera un téléchargement, et ici vous devez faire un choix avant de continuer. Il existe trois variantes différentes que vous pouvez télécharger : 7B, 13B et 30B. 7B est le modèle le plus simple et le plus « stupide », tandis que 30B est le plus sophistiqué et le plus intelligent. 13B est le terrain d'entente.

Une variante Taille de téléchargement RAM libre requise RAM système recommandée sous Windows RAM système recommandée sous Linux
7B 4 GO 4 GO 16 GB 8 Go
13B 8 Go 8 Go 16 GB 16 GB
30B 20 20 Go 64 Go (probable) 32 Go

Les installations Linux (et probablement macOS) pourront s'en tirer avec moins de RAM système que les installations Windows - Windows est un peu gourmand en RAM. Vous devriez probablement commencer par la variante 7B car c'est l'option la moins exigeante. Vous pouvez toujours télécharger 13B ou 30B plus tard si vous le souhaitez.

Exécutez la commande suivante pour télécharger le modèle 7B (ou remplacer 13B ou 30B).

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

Soyez prêt à attendre, surtout si vous optez pour la variante 30B. Le serveur Huggingface semble atteindre environ 20 mégaoctets par seconde, vous aurez donc 50 secondes par gigaoctet téléchargé dans le meilleur des cas.

Téléchargement du modèle de langage 7B.

Utilisez Serge et Alpaga

Docker et tous les conteneurs requis sont actuellement en cours d'exécution si vous avez suivi ces instructions, cependant, vous devrez les réactiver si vous redémarrez votre ordinateur. Pour ce faire, ouvrez simplement Docker Desktop et cliquez sur les petits boutons triangulaires. Les icônes à gauche de la colonne "Nom" deviennent vertes lorsque les conteneurs sont en cours d'exécution.

Tout est installé et prêt à fonctionner à ce stade. Ouvrez simplement votre navigateur et entrez "localhost:8008" dans la barre d'adresse, comme vous le feriez pour visiter Facebook ou tout autre site Web.

Remarque : Si vous hébergez Alpaca/Serge sur un autre ordinateur, vous devrez entrer l'adresse IP locale de cet appareil au lieu de localhost.

L'écran principal affiche vos conversations précédentes à gauche et les paramètres d'un nouveau chat affichés au milieu.

L'interface Web de Serge.

Il existe un bon nombre de paramètres disponibles, mais il y en a cinq auxquels vous voudrez vraiment faire attention :

  • Température - Détermine la liberté de réponse de l'IA. Des nombres plus faibles donnent des réponses plus rigides, tandis que des nombres plus élevés sont plus créatifs.
  • Longueur maximale du texte généré en jetons – Combien de temps les réponses écrites par le bot peuvent être.
  • Choix du modèle - Choisissez entre 7B, 13B, 30B et tout autre modèle que vous installez.
  • n_threads – Le nombre de threads que Serge/Alpaca peut utiliser sur votre CPU. En allouer plus améliorera les performances
  • Pré-invite pour l'initialisation d'une conversation - Fournit un contexte avant le début de la conversation pour biaiser la façon dont le chatbot répond.

Dans ce cas, nous avons augmenté la température et les threads, sélectionné le modèle 13B et dit au chatbot qu'il s'agissait d'un pirate.

Paramètres importants de Serge.

Voici un exemple de la façon dont la conversation s'est déroulée.

Un exemple de conversation.

Vous pouvez parler de tout ce que vous voulez avec Alpaca, et vous n'avez pas à vous soucier de ce qui arrive à vos données. Il reste sur votre appareil, sous votre contrôle à tout moment.

N'oubliez pas que ChatGPT, Alpaca et d'autres chatbots semblent fiables, mais ils ne le sont pas pour le moment. Ils incarnent très bien le sentiment : "Si vous ne pouvez pas les éblouir avec brio, déconcertez-les avec BS." Leur tendance à inventer des choses a été qualifiée d'"hallucinante". Ne comptez pas sur eux pour quoi que ce soit d'essentiel, surtout pas quelque chose de critique pour votre travail ou votre santé. Ils ne doivent être utilisés qu'à des fins de divertissement ou d'expérimentation pour le moment.

Cependant, la technologie ne fera que s'améliorer avec le temps – il ne faudra pas longtemps avant que nous voyions Alpaca (ou une autre IA gérée localement) intégrée aux serveurs Discord, aux mods Minecraft et à un certain nombre d'autres applications créatives. Un raffinement supplémentaire se traduira également par des modèles plus rapides et plus précis pouvant fonctionner sur du matériel plus faible.