L'IA à la périphérie ne signifie plus une IA stupide

Nœud source: 1579936

L'un des aspects de la sagesse reçue sur l'IA est que toute l'innovation commence dans les gros moteurs d'apprentissage automatique/de formation dans le cloud. Une partie de cette innovation pourrait éventuellement migrer sous une forme réduite/limitée vers la périphérie. Cela reflétait en partie la nouveauté du domaine. Cela reflétait peut-être aussi en partie le besoin de solutions préemballées à taille unique pour les widgets IoT. Où les concepteurs voulaient l'intelligence de leurs produits mais n'étaient pas tout à fait prêts à devenir des experts en conception ML. Mais maintenant, ces designers rattrapent leur retard. Ils lisent les mêmes communiqués de presse et les mêmes recherches que nous faisons tous, tout comme leurs concurrents. Ils veulent profiter des mêmes avancées, tout en respectant les contraintes de puissance et de coût.

L'IA à la périphérie ne signifie plus une IA stupide

La reconnaissance faciale

Différenciation de l'IA à la périphérie

Tout est question de différenciation dans une enveloppe coût/puissance acceptable. C'est difficile à obtenir avec des solutions préemballées. Les concurrents ont finalement accès aux mêmes solutions. Ce que vous voulez vraiment, c'est un ensemble d'options d'algorithme modélisées dans le processeur en tant qu'accélérateurs dédiés prêts à être utilisés, avec la possibilité de superposer votre propre valeur ajoutée basée sur le logiciel. Vous pensez peut-être que vous ne pouvez pas faire grand-chose ici, en dehors de l'administration et du réglage. Les temps ont changé. CEVA a récemment présenté son processeur d'intelligence artificielle intégré NeuPro-M qui permet une optimisation à l'aide de certaines des dernières avancées en matière de ML, en profondeur dans la conception d'algorithmes.

OK, donc plus de contrôle sur l'algorithme, mais à quelle fin ? Vous souhaitez optimiser les performances par watt, mais la métrique standard – TOPS/W – est trop grossière. Les applications d'imagerie doivent être mesurées par rapport aux images par seconde (fps) par watt. Pour les applications de sécurité, pour la sécurité automobile ou pour éviter les collisions de drones, les temps de reconnaissance par image sont beaucoup plus pertinents que les opérations brutes par seconde. Ainsi, une plate-forme comme NeuPro-M qui peut fournir jusqu'à des milliers de fps/W en principe gérera des taux de fps réalistes de 30 à 60 images par seconde à très faible puissance. C'est une véritable avancée par rapport aux solutions d'IA pré-packagées traditionnelles.

nous le rendons possible

Les algorithmes ultimes sont construits en composant les fonctionnalités que vous avez lues, en commençant par une large gamme d'options de quantification. Il en va de même pour la diversité des types de données dans l'activation et les pondérations sur une plage de tailles de bits. L'unité de multiplicateur neuronal (NMU) prend en charge de manière optimale plusieurs options de largeur de bits pour l'activation et les poids tels que 8 × 2 ou 16 × 4 et prendra également en charge des variantes comme 8 × 10.

Le processeur prend en charge les transformations de Winograd ou les convolutions efficaces, offrant jusqu'à 2 fois plus de performances et une puissance réduite avec une dégradation de précision limitée. Ajoutez le moteur de parcimonie au modèle pour une accélération jusqu'à 4X en fonction de la quantité de valeurs nulles (dans les données ou les poids). Ici, l'unité Neural Multiplier prend également en charge une gamme de types de données, fixes de 2 × 2 à 16 × 16, et à virgule flottante (et Bfloat) de 16 × 16 à 32 × 32.

La logique de diffusion fournit des options pour la mise à l'échelle, l'activation et le regroupement en virgule fixe. Le processeur vectoriel vous permet d'ajouter vos propres couches personnalisées au modèle. "Et alors, tout le monde soutient cela", vous pourriez penser, mais voyez ci-dessous le débit. Il existe également un ensemble de fonctionnalités d'IA de nouvelle génération, notamment des transformateurs de vision, la convolution 3D, la prise en charge RNN et la décomposition matricielle.

De nombreuses options d'algorithmes, toutes prises en charge par une optimisation du réseau de votre solution intégrée via le framework CDNN pour exploiter pleinement la puissance de vos algorithmes ML. CDNN est une combinaison d'un compilateur de graphes d'inférence réseau et d'un outil complémentaire PyTorch dédié. Cet outil élaguera le modèle, prendra éventuellement en charge la compression du modèle par décomposition matricielle et ajoutera un réentraînement sensible à la quantification.

Optimisation du débit

Dans la plupart des systèmes d'IA, certaines de ces fonctions peuvent être gérées dans des moteurs spécialisés, nécessitant le déchargement des données et le chargement de la transformation une fois terminée. C'est beaucoup de latence supplémentaire (et peut-être des compromis de puissance), ce qui compromet complètement les performances de votre modèle par ailleurs puissant. NeuPro-M élimine ce problème en connectant TOUTE ces accélérateurs directement dans un cache L1 partagé. Maintenir une bande passante beaucoup plus élevée que celle que vous trouverez dans les accélérateurs conventionnels.

À titre d'exemple frappant, l'unité de traitement vectoriel, généralement utilisée pour définir des couches personnalisées, se situe au même niveau que les autres accélérateurs. Vos algorithmes implémentés dans le VPU bénéficient de la même accélération que le reste du modèle. Encore une fois, aucun déchargement ni rechargement n'est nécessaire pour accélérer les couches personnalisées. De plus, vous pouvez avoir jusqu'à 8 de ces moteurs NPM (tous les accélérateurs, plus le cache NPM L1). NeuPro-M offre également un niveau significatif d'optimisation de la bande passante contrôlée par logiciel entre le cache L2 et les caches L1, optimisant la gestion des trames et minimisant le besoin d'accès DDR.

Naturellement, NeuPro-M minimisera également le trafic de données et de pondération . Pour les données, les accélérateurs partagent le même cache L1. Un processeur hôte peut communiquer des données directement avec le NeuPro-M L2, réduisant encore une fois le besoin de transferts DDR. NeuPro-M compresse et décompresse les poids sur puce lors du transfert avec la mémoire DDR. Il peut faire la même chose avec les activations.

La preuve en accélération fps/W

CEVA a exécuté des benchmarks standard en utilisant une combinaison d'algorithmes modélisés dans les accélérateurs, du natif à Winograd, en passant par Winograd+Sparsity, jusqu'à Winograd+Sparsity+4×4. Les deux benchmarks ont montré des améliorations de performances jusqu'à 3X, avec une puissance (fps/W) d'environ 5X pour un FAI NN. La solution NeuPro-M offrait une surface plus petite, une performance 4X, 1/3 de la puissance, par rapport à leur génération précédente NeuPro-S.

Il y a une tendance que je vois plus généralement pour obtenir le nec plus ultra en matière de performances en combinant plusieurs algorithmes. C'est ce que CEVA a rendu possible avec cette plateforme. Vous pouvez lire plus ICI.

Partagez cet article via: Source : https://semiwiki.com/artificial-intelligence/306655-ai-at-the-edge-no-longer-means-dumbed-down-ai/

Horodatage:

Plus de Semiwiki