TensorFlow Lite, largement utilisé pour l’inférence sur appareils mobiles et embarqués, repose principalement sur les processeurs (CPU) comme cible par défaut, d’où l’importance d’optimiser leurs performances. Une avancée majeure vient d’être annoncée : l’activation de l’inférence en demi-précision (FP16) dans le backend XNNPack, qui permet de doubler les performances par rapport à la précision simple (FP32) traditionnelle sur les CPU ARM. Cette optimisation ouvre la voie à des fonctionnalités d’IA plus fluides sur des appareils anciens ou d’entrée de gamme, tout en conservant une précision suffisante pour de nombreuses applications.

Historiquement, TensorFlow Lite prenait en charge deux modes de calcul : la précision simple (FP32), flexible mais gourmande en ressources, et la quantification en entiers 8 bits, plus efficace mais moins précise. La demi-précision (FP16) offre un compromis idéal en réduisant de moitié la taille des données échangées et en accélérant les opérations vectorielles, ce qui se traduit par un gain de performance théorique de 2 fois sans sacrifier la facilité d’utilisation des flottants. Longtemps limitée par l’absence de support matériel, cette approche est désormais viable grâce à l’intégration native du FP16 dans les puces mobiles depuis 2017, couvrant aujourd’hui la majorité des smartphones, des modèles haut de gamme aux appareils économiques.

Les tests menés sur des modèles populaires de vision par ordinateur — comme MobileNet v2/v3, DeepLab v3, BlazeFace ou encore MediaPipe Hands — confirment ces gains. Les benchmarks, réalisés sur cinq téléphones (Pixel 3a à 7, Galaxy M12 et S22) et trois ordinateurs portables (MacBook Air M1, Surface Pro X/9), montrent une accélération proche de 2 fois en moyenne pour l’inférence monothread, avec des variations selon les architectures et le matériel. Cette optimisation est déjà déployée en production dans des services Google comme l’Assistant, Meet ou YouTube, ainsi que dans ML Kit, démontrant sa robustesse. Le support matériel actuel se limite aux appareils ARM/ARM64 équipés de l’extension ARMv8.2 FP16, incluant les smartphones depuis le Pixel 3 ou Galaxy S9, les iPhone avec puces A11 ou ultérieures, les Mac Apple Silicon et certains PC Windows ARM64.

Pour en bénéficier, les développeurs doivent convertir leurs modèles FP32 en spécifiant des poids en FP16 et en ajoutant une métadonnée indiquant la compatibilité avec la précision réduite, via l’attribut `_experimental_supported_accumulation_type` de `tf.lite.TargetSpec`. Cette approche simplifiée permet d’exploiter pleinement les capacités des processeurs modernes tout en préservant la précision nécessaire à la plupart des cas d’usage, marquant une étape clé pour l’IA embarquée.