A maioria das tarefas de Machine Learning (ML), como o reconhecimento de voz ou imagens, são em grande parte efetuadas na cloud. O smartphone envia dados para a nuvem e os mesmos são processados e enviados novamente para o dispositivo. No entanto existe uma tendência para que estas operações comecem a ser efetuadas localmente nos smartphones. Isto é aliás algo que a Huawei faz no seu Huawei Mate 10 Pro.
Para ajudar os programadores a aproveitarem ao máximo esta tecnologia, a Qualcomm lançou uma nova marca que vai estar apenas focada no machine learning.
O Qualcomm Artificial Intelligence (AI) Engine consiste em vários componentes de hardware e software que podem ser utilizados por quem desenvolve aplicações para disponibilizar experiências de utilização compatíveis com inteligência artificial, existindo ou não ligação à Internet.
Machine Learning: Duas fases distintas
O machine learning ou se preferirem a aprendizagem de máquina consiste em duas fases distintas: o treino e a inferência que é como quem diz a dedução.
Na fase de treino o algoritmo de Machine Learning (provavelmente uma Rede Neural) é alimentado por muitos exemplos (fotos, voz, entre outros), juntamente com a classificação correspondente.Quando o processo de treino chega ao fim, a Rede Neural é utilizada para classificar novos dados.
Vamos a um exemplo prático. Imagine que apresentamos milhares de fotos de cães ao sistema de aprendizagem de máquina. O sistema vai recolher todas as fotografias e aprender com elas. Se mais tarde mostrar a imagem de um cão ao dispositivo em questão, mesmo que seja diferente de todas as outras que ele viu, ele irá reconhecer à mesma que se trata de um animal.
Esta etapa da inferência, da dedução ou da conclusão, funciona em quase qualquer tipo de unidade de processamento, incluindo CPUs, GPUs, DSPs e motores de inferência dedicados, como a Unidade Neural de Processamento (NPU) da Huawei ou o Processador de Aprendizagem de Máquina recentemente anunciado pela ARM. A principal diferença entre estas unidades de processamento é a rapidez com que eles podem realizar a inferência e a quantidade de energia utilizada para o fazerem.
O Qualcomm AI Engine dispensa as redes neurais de processamento e utiliza o CPU, GPU e DSP encontrados em alguns dos principais processadores Snapdragon (845, 835, 820 e 660). O componente-chave nestes processadores é a inclusão do Hexagon DSP com as Hexagon Vector eXtensions (HVX).
Do lado do software, o Qualcomm AI Engine disponibiliza três componentes:
- Framework por software do Snapdragon Neural Processing Engine (NPE) – Uma biblioteca heterogénea de nível superior que suporta as estruturas Tensorflow, Caffe e Caffe2, além do formato de partilha Open Neural Network Exchange (ONNX). A ideia principal é que o NPE escolha o componente certo (CPU, GPU, DSP) para qualquer tarefa.
- Android Oreo Neural Networks API – O suporte para as redes neurais do Android vai aparecer primeiro no Snapdragon 845.
- Biblioteca da Rede Neural Hexagonal (NN) – Funciona exclusivamente com o Hexagon Vector Processor.
Muitos parceiros que utilizam os processadores da Qualcomm nos seus equipamentos já estão a utilizar as principais componentes do motor de inteligência artificial. Nesta lista incluem-se a Xiaomi, OnePlus, Motorola, Asus e ZTE.
Ao nível das empresas que desenvolvem software, a Qualcomm está a trabalhar com diversos parceiros diferentes. Por exemplo, o SenseTime e o Face ++ oferecem uma grande variedade de redes neurais pré-treinadas para funcionalidades relacionadas com imagem e câmara, incluindo o modo bokeh com apenas uma câmara, desbloqueio de rosto e deteção de cenas. Já a Uncanny Vision, por outro lado, fornece modelos otimizados para deteção e reconhecimento de pessoas, veículos e placas.
Apesar do sistema de inteligência artificial da Qualcomm ser de facto funcional, muitos podem achar que se trata de branding e de uma forma de dar resposta ao projeto Trillium anunciado pela ARM na semana passada.
Receba as notícias Leak no seu e-mail. Carregue aqui para se registar. É grátis!