Ollama 0.133 - Enfin une gestion en parallèle des LLMs
Vous avez vu la dernière version d’Ollama ? Cette version 0.133 a l’air plutôt pas mal. Bon, je sais, je sais, ça faisait un bail que je n’avais pas parlé des mises à jour de cet outil génial pour faire tourner des modèles d’IA en local, mais là, impossible de passer à côté !
Déjà, on a le droit à des fonctionnalités expérimentales de parallélisme (je sais pas si c’est comme ça qu’on dit en français…) qui vont vous permettre d’optimiser grave vos applis d’IA. Il y a donc 2 nouvelles variables d’environnement qui débarquent : OLLAMA_NUM_PARALLEL
et OLLAMA_MAX_LOADED_MODELS
. Avec ça, vous allez pouvoir gérer plusieurs modèles et requêtes en même temps, comme des pros ! 😎
Par exemple, si vous avez un modèle pour compléter votre code avec une IA de 6 milliards de paramètres comme Llama 3, et en même temps vous demandez à Phi 3 Mini et ses 3,8 milliards de paramètres comment architecturer votre projet et bien maintenant, c’est possible ! Comme ça, plus besoin d’attendre que l’un ait fini pour lancer l’autre puisque tout ça va se lancer en parallèle.
Alors bien sûr, c’est encore expérimental car il n’y a pas encore de priorité, et on est limité par la mémoire dispo sur notre machine. D’ailleurs, il vaut mieux avoir 16 Go de RAM et un CPU 4 cœurs pour que ça fonctionne correctement.
Il y a aussi plein de nouveaux modèles d’IA compatibles avec Ollama maintenant. Des gros calibres comme Llama 3, le meilleur modèle open-source à ce jour, mais aussi des plus légers et spécialisés comme Phi 3 Mini, Moondream pour la vision par ordinateur sur des appareils à la marge, ou encore Dolphin Llama 3 qui répond sans censure. Et le premier modèle Qwen (c’est chinois) de plus de 100 milliards de paramètres, Qwen 110B, est également de la partie. Ça en fait des compagnons pour nous assister dans nos projets !
Ensuite, imaginons que vous vouliez tester le parallélisme. Vous devez simplement lancer votre serveur Ollama avec les fameuses variables d’environnement.
Voici comment procéder :
Définir les variables sur Mac :
- Utilisez
launchctl
pour définir chaque variable. Par exemple, pour permettre à Ollama de gérer trois requêtes simultanément, tapez dans le terminal :launchctl setenv OLLAMA_NUM_PARALLEL 3
- Pour définir le nombre maximal de modèles chargés simultanément à deux, utilisez :
launchctl setenv OLLAMA_MAX_LOADED_MODELS 2
- Après avoir défini les variables, redémarrez l’application Ollama.
Configurer les variables sur Linux :
- Éditez le service systemd d’Ollama avec
systemctl edit ollama.service
, ce qui ouvrira un éditeur de texte. - Ajoutez les lignes suivantes sous la section
[Service]
:[Service] Environment="OLLAMA_NUM_PARALLEL=3" Environment="OLLAMA_MAX_LOADED_MODELS=2"
- Sauvegardez et quittez l’éditeur. Rechargez systemd et redémarrez Ollama avec :
systemctl daemon-reload systemctl restart ollama
Paramétrer les variables sur Windows :
- Quittez l’application Ollama via la barre des tâches.
- Accédez aux variables d’environnement système via le panneau de configuration et créez ou modifiez les variables pour votre compte utilisateur :
- Pour OLLAMA_NUM_PARALLEL, ajoutez ou modifiez la variable à 3.
- Pour OLLAMA_MAX_LOADED_MODELS, ajustez la variable à 2.
- Appliquez les changements et redémarrez Ollama à partir d’une nouvelle fenêtre de terminal.
Là, ça veut dire que vous pourrez envoyer 3 requêtes en parallèle sur le même modèle, et charger jusqu’à 2 modèles différents si votre RAM de 16 Go minimum le permet.
Bon, et une fois que c’est lancé, vous pourrez envoyer des requêtes à tour de bras. Un coup à Llama 3 pour qu’il vous aide à générer un résumé de texte hyper optimisé, un autre à Phi 3 Mini pour résumer un article scientifique, tout ça pendant que Moondream analyse une image pour de la détection d’objets.
Allez, je vous laisse tranquille, faut que j’aille optimiser mes scripts maintenant.