# Qu’est-ce qu’Ollama, et comment permet-il de faire tourner des modèles d’IA sur votre propre Mac?

Date: 2023-07-09 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-ollama/

**Answer:** Ollama est un nouvel outil gratuit à code source ouvert, publié pour la première fois en aperçu préliminaire le 8 juillet 2023, qui télécharge et fait tourner des grands modèles de langage ouverts sur votre propre ordinateur avec une seule commande courte, comme « ollama run orca ». Il repose sur llama.cpp, fonctionne pour l’instant sur les Mac à puce Apple Silicon et offre aussi une petite API Web locale pour que vos propres programmes puissent utiliser les modèles.

Hier, 8 juillet 2023, un petit projet à code source ouvert appelé **Ollama** a publié sa première version sur GitHub, le site où les développeurs partagent du code. La version 0.0.1 est présentée comme un aperçu préliminaire. Sa promesse est simple : tapez une courte commande, et un modèle de langage se télécharge sur votre Mac et commence à vous répondre, sans service infonuagique et sans connexion Internet une fois le modèle sur votre disque.

Faire tourner un modèle localement est possible depuis mars, quand le projet llama.cpp a montré que de grands modèles pouvaient tenir sur un ordinateur portable. Mais il fallait habituellement trouver les fichiers du modèle, les convertir, compiler du code et retenir de longues lignes de commande. Ollama regroupe ces étapes dans un outil qui ressemble davantage à l’installation d’une application.

## Ce qui a été publié

La publication est l’œuvre d’une petite équipe dirigée sur GitHub par Jeffrey Morgan, dont le compte, jmorganca, héberge le projet. Le dépôt a été créé le 22 juin, et Bruce MacDonald, Michael Yang, Eva Ho et Michael Chiang font partie des personnes qui y ont contribué du code depuis. Le code est sous licence MIT, qui permet à quiconque de l’utiliser, de le modifier et de le partager.

Voici ce qu’offre la première version, selon son README, la description qui sert de page d’accueil au projet :

| Élément | Ce qu’il fait |
|---|---|
| Application Mac et outil en ligne de commande | Deux téléchargements pour les Mac à puce Apple Silicon; Windows et Linux sont promis pour plus tard, et une image Docker est offerte |
| `ollama run` | Télécharge un modèle au besoin, puis lance une conversation ou répond à un seul prompt |
| Changement de modèle | Passer d’un modèle à l’autre à la volée |
| Accélération matérielle | Utilise la puce graphique quand elle est disponible : Metal sur Mac, CUDA sur les cartes Nvidia |
| Serveur local | Un programme écrit en Go, propulsé par llama.cpp, qui tourne sur votre propre machine |
| API REST | Permet à vos propres programmes d’envoyer des prompts au modèle par une adresse Web locale |

## Les premiers modèles

Le projet présente trois modèles en exemple, chacun étant un modèle gratuit et partagé ouvertement, mis en paquet par un utilisateur de Hugging Face connu sous le nom de TheBloke :

- **Orca Mini**, avec 3 milliards de paramètres, recommandé comme modèle de départ rapide qui fonctionne bien même sans puce graphique;
- **Nous Hermes**, avec 13 milliards de paramètres, un modèle polyvalent ajusté par Nous Research à partir de LLaMA de Meta;
- **Wizard Vicuna Uncensored**, aussi de 13 milliards de paramètres, dont la description indique elle-même qu’on lui a retiré ses garde-fous.

Les **paramètres** sont les nombres ajustables à l’intérieur d’un modèle; plus de paramètres donnent habituellement de meilleures réponses, mais exigent plus de mémoire. Le README ajoute un avertissement qui vaut la peine d’être lu : certains modèles que vous pouvez faire tourner avec Ollama ne sont autorisés que pour la recherche ou un usage non commercial.

## Comment ça fonctionne

Ollama repose sur **llama.cpp**, le programme que Georgi Gerganov a publié en mars pour faire tourner les modèles LLaMA de Meta sur des ordinateurs ordinaires. Le truc clé est la **quantification** : stocker chacun des nombres du modèle avec moins de bits, un peu comme on peut enregistrer une photo en qualité réduite pour qu’elle prenne moins de place. Simon Willison a rapporté en mars que la quantification sur 4 bits réduit un modèle de 7 milliards de paramètres à environ 4 Go, assez petit pour un ordinateur portable.

Ollama ajoute trois commodités par-dessus. Il sait où télécharger chaque modèle. Il fait tourner un petit serveur en arrière-plan pour que les modèles restent prêts entre les questions. Et il remplit le **gabarit de prompt** de chaque modèle, la formulation particulière qu’un modèle donné attend autour de votre question, pour que vous n’ayez pas à la chercher.

Voici toute la première expérience, étape par étape, telle que la décrit le README :

1. Téléchargez Ollama pour macOS et ouvrez-le.
2. Dans l’application Terminal, tapez `ollama run orca`.
3. Patientez pendant que le modèle se télécharge la première fois.
4. Tapez une question à l’invite, comme « Write an email to my boss. »
5. Ou posez plutôt une question ponctuelle : `ollama run vicuna "Why is the sky blue?"`

Pour les programmeurs, le serveur local écoute sur le port 11434. Une requête à l’adresse `/api/generate` avec un nom de modèle et un prompt renvoie la réponse du modèle, mot par mot.

## Pourquoi c’est important

Faire tourner un modèle sur votre propre machine change plusieurs choses à la fois. Vos prompts ne quittent jamais votre ordinateur, ce qui compte pour des notes personnelles, des questions médicales ou des documents d’entreprise. Il n’y a ni frais au mot ni liste d’attente. Et ça fonctionne dans un avion.

Ollama ne rend pas les modèles locaux aussi compétents que les plus grands modèles infonuagiques; un modèle de 3 ou de 13 milliards de paramètres fera plus d’erreurs que GPT-4. Son apport, c’est la facilité : il fait passer l’effort nécessaire pour essayer des modèles ouverts d’un après-midi de configuration à quelques minutes. Pour les personnes qui développent des applications, l’API locale signifie aussi qu’une application peut être conçue et testée avec un modèle qui ne coûte rien à appeler.

> **À essayer :** si vous avez un Mac à puce Apple Silicon, installez Ollama et lancez `ollama run orca`. Posez-lui trois questions dont vous connaissez les réponses, un fait, un conseil et un court poème, et notez où il s’en tire bien et où il se trompe.

## De quoi avez-vous besoin pour essayer Ollama, et quelles sont ses limites?

Pour l’instant, il vous faut un Mac doté d’une puce Apple Silicon (M1 ou plus récente), quelques gigaoctets d’espace disque libre pour chaque modèle et une certaine aisance avec le Terminal. Les utilisateurs de Windows doivent attendre, mais les développeurs sous Linux peuvent essayer l’image Docker ou compiler le programme à partir du code source. Un modèle de 3 milliards de paramètres comme Orca Mini est le point de départ le plus doux; les modèles de 13 milliards de paramètres donnent de meilleures réponses, mais demandent plus de mémoire et de patience.

Gardez les limites en tête. Il s’agit d’un aperçu en version 0.0.1 : attendez-vous à des aspérités et à des mises à jour fréquentes. Les petits modèles inventent des faits plus souvent que les grands modèles commerciaux, alors vérifiez tout ce qui est important. Lisez la licence de chaque modèle avant de l’utiliser pour le travail. Et sachez que les modèles « non censurés » (*uncensored*) ont été délibérément privés de leur entraînement à la sécurité; ils suivront donc des demandes que d’autres assistants refusent. Décidez si cela convient à votre usage avant d’en télécharger un.

## Sources

- Ollama repository: README, models.json and website page (commit b43ddd8, 8 July 2023): https://github.com/ollama/ollama/tree/b43ddd84bef143bc5dd38176a77937621426cc38
- Ollama v0.0.1 release: https://github.com/ollama/ollama/releases/tag/v0.0.1
- Large language models are having their Stable Diffusion moment: https://simonwillison.net/2023/Mar/11/llama/
