Aprendizado de máquina no desenvolvimento móvel: perspectivas e descentralização

Bom dia, Habr!

Não temos nada a acrescentar ao título do artigo em nossa pré-notificação - então todos são imediatamente convidados para o gato. Leia e comente.

Aprendizado de máquina no desenvolvimento móvel: perspectivas e descentralização

Os profissionais de desenvolvimento móvel se beneficiarão das mudanças revolucionárias que hoje têm a oferecer. aprendizado de máquina em dispositivos. A questão é o quanto esta 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, para fornecer recomendações mais precisas, baseado em geolocalizaçãoou detectar instantaneamente doenças de plantas.

Este rápido desenvolvimento do aprendizado de máquina móvel é uma resposta a uma série de problemas comuns que enfrentamos no aprendizado de máquina clássico. Na verdade, tudo é óbvio. No futuro, as aplicações móveis exigirão um processamento de dados mais rápido e uma maior redução da latência.

Você já deve ter se perguntado por que Aplicativos móveis com tecnologia de IA,não é possível simplesmente executar inferência na nuvem. Primeiro, as tecnologias de nuvem dependem de nós centrais (imagine um enorme data center com amplo armazenamento de dados e grande poder computacional). Essa abordagem centralizada não consegue lidar com velocidades de processamento suficientes para criar experiências móveis tranquilas alimentadas por aprendizado de máquina. Os dados devem ser processados ​​centralmente e depois enviados de volta aos dispositivos. Esta abordagem requer tempo, dinheiro e não garante a privacidade dos dados em si.

Assim, tendo delineado esses principais benefícios do aprendizado de máquina móvel, vamos examinar mais de perto por que a revolução do aprendizado de máquina que se desenrola diante de nossos olhos deve ser do interesse de você, pessoalmente, como desenvolvedor móvel.

Reduza a latência

Os desenvolvedores de aplicativos móveis sabem que o aumento da latência pode ser um ponto negativo para um programa, não importa quão bons sejam seus recursos ou quão respeitável seja a marca. Anteriormente, em dispositivos Android havia Atraso sério em muitos aplicativos de vídeo, devido ao qual a visualização de vídeo e áudio muitas vezes ficava fora de sincronia. Da mesma forma, um cliente de mídia social com alta latência pode tornar a comunicação uma verdadeira tortura para o usuário.

A implementação do aprendizado de máquina no dispositivo está se tornando cada vez mais importante precisamente por causa de problemas de latência como esses. Imagine como funcionam os filtros de imagens para redes sociais, ou recomendações de restaurantes baseadas em geolocalização. Nesses aplicativos, a latência deve ser mínima para que o desempenho seja do mais alto nível.

Conforme mencionado acima, o processamento em nuvem às vezes pode ser lento e o desenvolvedor deseja que a latência seja próxima de zero para que os recursos de aprendizado de máquina de um aplicativo móvel funcionem corretamente. O aprendizado de máquina em dispositivos abre recursos de processamento de dados que podem realmente reduzir a latência a quase zero.

Os fabricantes de smartphones e gigantes do mercado tecnológico estão gradualmente começando a perceber isso. Por muito tempo, a Apple permaneceu líder nesta indústria, desenvolvendo chips cada vez mais avançados para smartphones utilizando seu sistema Bionic, que implementa o Neural Engine, que ajuda a acionar redes neurais diretamente no dispositivo, ao mesmo tempo em que consegue velocidades incríveis.

A Apple também continua a desenvolver o Core ML, sua plataforma de aprendizado de máquina para aplicativos móveis, passo a passo; na biblioteca TensorFlow Lite adicionado suporte para GPUs; O Google continua adicionando recursos pré-carregados ao seu kit de ML da plataforma de aprendizado de máquina. Usando essas tecnologias, você pode desenvolver aplicativos que permitem processar dados na velocidade da luz, eliminar atrasos e reduzir o número de erros.

Essa combinação de precisão e experiências de usuário perfeitas é uma métrica importante que os desenvolvedores de aplicativos móveis devem considerar ao incorporar recursos de aprendizado de máquina em seus aplicativos. E para garantir tal funcionalidade é necessário leve o aprendizado de máquina aos dispositivos.

Segurança e privacidade aprimoradas

Outro grande benefício da computação de ponta que não pode ser exagerado é o quanto ela melhora a segurança e a privacidade do usuário. Garantir a segurança e privacidade dos dados na aplicação é parte integrante das tarefas do desenvolvedor, especialmente tendo em conta a necessidade de cumprimento do GDPR (Regulamento Geral de Proteção de Dados), novas leis europeias, que sem dúvida afetarão a prática do desenvolvimento móvel .

Como os dados não precisam ser enviados upstream ou para a nuvem para processamento, os cibercriminosos são menos capazes de explorar quaisquer vulnerabilidades criadas durante a fase de transferência; portanto, a integridade dos dados é mantida. Isso torna mais fácil 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 permite a descentralização, da mesma forma que o blockchain. Em outras palavras, é mais difícil para os hackers lançar um ataque DDoS em uma rede conectada de dispositivos ocultos do que realizar o mesmo ataque em um servidor central. Esta tecnologia também pode ser útil no trabalho com drones e no monitoramento do cumprimento da legislação.

Os chips de smartphone da Apple mencionados acima também ajudam a melhorar a segurança e a privacidade do usuário – por exemplo, eles podem servir de base para o Face ID. Este recurso do iPhone é alimentado por uma rede neural implantada nos dispositivos que coleta dados de todas as diferentes representações do rosto de um usuário. Assim, a tecnologia serve como um método de identificação extremamente preciso e confiável.

Esses e mais novos hardwares habilitados para IA abrirão caminho para interações mais seguras entre usuário e smartphone. Na verdade, os desenvolvedores obtêm uma camada adicional de criptografia para proteger os dados do usuário.

Não requer conexão com internet

Deixando de lado as questões de latência, enviar dados para a nuvem para processamento e tirar conclusões 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 conexão é pior? Quando o aprendizado de máquina é implementado em dispositivos, as redes neurais residem nos próprios telefones. Assim, o desenvolvedor pode implantar a tecnologia em qualquer dispositivo e em qualquer lugar, independente da qualidade da conexão. Além disso, esta abordagem leva a democratizando os recursos de ML.

Cuidados de saúde é uma das indústrias que poderia se beneficiar particularmente do aprendizado de máquina no dispositivo, já que os desenvolvedores poderão criar ferramentas que verificam sinais vitais ou até mesmo fornecem cirurgia robótica sem qualquer conexão com a Internet. Esta tecnologia também será útil para estudantes que desejam acessar materiais de aula sem conexão com a Internet - por exemplo, enquanto estiverem em um túnel de transporte.

Em última análise, o aprendizado de máquina em dispositivos fornecerá aos desenvolvedores as ferramentas para criar ferramentas que beneficiarão usuários em todo o mundo, independentemente da situação de sua conexão com a Internet. Considerando que o poder dos novos smartphones será pelo menos tão poderoso quanto os atuais, os usuários esquecerão os problemas com atrasos ao trabalhar com o aplicativo offline.

Reduzindo custos para o seu negócio

O aprendizado de máquina em dispositivos também pode economizar uma fortuna por não ter que pagar prestadores de serviços externos para implementar e manter muitas das soluções. Conforme mencionado acima, em muitos casos você pode prescindir da nuvem e da Internet.

Os serviços de nuvem específicos para GPU e IA são as soluções mais caras que podem ser adquiridas. Ao rodar modelos em seu aparelho, você não precisa pagar por todos esses clusters, graças ao fato de que hoje cada vez mais smartphones avançados equipados com processadores neuromórficos (NPU).

Ao evitar o pesadelo do processamento pesado de dados que ocorre entre o dispositivo e a nuvem, você economiza enormemente; Portanto, é muito lucrativo implementar soluções de aprendizado de máquina em dispositivos. Além disso, você economiza dinheiro porque os requisitos de largura de banda do seu aplicativo são significativamente reduzidos.

Os próprios engenheiros também economizam muito no processo de desenvolvimento, pois não precisam montar e manter infraestrutura adicional em nuvem. Pelo contrário, é possível conseguir mais com uma equipe menor. Assim, o planejamento de recursos humanos nas equipes de desenvolvimento é muito mais eficaz.

Conclusão

Sem dúvida, na década de 2010, a nuvem se tornou uma verdadeira dádiva, simplificando o processamento de dados. Mas a alta tecnologia está a desenvolver-se exponencialmente e a aprendizagem automática em dispositivos poderá em breve tornar-se o padrão de facto não só no campo do desenvolvimento móvel, mas também na Internet das Coisas.

Com latência reduzida, segurança melhorada, capacidades offline e custos globais mais baixos, não é surpresa que os maiores intervenientes no desenvolvimento móvel estejam a apostar alto na tecnologia. Os desenvolvedores de aplicativos móveis também devem analisá-lo mais de perto para acompanhar os tempos.

Fonte: habr.com

Adicionar um comentário