La technologie IA change rapidement la manière dont les dispositifs interagissent avec le monde. Traditionnellement, un programmeur doit prédéterminer comment un système réagira aux diverses circonstances imprévisibles qui peuvent survenir dans des scénarios du monde réel. Avec l'IA, un modèle peut être entraîné de manière à capturer les réactions souhaitées de telle sorte que le modèle puisse fournir de manière fiable les réactions désirées à des circonstances qui n'avaient jamais été anticipées.
Un défi pour les développeurs novices en IA est de personnaliser une mise en œuvre de l'IA pour leur application. À moins qu'une application spécifique n'ait un volume suffisant pour justifier sa propre mise en œuvre sur carte, les cartes IA disponibles sur le marché ont tendance à se concentrer sur une efficacité à usage général. Elles auront des ressources et des interfaces qui ne sont pas nécessaires pour chaque application, augmentant ainsi inutilement le coût.
Par exemple, les kits de développement comme le Jetson Nano Developer Kit sont un excellent moyen de se familiariser avec la création d'une mise en œuvre de base de l'IA. Le Jetson Nano est équipé d'une variété d'interfaces, ce qui rend très simple la mise en place d'un système de test en très peu de temps. Le kit sert de point de départ excellent pour une large gamme d'applications diverses, du traitement de capteurs à l'analyse vidéo, en passant par le traitement sonore et au-delà.
Cependant, une fois que vous comprenez comment construire un système d'IA général, vous voudrez commencer le développement de votre application en utilisant un prototype qui ressemblera le plus possible au matériel de production final. Cela est particulièrement important lors du déploiement de l'IA en périphérie.
Le coût, la disponibilité et la scalabilité des GPU dans le cloud sont extrêmement flexibles. Si vous n'obtenez pas la réactivité nécessaire ou si vous découvrez que votre modèle a besoin de plus de données que prévu pour être traité efficacement, vous pouvez facilement allouer plus de ressources cloud.
Ce n'est pas le cas en périphérie. À la périphérie, vous devez déterminer le mélange optimal de ressources si vous voulez équilibrer le coût, la performance et la précision. Idéalement, vous avez besoin d'un système qui se réduit facilement sans forcer des changements matériels importants en conséquence.
Notez que les composants tels que les capteurs, les caméras, les interfaces, la mémoire et les MCU qui composent le reste de l'application impactent également la facilité de conception. Cela est dû au fait qu'à un certain moment, vous devez intégrer votre système d'IA avec le reste de l'application.
Prenez en compte les modifications en cascade nécessaires si vous découvrez que vous devez augmenter la taille de l'image vidéo pour atteindre ce que vous souhaitez. Le modèle IA doit maintenant travailler avec une taille d'image différente, changeant complètement les performances et les exigences de mémoire de tout le système. De plus, vous devrez intégrer une nouvelle caméra de manière transparente avec votre firmware existant, en espérant éviter la nécessité d'une réécriture du firmware. Équilibrer puis optimiser cette nouvelle combinaison de ressources prendra également du temps. Imaginez maintenant que vous devez ajouter une seconde caméra et augmenter le taux de trame effectif.
Cette étape d'intégration peut être extrêmement chronophage et frustrante si vous devez la faire manuellement. Par exemple, les pilotes de caméra, même provenant du même fournisseur, ne sont souvent pas interchangeables ; vous devrez toujours effectuer des tests approfondis pour confirmer que le nouveau pilote fonctionne exactement comme le précédent.
Une approche de conception sur mesure comme Geppetto peut considérablement réduire votre temps de développement. Avec Geppetto, vous pouvez glisser-déposer des blocs de fonctionnalités éprouvés dans votre carte personnalisée. Pour les applications IA, vous pouvez commencer avec le Jetson Nano et supprimer toute fonctionnalité dont vous n'avez pas besoin. Vous pouvez ensuite ajouter des capteurs, des interfaces, des processeurs et d'autres circuits provenant de bibliothèques de modules étendues pour construire un module personnalisé optimisé pour votre application.
Un avantage clé de cette approche est que vous pouvez produire quelques cartes de manière rentable pour le développement et les tests initiaux. Si vous déterminez que vous avez besoin de plus de traitement – ou de moins – vous pouvez facilement ajuster votre conception sans avoir à concevoir un système complètement nouveau.
De plus, votre carte personnalisée est livrée avec le système d'exploitation et les pilotes pré-intégrés. Vous n'avez pas à faire fonctionner tous les composants ensemble car nous l'avons déjà fait pour vous.
La technologie IA est vraiment à seulement quelques clics. Visitez Gumstix pour en savoir plus.