Ganhos:
- Capacidade de decidir no dispositivo ou na nuvem e escolher a ferramenta certa (ML Kit, Core ML, TensorFlow Lite) com base na privacidade, necessidade off-line, tamanho do modelo e critérios de bateria
- Capacidade de evitar erros silenciosos verificando o pré-processamento de entrada (tamanho e normalização) do documento do modelo na integração do modelo
- Capacidade de avaliar a pontuação de confiança e medir o resultado com aprovação do usuário e no dispositivo real, sem apresentar previsões de baixa confiança como verdade absoluta.
Até agora, usamos a IA como uma ajuda para acelerar o processo de desenvolvimento. Agora passamos para a segunda função da IA: o talento incorporado na aplicação. Os telefones modernos têm o poder de executar modelos de IA, como reconhecimento de imagem, tradução de texto, transcrição de fala, etc. diretamente no dispositivo (no dispositivo – no próprio processador do telefone, sem ir ao servidor). IA no dispositivo; Oferece grandes vantagens sobre as soluções em nuvem em termos de velocidade, privacidade e operação offline. Nesta unidade, aprenderemos como incorporar IA ao aplicativo com o Core ML do iOS, o TensorFlow Lite multiplataforma (agora conhecido como LiteRT) e a solução pronta ML Kit do Google, e como usar a IA como assistente nesta integração.
No dispositivo ou na nuvem?
Esta é a primeira e mais importante decisão arquitetônica. A IA no dispositivo não remove dados do telefone – uma grande vitória para a privacidade. Também é instantâneo e funciona offline, pois não há latência de rede. No entanto, é limitado pelo poder de processamento e pela memória do dispositivo; Modelos muito grandes (por exemplo, modelos com língua gigante) não cabem no telefone ou descarregam a bateria. A IA em nuvem, por outro lado, oferece potência ilimitada, mas envia dados para o servidor, requer rede e cria latência.
critério
No dispositivo
Nuvem (API de nuvem)
Privacidade
Os dados permanecem no dispositivo, fortes
Os dados vão para o servidor, atenção necessária
velocidade
Instantâneo, sem rede
Depende da latência da rede
off-line
Funciona
Não funciona
Tamanho do modelo
Limitado (recurso telefônico)
ilimitado
bateria/calor
Efeitos com uso pesado
Servidor sob carga, dispositivo relaxado
Custo
Gratuito (fonte do dispositivo)
Taxa por uso
Regra de decisão: escolha no dispositivo se dados pessoais/sensíveis estiverem sendo processados, precisarem trabalhar off-line ou se a resposta instantânea for essencial. Se você precisa de um modelo muito grande, recorra à nuvem. Esta unidade é focada no dispositivo; Abordaremos a IA em nuvem na próxima unidade.
Dica: sempre defina o dispositivo como padrão para um recurso que lida com dados confidenciais (saúde, biometria, localização). A frase “os dados não saem do dispositivo” é inestimável tanto para a conformidade com a privacidade quanto para a confiança do usuário e faz uma grande diferença no rótulo de privacidade da loja.
Três maneiras: Kit ML, Core ML, TensorFlow Lite
O ML Kit (Google) é a maneira mais fácil de começar: ele oferece recursos prontos como reconhecimento de texto (OCR — leitura de texto em uma imagem), detecção de rosto, leitura de código de barras, tradução em poucas linhas. Você não precisa treinar seu próprio modelo. Core ML (Apple) é a maneira mais eficiente de executar seu próprio modelo ou um modelo pronto no iOS; Ele usa hardware Neural Engine (processador de rede neural artificial) da Apple. TensorFlow Lite/LiteRT é uma solução multiplataforma que permite executar seu próprio modelo treinado em Android e iOS.
O fluxo geral de integração com IA é assim:
- Definição de talento. Um objetivo claro, como “Quero ler o texto da foto”.
- Seleção de caminho. Se houver talento pronto, Kit ML; Core ML/TF Lite se modelo especial disponível.
- Formato do modelo. .mlmodel (Core ML), .tflite (TF Lite). Explica as etapas de transformação da IA.
- Código de integração. Carregando o modelo, pré-processando a entrada, interpretando a saída.
- Teste de desempenho. Velocidade, memória e medição de bateria em dispositivo real.
Cuidado: O erro de IA mais comum na integração de modelos no dispositivo é o pré-processamento de entrada – converter a imagem no tamanho e formato de cor que o modelo espera. Se o modelo espera 224x224 pixels e você atribui 300x300, o resultado não terá sentido, mas você não receberá uma mensagem de erro. Verifique os valores de pré-processamento do documento do modelo.
Conhecendo os limites do modelo
Um modelo no dispositivo toma decisões com base nos dados nos quais foi treinado. Um modelo de reconhecimento de objetos treinado apenas em fotos tiradas durante o dia estará errado em imagens noturnas. O modelo possui uma pontuação de confiança (confiança — quão confiante o modelo está em relação à sua resposta, geralmente entre 0 e 1); É perigoso apresentar ao usuário resultados de baixa confiança como sendo precisos. Por exemplo, um aplicativo de varredura de manchas na pele não deve dizer "definitivamente benigno", mas sim "a previsão do modelo é esta, consulte um médico". O resultado do modelo é uma recomendação, não um diagnóstico.
três mini cases
Caso 1 — Aceleração com OCR. Um aplicativo de rastreamento de despesas eliminou a carga de inserir recibos manualmente com o reconhecimento de texto do Kit de ML. O usuário tira uma foto do recibo e o valor e a data são preenchidos automaticamente. O tempo de entrada manual diminuiu de 40 segundos para 8 segundos por recibo. A equipe sempre fazia com que o usuário confirmasse a quantidade lida pela IA; porque os recibos amassados tinham uma margem de erro de 6%. Automação + aprovação humana foi o equilíbrio certo.
Caso 2 — Erro de pré-processamento. Uma equipe integrou um modelo de reconhecimento de planta ao TensorFlow Lite; No testador, os resultados foram aleatórios. O problema foi que o código gerado pela IA não normalizou a imagem para a faixa [0,1] esperada pelo modelo (os valores de pixel foram deixados em 0-255). Quando a normalização foi adicionada, a precisão aumentou de 30% para 89%. Lição: o pré-processamento é silencioso, mas mortal.
Caso 3 — Ganho de privacidade. Um aplicativo de saúde detectou anomalia nos dados de frequência cardíaca com o modelo Core ML no dispositivo. Os dados nunca foram para o servidor. Essa escolha possibilitou que o aplicativo recebesse a frase “não coleta dados” no rótulo de privacidade da App Store e aumentou sua taxa de download em relação aos concorrentes. A escolha do dispositivo foi ética e comercialmente lucrativa.
Alerta fraco / Alerta forte
Prompt fraco: "Adicionar reconhecimento de imagem ao meu aplicativo."
Prompt poderoso: "Adicione o recurso de leitura de quantidade e data ao meu aplicativo Android/Kotlin. - Use o reconhecimento de texto do Google ML Kit (no dispositivo, off-line) - Tire uma imagem da câmera ou galeria - Extraia a quantidade e a data do texto reconhecido com regex - Apresente o resultado ao usuário para aprovação no campo EDITÁVEL, salve automaticamente - Lide com o fluxo de permissão e rejeição da câmera. Anote situações de pré-processamento e erro, explique as etapas."
Modelos copiáveis
Modelo de seleção de caminho: "Quero criar o seguinte recurso: [recurso]. Deve ser no dispositivo ou na nuvem? Compare com base em: privacidade, necessidade off-line, tamanho do modelo, bateria, custo. Recomende a ferramenta apropriada (ML Kit/Core ML/TF Lite) e justifique."
Modelo de integração:"Escrever integração de [modelo/capacidade] para [plataforma]:1) Carregamento de modelo2) Pré-processamento de entrada (tamanho esperado e normalização)3) Chamada de inferência4) Interpretação de saída e verificação de pontuação de confiança5) Aviso ao usuário sobre resultado de baixa confiançaLembre-me de verificar os valores de pré-processamento na documentação do modelo."
Modelo de pontuação de confiança: "Considere a pontuação de confiança neste código de inferência: - Apresentar resultado 'exato' abaixo do limite (por exemplo, 0,6) - Mostrar nota 'esta é uma estimativa' ao usuário - Consulte o especialista se for área crítica (saúde, segurança) [código]"
Modelo de verificação de desempenho: "Liste as métricas que preciso medir no dispositivo real para esta integração de modelo no dispositivo: tempo de inferência, aumento de memória, impacto da bateria, aquecimento. Informe o método de medição para cada um."
Erros comuns
- Ignorando o pré-processamento ou fazendo-o incorretamente. Tamanho/normalização errado produz silenciosamente resultados errados.
- Ignorando a pontuação de confiança. Apresentar uma estimativa de baixa confiança como precisa enganará o usuário.
- Testando o modelo no emulador. A velocidade real do dispositivo e a bateria são muito diferentes; sempre meça em hardware real.
- Envio desnecessário de dados confidenciais para a nuvem. Escolher a nuvem quando é possível usar o dispositivo é um risco à privacidade.
- Ignorando o tamanho do modelo. Aplicativos de modelos grandes aumentam o tamanho do download e travam em hardware baixo.
- Esquecendo o limite de treinamento do modelo. O modelo se engana na condição de não enxergar (noite, idioma diferente); Deixe isso claro para o usuário.
Resumindo
A IA no dispositivo fornece privacidade, velocidade e operação offline, mantendo os dados no telefone; O limite é a potência do dispositivo e o tamanho do modelo. O ML Kit é usado para recursos prontos para uso, Core ML (iOS) e TensorFlow Lite (plataforma cruzada) são usados para modelos personalizados. O assassino silencioso da integração é o pré-processamento inadequado; O tamanho de entrada e a normalização são verificados na documentação do modelo. Cada resultado vem com uma pontuação de confiança, e as previsões de baixa confiança não são apresentadas como verdade absoluta. As decisões são medidas no dispositivo real, não no emulador.
Tarefa de aplicativo
Para um recurso de “leitura de texto de foto” ou “leitura de código de barras”, pergunte à IA se deve ser no dispositivo ou na nuvem com o “modelo de seleção de caminho” e, em seguida, peça um modelo baseado em kit de ML com o “modelo de integração”. Verifique se a etapa de pré-processamento e o fluxo de aprovação/edição do usuário estão presentes no código. Defina um limite de pontuação de confiança e escreva o que você fará se o resultado for baixa confiança.
lista de verificação
- [ ] Tomei a decisão sobre o dispositivo/nuvem com base em critérios
- [] Escolhi a ferramenta certa (ML Kit / Core ML / TF Lite)
- [] Verifiquei a dimensão de pré-processamento e normalização da documentação do modelo
- [] Verifiquei a pontuação de confiança e avisei sobre resultados de baixa confiança
- [ ] Apresentei o resultado ao usuário com aprovação/edição, não salvei cegamente
- [] Medi o desempenho no dispositivo real, não no emulador