Mobile ML: l'apprentissage automatique dans votre poche. Partie 1 - Fer


Publié par Andrey Batutin, développeur iOS senior chez DataArt

Aujourd'hui, tout le monde fait du Machine Learning, y compris nos téléphones. Oui, bientôt votre téléphone deviendra vraiment intelligent. Eh bien, ou du moins plus intelligent que vous et moi. Pourquoi? Voyons maintenant. Commençons par le matériel déjà installé sur les appareils mobiles.

TL; DR


Tous les principaux fabricants de systèmes mobiles sur puce (SoC) ont activement ajouté du matériel spécifique ML à leurs solutions pendant 3-4 ans. Si vous avez un Android ou un iPhone haut de gamme, à côté du GPU, vous avez presque la garantie d'avoir une puce spécialement conçue pour les tâches ML.

La plupart des puces ML sont conçues pour la vision par ordinateur, l'audio, la caméra / la photo / la vidéo. Les tâches principales: réduire le bruit sur la photo, la meilleure qualité avec zoom, reconnaissance faciale et animale, reconnaissance vocale et synthèse de texte.

De plus, les principaux fournisseurs fournissent un SDK qui permet aux développeurs tiers d'accéder à cette puce ML. Donc, vous pouvez très bien faire votre Snapchat ou Siri, de toute façon vous êtes probablement assis à la maison (Quand est-ce que tout se terminera?! Comment je veux dans KFC!).

Le fer


Les principaux fournisseurs de puces mobiles étendent activement leurs architectures SoC avec l'unité de traitement neuronal (NPU), le processeur de signal numérique (DSP) et les cœurs AI spécialisés. Ces composants sont spécialement affûtés pour le fonctionnement des modèles ML.

Qualcomm


Matériel ML:
SDK DSP + GPU : SDK de traitement neuronal Qualcomm

Fourni par le SDK de traitement neuronal Qualcomm, qui fournit une accélération matérielle des modèles ML sur un tas de CPU DSP + GPU + pour les puces Snapdragon. DSP est réglé pour travailler avec l'audio / vidéo: une caméra intelligente, nettoyant l'image du bruit, la meilleure qualité avec zoom et des outils similaires pour améliorer la qualité sonore.

HiSilicon / Huawei


Matériel ML: NPU
SDK: HiAI SDK

Da Vinci NPU se compose de trois cœurs: deux hautes performances et un cœur économe en énergie pour le calcul ML.

HiAI SDK donne accès à la terre pour des opérations sur des matrices NPU. Autrement dit, le NPU est idéal pour les modèles de réseau de neurones profonds. Parmi les goodies est le plug-in pour Android Studio.

HiAI est affûté pour:

  • Vision par ordinateur
  • Reconnaissance automatique de la parole;
  • ComprĂ©hension du langage naturel.


MediaTek


Matériel ML: APU +
SDK GPU : SDK NeuroPilot Le SDK

NeuroPilot vous permet de résoudre les problèmes ML à l'aide de l'unité de traitement AI (APU) + GPU. L'APU est emprisonné selon le modèle Deep Neural Network. Fournit une accélération matérielle pour les convolutions, les couches entièrement connectées, les fonctions d'activation, etc.

NeuroPilot 2.0 permet en temps réel:

  • Suivi de pose pour plusieurs personnes;
  • Suivi de pose 3D;
  • identification d'objets multiples;
  • segmentation sĂ©mantique;
  • amĂ©lioration d'images.


Samsung


Matériel ML:
SDK NPU : Samsung Neural SDK / EDEN SDK
Samsung a ajouté un NPU spécialisé à Exynos SoC. Il se compose de deux unités Multiply - accumulate, affûtées pour les opérations sur les matrices.

Il fournit également le Samsung Neural SDK, qui fournit une accélération matérielle pour les modèles ML en utilisant une combinaison de CPU + GPU + NPU.

Pomme


Matériel ML:
SDK NPU : SDK CoreML

À partir d'Apple A11, Bionic utilise NPU. Le NPU A13 est passé à huit cœurs. Le traitement d'image Deep Fusion est l'une des principales caractéristiques du nouveau NPU: nous prenons 9 photos et les combinons en une seule. Particulièrement pertinent pour le tournage de nuit.

Fournit le SDK CoreML. Comme dans d'autres SDK, il fournit une accélération matérielle pour les modèles ML. From the buns - Create ML - Environnement d'interface utilisateur unique pour la formation de modèles ML. Vous permet de vous entraîner:

  • DĂ©tection / classificateur d'objets;
  • Classificateur sonore;
  • Classificateur de mouvement;
  • Classificateur de texte / balisage de mots;
  • Classificateur tabulaire;
  • Moteur de recommandation.


Liens utiles


ML-benchmark pour les smartphones Android ;
SDK de traitement neuronal Qualcomm ;
HUAWEI HiAI SDK ;
Apple CoreML

Dans la suite du document, nous allons voir de plus près comment fonctionne NPU. Parlons du logiciel nécessaire pour le ML mobile et de la façon de l'utiliser.

All Articles