Les smartphones modernes font face à une contrainte fondamentale lors de l’exécution de grands modèles de langage : une capacité DRAM insuffisante pour stocker l’intégralité des poids du modèle. Cette limitation oblige les systèmes à répartir les paramètres du modèle sur des solutions de stockage externes comme l’UFS 4.0 présent dans les processeurs Snapdragon 8gen3. Comprendre les caractéristiques de performance du stockage mobile est essentiel pour optimiser l’inférence AI sur les appareils en périphérie.
Analyse de la performance d’entrée/sortie du stockage
Taille de bloc et bande passante de lecture
Le stockage mobile présente un comportement de performance contre-intuitif lié à la taille des blocs de lecture. Lors de l’accès aux données de manière séquentielle ou aléatoire, des blocs de lecture plus grands offrent une meilleure efficacité de bande passante. Un bloc de 512 Ko atteint une performance maximale de 4 Go/s pour les lectures séquentielles et 3,5 Go/s pour les lectures aléatoires. Cependant, réduire la taille du bloc à 4 Ko diminue drastiquement la performance — la bande passante de lecture aléatoire tombe à seulement 450 Mo/s. Cela constitue une considération critique pour la conception des tables clairsemées et les stratégies de récupération des poids.
Effet de la portée d’accès aléatoire
Fait intéressant, la portée des opérations de lecture aléatoire influence fortement le débit. Des plages de lecture plus petites surpassent systématiquement celles plus grandes. Lors de lectures aléatoires de 4 Ko, une plage de 128 Mo permet d’atteindre environ 1 Go/s, tandis qu’une extension à 512 Mo réduit la bande passante à moins de 850 Mo/s. Cet écart de performance devient moins marqué avec des tailles de blocs plus grandes, suggérant que les modèles d’accès aux tables clairsemées doivent équilibrer soigneusement l’optimisation de la portée de lecture.
Dépendances du cœur CPU
Le cœur de traitement exécutant les commandes d’entrée/sortie influence directement la performance du stockage. Les cœurs CPU à fréquence plus élevée offrent un débit supérieur. Les grands cœurs tournant à 3,3 GHz délivrent 1 Go/s pour des lectures aléatoires de 4 Ko, tandis que les petits cœurs à 2,2 GHz n’atteignent que 760 Mo/s. Cette différence provient du besoin du pilote UFS de gérer les interruptions et la gestion des files d’attente — des fréquences plus élevées permettent un traitement plus rapide des tâches liées à l’I/O.
Limitation de l’architecture à file unique
Contrairement aux solutions NVMe, le stockage UFS mobile fonctionne avec une seule file de commandes dépourvue de capacités de concurrence inhérentes. L’utilisation de plusieurs cœurs pour les opérations d’I/O dégrade en réalité la performance jusqu’à 40 % en raison de la contention sur la file de commandes. Cette contrainte architecturale fondamentale signifie que les approches d’I/O concurrentes n’offrent aucun avantage sur les appareils mobiles.
Architecture d’inférence LLM et traitement en deux étapes
L’inférence de modèles de langage fonctionne en deux étapes computationnelles distinctes, avec des caractéristiques de performance fondamentalement différentes, nécessitant chacune des stratégies d’optimisation adaptées.
Étape de pré-remplissage : traitement de l’invite
L’étape de pré-remplissage traite l’intégralité de l’invite utilisateur en une seule itération pour générer le premier token. Cette charge de travail concentrée impose des exigences computationnelles importantes, faisant du temps jusqu’au premier token (TTFT) la métrique de performance critique. L’ensemble de l’invite agit comme une entrée dense, traitée collectivement à travers les couches de transformeur du modèle.
Étape de décodage : génération séquentielle
Après le pré-remplissage, l’étape de décodage génère les tokens de sortie de manière séquentielle dans un mode autoregressif. Chaque nouveau token généré sert d’entrée pour l’itération suivante, jusqu’à la fin de la séquence ou la génération du token EOS. Étant donné que chaque itération ne traite qu’un seul token, la charge computationnelle reste plus légère, mais le débit est limité par le temps entre les tokens (TBT). Cette étape représente la vitesse de réponse perçue par l’utilisateur.
Les transformeurs modernes comme GPT-4 et Llama-2 utilisent des architectures uniquement décodeuses avec des blocs répétés : mécanismes d’attention et réseaux Feed-Forward (FFN). Les variantes récentes utilisant l’attention par groupe de requêtes déplacent une partie importante du poids computationnel vers les blocs FFN, qui représentent désormais environ 80 % des paramètres du modèle.
Les blocs FFN utilisent des fonctions d’activation de la famille ReLU qui créent des motifs de sparsité naturels : la majorité des neurones (représentés sous forme de lignes et colonnes dans les matrices de poids) produisent une contribution minimale en sortie. Ces neurones inactifs peuvent être ignorés sans affecter significativement les résultats finaux. La création d’une table clairsemée des activations neuronales prédites permet une réduction substantielle du calcul.
Optimisation basée sur la prédiction
L’état d’activation des neurones peut être prévu avec précision avant le calcul FFN. Des recherches antérieures, notamment PowerInfer et DejaVu, démontrent que des réseaux MLP légers prédisant l’activation neuronale avant chaque bloc FFN atteignent une grande précision. Cette approche prédictive transforme la sparsité inhérente en une opportunité d’optimisation exploitable, réduisant les calculs nécessaires et accélérant l’inférence.
Défi d’intégration
La véritable complexité réside dans la combinaison de l’exploitation de la sparsité avec les contraintes de stockage mobile. Les structures de tables clairsemées prédictives doivent s’aligner sur les modèles d’entrée/sortie du stockage — en utilisant de petites plages de lecture ciblées dans des fenêtres de 128 Mo pour maintenir le seuil de bande passante de 1 Go/s tout en minimisant la contention sur l’architecture UFS à file unique.
Implications pratiques pour l’IA sur appareil
Les systèmes LLM mobiles efficaces doivent simultanément aborder deux dimensions d’optimisation : exploiter les motifs neuronaux clairsemés via des mécanismes prédictifs tout en respectant les caractéristiques uniques d’entrée/sortie du stockage mobile. L’interaction entre les motifs de calcul sparsifiés et les modèles d’accès au stockage détermine la performance réelle — aucune ne peut être optimisée isolément sans compromettre l’efficacité globale du système.
Équipe de recherche : Zhenliang Xue et Yixin Song (Co-premiers auteurs), avec Zeyu Mi, Le Chen, Yubin Xia, et Haibo Chen de l’Institut des systèmes parallèles et distribués (IPADS), Université Jiaotong de Shanghai
Cette analyse s’appuie sur des recherches académiques disponibles sous licence CC BY 4.0, portant sur les caractéristiques de performance de lecture des poids.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Goulot d'étranglement des performances des LLM mobiles : Comprendre les activations creuses et les contraintes de stockage
Le défi du stockage sur smartphones
Les smartphones modernes font face à une contrainte fondamentale lors de l’exécution de grands modèles de langage : une capacité DRAM insuffisante pour stocker l’intégralité des poids du modèle. Cette limitation oblige les systèmes à répartir les paramètres du modèle sur des solutions de stockage externes comme l’UFS 4.0 présent dans les processeurs Snapdragon 8gen3. Comprendre les caractéristiques de performance du stockage mobile est essentiel pour optimiser l’inférence AI sur les appareils en périphérie.
Analyse de la performance d’entrée/sortie du stockage
Taille de bloc et bande passante de lecture
Le stockage mobile présente un comportement de performance contre-intuitif lié à la taille des blocs de lecture. Lors de l’accès aux données de manière séquentielle ou aléatoire, des blocs de lecture plus grands offrent une meilleure efficacité de bande passante. Un bloc de 512 Ko atteint une performance maximale de 4 Go/s pour les lectures séquentielles et 3,5 Go/s pour les lectures aléatoires. Cependant, réduire la taille du bloc à 4 Ko diminue drastiquement la performance — la bande passante de lecture aléatoire tombe à seulement 450 Mo/s. Cela constitue une considération critique pour la conception des tables clairsemées et les stratégies de récupération des poids.
Effet de la portée d’accès aléatoire
Fait intéressant, la portée des opérations de lecture aléatoire influence fortement le débit. Des plages de lecture plus petites surpassent systématiquement celles plus grandes. Lors de lectures aléatoires de 4 Ko, une plage de 128 Mo permet d’atteindre environ 1 Go/s, tandis qu’une extension à 512 Mo réduit la bande passante à moins de 850 Mo/s. Cet écart de performance devient moins marqué avec des tailles de blocs plus grandes, suggérant que les modèles d’accès aux tables clairsemées doivent équilibrer soigneusement l’optimisation de la portée de lecture.
Dépendances du cœur CPU
Le cœur de traitement exécutant les commandes d’entrée/sortie influence directement la performance du stockage. Les cœurs CPU à fréquence plus élevée offrent un débit supérieur. Les grands cœurs tournant à 3,3 GHz délivrent 1 Go/s pour des lectures aléatoires de 4 Ko, tandis que les petits cœurs à 2,2 GHz n’atteignent que 760 Mo/s. Cette différence provient du besoin du pilote UFS de gérer les interruptions et la gestion des files d’attente — des fréquences plus élevées permettent un traitement plus rapide des tâches liées à l’I/O.
Limitation de l’architecture à file unique
Contrairement aux solutions NVMe, le stockage UFS mobile fonctionne avec une seule file de commandes dépourvue de capacités de concurrence inhérentes. L’utilisation de plusieurs cœurs pour les opérations d’I/O dégrade en réalité la performance jusqu’à 40 % en raison de la contention sur la file de commandes. Cette contrainte architecturale fondamentale signifie que les approches d’I/O concurrentes n’offrent aucun avantage sur les appareils mobiles.
Architecture d’inférence LLM et traitement en deux étapes
L’inférence de modèles de langage fonctionne en deux étapes computationnelles distinctes, avec des caractéristiques de performance fondamentalement différentes, nécessitant chacune des stratégies d’optimisation adaptées.
Étape de pré-remplissage : traitement de l’invite
L’étape de pré-remplissage traite l’intégralité de l’invite utilisateur en une seule itération pour générer le premier token. Cette charge de travail concentrée impose des exigences computationnelles importantes, faisant du temps jusqu’au premier token (TTFT) la métrique de performance critique. L’ensemble de l’invite agit comme une entrée dense, traitée collectivement à travers les couches de transformeur du modèle.
Étape de décodage : génération séquentielle
Après le pré-remplissage, l’étape de décodage génère les tokens de sortie de manière séquentielle dans un mode autoregressif. Chaque nouveau token généré sert d’entrée pour l’itération suivante, jusqu’à la fin de la séquence ou la génération du token EOS. Étant donné que chaque itération ne traite qu’un seul token, la charge computationnelle reste plus légère, mais le débit est limité par le temps entre les tokens (TBT). Cette étape représente la vitesse de réponse perçue par l’utilisateur.
Activation clairsemée : l’opportunité d’efficacité
Pourquoi la sparsité est importante
Les transformeurs modernes comme GPT-4 et Llama-2 utilisent des architectures uniquement décodeuses avec des blocs répétés : mécanismes d’attention et réseaux Feed-Forward (FFN). Les variantes récentes utilisant l’attention par groupe de requêtes déplacent une partie importante du poids computationnel vers les blocs FFN, qui représentent désormais environ 80 % des paramètres du modèle.
Les blocs FFN utilisent des fonctions d’activation de la famille ReLU qui créent des motifs de sparsité naturels : la majorité des neurones (représentés sous forme de lignes et colonnes dans les matrices de poids) produisent une contribution minimale en sortie. Ces neurones inactifs peuvent être ignorés sans affecter significativement les résultats finaux. La création d’une table clairsemée des activations neuronales prédites permet une réduction substantielle du calcul.
Optimisation basée sur la prédiction
L’état d’activation des neurones peut être prévu avec précision avant le calcul FFN. Des recherches antérieures, notamment PowerInfer et DejaVu, démontrent que des réseaux MLP légers prédisant l’activation neuronale avant chaque bloc FFN atteignent une grande précision. Cette approche prédictive transforme la sparsité inhérente en une opportunité d’optimisation exploitable, réduisant les calculs nécessaires et accélérant l’inférence.
Défi d’intégration
La véritable complexité réside dans la combinaison de l’exploitation de la sparsité avec les contraintes de stockage mobile. Les structures de tables clairsemées prédictives doivent s’aligner sur les modèles d’entrée/sortie du stockage — en utilisant de petites plages de lecture ciblées dans des fenêtres de 128 Mo pour maintenir le seuil de bande passante de 1 Go/s tout en minimisant la contention sur l’architecture UFS à file unique.
Implications pratiques pour l’IA sur appareil
Les systèmes LLM mobiles efficaces doivent simultanément aborder deux dimensions d’optimisation : exploiter les motifs neuronaux clairsemés via des mécanismes prédictifs tout en respectant les caractéristiques uniques d’entrée/sortie du stockage mobile. L’interaction entre les motifs de calcul sparsifiés et les modèles d’accès au stockage détermine la performance réelle — aucune ne peut être optimisée isolément sans compromettre l’efficacité globale du système.
Équipe de recherche : Zhenliang Xue et Yixin Song (Co-premiers auteurs), avec Zeyu Mi, Le Chen, Yubin Xia, et Haibo Chen de l’Institut des systèmes parallèles et distribués (IPADS), Université Jiaotong de Shanghai
Cette analyse s’appuie sur des recherches académiques disponibles sous licence CC BY 4.0, portant sur les caractéristiques de performance de lecture des poids.