robótica
128
RUTRONIK Elektronische Bauelemente GmbH Tel.: +351 252 312 336 · Fax: +351 252 312 338 rutronik_pt@rutronik.com · www.rutronik24.com
informação técnico-comercial
Componentes para Machine Learning O Machine Learning diretamente no dispositivo tem a capacidade de revolucionar inúmeros produtos, seja na categorização de objetos de um sensor de imagem, movimentos de um acelerómetro, ou sequências de uma transmissão áudio. Mas para conseguir isto os algoritmos devem funcionar em componentes integrados.
TensorFlow, o que permite que os programadores de hardware e software utilizem facilmente o ficheiro quantificado e otimizado FlatBuffer nos FPGAs, SoCs e nos microcontroladores.
custo e fator de forma – tudo com rígidas exigências na colocação no mercado. A flexibilidade é necessária para interfaces, inputs, outputs e memória para que os produtos possam responder a uma série de aplicações.
UMA COMPARAÇÃO ENTRE SOCS, MCUS E FPGAS As plataformas de hardware integradas possuem recursos limitados, o que não é recomendável para garantir algum desenvolvimento e são complicadas de utilizar. Mas oferecem um baixo consumo energético, baixos custos e módulos com pequenas dimensões como recompensa. Mas o que oferecem o SoCs, os microcontroladores e os FPGAs? O SoCs oferece o melhor desempenho e muitas interfaces standard, mas também têm geralmente o maior consumo energético. As interfaces específicas de inputs e outputs significam que eles consomem muito espaço no chip, o que os torna relativamente mais caros. A vantagem dos microcontroladores é o seu consumo de energia muito baixo e formato pequeno, mas geralmente são muito limitados em termos de desempenho de Machine Learning e capacidade de modelação. Os modelos de gama alta oferecem
O desenvolvimento de aplicativos de Machine Learning exige a gestão de várias áreas tecnológicas, mas a maioria das empresas apenas possui algumas destas áreas representadas internamente. Os analistas de dados, engenheiros de Machine Learning e os programadores são, então, contratados para desenvolver, treinar, ajustar e testar modelos de Machine Learning. O problema é que estes modelos geralmente não são executados num hardware integrado ou em dispositivos móveis porque a maioria dos engenheiros de Machine Learning nunca usou modelos com hardware integrado e, por isso, não estão familiarizados com os seus limitados recursos. Para que os modelos de formação sejam utilizados em SoCs móveis, FPGAS e microprocessadores, o modelo necessita de ser otimizado e quantificado. Por outro lado, os fabricantes de semicondutores têm a tarefa de desenvolver produtos que satisfaçam novos requisitos relativamente ao desempenho,
Training Data
TENSORFLOW LITE SIMPLIFICA A OTIMIZAÇÃO E A QUANTIFICAÇÃO Isto tornou-se um pouco mais fácil nos últimos anos graças ao TensorFlow Lite da Google. Esta plataforma open source para Machine Learning inclui agora guiões que podem ser utilizados para otimizar e quantificar os modelos de Machine Learning num ficheiro FlatBuffers (*.tflite). Este utiliza parâmetros configurados para um determinado aplicativo. Idealmente, um hardware integrado deve conseguir importar ficheiros FlatBuffer diretamente do TensorFlow sem ter de utilizar métodos específicos ou proprietários de otimização de hardware fora do ecossistema
Machine Learning TensorFlow Flatbuffers (*.tflite) file Deployment SDK Weight & Bias Coefficients Microprocessor Model Firmware NPU FPGA Firmware
Model
Model Training Camera Parallel, MIPI CSI-2 (D-PHY or C-PHY) LVDS, SubLVDS, HiSPi
Trained Model Tensorflow Trained Model File
Quantized & Optimized Model
Video HDMI, LVDS, Parallel/MIPI DPI MIPI DSI, CSI-2 (D-PHY or C-PHY)
Video HDMI, Parallel, MIPI DSI (D-PHY or C-PHY)
Peripheral I2C, SPI, UART, I2S, PWM, PDM, GPIO
Microphone I2S, PWM, PDM, Analog
Wireless Bluetooth Low Energy
IMU I2C, SPI, UART
TFLu Flatbuffers Model File
FPGA Embedded Hardware Modules ARM Cortex-M1/M3 Microprocessor GoAI 2.0 NPU Coprocessor 8MB Extended PSRAM Layer Memory