Índice analítico[Ocultar][Mostrar]
Os modelos de Machine Learning están por todas partes agora mesmo. Durante o día, probablemente utilices estes modelos moito máis do que pensas. Os modelos de aprendizaxe automática utilízanse en tarefas comúns, como navegar nas redes sociais, fotografar e comprobar o tempo.
É posible que un algoritmo de aprendizaxe automática che recomendara este blog. Todos escoitamos falar do tempo que leva adestrar estes modelos. Todos escoitamos que adestrar estes modelos leva moito tempo.
Non obstante, facer inferencias sobre estes modelos é frecuentemente custoso computacionalmente.
Necesitamos sistemas informáticos que sexan o suficientemente rápidos como para xestionar a velocidade á que estamos utilizando os servizos de aprendizaxe automática. Como resultado, a maioría destes modelos execútanse en centros de datos masivos con clústeres de CPU e GPU (mesmo de TPU nalgúns casos).
Cando fas unha foto, queres aprendizaxe de máquina para melloralo ao instante. Non quere ter que esperar a que a imaxe sexa transferida a un centro de datos, procesada e devolta. Neste caso, o modelo de aprendizaxe automática debería executarse localmente.
Cando dis "Ola Siri" ou "OK, Google", queres que os teus gadgets respondan inmediatamente. Agardando a que a túa voz sexa transmitida aos ordenadores, onde se avaliará e se obterán datos.
Isto leva tempo e ten un efecto prexudicial na experiencia do usuario. Neste caso, quere que o modelo de aprendizaxe automática funcione tamén localmente. Aquí é onde entra TinyML.
Nesta publicación, analizaremos TinyML, como funciona, os seus usos, como comezar con el e moito máis.
O que é TinyML?
TinyML é unha disciplina de vangarda que aplica o potencial revolucionario da aprendizaxe automática aos límites de rendemento e potencia de pequenos dispositivos e sistemas integrados.
A implantación exitosa neste sector require unha comprensión completa das aplicacións, algoritmos, hardware e software. É un subxénero de aprendizaxe automática que utiliza modelos de aprendizaxe profunda e de aprendizaxe automática en sistemas integrados que empregan microcontroladores, procesadores de sinais dixitais ou outros procesadores especializados de baixa potencia.
Os dispositivos integrados con TinyML están destinados a executar un algoritmo de aprendizaxe automática para un traballo específico, normalmente como parte do edge computing.
Para funcionar durante semanas, meses ou mesmo anos sen recargar nin substituír a batería, estes sistemas integrados deben ter un consumo de enerxía inferior a 1 mW.
Como funciona?
O único marco de aprendizaxe automática que se pode utilizar con microcontroladores e ordenadores é TensorFlow Lite. É un conxunto de ferramentas que permite aos desenvolvedores executar os seus modelos en dispositivos móbiles, integrados e de borde, o que permite a aprendizaxe automática sobre a marcha.
A interface do microcontrolador utilízase para recoller datos de sensores (como micrófonos, cámaras ou sensores integrados).
Antes de enviarse ao microcontrolador, os datos incorpóranse a un modelo de aprendizaxe automática baseado na nube. O adestramento por lotes no modo fóra de liña úsase habitualmente para adestrar estes modelos. Os datos do sensor que se utilizarán para aprendizaxe e inferencia xa se determinou para a aplicación específica.
Se o modelo está a ser adestrado para detectar unha palabra activa, por exemplo, xa está configurado para xestionar un fluxo de audio continuo desde un micrófono.
Todo xa está feito coa axuda dunha plataforma na nube como Google Colab no caso de TensorFlow Lite, incluíndo selección de conxuntos de datos, normalización, subadaptación ou sobreadaptación do modelo, regularización, aumento de datos, adestramento, validación e probas.
Un modelo totalmente adestrado finalmente transfórmase e transfírese ao microcontrolador, ao microordenador ou ao procesador de sinal dixital despois do adestramento por lotes sen conexión. O modelo non ten formación adicional despois de ser movido a un dispositivo integrado. En cambio, só usa datos en tempo real de sensores ou dispositivos de entrada para aplicar o modelo.
Como resultado, un modelo de aprendizaxe automática TinyML debe ser excepcionalmente duradeiro e capaz de ser reciclado despois de anos ou nunca. Deben investigarse todas as posibles subadaptacións e sobreadaptacións do modelo para que o modelo siga sendo relevante durante un período prolongado de tempo, idealmente indefinidamente.
Pero por que usar TinyML?
TinyML comezou como un esforzo por eliminar ou diminuír a dependencia do IoT dos servizos na nube para a pequena escala básica. aprendizaxe de máquina operacións. Isto fixo necesario o uso de modelos de aprendizaxe automática nos propios dispositivos de borde. Ofrece os seguintes beneficios principais:
- De baixa potencia consumo: Unha aplicación TinyML debería utilizar preferiblemente menos de 1 miliWatt de potencia. Con un consumo tan baixo de enerxía, un dispositivo pode seguir obtendo conclusións dos datos dos sensores durante meses ou anos, aínda que estea alimentado por unha batería de moeda.
- Menor custo: está deseñado para funcionar en microcontroladores ou DSP de 32 bits de baixo custo. Estes microcontroladores adoitan ser duns céntimos cada un, e o sistema integrado total desenvolvido con eles é inferior a 50 dólares. Esta é unha opción moi rendible para executar pequenos programas de aprendizaxe automática a gran escala, e é especialmente beneficioso en aplicacións de IoT onde se debe aplicar a aprendizaxe automática.
- Menor latencia: As súas aplicacións teñen unha baixa latencia xa que non precisan transportar nin intercambiar datos pola rede. Todos os datos dos sensores rexístranse localmente e tíranse conclusións mediante un modelo que xa foi adestrado. Os resultados das inferencias pódense enviar a un servidor ou á nube para o rexistro ou procesamento adicional, aínda que isto non é esencial para que o dispositivo funcione. Isto minimiza a latencia da rede e elimina a necesidade de que as operacións de aprendizaxe automática se realicen nunha nube ou nun servidor.
- privacidade: É unha gran preocupación en internet e coa internet das cousas. O traballo de aprendizaxe automática nas aplicacións TinyML realízase localmente, sen almacenar nin enviar datos de sensor/usuario a un servidor/nube. Como resultado, aínda que estean vinculadas a unha rede, estas aplicacións son seguras de usar e non presentan riscos de privacidade.
aplicacións
- Agricultura – Cando os agricultores sacan unha foto dunha planta, a aplicación de TensorFlow Lite detecta enfermidades nela. Funciona en calquera dispositivo e non require conexión a Internet. O procedemento protexe os intereses agrícolas e é unha necesidade fundamental para os agricultores rurais.
- Mantemento Mecánico – TinyML, cando se usa en dispositivos de baixa potencia, pode identificar continuamente fallos nunha máquina. Implica un mantemento baseado en predicións. Ping Services, unha start-up australiana, presentou un gadget IoT que supervisa os aeroxeradores uníndose ao exterior da turbina. Avisa ás autoridades sempre que detecta algún posible problema ou mal funcionamento.
- Hospitais - Os Solar Scare é un proxecto. Mosquito usa TinyML para deter a propagación de enfermidades como o dengue e a malaria. Funciona con enerxía solar e detecta as condicións de cría de mosquitos antes de indicarlle á auga para inhibir a cría de mosquitos.
- Vixilancia de Tráfico - Por aplicando TinyML aos sensores que recollen datos de tráfico en tempo real, podemos utilizalos para dirixir mellor o tráfico e reducir os tempos de resposta dos vehículos de emerxencia. Swim.AI, por exemplo, utiliza esta tecnoloxía na transmisión de datos para aumentar a seguridade dos pasaxeiros, ao mesmo tempo que reduce a conxestión e as emisións mediante o enrutamento intelixente.
- Lei: TinyML pódese usar nas forzas de aplicación da lei para identificar accións ilegais como disturbios e roubos mediante a aprendizaxe automática e o recoñecemento de xestos. Tamén se pode usar un programa similar para protexer os caixeiros automáticos dos bancos. Ao observar o comportamento do usuario, un modelo TinyML pode predecir se o usuario é un consumidor real que completa unha transacción ou un intruso que intenta piratear ou destruír o caixeiro automático.
Como comezar con TinyML?
Para comezar con TinyML en TensorFlow Lite, necesitarás unha placa de microcontrolador compatible. TensorFlow Lite para microcontroladores admite os microcontroladores que se indican a continuación.
- Terminal Wio: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- Kit de descubrimento STM32F746
- Adafruit EdgeBadge
- Plataforma de desenvolvemento de software Synopsys DesignWare ARC EM
- Sony Express
- Arduino Nano 33 BLE Sentido
- SparkFun Edge
- Kit de Adafruit TensorFlow Lite para microcontroladores
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Estes son microcontroladores de 32 bits que teñen suficiente memoria flash, RAM e frecuencia de reloxo para executar un modelo de aprendizaxe automática. As placas tamén teñen unha serie de sensores integrados capaces de executar calquera programa integrado e aplicar modelos de aprendizaxe automática á aplicación de destino. Para construír un modelo de aprendizaxe automática, necesitarás un portátil ou un ordenador ademais dunha plataforma de hardware.
Cada plataforma de hardware ten as súas propias ferramentas de programación para construír, adestrar e portar modelos de aprendizaxe automática, que usan o paquete TensorFlow Lite para microcontroladores. TensorFlow Lite é gratuíto para usar e modificar porque o é de código aberto.
Para comezar con TinyML e TensorFlow Lite, todo o que necesitas é unha das plataformas de hardware incorporadas mencionadas anteriormente, un ordenador/portátil, un cable USB, un conversor de USB a serie e o desexo de practicar a aprendizaxe automática con sistemas integrados. .
Desafíos
Aínda que o progreso de TinyML deu moitos resultados positivos, a industria da aprendizaxe automática aínda se enfronta a obstáculos considerables.
- Diversidade de software: codificación manual, a xeración de código e os intérpretes de ML son todas opcións para implementar modelos en dispositivos TinyML, e cada un leva unha cantidade de tempo e esforzo diferente. Como resultado disto poden xurdir diferentes actuacións.
- Diversidade de hardware - Aí hai varias opcións de hardware dispoñibles. As plataformas TinyML poden ser desde microcontroladores de propósito xeral ata procesadores neuronais de vangarda. Isto provoca problemas coa implantación do modelo en diferentes arquitecturas.
- Solución de problemas/depuración - Cando un modelo de ML funciona mal na nube, é sinxelo mirar os datos e descubrir o que está a fallar. Cando un modelo se estende por miles de dispositivos TinyML, sen que ningún fluxo de datos volva á nube, a depuración faise difícil e pode necesitar un método diferente.
- Restricións de memoria - Tradicionais plataformas, como teléfonos intelixentes e portátiles, necesitan gigabytes de RAM, mentres que os dispositivos TinyML usan kilobytes ou megabytes. Como resultado, o tamaño do modelo que se pode implantar é limitado.
- Formación modelo – Aínda que Hai varias vantaxes ao despregar modelos de ML en dispositivos TinyML, a maior parte dos modelos de ML aínda está adestrado na nube para iterar e mellorar continuamente a precisión do modelo.
Futuro
TinyML, coa súa pequena pegada, o baixo consumo de batería e a falta ou a dependencia limitada da conectividade a Internet, ten un enorme potencial no futuro, xa que a maioría dos intelixencia artificial implementarase en dispositivos de borde ou gadgets integrados independentes.
Fará que as aplicacións IoT sexan máis privadas e seguras ao aproveitalas. Aínda que TensorFlow Lite é actualmente o único marco de aprendizaxe automática para microcontroladores e microordenadores, outros marcos comparables como sensor e CMSIS-NN de ARM están en proceso.
Aínda que TensorFlow Lite é un proxecto de código aberto en curso que tivo un excelente inicio co equipo de Google, aínda necesita o apoio da comunidade para entrar na corrente principal.
Conclusión
TinyML é un novo enfoque que combina sistemas integrados coa aprendizaxe automática. A medida que a IA estreita alcanza o pico en moitas verticais e dominios, a tecnoloxía pode xurdir como un subcampo destacado na aprendizaxe automática e na intelixencia artificial.
Ofrece unha solución a numerosos desafíos aos que se enfrontan agora o sector IoT e os profesionais que aplican a aprendizaxe automática a moitas disciplinas específicas de dominio.
O concepto de utilizar a aprendizaxe automática en dispositivos de borde cunha pequena computación a pegada e o consumo de enerxía teñen o potencial de transformar significativamente a forma en que se constrúen os sistemas integrados e a robótica.
Deixe unha resposta