Bom dia, Habr!
Não temos nada a acrescentar ao cabeçalho do artigo em nosso aviso - portanto, todos são imediatamente convidados a participar. Lemos e comentamos.

Os desenvolvedores de dispositivos móveis se beneficiarão das mudanças revolucionárias que o
aprendizado de máquina em dispositivos pode oferecer hoje. O ponto é o quanto essa tecnologia aprimora qualquer aplicativo móvel, ou seja, fornece um novo nível de conveniência para os usuários e permite que você use ativamente recursos poderosos, por exemplo, forneça as recomendações mais precisas com
base na localização geográfica ou detecte
doenças instantaneamente
nas plantas .
Um desenvolvimento tão rápido do aprendizado de máquina móvel é a resposta para vários problemas comuns que tivemos tempo de aprender no aprendizado de máquina clássico. De fato, tudo é óbvio. No futuro, os aplicativos móveis exigirão um processamento de dados mais rápido e uma redução adicional na latência.
Você deve estar se perguntando por que os
aplicativos móveis baseados em IA simplesmente não podem executar inferência lógica na nuvem. Em primeiro lugar, as tecnologias em nuvem dependem de nós centrais (imagine um enorme data center onde estão concentrados extensos data warehouses e grande poder de computação). Com essa abordagem centralizada, é impossível lidar com as velocidades de processamento suficientes para criar interações móveis suaves com base no aprendizado de máquina. Os dados devem ser processados centralmente e depois enviados de volta ao dispositivo. Essa abordagem leva tempo, dinheiro e não garante a privacidade dos dados em si.
Portanto, tendo descrito essas principais vantagens do aprendizado de máquina móvel, vamos examinar mais detalhadamente por que a revolução no aprendizado de máquina que se desenrola diante de nossos olhos deve ser interessante para você, pessoalmente, como desenvolvedor de dispositivos móveis.
Atraso na redução
Os desenvolvedores de aplicativos móveis sabem que o aumento da latência pode se tornar uma marca negra para um programa, independentemente de quão boas são suas características ou de quão respeitável é a marca. Anteriormente, em dispositivos Android, havia
sérios atrasos em muitos aplicativos de vídeo , por causa dos quais a exibição de vídeo e áudio geralmente ficava fora de sincronia. Da mesma forma, um cliente de mídia social de alta latência pode transformar a comunicação em uma verdadeira tortura para o usuário.
A implementação do aprendizado de máquina em um dispositivo está se tornando cada vez mais importante, precisamente devido a esses problemas com atrasos. Imagine como funcionam os filtros de imagem para redes sociais ou recomendações de restaurantes com referência à geolocalização. Nessas aplicações, o atraso deve ser mínimo, apenas nesse caso ele pode funcionar no nível mais alto.
Como mencionado acima, o processamento na nuvem às vezes é lento e o desenvolvedor precisa do atraso para chegar a zero - somente nesse caso os recursos de aprendizado de máquina no aplicativo móvel funcionarão como deveriam. O aprendizado de máquina em dispositivos abre esses recursos de processamento de dados que realmente permitem reduzir o atraso para quase zero.
Fabricantes de smartphones e gigantes da tecnologia estão lentamente começando a perceber isso. Por um longo tempo, a Apple permaneceu líder nesse setor, desenvolvendo
chips cada vez mais avançados para smartphones usando seu sistema Bionic, que implementa o mecanismo neural Neural Engine, que ajuda a direcionar redes neurais diretamente no dispositivo, enquanto alcança
velocidades incríveis .
A Apple também continua a desenvolver passo a passo o Core ML, sua plataforma de aprendizado de máquina para aplicativos móveis;
A biblioteca
TensorFlow Lite adiciona suporte para GPUs; O Google continua adicionando recursos pré-carregados à sua plataforma de aprendizado de máquina do ML Kit. É com essas tecnologias que você pode desenvolver aplicativos que permitem processar dados instantaneamente, eliminar atrasos e reduzir o número de erros.
Essa combinação de precisão e interações contínuas do usuário é um indicador importante que os desenvolvedores de aplicativos móveis devem considerar ao incorporar recursos de aprendizado de máquina. E, para garantir essa funcionalidade, é necessário
adotar o aprendizado de máquina nos dispositivos .
Segurança e privacidade aprimoradas
Outro grande benefício da computação de ponta que não pode ser superestimado é o quanto eles melhoram a segurança e a privacidade dos usuários. A garantia de segurança e privacidade dos dados no aplicativo é parte integrante das tarefas do desenvolvedor, especialmente levando em consideração a necessidade de cumprir o GDPR (General Data Protection Regulation), as novas leis europeias, que sem dúvida afetarão a prática do desenvolvimento móvel.
Como os dados não precisam ser enviados para processamento para o norte ou para a nuvem, os cibercriminosos têm menos oportunidades de explorar quaisquer vulnerabilidades que ocorreram durante essa transferência; portanto, a integridade dos dados é mantida. Isso facilita para os desenvolvedores de aplicativos móveis cumprirem os regulamentos de segurança de dados do GDPR.
O aprendizado de máquina em dispositivos também fornece descentralização, principalmente no mesmo princípio que o blockchain. Em outras palavras, é mais difícil para os hackers colocar uma rede conectada de dispositivos ocultos com um ataque DDoS do que executar o mesmo ataque em um servidor central. Essa tecnologia também pode ser útil ao trabalhar com drones e monitorar a conformidade com a lei.
Os mencionados chips para smartphones da Apple também contribuem para melhorar a segurança e a privacidade do usuário - para que eles possam servir como base para o Face ID. Esse recurso do iPhone é baseado em uma rede neural implantada em dispositivos e na coleta de dados sobre todas as várias representações do rosto do usuário. Assim, a tecnologia serve como um método de identificação extremamente preciso e confiável.
Esses e novos equipamentos habilitados para IA abrirão o caminho para interações mais seguras do usuário com o smartphone. De fato, os desenvolvedores recebem uma camada extra de criptografia para proteger os dados do usuário.
Não requer conexão com internet
Além dos problemas de latência, o envio de dados para a nuvem para processamento e extração de leads requer uma boa conexão com a Internet. Muitas vezes, especialmente nos países desenvolvidos, não há necessidade de reclamar da Internet. Mas o que fazer em áreas onde a comunicação é pior? Quando o aprendizado de máquina é implementado em dispositivos, as redes neurais vivem por telefone por conta própria. Assim, o desenvolvedor pode implantar a tecnologia em qualquer dispositivo e em qualquer lugar, independentemente da qualidade da conexão. Além disso, essa abordagem leva à
democratização das capacidades de BC .
A assistência médica é um dos setores que podem se beneficiar especialmente do aprendizado de máquina em dispositivos, pois os desenvolvedores podem criar ferramentas que verificam indicadores vitais ou até fornecer robocirurgia sem conexão à Internet. Essa tecnologia também é útil para estudantes que desejam acessar os materiais das aulas sem ter uma conexão com a Internet - por exemplo, estar em um túnel de transporte.
Por fim, o aprendizado de máquina em dispositivos fornecerá aos desenvolvedores ferramentas para criar ferramentas que serão úteis para usuários de todo o mundo, independentemente da situação com a conexão com a Internet. Dado que o poder dos novos smartphones será pelo menos não menor do que os atuais, os usuários esquecerão de problemas com atrasos ao trabalharem com o aplicativo offline.
Reduza os custos para o seu negócio
O aprendizado de máquina em dispositivos também foi projetado para economizar uma fortuna - porque com ele você não precisará pagar contratados externos que implementariam e suportariam muitas soluções. Como mencionado acima, em muitos casos, você pode ficar sem a nuvem e sem a Internet.
GPUs e serviços em nuvem específicos da IA são as soluções mais caras que você pode comprar. Ao iniciar modelos no dispositivo, você não precisa pagar por todos esses clusters, devido ao fato de hoje estarem aparecendo mais e mais avançados smartphones equipados com
processadores neuromórficos (NPU) .
Ao evitar o pesadelo do processamento pesado de dados entre o dispositivo e a nuvem, você economiza tremendamente; portanto, implementar soluções de aprendizado de máquina em dispositivos é muito benéfico. Além disso, você salva porque os requisitos de largura de banda de dados são significativamente reduzidos em seu aplicativo.
Os próprios engenheiros também economizam bastante no processo de desenvolvimento, pois não precisam coletar e manter infraestrutura de nuvem adicional. Pelo contrário, é possível conseguir mais com as forças de uma equipe menor. Assim, o planejamento de recursos humanos nas equipes de desenvolvimento é muito mais eficiente.
Conclusão
Sem dúvida, na década de 2010, as nuvens se tornaram uma verdadeira bênção que simplificou o processamento de dados. Mas a alta tecnologia está se desenvolvendo exponencialmente, e o aprendizado de máquina em dispositivos pode se tornar o padrão de fato não apenas no campo do desenvolvimento móvel, mas também no campo da Internet das Coisas.
Devido à latência reduzida, segurança aprimorada, recursos offline e custos gerais mais baratos, não surpreende que os maiores players de desenvolvimento móvel estejam apostando nessa tecnologia. Os desenvolvedores de aplicativos móveis também devem dar uma olhada mais de perto para acompanhar os tempos.