PowerInfer: comment booster son inférence

PowerInfer est un moteur d’inférence LLM qui a pour objective d’optimiser au maximum l’inférence de modèle sur des machines à usage personnel.

Cet article est un aperçu rapide, si vous voulez en savoir plus, voici le github qui explique comment utiliser le moteur: https://github.com/SJTU-IPADS/PowerInfer

Ce modèle annonce des performances extraordinaires, de l’ordre de dix fois plus rapide que le moteur llama.

Mais comment il fait ça?

Un design « Locality-centric »

Dans un but d’optimisation, l’équipe qui travaille sur le moteur a décidé d’utiliser un design basé sur la notion de localité.
Ce design permet de ne pas activer certains neurones et liaisons entre neurones basé sur leur utilisation, en employant deux concepts : la « sparse activation » qui a pour but de réduire le nombre de neurones activés et les « hot/cold » neurones dans le but de prédire les neurones actifs.

Voici un article intéressant sur la « sparse activation »: https://medium.com/geekculture/sparse-weight-activation-training-reduce-memory-and-training-time-in-machine-learning-8c0fad7d5def

L’implémentation de ces concepts permets d’augmenter grandement les performances du moteur d’inférence avec une dégradation des performances qui reste très limitée.

Inférence hybride CPU/GPU

Si vous compilez powerinfer avec l’option qui va bien le moteur va répartir la charge entre le CPU et le GPU pour obtenir les meilleures performances possibles.

De même, avec le combo RAM / VRAM, le moteur va utiliser les deux mémoires pour pouvoir charger des modèles gros demandeur de mémoire. Bien évidemment, plus de VRAM est disponible, plus l’inférence sera performante. Une option est disponible pour limiter la consommation de VRAM si besoin.

Modèles compatibles

Ce moteur d’inférence est actuellement compatible avec deux modèles:

  • Falcon-40B
  • Llama2 (7B, 13B et 70B)

L’équipe a annoncé supporter le modèle Mistral-7B dans le futur proche.

Système compatibles annoncés

PowerInfer est testé et supporté sur les configurations suivantes:

  • CPU x86-64 (avec instructions AVX2) sur Linux et Windows
    • J’ai testé sur des processeurs Intel Xeon e5-2650v2 qui n’ont pas les instructions AVX2, les modèles semblent inférer correctement, aucune erreur n’est levée.
  • CPU x86-64 et GPU NVIDIA sur Linux et Windows
  • CPU Apple M sur macOS
    • Fonctionnel, mais non optimisé actuellement avec l’API Metal
    • Optimisation de l’inférence avec Metal est prévu dans le futur

Le mot de la fin

A mon sens ce moteur d’inférence parait intéressant, selon les objectives pour lesquels il a était conçu : pouvoir inférer facilement et efficacement sur une machine locale avec du matériel accessible.

Ce n’est que le début du projet, les informations sur l’avancée du projet sont disponibles à ce lien : https://github.com/orgs/SJTU-IPADS/projects/2/views/2

Avec le développement de fonctionnalités, ce genre de moteur d’inférence pourrait permettre de démocratiser l’inférence en local sur des machines personnelles.

Pour aller plus loin, si vous aimez les documents de recherches, voici le whitepaper de powerinfer:
https://arxiv.org/abs/2312.12456

Partager l'article:

Autres articles

Un petit robot aux couleurs de la France, l'air triste sur un quai de gare, regarde un train futuriste nommé "AI Express" s'éloigner. À bord, deux robots géants symbolisant les États-Unis et la Chine.

La France a-t-elle déjà perdu la bataille de l’IA ?

La France a-t-elle déjà perdu la bataille de l’IA ?
Les chiffres sont brutaux. En 10 ans, les États-Unis ont investi 335 milliards de dollars dans l’IA. La Chine suit. Et nous ? La France arrive en 8ème position.
Côté brevets, c’est encore plus violent : la Chine est passée de 10% à 70% des brevets mondiaux en IA entre 2010 et 2023. Les États-Unis ? De 40% à 14%.
Alors on abandonne ? Je ne crois pas.
Ce qui est certain, c’est que sur les couches fondamentales — les modèles massifs, les puces, les datacenters — la bataille est probablement perdue. Mais l’IA devient une commodité. Demain, la valeur ne sera plus dans le modèle lui-même, mais dans ce qu’on en fait : l’orchestration, l’intégration métier, l’expérience.
La France ne sera pas le « maître du monde » de l’IA. Mais elle peut être autre chose qu’un simple consommateur de technologies américaines et chinoises.
Il y a un espace entre dominer et disparaître. C’est dans cet espace que nous devons nous battre.

Read More