Todo sobre el acelerador USB Google Coral
En uno de nuestros vídeos de YouTube sobre inteligencia artificial, un comentarista escribió que no estaba tan interesado en una caja misteriosa de IA. Eso me inspiró para escribir un artículo desvelando el misterio. Así que aquí tienes todo lo que necesitas saber sobre el acelerador USB Google Coral.
El acelerador USB Coral está diseñado principalmente para aplicaciones de inteligencia artificial de bajo consumo.
Es adecuado para tareas como el análisis de imágenes y vídeos, la detección de objetos y el reconocimiento de voz en dispositivos como Raspberry Pi u ordenadores portátiles.
Visión general
En resumen, el Google Coral USB Accelerator es un procesador que utiliza una Unidad de Procesamiento Tensorial (TPU), que es un circuito integrado que es realmente bueno haciendo multiplicaciones y sumas matriciales.
La multiplicación de matrices es lo que se necesita para construir redes neuronales.
Y definitivamente no llegarás muy lejos si intentas construir redes neuronales sólo con tu Raspberry Pi.
Como tal, el acelerador añade otro procesador dedicado específicamente a realizar el álgebra lineal necesario para el aprendizaje automático.
Como probablemente sepa, la idea que subyace al aprendizaje automático es desarrollar modelos que analicen y aprendan patrones a partir de un conjunto de datos. Este conjunto de datos tiene varias entradas y sus correspondientes salidas. Una vez entrenados, estos modelos pueden tomar nuevas entradas, sintetizar los patrones aprendidos y generar salidas o predicciones adecuadas.
Las TPU funcionan mucho más rápido y con mucha menos energía que las CPU para el aprendizaje automático, porque no ejecutan otros programas y no necesitan acceder a la memoria compartida.
La TPU del Acelerador USB Coral utiliza TensorFlow Lite, que es una versión modificada para dispositivos más pequeños.
Uso del acelerador USB Coral
Lo mejor de todo es lo accesible que resulta el desarrollo de la IA.
Empezar es muy fácil.
En realidad, todo lo que necesitas es un Google Coral USB Accelerator (obviamente) y un ordenador con un puerto USB libre y Python 3.5 o superior.
Y vale la pena mencionar que funciona con Mac, Windows y Linux (específicamente, sistemas operativos basados en Debian, como Ubuntu o el Raspberry Pi OS). Así que seguro que lo pones en marcha.
Cuando lo configures, tienes que decidir si quieres que funcione a la máxima frecuencia de reloj o a una frecuencia de reloj reducida. Obviamente, la frecuencia de reloj máxima es más potente, pero también va a consumir más energía. Y puede calentarse increíblemente.
Ejecución de un modelo de reconocimiento de imágenes
En el Página web de Google Coralofrecen una magnífica prueba para mostrarle cómo funciona el Acelerador USB Coral. En su ejemplo, es capaz de reconocer diferentes aves con una precisión bastante notable.
Así es como se ejecuta el modelo de reconocimiento de imágenes en tu Raspberry Pi. Esto funcionará perfectamente bien con la frecuencia de reloj reducida.
No pises el acelerador todavía.
En primer lugar, tienes que ir al terminal y escribir el siguiente código para añadir el repositorio 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
A continuación, instala el runtime:
sudo apt-get install libedgetpu1-std
Ahora puedes conectar el acelerador para que todo esté sincronizado. Una vez que lo tengas conectado, necesitas instalar PyCoral:
sudo apt-get install python3-pycoral
Y ahora puedes poner en marcha el modelo. Primero, descarga el código:
mkdir coral && cd coral
git clone https://github.com/google-coral/pycoral.git
cd pycoral
A continuación, ejecute lo siguiente:
bash examples/install_requirements.sh classify_image.py
Y por último, ejecuta el modelo:
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
El resultado es algo parecido a esto:
Puede ver que la entrada era "parrot.jpg" y el modelo lo leyó correctamente como un guacamayo escarlata, con un 0,75 de confianza en la precisión.
Encontré una foto de un cardenal boreal y la pasé por el modelo y esto es lo que me dio.
Como puedes ver, dio una lectura súper precisa con 0,91 de confianza.
Entonces quise ver qué pasaba si le ponía la foto de un gato.
Aunque entiendo perfectamente por qué pensó que el gato era un búho cornudo, me sorprendió su nivel de confianza.
Intenté que reconociera fotos de personas y determinara qué aves eran, pero por desgracia no cooperó.
Pero siéntete libre de experimentar y ver qué puedes sacar de ello. Comenta a continuación los resultados.
Conclusión:
Ahí lo tienes. Aunque su exterior ultra elegante pueda dar cierta sensación de misticismo, el Google Coral USB Accelerator no es ninguna caja misteriosa.
Se trata de un potente procesador que puede llevar la IA a los dispositivos de vanguardia.
Así que, tanto si te dedicas al IoT como a la robótica o tienes una idea para llevar la IA a los dispositivos cotidianos, el Acelerador USB Coral es tu billete de paseo. Aunque te he dado el ejemplo de un modelo de reconocimiento de imágenes, el acelerador puede ir mucho más allá: reconocimiento de vídeo, detección de objetos, aprendizaje por transferencia en el dispositivo, etc.
También tenemos un Kit AIY Maker que hace todo esto posible - echa un vistazo a este vídeo:
Si le interesa la IA, puede consultar nuestro Introducción a la Inteligencia Artificial.
Y si está interesado en realizar algunos proyectos de IA usted mismo, puede consultar algunos proyectos que hacen uso de la IA en nuestra serie Paragon Projects.
¿Qué piensa hacer con el acelerador?
lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂
¡Dzięki!
hola, tenés idea si está placa USB sirve para acelerar una PC que tenga instalado algún GenAI como ollama ? con algún modelo libre como llama 3.1 o Gemma? usando ollama ? gracias
"comentarista escribió que no estaban tan interesados en una caja misteriosa AI" - Supongo que el comentarista no expresó ninguna razón específica.
Las razones más preocupantes son la falta de procedencia de los resultados del ML y la incapacidad de proporcionarla para posibles normativas.
El lugar donde se ejecuta un ML no proporciona nada para esto.
corrección:
"commenter wrote that they were not that interested in a mystery AI box" - I guess the commenter did not express any specific reasons.
Las razones más preocupantes son la falta de procedencia de los resultados del ML y la incapacidad de proporcionarla para posibles normativas.
El lugar donde se ejecuta un ML no proporciona nada para esto.
Interesante punto, David.
а что быстрее: ¿GPU o TPU????
Для искусственного интеллекта, TPU. Безусловно, быстрее.
Sería estupendo que no se desconectara al cabo de una hora y fuera necesario reiniciar o desenchufar y volver a enchufar para que volviera a funcionar.
Посмотрите опенсорсный fragata NVR, особенно последнюю beta3