![Como usar o Flask, um framework Python leve](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716222123_Como-usar-o-Flask-um-framework-Python-leve-150x150.jpg)
Como usar o Flask, um framework Python leve
20 de maio de 2024![Composable Enterprise: A Evolução do MACH e Jamstack](https://optimuscloud.com.br/wp-content/uploads/2024/05/1716224409_Composable-Enterprise-A-Evolucao-do-MACH-e-Jamstack-150x150.jpg)
Composable Enterprise: A Evolução do MACH e Jamstack
20 de maio de 2024Os telefones e PCs de hoje estão equipados com novo hardware para executar IA diretamente nos dispositivos; e no Google I/O deste ano, o Google incentivou os programadores a tirar vantagem disso.
A ideia é executar grandes modelos de linguagem em dados armazenados localmente, mesmo sem conexão com a internet. Os dados permanecem privados, não saem do dispositivo e a abordagem economiza dinheiro.
“Como desenvolvedor, você reduz ou elimina a necessidade de lidar com manutenção, capacidade, restrições ou custos do lado do servidor para outra entrada”, disse Sachin Kotwani, gerente de produto do grupo, durante uma sessão no Google I/O.
A maneira como funciona
A capacidade de desenvolver aplicativos de IA no dispositivo é um progresso significativo em relação à forma como o processamento de IA é feito hoje.
Os processadores neurais em novos telefones e PCs tornam possível a IA no dispositivo.
A IA já existe em dispositivos, caso você não tenha notado. Ele executa atividades básicas do smartphone, como sugerir mensagens de texto, melhorar imagens e analisar o consumo de energia para economizar bateria.
Os processadores neurais em novos telefones e PCs tornam possível a IA no dispositivo. Mas executar LLMs com um bilhão ou mais de parâmetros, como TinyLlama ou Phi-2 em PCs, sem quaisquer aceleradores de IA, é dolorosamente lento. Você pode executar LLMs apenas em CPUs com Jan.ai ou GPT4All, mas isso sobrecarregará seu computador.
Executar LLMs é incrível em PCs com GPUs poderosas. Mas a configuração é uma tarefa árdua – você precisa baixar os modelos, carregar o ambiente de rede neural (como o CuDNN da Nvidia), instalar ferramentas de desenvolvedor e compilá-lo.
Uma nova onda de aceleradores e GPUs capazes de realizar matemática matricial em dispositivos torna a IA possível em telefones celulares.
Como resultado, a maior parte da IA acontece na nuvem em GPUs poderosas, o que pode ser tão simples quanto carregar uma API GPT-4 em uma interface de chatbot, que então descarrega consultas para GPUs na infraestrutura de servidor da OpenAI. Mas essas APIs não são gratuitas e você deve pagar para usar a infraestrutura da OpenAI.
Uma nova onda de aceleradores e GPUs capazes de matemática matricial em dispositivos torna a IA possível em telefones celulares.
O novo telefone Pixel 8A do Google possui um Edge TPU (unidade de processamento Tensor) para IA, e Intel e AMD possuem unidades de processamento neural em PCs. A IA no dispositivo também pode ser acoplada a recursos de IA baseados em nuvem.
Ferramentas de desenvolvimento
Ferramentas de desenvolvimento para executar LLMs em dispositivos estão sendo disponibilizadas por fabricantes de chips que incluem AMD, Intel e Nvidia.
Mais recentemente, o Google falou sobre kits de desenvolvimento, APIs e outras ferramentas que utilizam seu próprio Gemini Nano LLM para dispositivos móveis. Este LLM é multimodal, o que significa que os desenvolvedores podem criar aplicativos de fala, imagem, vídeo ou chatbot em torno dele.
“Gemini Nano é o caminho recomendado para produção do Android.”
–Thomas Ezan, Google
Os representantes do Google disseram que o Gemini Nano é o modelo mais capaz para IA no dispositivo e também se integra bem aos aplicativos Android.
“Gemini Nano é o caminho recomendado para produção do Android”, disse Thomas Ezan, engenheiro sênior de relações com desenvolvedores do Google na I/O.
Para aqueles que preferem não ficar presos no ambiente de desenvolvimento de IA proprietário do Google, o Google oferecerá suporte a LLMs de código aberto entre dois e três bilhões de parâmetros.
“Se você deseja executar inferências genéricas em dispositivos, os modelos abertos de linguagem grande também cresceram em popularidade no ano passado, embora não sejam adequados para produção devido aos desafios de desempenho e memória”, disse Ezan.
Isso inclui Falcon 1B (1,3 bilhões de parâmetros), Flan-T5 (2,7 bilhões de parâmetros), StableLM 3B (2,8 bilhões de parâmetros) e Llama 2B (2,5 bilhões de parâmetros). O Google também oferecerá suporte a um modelo de 7 bilhões de parâmetros de seu Gemma LLM de código aberto.
Próprias ferramentas do Google
Os desenvolvedores podem integrar Nano AI em aplicativos e desenvolvimento por meio do Edge AI SDK. O SDK fornece APIs de alto nível, pipelines, inferência de modelo e ganchos de hardware para executar modelos de IA com eficiência.
Os dispositivos móveis são limitados em capacidade de computação, largura de banda e memória. Os desenvolvedores podem ajustar os modelos acessando um serviço de sistema chamado AICore, que está integrado no Android 14 rodando em dispositivos elegíveis, como Pixel 8A e S24 da Samsung.
Os desenvolvedores podem otimizar modelos para dispositivos móveis usando quantização para reduzir o tamanho do modelo e os requisitos de processamento.
LoRA é considerado um importante alicerce para o ajuste fino da IA em dispositivos e aplicativos.
“A janela de contexto provavelmente também será menor e o modelo será menos generalizado… isso significa que o ajuste fino é fundamental para obter qualidade de produção”, disse Terence Zhang, engenheiro de relações com desenvolvedores do Google.
AICore também inclui uma camada de ajuste fino chamada adaptação de baixa classificação, LoRA, que permite aos desenvolvedores de aplicativos personalizar um modelo para executar tarefas específicas. LoRA é considerado um importante alicerce para o ajuste fino da IA em dispositivos e aplicativos.
“Os aplicativos podem treinar seus próprios blocos especializados de ajuste fino LoRA para otimizar o desempenho do modelo Gemini Nano”, disse Miao Wang, engenheiro de software do Google.
Suporta LLMs de código aberto
MediaPipe é uma API crítica que permite aos desenvolvedores criar aplicativos de IA no dispositivo usando vários LLMs de código aberto, que incluem Falcon e Gemma.
Os desenvolvedores contarão com a API MediaPipe para escrever aplicativos web de IA para dispositivos Android e iOS.
A API MediaPipe fornece os modelos pré-otimizados, e os desenvolvedores precisam trazer os pesos para executar aplicativos no dispositivo. Suporta aplicações de visão, texto e áudio. Alguns LLMs se destacam em tarefas específicas, e a API fornece flexibilidade para os desenvolvedores selecionarem seus modelos.
Os desenvolvedores contarão com a API MediaPipe para escrever aplicativos web de IA para dispositivos Android e iOS. O Chrome 126, que está em versão beta, integra suporte para APIs de baixo código que conectam aplicativos da web aos LLMs Nano e de código aberto.
Tudo isso é executado totalmente localmente no navegador e é rápido. E isso porque é acelerado na GPU do computador através do WebGPU. E isso o torna rápido o suficiente para criar aplicativos da Web totalmente locais e bastante atraentes”, disse Cormac Brick, principal engenheiro de software de aprendizado de máquina central, no Google I/O.
TensorFlow Lite
O Google também está usando o ambiente de desenvolvimento TensorFlow Lite, que é uma versão leve da estrutura de aprendizado de máquina TensorFlow. O TFLite também inclui um kit para converter modelos do TensorFlow em versões mais compactas que podem ser executadas no dispositivo.
“Você pode encontrar modelos prontos para uso ou modelos de trem na estrutura de sua escolha”, disse Brick. “Ele converte seus modelos para o TensorFlow Lite em uma única etapa. E então você pode executá-los todos em pacotes de tempo de execução com seu aplicativo no Android, na Web e no iOS.”
A fabricante de chips Qualcomm disse na semana passada que os desenvolvedores poderão portar seus LLMs para smartphones usando seus chips mais recentes.
Desafios
Os desenvolvedores de aplicativos estão em uma corrida do ouro para aproveitar até a última gota de processamento possível para tornar seus aplicativos mais eficientes.
As novas gerações de dispositivos terão mais potência de IA, o que impulsionará os cérebros de IA nos dispositivos.
Outro desafio é combinar os aplicativos com os chips de IA certos. As novas gerações de dispositivos terão mais potência de IA, o que impulsionará os cérebros de IA nos dispositivos.
A Dell lançou novos PCs com NPU da Intel, mas a IA no dispositivo realmente decolará assim que os desenvolvedores descobrirem aplicativos relevantes, disse Zach Noskey, diretor de gerenciamento de produtos da Dell.
A participação dos desenvolvedores em ferramentas como o OpenVino da Intel é importante para impulsionar a indústria. Os fornecedores também precisam trabalhar em estreita colaboração com os desenvolvedores na preparação dos aplicativos, que podem não saber por onde começar.
Por exemplo, OpenVino fornece um plug-in Intel NPU para Gimp para oferecer suporte a prompts de geração de imagem de difusão de estabilidade.
“Trata-se de continuar a permitir isso na comunidade – está ficando um pouco mais lento, como nos anos anteriores, com a utilização de CPU e GPU de aplicativos”, disse Noskey.
A postagem O Google quer que os desenvolvedores criem aplicativos de IA no dispositivo apareceu pela primeira vez em The New Stack.