When NPUs Are Not Always Faster: A Stage-Level Analysis of Mobile LLM Inference
Cet article présente la première analyse au niveau des étapes de l'inférence de LLM mobiles sur des SoC hétérogènes CPU-NPU, révélant que les NPU échouent souvent à surpasser les CPU lors des étapes de préremplissage intensives en calcul et peuvent même augmenter la consommation d'énergie, remettant ainsi en cause l'hypothèse d'une accélération universelle par les NPU et offrant de nouvelles directives de conception pour l'inférence sur appareil.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que votre smartphone est une cuisine animée essayant de préparer un repas complexe (un Grand Modèle de Langage, ou LLM). La cuisine compte deux chefs principaux : un CPU (un chef de cuisine polyvalent et expérimenté, excellent pour émincer et organiser) et un NPU (un bras robotisé haute vitesse spécialisé, conçu spécifiquement pour les tâches répétitives et lourdes).
Pendant longtemps, les gens ont supposé que le bras robotisé (NPU) serait toujours plus rapide car il est conçu pour l'IA. Cependant, cet article tire le rideau pour révéler que le bras robotisé n'est pas toujours le cuisinier le plus rapide. En fait, selon quelle partie du repas vous préparez, le chef humain pourrait en réalité être meilleur.
Voici la répartition de leurs découvertes utilisant des analogies simples :
1. Les deux étapes de la cuisine
L'article explique que la génération de texte se déroule en deux phases très différentes, comme deux parties distinctes d'un processus culinaire :
L'étape "Prefill" (Lire la recette) : C'est lorsque le téléphone lit votre entire prompt (le texte d'entrée) d'un seul coup. C'est comme lire tout un chapitre d'un livre de cuisine. Cela nécessite un effort massif et lourd (effectuer de nombreux calculs simultanément).
- La découverte : Le CPU (Chef humain) gagne ici. Le bras robotisé (NPU) est en réalité plus lent (jusqu'à 1,6 fois plus lent) à cette étape.
- Pourquoi ? Le bras robotisé a un petit espace de travail (mémoire) et n'est pas encore optimisé pour ce type spécifique de "portage lourd". Le chef humain dispose d'un plus grand comptoir et de meilleurs outils pour ce travail spécifique.
L'étape "Decode" (Écrire le repas) : C'est lorsque le téléphone génère un mot à la fois, l'un après l'autre. C'est comme le bras robotisé qui place une garniture sur une assiette, puis attend la prochaine commande. Il s'agit d'une tâche lourde en mémoire, pas d'une tâche de portage lourd.
- La découverte : Le NPU (Bras robotisé) est plus rapide ici, mais seulement de peu (environ 5 % à 20 % plus rapide).
- Pourquoi ? Le bras robotisé est bon pour déplacer les données en ligne droite, ce qui correspond à ce style "un par un". Cependant, l'accélération n'est pas énorme à cause d'autres problèmes (voir ci-dessous).
2. Le problème du "Taxi" (Surcharge d'ordonnancement)
Même lorsque le bras robotisé est plus rapide pour la cuisson elle-même, l'article a constaté que le processus consistant à envoyer le travail au robot est incroyablement lent.
- L'analogie : Imaginez que le chef humain doit appeler le bras robotisé au téléphone, attendre qu'il décroche, expliquer la tâche, lui remettre les ingrédients, attendre que le robot termine, puis récupérer le résultat.
- La réalité : Pour les tâches petites et rapides (comme ajouter une pincée de sel), le temps passé à l'appel téléphonique et au transfert prend 8 à 22 fois plus longtemps que le temps de cuisson réel.
- Le résultat : Parce que le bras robotisé doit être "appelé" autant de fois pour générer une seule phrase, tout ce temps d'attente annule l'avantage de vitesse. C'est comme avoir une Ferrari qui passe 90 % de son temps bloquée dans les embouteillages.
3. La pénalité de la "Mauvaise Outil" (Recul)
Parfois, le bras robotisé ne sait pas comment accomplir une tâche spécifique (comme un mécanisme d'attention complexe).
- L'analogie : Le bras robotisé tente de couper un légume, réalise qu'il ne peut pas, et doit le rendre au chef humain. Mais comme ils sont dans des parties différentes de la cuisine, le chef humain doit se laver les mains, marcher jusqu'à lui, et recommencer depuis le début.
- La réalité : Lorsque le NPU ne peut pas faire un travail, il recourt au CPU. Ce "transfert" ajoute un délai supplémentaire (environ 1,5 fois plus lent) car les deux parties du téléphone doivent synchroniser leurs données. Cela ralentit l'ensemble du processus.
4. La surprise énergétique
Vous pourriez penser que l'utilisation du bras robotisé spécialisé économise la batterie.
- La découverte : Étonnamment, l'utilisation du NPU vide la batterie plus rapidement (jusqu'à 51 % de plus dans certains cas).
- Pourquoi ? Parce que le téléphone passe tant de temps et d'énergie à gérer les "appels téléphoniques" entre le CPU et le NPU, et à traiter les erreurs de repli, le temps total pendant lequel le téléphone travaille augmente. C'est comme courir un marathon en s'arrêtant constamment pour nouer ses lacets ; vous finissez par utiliser plus d'énergie que si vous couriez simplement à un rythme régulier.
La conclusion : Que devraient faire les concepteurs ?
Les auteurs suggèrent trois règles pour les personnes qui construisent ces puces de téléphone :
- Connaître vos étapes : Ne pas tout envoyer au robot. Laissez le chef humain (CPU) gérer la "lecture lourde" (Prefill) et n'envoyez que l'"écriture un par un" (Decode) au robot.
- Arrêter les embouteillages : Le robot doit pouvoir accepter les instructions instantanément (en moins de 10 microsecondes). Nous devons éliminer les délais des "appels téléphoniques".
- Enseigner plus de tours au robot : Le robot doit apprendre à faire toutes les tâches afin qu'il n'ait pas à demander de l'aide au chef humain en permanence.
En résumé : Le NPU est un outil puissant, mais sur les téléphones mobiles actuels, il est souvent freiné par une mauvaise gestion et des délais de communication. Parfois, le CPU "à l'ancienne" est en réalité le choix le plus efficace.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.