Tout sur l'accélérateur USB Google Coral
Sur l'une de nos vidéos YouTube sur l'intelligence artificielle, un commentateur a écrit qu'il n'était pas très intéressé par une boîte mystérieuse d'intelligence artificielle. Cela m'a incité à écrire un article pour lever le voile sur ce mystère. Voici donc tout ce que vous devez savoir sur l'accélérateur USB Google Coral.
L'accélérateur USB Coral est principalement conçu pour les applications d'intelligence artificielle de pointe à faible consommation d'énergie.
Il convient à des tâches telles que l'analyse d'images et de vidéos, la détection d'objets et la reconnaissance vocale sur des appareils tels que le Raspberry Pi ou les ordinateurs portables.
Vue d'ensemble
En bref, l'accélérateur USB Google Coral est un processeur qui utilise une Tensor Processing Unit (TPU), un circuit intégré très performant pour effectuer des multiplications et des additions matricielles.
La multiplication matricielle est l'outil indispensable pour construire des réseaux neuronaux.
Et vous n'irez certainement pas très loin si vous essayez de construire des réseaux neuronaux avec votre seul Raspberry Pi.
En tant que tel, l'accélérateur ajoute un autre processeur dédié spécifiquement à l'algèbre linéaire nécessaire à l'apprentissage automatique.
Comme vous le savez probablement, l'idée derrière l'apprentissage automatique est de développer des modèles qui analysent et apprennent des modèles à partir d'un ensemble de données. Cet ensemble de données comporte diverses entrées et des sorties correspondantes. Une fois entraînés, ces modèles peuvent prendre de nouvelles entrées, synthétiser les modèles appris et générer des sorties ou des prédictions appropriées.
Les TPU fonctionnent beaucoup plus rapidement et avec beaucoup moins d'énergie que les CPU pour l'apprentissage automatique, car elles n'exécutent pas d'autres programmes et n'ont pas besoin d'accéder à la mémoire partagée.
Le TPU de l'accélérateur Coral USB Accelerator utilise TensorFlow Lite, une version modifiée pour les petits appareils.
Utilisation de l'accélérateur USB Coral
Ce qui est particulièrement intéressant, c'est l'accessibilité du développement de l'IA.
La mise en route est un jeu d'enfant.
Tout ce dont vous avez besoin, c'est d'un accélérateur USB Google Coral (évidemment), d'un ordinateur avec un port USB libre et de Python 3.5 ou plus.
Il convient de préciser qu'il fonctionne avec Mac, Windows et Linux (en particulier les systèmes d'exploitation basés sur Debian, comme Ubuntu ou le Raspberry Pi OS). Vous êtes donc sûr de pouvoir le faire fonctionner.
Lorsque vous le configurez, vous devez décider si vous voulez qu'il fonctionne à la fréquence d'horloge maximale ou à la fréquence d'horloge réduite. Il est évident que la fréquence d'horloge maximale est plus puissante, mais elle consomme également plus d'énergie. Et il peut devenir incroyablement chaud.
Exécution d'un modèle de reconnaissance d'images
Sur le site Site web de Google CoralIls proposent un test très intéressant pour vous montrer comment fonctionne le Coral USB Accelerator. Dans leur exemple, il est capable de reconnaître différents oiseaux avec une précision assez remarquable.
Voici donc comment exécuter le modèle de reconnaissance d'images sur votre Raspberry Pi. Cela fonctionnera parfaitement avec la fréquence d'horloge réduite.
N'appuyez pas encore sur l'accélérateur.
Tout d'abord, vous devez aller dans le terminal et taper le code suivant pour ajouter le dépôt Edge TPU :
echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update
Installez ensuite le runtime :
sudo apt-get install libedgetpu1-std
Vous pouvez maintenant brancher l'accélérateur pour que tout soit synchronisé. Une fois le tout branché, vous devez installer PyCoral :
sudo apt-get install python3-pycoral
Et maintenant, vous pouvez faire fonctionner le modèle. Tout d'abord, vous devez télécharger le code :
mkdir coral && cd coral
git clone https://github.com/google-coral/pycoral.git
cd pycoral
Exécutez ensuite la procédure suivante :
bash examples/install_requirements.sh classify_image.py
Enfin, vous exécutez le modèle :
python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg
Le résultat ressemble à ceci :
Vous pouvez voir que l'entrée était "parrot.jpg" et que le modèle a correctement lu qu'il s'agissait d'un ara écarlate, avec une précision de 0,75.
J'ai trouvé une photo d'un cardinal du Nord et je l'ai passée au crible du modèle, et voici ce qu'il m'a donné.
Comme vous pouvez le voir, il a donné une lecture très précise avec une confiance de 0,91.
J'ai donc voulu voir ce qui se passerait si je lui donnais l'image d'un chat.
Bien que je comprenne parfaitement pourquoi il pensait que le chat était un hibou grand-duc, j'ai été surpris par son niveau de confiance.
J'ai essayé de lui faire reconnaître des photos de personnes et de déterminer de quels oiseaux il s'agissait, mais malheureusement il n'a pas voulu coopérer.
Mais n'hésitez pas à expérimenter et à voir ce que vous pouvez en tirer. Commentez ci-dessous vos résultats !
Conclusion
Et voilà. Bien que son aspect extérieur très élégant puisse donner une impression de mystère, l'accélérateur USB Google Coral n'est pas une boîte à mystères.
Il s'agit d'un processeur puissant qui peut apporter l'IA aux appareils de pointe.
Donc, que vous soyez dans l'IoT, la robotique ou que vous ayez une idée pour introduire l'IA dans les appareils de tous les jours, le Coral USB Accelerator est votre ticket d'entrée. Bien que je vous ai donné l'exemple d'un modèle de reconnaissance d'images, l'accélérateur peut aller beaucoup plus loin - reconnaissance vidéo, détection d'objets, apprentissage par transfert sur l'appareil, etc.
Nous avons également un kit AIY Maker qui rend tout cela possible - regardez cette vidéo :
Si vous vous intéressez à l'IA, vous pouvez consulter notre rubrique Introduction à l'intelligence artificielle.
Et si vous souhaitez réaliser vous-même des projets d'IA, vous pouvez consulter les projets qui utilisent l'IA dans les domaines suivants notre série de projets Paragon.
Que comptez-vous faire avec l'accélérateur ?
lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂 .
Dzięki !
Bonjour, savez-vous si cette prise USB permet d'accélérer un PC sur lequel est installé un GenAI tel que l'ollama ? avec un modèle libre tel que l'ollama 3.1 ou Gemma ? en utilisant l'ollama ? merci.
"Le commentateur a écrit qu'il n'était pas très intéressé par une boîte d'IA mystère" - Je suppose que le commentateur n'a pas exprimé de raisons spécifiques.
Les raisons les plus préoccupantes sont l'absence de provenance des résultats du ML et l'incapacité de fournir cette provenance pour d'éventuelles réglementations.
L'endroit où l'on dirige un ML ne fournit rien à cet égard.
correction :
"Le commentateur a écrit qu'il n'était pas très intéressé par une boîte d'IA mystère" - Je suppose que le commentateur n'a pas exprimé de raisons spécifiques.
Les raisons les plus préoccupantes sont l'absence de provenance des résultats du ML et l'incapacité de fournir cette provenance pour d'éventuelles réglementations.
L'endroit où l'on dirige un ML ne fournit rien à cet égard.
C'est un point intéressant, David.
а что быстрее : GPU ou TPU ???
Для искусственного интеллекта, TPU. Безусловно, быстреее.
Ce serait bien s'il ne se déconnectait pas au bout d'une heure et ne nécessitait pas un redémarrage ou un débranchement et un rebranchement pour qu'il fonctionne à nouveau.
Посмотрите опенсорсный frigate NVR, особенно последнюю beta3